sorry , i wrongly attached the file. Please find the correct one attached Thanks Sasi
On Mon, Jan 9, 2012 at 3:50 AM, Giuseppe Scrivano <[email protected]> wrote: > thanks! But I think something went wrong when you have generated the > patch, you forgot to include changes to the http.c file. Can you send > the corrected version? > > Cheers, > Giuseppe > > > > Sasikanth <[email protected]> writes: > > > I fixed the other message too. > > > > Change log entry (The diff also have the change log entry) > > > > 2012-01-9 Sasikantha babu <[email protected]> > > * connect.c (connect_to_ip): properly formatted ipv6 address > display > > (socket_family): New function - returns socket > family type > > * http.c (gethttp): properly formatted ipv6 address display > > > > Thanks > > Sasi > > > > On Sat, Jan 7, 2012 at 6:35 PM, Giuseppe Scrivano <[email protected]> > wrote: > > > > thanks. The patch is not complete yet, it doesn't fix the other > message > > I have reported before. Can you please check it as well? Can you > > provide a ChangeLog file entry? > > > > Cheers, > > Giuseppe > > > > Sasikanth <[email protected]> writes: > > > > > I had modified the patch as you guys suggested. > > > For ipv6 the display will be [ipv6address]:port > > > for ipv4 ipv4address:port > > > > > > The test results > > > > > > IPv4 > > > ------- > > > > > > [root@Shash wget-1.13.4]# ./src/wget http://10.0.0.1 > > > --2012-01-07 11:01:23-- http://10.0.0.1/ > > > Connecting to 10.0.0.1:80... > > > > > > IPv6 > > > ------- > > > [root@Shash wget-1.13.4]# ./src/wget http://[3ffe:b80:17e2::1] > > > --2012-01-07 11:01:06-- http://[3ffe:b80:17e2::1]/ > > > Connecting to [3ffe:b80:17e2::1]:80 > > > > > > Thanks > > > Sasi > > > > > > On Sat, Jan 7, 2012 at 3:14 AM, Henrik Holst > > > <[email protected]>wrote: > > > > > >> Exactly! That is how atleast I have akways seen address and port > > >> combinations been presented (or entered). > > >> > > >> /hh > > >> Den 6 jan 2012 21:27 skrev "Micah Cowan" <[email protected] > >: > > >> > > >> I believe hh's suggestion is to have the format reflect the way > it would > > >>> look in a URL; so [ and ] around ipv6, and nothing around ipv4 > (since ipv4 > > >>> format isn't ambiguous in the way ipv6 is). > > >>> > > >>> (Sent by my Kindle Fire) > > >>> -mjc > > >>> Sent from my Kindle Fire > > >>> > > >>> ------------------------------ > > >>> *From:* Sasikanth <[email protected]> > > >>> *Sent:* Fri Jan 06 01:56:34 PST 2012 > > >>> *To:* [email protected] > > >>> *Cc:* [email protected] > > >>> *Subject:* Re: [Bug-wget] [PATCH] [wget-bug #32357], IPv6 > addresses not > > >>> formatted.. > > >>> > > >>> Currently we are not checking family type of the address before > printing > > >>> the message. > > >>> > > >>> Do we have to print the message as [3ffe:b80:17e2::1]:80 for > ipv6 and > > >>> > > >>> |10.0.0.1|:80 for ipv4? > > >>> > > >>> Please confirm so I will resubmit patch. > > >>> > > >>> Thanks > > >>> Sasi > > >>> > > >>> > > >>> Note: I didn't get the reply to my mail, to keep track the > discussion I > > >>> > > >>> had copied the mail content from the mailing list. > > >>> > > >>> Shouldn't IPv6 addresses be displayed like this instead: > > >>> [3ffe:b80:17e2::1]:80 > > >>> > > >>> /hh > > >>> Den 5 jan 2012 14:15 skrev "Sasikanth" <address@hidden>: > > >>> > > >>> > Hi, > > >>> > > > >>> > This very small change related to display issue. > > >>> > The bug id is 32357 > > >>> "https://savannah.gnu.org/bugs/index.php?32357"; > > >>> > > >>> > > > >>> > When we run wget > > >>> with > > >>> an ip address alone (wget 10.0.0.1 or wget > > >>> > http://10.0.0.1/ or wget http://[3ffe:b80:17e2::1]) > > >>> > the display shows as > > >>> > > >>> > > > >>> > IPV4 > > >>> > Connecting to 10.0.0.1:80... > > >>> > IPV6 > > >>> > Connecting to 3ffe:b80:17e2::1:80 (Because of IPV6 format > (ff::01) > > >>> it is > > >>> > little hard differentiate the ipv6 address and port number) > > >>> > > >>> > > > >>> > This patch will show the display > > >>> > > > >>> > IPV4 > > >>> > Connecting to |10.0.0.1|:80... > > >>> > IPV6 > > >>> > Connecting to |3ffe:b80:17e2::1|:80 > > >>> > > > >>> > > >>> > > > >>> > Thanks > > >>> > Sasi > > >>> > > >>> > > > > > > --- src/connect.c.orig 2012-01-07 09:39:55.965324001 +0530 > > > +++ src/connect.c 2012-01-07 10:54:08.295324000 +0530 > > > @@ -293,7 +293,12 @@ > > > xfree (str); > > > } > > > else > > > - logprintf (LOG_VERBOSE, _("Connecting to %s:%d... "), > txt_addr, port); > > > + { > > > + if (ip->family == AF_INET) > > > + logprintf (LOG_VERBOSE, _("Connecting to %s:%d... > "), txt_addr, port); > > > + else if (ip->family == AF_INET6) > > > + logprintf (LOG_VERBOSE, _("Connecting to > [%s]:%d... "), txt_addr, port); > > > + } > > > } > > > > > > /* Store the sockaddr info to SA. */ > > > > > > --- src/connect.c.orig 2012-01-07 09:39:55.965324001 +0530 > > +++ src/connect.c 2012-01-07 10:54:08.295324000 +0530 > > @@ -293,7 +293,12 @@ > > xfree (str); > > } > > else > > - logprintf (LOG_VERBOSE, _("Connecting to %s:%d... "), txt_addr, > port); > > + { > > + if (ip->family == AF_INET) > > + logprintf (LOG_VERBOSE, _("Connecting to %s:%d... "), > txt_addr, port); > > + else if (ip->family == AF_INET6) > > + logprintf (LOG_VERBOSE, _("Connecting to [%s]:%d... "), > txt_addr, port); > > + } > > } > > > > /* Store the sockaddr info to SA. */ >
diff -ru orig/wget-1.13.4/src/ChangeLog wget-1.13.4/src/ChangeLog --- orig/wget-1.13.4/src/ChangeLog 2011-09-13 13:38:59.000000000 +0530 +++ wget-1.13.4/src/ChangeLog 2012-01-09 03:24:30.772500003 +0530 @@ -1,3 +1,8 @@ +2012-01-9 Sasikantha babu <[email protected]> + * connect.c (connect_to_ip): properly formatted ipv6 address display + (socket_family): New function - returns socket family type + * http.c (gethttp): properly formatted ipv6 address display + 2011-09-13 Giuseppe Scrivano <[email protected]> * ftp.c (ftp_retrieve_glob): Propagate correctly the `res' error diff -ru orig/wget-1.13.4/src/connect.c wget-1.13.4/src/connect.c --- orig/wget-1.13.4/src/connect.c 2011-08-08 02:25:23.000000000 +0530 +++ wget-1.13.4/src/connect.c 2012-01-09 02:38:42.433500008 +0530 @@ -293,7 +293,12 @@ xfree (str); } else - logprintf (LOG_VERBOSE, _("Connecting to %s:%d... "), txt_addr, port); + { + if (ip->family == AF_INET) + logprintf (LOG_VERBOSE, _("Connecting to %s:%d... "), txt_addr, port); + else if (ip->family == AF_INET6) + logprintf (LOG_VERBOSE, _("Connecting to [%s]:%d... "), txt_addr, port); + } } /* Store the sockaddr info to SA. */ @@ -581,6 +586,36 @@ } } +/* Get the socket family of connection on FD and store + Return family type on success, -1 otherwise. + + If ENDPOINT is ENDPOINT_LOCAL, it returns the sock family of the local + (client) side of the socket. Else if ENDPOINT is ENDPOINT_PEER, it + returns the sock family of the remote (peer's) side of the socket. */ + +int +socket_family (int sock, int endpoint) +{ + struct sockaddr_storage storage; + struct sockaddr *sockaddr = (struct sockaddr *) &storage; + socklen_t addrlen = sizeof (storage); + int ret; + + memset (sockaddr, 0, addrlen); + + if (endpoint == ENDPOINT_LOCAL) + ret = getsockname (sock, sockaddr, &addrlen); + else if (endpoint == ENDPOINT_PEER) + ret = getpeername (sock, sockaddr, &addrlen); + else + abort (); + + if (ret < 0) + return -1; + + return sockaddr->sa_family; +} + /* Return true if the error from the connect code can be considered retryable. Wget normally retries after errors, but the exception are the "unsupported protocol" type errors (possible on IPv4/IPv6 diff -ru orig/wget-1.13.4/src/connect.h wget-1.13.4/src/connect.h --- orig/wget-1.13.4/src/connect.h 2011-01-01 17:42:35.000000000 +0530 +++ wget-1.13.4/src/connect.h 2012-01-09 02:30:42.398500004 +0530 @@ -51,6 +51,7 @@ ENDPOINT_PEER }; bool socket_ip_address (int, ip_address *, int); +int socket_family (int sock, int endpoint); bool retryable_socket_connect_error (int); diff -ru orig/wget-1.13.4/src/http.c wget-1.13.4/src/http.c --- orig/wget-1.13.4/src/http.c 2011-09-07 16:28:01.000000000 +0530 +++ wget-1.13.4/src/http.c 2012-01-09 02:40:40.917500003 +0530 @@ -1792,11 +1792,17 @@ #endif &host_lookup_failed)) { + int family = socket_family (pconn.socket, ENDPOINT_PEER); sock = pconn.socket; using_ssl = pconn.ssl; - logprintf (LOG_VERBOSE, _("Reusing existing connection to %s:%d.\n"), - quotearg_style (escape_quoting_style, pconn.host), - pconn.port); + if (family == AF_INET6) + logprintf (LOG_VERBOSE, _("Reusing existing connection to [%s]:%d.\n"), + quotearg_style (escape_quoting_style, pconn.host), + pconn.port); + else + logprintf (LOG_VERBOSE, _("Reusing existing connection to %s:%d.\n"), + quotearg_style (escape_quoting_style, pconn.host), + pconn.port); DEBUGP (("Reusing fd %d.\n", sock)); if (pconn.authorized) /* If the connection is already authorized, the "Basic"
