From f79293da85e24cc97ff335b37b4bb6fbb0005add Mon Sep 17 00:00:00 2001 From: Colin Percival Date: Tue, 9 Aug 2005 03:32:29 +0000 Subject: [PATCH] When parsing the HTTP_PROXY environment variable, strip a trailing / from the port number (if any exists). This unbreaks env HTTP_PROXY="http://localhost:3128/" portsnap fetch While I'm here, list both the host and the port in the error message output if getaddrinfo() fails, since either of them could be responsible for the failure. --- usr.sbin/portsnap/phttpget/phttpget.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/usr.sbin/portsnap/phttpget/phttpget.c b/usr.sbin/portsnap/phttpget/phttpget.c index a75c6eada34..a68f60f2bc1 100644 --- a/usr.sbin/portsnap/phttpget/phttpget.c +++ b/usr.sbin/portsnap/phttpget/phttpget.c @@ -66,6 +66,9 @@ readenv(void) if (env_HTTP_PROXY) { if (strncmp(env_HTTP_PROXY, "http://", 7) == 0) env_HTTP_PROXY += 7; + p = strchr(env_HTTP_PROXY, '/'); + if (p != NULL) + *p = 0; p = strchr(env_HTTP_PROXY, ':'); if (p != NULL) { *p = 0; @@ -223,8 +226,9 @@ main(int argc, char *argv[]) error = getaddrinfo(env_HTTP_PROXY ? env_HTTP_PROXY : servername, env_HTTP_PROXY ? proxyport : "http", &hints, &res0); if (error) - errx(1, "%s: %s", + errx(1, "%s: host = %s, port = %s", env_HTTP_PROXY ? env_HTTP_PROXY : servername, + env_HTTP_PROXY ? proxyport : "http", gai_strerror(error)); if (res0 == NULL) errx(1, "could not look up %s", servername);