summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
authoragc <agc>2000-10-03 11:19:25 +0000
committeragc <agc>2000-10-03 11:19:25 +0000
commitc3f44baf8218ac46220788869d8adce7b420cfef (patch)
tree140e251bd2dc84c3ea2048b3b41e032ddfffb761 /www
parentc28a336ca476d6aaa9aac9292efb25ce19c96ef3 (diff)
downloadpkgsrc-c3f44baf8218ac46220788869d8adce7b420cfef.tar.gz
Add code for urlget to use any http_proxy setting in the environment.
Diffstat (limited to 'www')
-rw-r--r--www/urlget/files/patch-sum3
-rw-r--r--www/urlget/patches/patch-aa65
2 files changed, 68 insertions, 0 deletions
diff --git a/www/urlget/files/patch-sum b/www/urlget/files/patch-sum
new file mode 100644
index 00000000000..75f17d82fbd
--- /dev/null
+++ b/www/urlget/files/patch-sum
@@ -0,0 +1,3 @@
+$NetBSD: patch-sum,v 1.1 2000/10/03 11:19:25 agc Exp $
+
+MD5 (patch-aa) = 1c13b41e0c08d6eb6a9902e375d2e78c
diff --git a/www/urlget/patches/patch-aa b/www/urlget/patches/patch-aa
new file mode 100644
index 00000000000..6e3c7b2604b
--- /dev/null
+++ b/www/urlget/patches/patch-aa
@@ -0,0 +1,65 @@
+$NetBSD: patch-aa,v 1.1 2000/10/03 11:19:26 agc Exp $
+
+Patches to make urlget honour http_proxy environment setting
+
+--- urlget.c 2000/09/18 13:56:27 1.1
++++ urlget.c 2000/09/18 14:23:37
+@@ -91,6 +91,7 @@
+ char **postargv = NULL;
+ int c, ret, s = 0, count, sawNL;
+ int errflg = 0, postflg = 0, hdrflg = 0, oldflg = 0, debug = 0;
++ int isproxy = 0;
+ FILE *fp;
+
+ while ((c = getopt(argc, argv, "Dhop")) != EOF) {
+@@ -131,17 +132,31 @@
+ if (strncmp(url, "http:", 5) || (url[5] != '/') || (url[6] != '/'))
+ usage(argv[0]);
+
+- if ((path = strchr(host, '/')) == NULL)
+- usage(argv[0]);
+- *path++ = '\0';
+-
+- if ((p = strchr(host, ':')) != NULL) {
+- *p++ = '\0';
+- server.sin_port = htons((u_short) atoi(p));
+- } else if ((sp = getservbyname("http", "tcp")) == NULL) {
+- server.sin_port = htons((u_short) DEF_PORT);
++ if ((p = getenv("http_proxy")) == NULL) {
++ if ((path = strchr(host, '/')) == NULL)
++ usage(argv[0]);
++ *path++ = '\0';
++ if ((p = strchr(host, ':')) != NULL) {
++ *p++ = '\0';
++ server.sin_port = htons((u_short) atoi(p));
++ } else if ((sp = getservbyname("http", "tcp")) == NULL) {
++ server.sin_port = htons((u_short) DEF_PORT);
++ } else {
++ server.sin_port = sp->s_port;
++ }
+ } else {
+- server.sin_port = sp->s_port;
++ host = &p[7];
++ if ((ep = strchr(host, ':')) == NULL) {
++ server.sin_port = htons((u_short) DEF_PORT);
++ } else {
++ *ep++ = 0;
++ server.sin_port = htons((u_short) atoi(ep));
++ }
++ if ((ep = strrchr(p, '/')) != NULL) {
++ *ep = 0;
++ }
++ path = url;
++ isproxy = 1;
+ }
+
+ if ((hp = gethostbyname(host)) == NULL) {
+@@ -171,7 +186,7 @@
+ printf("host = \"%s\", port = %d\n", host, ntohs(server.sin_port));
+ }
+
+- fprintf(fp, "%s /%s%s\r\n", cmd, path, oldflg ? "" : " HTTP/1.0");
++ fprintf(fp, "%s %s%s%s\r\n", cmd, (isproxy) ? "" : "/", path, oldflg ? "" : " HTTP/1.0");
+ if (!oldflg) {
+ fprintf(fp, "Host: %s\r\n", host);
+ }