Patch from Matt Kraai to enable proxy support.
authorEric Andersen <andersen@codepoet.org>
Thu, 7 Dec 2000 22:42:11 +0000 (22:42 -0000)
committerEric Andersen <andersen@codepoet.org>
Thu, 7 Dec 2000 22:42:11 +0000 (22:42 -0000)
networking/wget.c
utility.c
wget.c

index 0ec4dff19ba081ac8ce66b1e79af392ee3a48c39..9b8fedd1f962ba8c9fb0662813729dd388629c58 100644 (file)
@@ -52,6 +52,7 @@ int wget_main(int argc, char **argv)
 {
        FILE *sfp;                                      /* socket to web server                         */
        char *uri_host, *uri_path;      /* parsed from command line url         */
+       char *proxy;
        int uri_port;
        char *s, buf[512];
        int n;
@@ -101,10 +102,20 @@ int wget_main(int argc, char **argv)
 
        if (do_continue && !fname_out)
                error_msg_and_die("cannot specify continue (-c) without a filename (-O)\n");
+
        /*
-        * Parse url into components.
+        * Use the proxy if necessary.
         */
-       parse_url(argv[optind], &uri_host, &uri_port, &uri_path);
+       if ((proxy = getenv("http_proxy")) != NULL) {
+               proxy = xstrdup(proxy);
+               parse_url(proxy, &uri_host, &uri_port, &uri_path);
+               uri_path = argv[optind];
+       } else {
+               /*
+                * Parse url into components.
+                */
+               parse_url(argv[optind], &uri_host, &uri_port, &uri_path);
+       }
 
        /*
         * Open socket to server.
@@ -475,7 +486,7 @@ progressmeter(int flag)
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *     $Id: wget.c,v 1.10 2000/12/07 19:56:48 markw Exp $
+ *     $Id: wget.c,v 1.11 2000/12/07 22:42:11 andersen Exp $
  */
 
 
index 2f3486c13663456c1a7ee8258753ee71559dd0e9..62c47288561ee3a108bf6771f81dafdff0ac2d04 100644 (file)
--- a/utility.c
+++ b/utility.c
@@ -611,7 +611,7 @@ int full_read(int fd, char *buf, int len)
  * location, and do something (something specified
  * by the fileAction and dirAction function pointers).
  *
- * Unfortunatly, while nftw(3) could replace this and reduce 
+ * Unfortunately, while nftw(3) could replace this and reduce 
  * code size a bit, nftw() wasn't supported before GNU libc 2.1, 
  * and so isn't sufficiently portable to take over since glibc2.1
  * is so stinking huge.
@@ -1444,7 +1444,7 @@ extern void *xcalloc(size_t nmemb, size_t size)
 }
 #endif
 
-#if defined BB_FEATURE_NFSMOUNT || defined BB_SH || defined BB_LS
+#if defined BB_FEATURE_NFSMOUNT || defined BB_LS || defined BB_SH || defined BB_WGET
 # ifndef DMALLOC
 extern char * xstrdup (const char *s) {
        char *t;
diff --git a/wget.c b/wget.c
index 0ec4dff19ba081ac8ce66b1e79af392ee3a48c39..9b8fedd1f962ba8c9fb0662813729dd388629c58 100644 (file)
--- a/wget.c
+++ b/wget.c
@@ -52,6 +52,7 @@ int wget_main(int argc, char **argv)
 {
        FILE *sfp;                                      /* socket to web server                         */
        char *uri_host, *uri_path;      /* parsed from command line url         */
+       char *proxy;
        int uri_port;
        char *s, buf[512];
        int n;
@@ -101,10 +102,20 @@ int wget_main(int argc, char **argv)
 
        if (do_continue && !fname_out)
                error_msg_and_die("cannot specify continue (-c) without a filename (-O)\n");
+
        /*
-        * Parse url into components.
+        * Use the proxy if necessary.
         */
-       parse_url(argv[optind], &uri_host, &uri_port, &uri_path);
+       if ((proxy = getenv("http_proxy")) != NULL) {
+               proxy = xstrdup(proxy);
+               parse_url(proxy, &uri_host, &uri_port, &uri_path);
+               uri_path = argv[optind];
+       } else {
+               /*
+                * Parse url into components.
+                */
+               parse_url(argv[optind], &uri_host, &uri_port, &uri_path);
+       }
 
        /*
         * Open socket to server.
@@ -475,7 +486,7 @@ progressmeter(int flag)
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *     $Id: wget.c,v 1.10 2000/12/07 19:56:48 markw Exp $
+ *     $Id: wget.c,v 1.11 2000/12/07 22:42:11 andersen Exp $
  */