+++ /dev/null
-diff -ubr wget-1.8.1/src/connect.c wget-1.8.1_ipv6/src/connect.c
---- wget-1.8.1/src/connect.c Tue Nov 27 14:55:40 2001
-+++ wget-1.8.1_ipv6/src/connect.c Tue Jan 15 01:09:23 2002
-@@ -55,6 +55,8 @@
- extern int errno;
- #endif
-
-+#define IPV6
-+
- /* Variables shared by bindport and acceptport: */
- static int msock = -1;
- static struct sockaddr *addr;
-@@ -78,13 +80,18 @@
- int
- connect_to_one (const unsigned char *addr, unsigned short port, int silent)
- {
-- struct sockaddr_in sock_name;
-+ SOCKADDR_IN sock_name;
- int sock, save_errno;
--
- /* Set port and protocol */
-- sock_name.sin_family = AF_INET;
-+#ifdef IPV6
-+ sock_name.sin6_family = family;
-+ sock_name.sin6_port = htons (port);
-+ memcpy ((unsigned char *)&sock_name.sin6_addr, addr, sizeof(ip_address));
-+#else
-+ sock_name.sin_family = family;
- sock_name.sin_port = htons (port);
-- memcpy ((unsigned char *)&sock_name.sin_addr, addr, 4);
-+ memcpy ((unsigned char *)&sock_name.sin_addr, addr, sizeof(ip_address));
-+#endif
-
- if (!silent)
- {
-@@ -99,7 +106,7 @@
- }
-
- /* Make an internet socket, stream type. */
-- sock = socket (AF_INET, SOCK_STREAM, 0);
-+ sock = socket (family, SOCK_STREAM, 0);
- if (sock < 0)
- goto out;
-
-@@ -151,7 +158,7 @@
- address_list_get_bounds (al, &start, &end);
- for (i = start; i < end; i++)
- {
-- unsigned char addr[4];
-+ ip_address addr;
- int sock;
- address_list_copy_one (al, i, addr);
-
-@@ -210,11 +217,11 @@
- bindport (unsigned short *port)
- {
- int optval = 1;
-- static struct sockaddr_in srv;
-+ static SOCKADDR_IN srv={0};
-
- msock = -1;
- addr = (struct sockaddr *) &srv;
-- if ((msock = socket (AF_INET, SOCK_STREAM, 0)) < 0)
-+ if ((msock = socket (family, SOCK_STREAM, 0)) < 0)
- return CONSOCKERR;
- if (setsockopt (msock, SOL_SOCKET, SO_REUSEADDR,
- (char *)&optval, sizeof (optval)) < 0)
-@@ -222,14 +229,21 @@
-
- if (opt.bind_address == NULL)
- {
-- srv.sin_family = AF_INET;
-+#ifdef IPV6
-+ srv.sin6_family = family;
-+#else
-+ srv.sin_family = family;
- srv.sin_addr.s_addr = htonl (INADDR_ANY);
-+#endif
- }
- else
- srv = *opt.bind_address;
--
-+#ifdef IPV6
-+ srv.sin6_port = htons (*port);
-+#else
- srv.sin_port = htons (*port);
-- if (bind (msock, addr, sizeof (struct sockaddr_in)) < 0)
-+#endif
-+ if (bind (msock, addr, sizeof (SOCKADDR_IN)) < 0)
- {
- CLOSE (msock);
- msock = -1;
-@@ -241,14 +255,18 @@
- /* #### addrlen should be a 32-bit type, which int is not
- guaranteed to be. Oh, and don't try to make it a size_t,
- because that can be 64-bit. */
-- int addrlen = sizeof (struct sockaddr_in);
-+ int addrlen = sizeof (SOCKADDR_IN);
- if (getsockname (msock, addr, &addrlen) < 0)
- {
- CLOSE (msock);
- msock = -1;
- return CONPORTERR;
- }
-+#ifdef IPV6
-+ *port = ntohs (srv.sin6_port);
-+#else
- *port = ntohs (srv.sin_port);
-+#endif
- }
- if (listen (msock, 1) < 0)
- {
-@@ -292,7 +310,7 @@
- uerr_t
- acceptport (int *sock)
- {
-- int addrlen = sizeof (struct sockaddr_in);
-+ int addrlen = sizeof (SOCKADDR_IN);
-
- #ifdef HAVE_SELECT
- if (select_fd (msock, opt.timeout, 0) <= 0)
-@@ -322,8 +340,8 @@
- unsigned char *
- conaddr (int fd)
- {
-- static unsigned char res[4];
-- struct sockaddr_in mysrv;
-+ static ip_address res;
-+ SOCKADDR_IN mysrv;
- struct sockaddr *myaddr;
- int addrlen = sizeof (mysrv); /* see bindport() for discussion of
- using `int' here. */
-@@ -331,7 +349,11 @@
- myaddr = (struct sockaddr *) (&mysrv);
- if (getsockname (fd, myaddr, (int *)&addrlen) < 0)
- return NULL;
-- memcpy (res, &mysrv.sin_addr, 4);
-+#ifdef IPV6
-+ memcpy (res, &mysrv.sin6_addr, sizeof(ip_address));
-+#else
-+ memcpy (res, &mysrv.sin_addr, sizeof(ip_address));
-+#endif
- return res;
- }
-
-diff -ubr wget-1.8.1/src/host.c wget-1.8.1_ipv6/src/host.c
---- wget-1.8.1/src/host.c Tue Dec 11 08:32:57 2001
-+++ wget-1.8.1_ipv6/src/host.c Tue Jan 15 01:14:05 2002
-@@ -18,6 +18,7 @@
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
- #include <config.h>
-+#include <netdb.h>
-
- #include <stdio.h>
- #include <stdlib.h>
-@@ -65,8 +66,13 @@
- # endif
- #endif
-
--/* An IPv4 address is simply a 4-byte quantity. */
--typedef unsigned char ipv4_address[4];
-+#ifdef IPV6
-+int family = AF_INET6;
-+#else
-+int family = AF_INET;
-+#endif
-+
-+
-
- /* Mapping between known hosts and to lists of their addresses. */
-
-@@ -77,7 +83,7 @@
-
- struct address_list {
- int count; /* number of adrresses */
-- ipv4_address *addresses; /* pointer to the string of addresses */
-+ ip_address *addresses; /* pointer to the string of addresses */
-
- int faulty; /* number of addresses known not to
- work. */
-@@ -101,7 +107,7 @@
- unsigned char *ip_store)
- {
- assert (index >= al->faulty && index < al->count);
-- memcpy (ip_store, al->addresses + index, sizeof (ipv4_address));
-+ memcpy (ip_store, al->addresses + index, sizeof (ip_address));
- }
-
- /* Check whether two address lists have all their IPs in common. */
-@@ -114,7 +120,7 @@
- if (al1->count != al2->count)
- return 0;
- return 0 == memcmp (al1->addresses, al2->addresses,
-- al1->count * sizeof (ipv4_address));
-+ al1->count * sizeof (ip_address));
- }
-
- /* Mark the INDEXth element of AL as faulty, so that the next time
-@@ -152,11 +158,11 @@
- assert (count > 0);
- al->count = count;
- al->faulty = 0;
-- al->addresses = xmalloc (count * sizeof (ipv4_address));
-+ al->addresses = xmalloc (count * sizeof (ip_address));
- al->refcount = 1;
-
- for (i = 0; i < count; i++)
-- memcpy (al->addresses + i, h_addr_list[i], sizeof (ipv4_address));
-+ memcpy (al->addresses + i, h_addr_list[i], sizeof (ip_address));
-
- return al;
- }
-@@ -169,9 +175,9 @@
- struct address_list *al = xmalloc (sizeof (struct address_list));
- al->count = 1;
- al->faulty = 0;
-- al->addresses = xmalloc (sizeof (ipv4_address));
-+ al->addresses = xmalloc (sizeof (ip_address));
- al->refcount = 1;
-- memcpy (al->addresses, addr, sizeof (ipv4_address));
-+ memcpy (al->addresses, addr, sizeof (ip_address));
-
- return al;
- }
-@@ -233,13 +239,12 @@
- lookup_host (const char *host, int silent)
- {
- struct address_list *al = NULL;
-- unsigned long addr;
-+ ip_address addr;
- struct hostent *hptr;
-
-- /* If the address is of the form d.d.d.d, no further lookup is
-- needed. */
-- addr = (unsigned long)inet_addr (host);
-- if ((int)addr != -1)
-+ /* If the address is of the form that if valid for <family>,
-+ no further lookup is needed. */
-+ if(0>=inet_pton(family,host,addr))
- {
- /* ADDR is defined to be in network byte order, which is what
- this returns, so we can just copy it to STORE_IP. However,
-@@ -248,15 +253,15 @@
- we copy the correct four bytes. */
- int offset;
- #ifdef WORDS_BIGENDIAN
-- offset = sizeof (unsigned long) - sizeof (ipv4_address);
-+ offset = sizeof (unsigned long) - sizeof (ip_address);
- #else
- offset = 0;
- #endif
- return address_list_new_one ((char *)&addr + offset);
- }
-
-- /* By now we know that the host name we got is not of the form
-- d.d.d.d. Try to find it in our cache of host names. */
-+ /* By now we know that the host name we got is not numerialcal represantation
-+ for <family>. Try to find it in our cache of host names. */
- if (host_name_addresses_map)
- al = hash_table_get (host_name_addresses_map, host);
-
-@@ -270,8 +275,8 @@
- if (!silent)
- logprintf (LOG_VERBOSE, _("Resolving %s... "), host);
-
-- /* Look up the host using gethostbyname(). */
-- hptr = gethostbyname (host);
-+ /* Look up the host using getipnodebyname(). */
-+ hptr = gethostbyname2(host, family);
- if (!hptr)
- {
- if (!silent)
-diff -ubr wget-1.8.1/src/host.h wget-1.8.1_ipv6/src/host.h
---- wget-1.8.1/src/host.h Tue Dec 11 08:32:58 2001
-+++ wget-1.8.1_ipv6/src/host.h Tue Jan 15 01:37:06 2002
-@@ -44,4 +44,26 @@
-
- void host_cleanup PARAMS ((void));
-
-+
-+#define IPV6
-+/*
-+ IPv6 support added by Thomas Lussnig <lussnig@bewegungsmelder.de>
-+ Date: 15.01.2001 02:36:05
-+ If there are mistakes please inform me, but i will not work till the
-+ morning on it.
-+*/
-+
-+#ifdef IPV6
-+#include <netdb.h>
-+/* An IPv6 address is simply a 16-byte quantity. */
-+typedef unsigned char ip_address[16];
-+typedef struct sockaddr_in6 SOCKADDR_IN;
-+#else
-+/* An IPv4 address is simply a 4-byte quantity. */
-+typedef unsigned char ip_address[4];
-+typedef struct sockaddr_in SOCKADDR_IN;
-+#endif
-+extern int family; /* defined in host.c */
-+
-+
- #endif /* HOST_H */
-Only in wget-1.8.1_ipv6/src: host.h~
-diff -ubr wget-1.8.1/src/init.c wget-1.8.1_ipv6/src/init.c
---- wget-1.8.1/src/init.c Thu Dec 13 19:19:03 2001
-+++ wget-1.8.1_ipv6/src/init.c Tue Jan 15 01:34:06 2002
-@@ -526,8 +526,8 @@
- cmd_address (const char *com, const char *val, void *closure)
- {
- struct address_list *al;
-- struct sockaddr_in sin;
-- struct sockaddr_in **target = (struct sockaddr_in **)closure;
-+ SOCKADDR_IN sin;
-+ SOCKADDR_IN **target = (SOCKADDR_IN **)closure;
-
- memset (&sin, '\0', sizeof (sin));
-
-@@ -538,11 +538,16 @@
- exec_name, com, val);
- return 0;
- }
-+#ifdef IPV6
-+ sin.sin6_family = family;
-+ sin.sin6_port = 0;
-+ address_list_copy_one (al, 0, (unsigned char *)&sin.sin6_addr);
-+#else
-+ sin.sin_family = family;
-+ sin.sin_port = 0;
- address_list_copy_one (al, 0, (unsigned char *)&sin.sin_addr);
-+#endif
- address_list_release (al);
--
-- sin.sin_family = AF_INET;
-- sin.sin_port = 0;
-
- FREE_MAYBE (*target);
-
-diff -ubr wget-1.8.1/src/options.h wget-1.8.1_ipv6/src/options.h
---- wget-1.8.1/src/options.h Fri Nov 30 07:39:08 2001
-+++ wget-1.8.1_ipv6/src/options.h Tue Jan 15 01:05:44 2002
-@@ -19,6 +19,7 @@
-
- /* Needed for FDP. */
- #include <stdio.h>
-+#include "host.h"
-
- struct options
- {
-@@ -153,7 +154,7 @@
- int page_requisites; /* Whether we need to download all files
- necessary to display a page properly. */
-
-- struct sockaddr_in *bind_address; /* What local IP address to bind to. */
-+ SOCKADDR_IN *bind_address; /* What local IP address to bind to. */
-
- #ifdef HAVE_SSL
- char *sslcertfile; /* external client cert to use. */
+++ /dev/null
-diff -urN wget-1.7.org/src/host.c wget-1.7/src/host.c
---- wget-1.7.org/src/host.c Wed Nov 14 13:30:45 2001
-+++ wget-1.7/src/host.c Wed Nov 14 13:31:12 2001
-@@ -206,7 +206,6 @@
- memset(sa, 0, *len);
- *len = sizeof(struct sockaddr_in);
- sa->sa_family = AF_INET;
-- sa->sa_len = *len; /*XXX*/
-
- where = (char *)&((struct sockaddr_in *)sa)->sin_addr;
-
+++ /dev/null
-diff -ur wget-1.8.1.orig/src/connect.c wget-1.8.1/src/connect.c
---- wget-1.8.1.orig/src/connect.c Tue Nov 27 23:55:40 2001
-+++ wget-1.8.1/src/connect.c Tue Feb 19 03:02:05 2002
-@@ -78,17 +78,49 @@
- int
- connect_to_one (const unsigned char *addr, unsigned short port, int silent)
- {
-+#ifdef INET6
-+ struct addrinfo hints, *res;
-+ struct sockaddr_storage sock_name;
-+ char portstr[NI_MAXSERV];
-+ int err;
-+#else
- struct sockaddr_in sock_name;
-- int sock, save_errno;
-+#endif
-+ int sock, save_errno, salen;
-
- /* Set port and protocol */
-+#ifdef INET6
-+ memset(&hints, 0, sizeof(hints));
-+ hints.ai_family = PF_UNSPEC;
-+ hints.ai_socktype = SOCK_STREAM;
-+ hints.ai_flags = AI_NUMERICHOST;
-+ snprintf(portstr, sizeof(portstr), "%d", port);
-+ err = getaddrinfo(addr, portstr, &hints, &res);
-+ if (err)
-+ {
-+ if (!silent)
-+ logprintf (LOG_VERBOSE, "getaddrinfo: %s.\n", gai_strerror (err));
-+ return -1;
-+ }
-+ memset (&sock_name, 0, sizeof (sock_name));
-+ memcpy (&sock_name, res->ai_addr, res->ai_addrlen);
-+ salen = res->ai_addrlen;
-+ freeaddrinfo (res);
-+#else
- sock_name.sin_family = AF_INET;
- sock_name.sin_port = htons (port);
- memcpy ((unsigned char *)&sock_name.sin_addr, addr, 4);
-+ salen = sizeof (sock_name);
-+#endif
-
- if (!silent)
- {
-+#ifdef INET6
-+ char pretty_addr[INET6_ADDRSTRLEN];
-+ pretty_print_address_sa (&sock_name, salen, pretty_addr);
-+#else
- char *pretty_addr = pretty_print_address (addr);
-+#endif
- if (connection_host_name
- && 0 != strcmp (connection_host_name, pretty_addr))
- logprintf (LOG_VERBOSE, _("Connecting to %s[%s]:%hu... "),
-@@ -99,26 +131,29 @@
- }
-
- /* Make an internet socket, stream type. */
-- sock = socket (AF_INET, SOCK_STREAM, 0);
-+ sock = socket (((struct sockaddr *)&sock_name)->sa_family, SOCK_STREAM, 0);
- if (sock < 0)
- goto out;
-
- if (opt.bind_address)
- {
- /* Bind the client side to the requested address. */
-- if (bind (sock, (struct sockaddr *)opt.bind_address,
-- sizeof (*opt.bind_address)))
-+ if (bind (sock, (struct sockaddr *)opt.bind_address, salen))
- {
-- close (sock);
-+ save_errno = errno;
-+ CLOSE (sock);
-+ errno = save_errno;
- sock = -1;
- goto out;
- }
- }
-
- /* Connect the socket to the remote host. */
-- if (connect (sock, (struct sockaddr *)&sock_name, sizeof (sock_name)) < 0)
-+ if (connect (sock, (struct sockaddr *)&sock_name, salen) < 0)
- {
-- close (sock);
-+ save_errno = errno;
-+ CLOSE (sock);
-+ errno = save_errno;
- sock = -1;
- goto out;
- }
-@@ -130,6 +165,10 @@
- if (!silent)
- logprintf (LOG_VERBOSE, _("connected.\n"));
- DEBUGP (("Created socket %d.\n", sock));
-+#ifdef INET6
-+ opt.conn_inet6 = ((struct sockaddr *)&sock_name)->sa_family == AF_INET6 ?
-+ 1 : 0;
-+#endif
- }
- else
- {
-@@ -151,10 +190,28 @@
- address_list_get_bounds (al, &start, &end);
- for (i = start; i < end; i++)
- {
-+#ifdef INET6
-+ struct addrinfo ai;
-+ unsigned char *addr = (unsigned char *)&ai;
-+ char hbuf[INET6_ADDRSTRLEN];
-+ int err;
-+#else
- unsigned char addr[4];
-+#endif
- int sock;
- address_list_copy_one (al, i, addr);
-
-+#ifdef INET6
-+ err = getnameinfo(ai.ai_addr, ai.ai_addrlen, hbuf, sizeof (hbuf),
-+ NULL, 0, NI_NUMERICHOST);
-+ if (err)
-+ {
-+ if (!silent)
-+ logprintf (LOG_VERBOSE, "getnameinfo: %s.\n", gai_strerror (err));
-+ continue;
-+ }
-+ addr = (unsigned char *)hbuf;
-+#endif
- sock = connect_to_one (addr, port, silent);
- if (sock >= 0)
- /* Success. */
-@@ -207,14 +264,27 @@
- internal variable MPORT is set to the value of the ensuing master
- socket. Call acceptport() to block for and accept a connection. */
- uerr_t
--bindport (unsigned short *port)
-+bindport_af (unsigned short *port, int af)
- {
- int optval = 1;
-+#ifdef INET6
-+ static struct sockaddr_storage srv;
-+#else
- static struct sockaddr_in srv;
-+#endif
-+ int alen;
-
- msock = -1;
- addr = (struct sockaddr *) &srv;
-- if ((msock = socket (AF_INET, SOCK_STREAM, 0)) < 0)
-+ if (af == AF_INET)
-+ alen = sizeof (struct sockaddr_in);
-+#ifdef INET6
-+ else if (af == AF_INET6)
-+ alen = sizeof (struct sockaddr_in6);
-+#endif
-+ else
-+ return CONSOCKERR;
-+ if ((msock = socket (af, SOCK_STREAM, 0)) < 0)
- return CONSOCKERR;
- if (setsockopt (msock, SOL_SOCKET, SO_REUSEADDR,
- (char *)&optval, sizeof (optval)) < 0)
-@@ -222,14 +292,18 @@
-
- if (opt.bind_address == NULL)
- {
-- srv.sin_family = AF_INET;
-+ memset (&srv, 0, sizeof (srv));
-+ ((struct sockaddr *)&srv)->sa_family = af;
-+ /* in6addr_any : all 0 */
-+#ifndef INET6
- srv.sin_addr.s_addr = htonl (INADDR_ANY);
-+#endif
- }
- else
- srv = *opt.bind_address;
-
-- srv.sin_port = htons (*port);
-- if (bind (msock, addr, sizeof (struct sockaddr_in)) < 0)
-+ ((struct sockaddr_in *)&srv)->sin_port = htons (*port); /* same sin6 */
-+ if (bind (msock, addr, alen) < 0)
- {
- CLOSE (msock);
- msock = -1;
-@@ -241,14 +315,14 @@
- /* #### addrlen should be a 32-bit type, which int is not
- guaranteed to be. Oh, and don't try to make it a size_t,
- because that can be 64-bit. */
-- int addrlen = sizeof (struct sockaddr_in);
-+ int addrlen = sizeof (srv);
- if (getsockname (msock, addr, &addrlen) < 0)
- {
- CLOSE (msock);
- msock = -1;
- return CONPORTERR;
- }
-- *port = ntohs (srv.sin_port);
-+ *port = ntohs (((struct sockaddr_in *)addr)->sin_port); /* same sin6 */
- }
- if (listen (msock, 1) < 0)
- {
-@@ -257,6 +331,12 @@
- return LISTENERR;
- }
- return BINDOK;
-+}
-+
-+uerr_t
-+bindport (unsigned short *port)
-+{
-+ return bindport_af (port, AF_INET);
- }
-
- #ifdef HAVE_SELECT
-diff -ur wget-1.8.1.orig/src/connect.h wget-1.8.1/src/connect.h
---- wget-1.8.1.orig/src/connect.h Fri Nov 30 03:22:18 2001
-+++ wget-1.8.1/src/connect.h Mon Feb 11 23:53:31 2002
-@@ -30,6 +30,7 @@
-
- int test_socket_open PARAMS ((int));
- int select_fd PARAMS ((int, int, int));
-+uerr_t bindport_af PARAMS ((unsigned short *, int));
- uerr_t bindport PARAMS ((unsigned short *));
- uerr_t acceptport PARAMS ((int *));
- void closeport PARAMS ((int));
-diff -ur wget-1.8.1.orig/src/ftp-basic.c wget-1.8.1/src/ftp-basic.c
---- wget-1.8.1.orig/src/ftp-basic.c Mon Dec 10 11:29:11 2001
-+++ wget-1.8.1/src/ftp-basic.c Tue Feb 19 00:29:13 2002
-@@ -35,7 +35,12 @@
-
- #ifdef WINDOWS
- # include <winsock.h>
-+#else
-+#include <sys/socket.h>
-+#include <netinet/in.h>
-+#include <netdb.h>
- #endif
-+#include <limits.h>
-
- #include "wget.h"
- #include "utils.h"
-@@ -340,6 +345,137 @@
- xfree (respline);
- return FTPOK;
- }
-+
-+#ifdef INET6
-+/* Bind a port and send the appropriate EPRT command to the FTP
-+ server. Use acceptport after RETR, to get the socket of data
-+ connection. */
-+uerr_t
-+ftp_eprt (struct rbuf *rbuf)
-+{
-+ uerr_t err;
-+ char *request, *respline, *bytes;
-+ int nwritten;
-+ unsigned short port;
-+ struct sockaddr_storage ss;
-+ int sslen;
-+ char hbuf[NI_MAXHOST], pbuf[NI_MAXSERV];
-+ int af;
-+
-+ /* Get the address of this side of the connection. */
-+ sslen = sizeof(ss);
-+ if (getsockname(RBUF_FD (rbuf), (struct sockaddr *)&ss, &sslen) < 0)
-+ return HOSTERR;
-+ /* Construct the argument of EPRT. */
-+ if (getnameinfo((struct sockaddr *)&ss, sslen, hbuf, sizeof(hbuf),
-+ NULL, 0, NI_NUMERICHOST) != 0)
-+ return HOSTERR;
-+ /* Setting port to 0 lets the system choose a free port. */
-+ port = 0;
-+ /* Bind the port. */
-+ err = bindport_af (&port, ((struct sockaddr *)&ss)->sa_family);
-+ if (err != BINDOK)
-+ return err;
-+ sprintf(pbuf, "%u", port);
-+ af = ((struct sockaddr *)&ss)->sa_family == AF_INET6 ? 2 : 1;
-+ bytes = (char *)alloca (1 + strlen(hbuf) + strlen(pbuf) + 4 + 1);
-+ sprintf (bytes, "|%d|%s|%s|", af, hbuf, pbuf);
-+ /* Send EPRT request. */
-+ request = ftp_request ("EPRT", bytes);
-+ nwritten = iwrite (RBUF_FD (rbuf), request, strlen (request));
-+ if (nwritten < 0)
-+ {
-+ free (request);
-+ return WRITEFAILED;
-+ }
-+ free (request);
-+ /* Get appropriate response. */
-+ err = ftp_response (rbuf, &respline);
-+ if (err != FTPOK)
-+ {
-+ free (respline);
-+ return err;
-+ }
-+ if (*respline != '2')
-+ {
-+ free (respline);
-+ return FTPPORTERR;
-+ }
-+ free (respline);
-+ return FTPOK;
-+}
-+
-+/* Similar to ftp_eprt, but uses `EPSV' to initiate the passive FTP
-+ transfer. Reads the response from server and parses it. Reads the
-+ host and port addresses and returns them. */
-+uerr_t
-+ftp_epsv (struct rbuf *rbuf, char *hbuf, unsigned short *pport)
-+{
-+ char *request, *respline, *s, *ep, delim;
-+ long rcv;
-+ int nwritten;
-+ uerr_t err;
-+ struct sockaddr_storage ss;
-+ int sslen = sizeof(ss);
-+
-+ if (getpeername(RBUF_FD (rbuf), (struct sockaddr *)&ss, &sslen) < 0)
-+ return HOSTERR;
-+ if (getnameinfo((struct sockaddr *)&ss, sslen, hbuf, INET6_ADDRSTRLEN,
-+ NULL, 0, NI_NUMERICHOST) != 0)
-+ return HOSTERR;
-+
-+ /* Form the request. */
-+ request = ftp_request ("EPSV", NULL);
-+ /* And send it. */
-+ nwritten = iwrite (RBUF_FD (rbuf), request, strlen (request));
-+ if (nwritten < 0)
-+ {
-+ free (request);
-+ return WRITEFAILED;
-+ }
-+ free (request);
-+ /* Get the server response. */
-+ err = ftp_response (rbuf, &respline);
-+ if (err != FTPOK)
-+ goto fin;
-+ if (strncmp(respline, "229", 3) != 0)
-+ {
-+ err = FTPNOPASV;
-+ goto fin;
-+ }
-+ /* Parse the request. */
-+ s = respline;
-+ for (s += 4; *s && *s != '('; s++);
-+ if (!*s)
-+ {
-+ err = FTPINVPASV;
-+ goto fin;
-+ }
-+ s++;
-+ if (s[0] && s[0] == s[1] && s[0] == s[2])
-+ {
-+ delim = s[0];
-+ s += 3;
-+ }
-+ else
-+ {
-+ err = FTPINVPASV;
-+ goto fin;
-+ }
-+ rcv = strtol (s, &ep, 10);
-+ if (rcv <= 0 || rcv > USHRT_MAX || *ep != delim)
-+ {
-+ err = FTPINVPASV;
-+ goto fin;
-+ }
-+ *pport = (unsigned short)rcv;
-+ err = FTPOK;
-+
-+fin:
-+ free (respline);
-+ return err;
-+}
-+#endif
-
- /* Sends the TYPE request to the server. */
- uerr_t
-diff -ur wget-1.8.1.orig/src/ftp.c wget-1.8.1/src/ftp.c
---- wget-1.8.1.orig/src/ftp.c Tue Dec 4 02:22:05 2001
-+++ wget-1.8.1/src/ftp.c Tue Feb 19 03:35:12 2002
-@@ -33,6 +33,9 @@
- #include <sys/types.h>
- #include <assert.h>
- #include <errno.h>
-+#include <sys/socket.h>
-+#include <netinet/in.h>
-+#include <arpa/inet.h>
-
- #include "wget.h"
- #include "utils.h"
-@@ -489,6 +492,54 @@
- {
- if (opt.ftp_pasv > 0)
- {
-+ unsigned short tport;
-+#ifdef INET6
-+ char thost[64];
-+
-+ if (!opt.conn_inet6)
-+ goto noepsv;
-+ if (!opt.server_response)
-+ logputs (LOG_VERBOSE, "==> EPSV ... ");
-+ err = ftp_epsv (&con->rbuf, thost, &tport);
-+ /* FTPRERR, WRITEFAILED, FTPNOPASV, FTPINVPASV, HOSTERR */
-+ switch (err)
-+ {
-+ case FTPRERR:
-+ logputs (LOG_VERBOSE, "\n");
-+ logputs (LOG_NOTQUIET, _("\
-+Error in server response, closing control connection.\n"));
-+ break;
-+ case WRITEFAILED:
-+ logputs (LOG_VERBOSE, "\n");
-+ logputs (LOG_NOTQUIET,
-+ _("Write failed, closing control connection.\n"));
-+ break;
-+ case FTPNOPASV:
-+ logputs (LOG_VERBOSE, "\n");
-+ logputs (LOG_NOTQUIET, _("Cannot initiate EPSV transfer.\n"));
-+ goto tryeprt;
-+ case FTPINVPASV:
-+ logputs (LOG_VERBOSE, "\n");
-+ logputs (LOG_NOTQUIET, _("Cannot parse EPSV response.\n"));
-+ goto tryeprt;
-+ case HOSTERR:
-+ logputs (LOG_VERBOSE, "\n");
-+ logprintf (LOG_NOTQUIET, "%s: error\n", u->host);
-+ break;
-+ case FTPOK:
-+ /* fine and dandy */
-+ inet_aton(thost, (struct in_addr *)pasv_addr);
-+ goto pasvok;
-+ default:
-+ abort ();
-+ break;
-+ }
-+ CLOSE (csock);
-+ rbuf_uninitialize (&con->rbuf);
-+ return err;
-+
-+ noepsv:
-+#endif
- if (!opt.server_response)
- logputs (LOG_VERBOSE, "==> PASV ... ");
- err = ftp_pasv (&con->rbuf, pasv_addr);
-@@ -528,10 +579,17 @@
- }
- if (err==FTPOK)
- {
-- unsigned short tport;
--
-+#ifdef INET6
-+ inet_ntop (AF_INET, pasv_addr, thost, sizeof (thost));
-+#endif
- tport = (pasv_addr[4] << 8) + pasv_addr[5];
-+
-+#ifdef INET6
-+ pasvok:
-+ dtsock = connect_to_one (thost, tport, 1);
-+#else
- dtsock = connect_to_one (pasv_addr, tport, 1);
-+#endif
-
- if (dtsock < 0)
- {
-@@ -539,7 +597,11 @@
- CLOSE (csock);
- rbuf_uninitialize (&con->rbuf);
- logprintf (LOG_VERBOSE, _("couldn't connect to %s:%hu: %s\n"),
-+#ifdef INET6
-+ thost, tport,
-+#else
- pretty_print_address (pasv_addr), tport,
-+#endif
- strerror (save_errno));
- return save_errno == ECONNREFUSED ? CONREFUSED : CONERROR;
- }
-@@ -552,6 +614,61 @@
-
- if (!passive_mode_open) /* Try to use a port command if PASV failed */
- {
-+#ifdef INET6
-+ if (!opt.conn_inet6)
-+ goto noeprt;
-+ tryeprt:
-+ if (!opt.server_response)
-+ logputs (LOG_VERBOSE, "==> EPRT ... ");
-+ err = ftp_eprt (&con->rbuf);
-+ /* FTPRERR, WRITEFAILED, bindport (CONSOCKERR, CONPORTERR, BINDERR,
-+ LISTENERR), HOSTERR, FTPPORTERR */
-+ switch (err)
-+ {
-+ case FTPRERR:
-+ logputs (LOG_VERBOSE, "\n");
-+ logputs (LOG_NOTQUIET, _("\
-+Error in server response, closing control connection.\n"));
-+ break;
-+ case WRITEFAILED:
-+ logputs (LOG_VERBOSE, "\n");
-+ logputs (LOG_NOTQUIET,
-+ _("Write failed, closing control connection.\n"));
-+ break;
-+ case CONSOCKERR:
-+ logputs (LOG_VERBOSE, "\n");
-+ logprintf (LOG_NOTQUIET, "socket: %s\n", strerror (errno));
-+ break;
-+ case CONPORTERR: case BINDERR: case LISTENERR:
-+ /* What now? These problems are local... */
-+ logputs (LOG_VERBOSE, "\n");
-+ logprintf (LOG_NOTQUIET, _("Bind error (%s).\n"),
-+ strerror (errno));
-+ closeport (dtsock);
-+ return err;
-+ break;
-+ case HOSTERR:
-+ logputs (LOG_VERBOSE, "\n");
-+ logprintf (LOG_NOTQUIET, "%s: error\n", u->host);
-+ break;
-+ case FTPPORTERR:
-+ logputs (LOG_VERBOSE, "\n");
-+ logputs (LOG_NOTQUIET, _("Invalid EPRT.\n"));
-+ break;
-+ case FTPOK:
-+ /* fine and dandy */
-+ goto portok;
-+ default:
-+ abort ();
-+ break;
-+ } /* eprt switch */
-+ CLOSE (csock);
-+ closeport (dtsock);
-+ rbuf_uninitialize (&con->rbuf);
-+ return err;
-+
-+ noeprt:
-+#endif
- if (!opt.server_response)
- logputs (LOG_VERBOSE, "==> PORT ... ");
- err = ftp_port (&con->rbuf);
-@@ -608,6 +725,9 @@
- abort ();
- break;
- } /* port switch */
-+#ifdef INET6
-+ portok:
-+#endif
- if (!opt.server_response)
- logputs (LOG_VERBOSE, _("done. "));
- } /* dtsock == -1 */
-diff -ur wget-1.8.1.orig/src/ftp.h wget-1.8.1/src/ftp.h
---- wget-1.8.1.orig/src/ftp.h Thu Nov 22 09:24:27 2001
-+++ wget-1.8.1/src/ftp.h Tue Feb 19 00:32:35 2002
-@@ -37,6 +37,10 @@
- uerr_t ftp_login PARAMS ((struct rbuf *, const char *, const char *));
- uerr_t ftp_port PARAMS ((struct rbuf *));
- uerr_t ftp_pasv PARAMS ((struct rbuf *, unsigned char *));
-+#ifdef INET6
-+uerr_t ftp_eprt PARAMS ((struct rbuf *));
-+uerr_t ftp_epsv PARAMS ((struct rbuf *, char *, unsigned short *));
-+#endif
- uerr_t ftp_type PARAMS ((struct rbuf *, int));
- uerr_t ftp_cwd PARAMS ((struct rbuf *, const char *));
- uerr_t ftp_retr PARAMS ((struct rbuf *, const char *));
-diff -ur wget-1.8.1.orig/src/host.c wget-1.8.1/src/host.c
---- wget-1.8.1.orig/src/host.c Tue Dec 11 17:32:57 2001
-+++ wget-1.8.1/src/host.c Wed Feb 13 04:14:11 2002
-@@ -77,7 +77,11 @@
-
- struct address_list {
- int count; /* number of adrresses */
-+#ifdef INET6
-+ struct addrinfo *addresses;
-+#else
- ipv4_address *addresses; /* pointer to the string of addresses */
-+#endif
-
- int faulty; /* number of addresses known not to
- work. */
-@@ -100,8 +104,17 @@
- address_list_copy_one (struct address_list *al, int index,
- unsigned char *ip_store)
- {
-+#ifdef INET6
-+ struct addrinfo *ai;
-+ assert (index >= al->faulty && index < al->count);
-+ for (ai = al->addresses; ai; ai = ai->ai_next, index--)
-+ if (index <= 0)
-+ break;
-+ memcpy (ip_store, ai, sizeof (*ai));
-+#else
- assert (index >= al->faulty && index < al->count);
- memcpy (ip_store, al->addresses + index, sizeof (ipv4_address));
-+#endif
- }
-
- /* Check whether two address lists have all their IPs in common. */
-@@ -109,12 +122,27 @@
- int
- address_list_match_all (struct address_list *al1, struct address_list *al2)
- {
-+#ifdef INET6
-+ struct addrinfo *ai1, *ai2;
-+#endif
- if (al1 == al2)
- return 1;
- if (al1->count != al2->count)
- return 0;
-+#ifdef INET6
-+ for (ai1 = al1->addresses, ai2 = al2->addresses; ai1;
-+ ai1 = ai1->ai_next, ai2 = ai2->ai_next)
-+ {
-+ if (ai1->ai_addrlen != ai2->ai_addrlen)
-+ return 0;
-+ if (memcmp (ai1->ai_addr, ai2->ai_addr, ai1->ai_addrlen))
-+ return 0;
-+ }
-+ return 1;
-+#else
- return 0 == memcmp (al1->addresses, al2->addresses,
- al1->count * sizeof (ipv4_address));
-+#endif
- }
-
- /* Mark the INDEXth element of AL as faulty, so that the next time
-@@ -141,26 +169,44 @@
- as returned by gethostbyname. */
-
- static struct address_list *
-+#ifdef INET6
-+address_list_new (struct addrinfo *ai)
-+{
-+ struct addrinfo *res;
-+#else
- address_list_new (char **h_addr_list)
- {
-- int count = 0, i;
-+ int i;
-+#endif
-+ int count = 0;
-
- struct address_list *al = xmalloc (sizeof (struct address_list));
-
-+#ifdef INET6
-+ for (res = ai; res; res = res->ai_next)
-+#else
- while (h_addr_list[count])
-+#endif
- ++count;
- assert (count > 0);
- al->count = count;
- al->faulty = 0;
-+#ifdef INET6
-+ al->addresses = ai;
-+#else
- al->addresses = xmalloc (count * sizeof (ipv4_address));
-+#endif
- al->refcount = 1;
-
-+#ifndef INET6
- for (i = 0; i < count; i++)
- memcpy (al->addresses + i, h_addr_list[i], sizeof (ipv4_address));
-+#endif
-
- return al;
- }
-
-+#ifndef INET6
- /* Like address_list_new, but initialized with only one address. */
-
- static struct address_list *
-@@ -175,11 +221,16 @@
-
- return al;
- }
-+#endif
-
- static void
- address_list_delete (struct address_list *al)
- {
-+#ifdef INET6
-+ freeaddrinfo (al->addresses);
-+#else
- xfree (al->addresses);
-+#endif
- xfree (al);
- }
-
-@@ -203,6 +254,17 @@
- {
- return inet_ntoa (*(struct in_addr *)addr);
- }
-+#ifdef INET6
-+int
-+pretty_print_address_sa (const void *addr, int alen, char *abuf)
-+{
-+ int err = getnameinfo((struct sockaddr *)addr, alen, abuf, INET6_ADDRSTRLEN,
-+ NULL, 0, NI_NUMERICHOST);
-+ if (err)
-+ strcpy (abuf, "???");
-+ return err;
-+}
-+#endif
-
- /* Add host name HOST with the address ADDR_TEXT to the cache.
- ADDR_LIST is a NULL-terminated list of addresses, as in struct
-@@ -220,10 +282,23 @@
- #ifdef DEBUG
- if (opt.debug)
- {
-+#ifdef INET6
-+ struct addrinfo *ai;
-+#else
- int i;
-+#endif
- debug_logprintf ("Caching %s =>", host);
-+#ifdef INET6
-+ for (ai = al->addresses; ai; ai = ai->ai_next)
-+ {
-+ char hbuf[INET6_ADDRSTRLEN];
-+ pretty_print_address_sa (ai->ai_addr, ai->ai_addrlen, hbuf);
-+ debug_logprintf (" %s", hbuf);
-+ }
-+#else
- for (i = 0; i < al->count; i++)
- debug_logprintf (" %s", pretty_print_address (al->addresses + i));
-+#endif
- debug_logprintf ("\n");
- }
- #endif
-@@ -233,6 +308,24 @@
- lookup_host (const char *host, int silent)
- {
- struct address_list *al = NULL;
-+#ifdef INET6
-+ struct addrinfo hints, *res;
-+ int error;
-+
-+ memset(&hints, 0, sizeof(hints));
-+ if (opt.inet)
-+ hints.ai_family = AF_INET;
-+ else if (opt.inet6)
-+ hints.ai_family = AF_INET6;
-+ else
-+ hints.ai_family = AF_UNSPEC;
-+ hints.ai_socktype = SOCK_STREAM;
-+ hints.ai_flags = AI_NUMERICHOST;
-+ /* check `N.N.N.N' or 'X:X:X:X:X:X:X:X'. */
-+ if (!getaddrinfo(host, NULL, &hints, &res))
-+ return address_list_new (res);
-+
-+#else
- unsigned long addr;
- struct hostent *hptr;
-
-@@ -254,6 +347,7 @@
- #endif
- return address_list_new_one ((char *)&addr + offset);
- }
-+#endif /* INET6 */
-
- /* By now we know that the host name we got is not of the form
- d.d.d.d. Try to find it in our cache of host names. */
-@@ -270,12 +364,29 @@
- if (!silent)
- logprintf (LOG_VERBOSE, _("Resolving %s... "), host);
-
-+#ifdef INET6
-+ memset(&hints, 0, sizeof(hints));
-+ if (opt.inet)
-+ hints.ai_family = AF_INET;
-+ else if (opt.inet6)
-+ hints.ai_family = AF_INET6;
-+ else
-+ hints.ai_family = AF_UNSPEC;
-+ hints.ai_socktype = SOCK_STREAM;
-+ error = getaddrinfo(host, NULL, &hints, &res);
-+ if (error)
-+#else
- /* Look up the host using gethostbyname(). */
- hptr = gethostbyname (host);
- if (!hptr)
-+#endif
- {
- if (!silent)
-+#ifdef INET6
-+ logprintf (LOG_VERBOSE, _("failed: %s.\n"), gai_strerror(error));
-+#else
- logprintf (LOG_VERBOSE, _("failed: %s.\n"), herrmsg (h_errno));
-+#endif
- return NULL;
- }
-
-@@ -284,7 +395,11 @@
-
- /* Do all systems have h_addr_list, or is it a newer thing? If the
- latter, use address_list_new_one. */
-+#ifdef INET6
-+ al = address_list_new (res);
-+#else
- al = address_list_new (hptr->h_addr_list);
-+#endif
-
- /* Cache the lookup information. */
- cache_host_lookup (host, al);
-diff -ur wget-1.8.1.orig/src/host.h wget-1.8.1/src/host.h
---- wget-1.8.1.orig/src/host.h Tue Dec 11 17:32:58 2001
-+++ wget-1.8.1/src/host.h Wed Feb 13 00:14:42 2002
-@@ -38,6 +38,9 @@
- /* This was originally going to be a macro, but then every caller
- would have to #include the netinet stuff. */
- char *pretty_print_address PARAMS ((const void *));
-+#ifdef INET6
-+int pretty_print_address_sa PARAMS ((const void *, int, char *));
-+#endif
-
- int accept_domain PARAMS ((struct url *));
- int sufmatch PARAMS ((const char **, const char *));
-diff -ur wget-1.8.1.orig/src/http.c wget-1.8.1/src/http.c
---- wget-1.8.1.orig/src/http.c Fri Dec 14 01:46:56 2001
-+++ wget-1.8.1/src/http.c Sun Jan 27 08:19:10 2002
-@@ -559,6 +559,11 @@
- /* Whether keep-alive should be inhibited. */
- int inhibit_keep_alive;
-
-+ /* Whether we need to print the host header with braces around host,
-+ e.g. "Host: [3ffe:8100:200:2::2]:1234" instead of the usual
-+ "Host: symbolic-name:1234". */
-+ int squares_around_host = 0;
-+
- #ifdef HAVE_SSL
- /* initialize ssl_ctx on first run */
- if (!ssl_ctx)
-@@ -811,6 +816,9 @@
- "param=value", full_path will be "/foo/bar?param=value". */
- full_path = url_full_path (u);
-
-+ if (strchr (u->host, ':'))
-+ squares_around_host = 1;
-+
- /* Allocate the memory for the request. */
- request = (char *)alloca (strlen (command)
- + strlen (full_path)
-@@ -832,11 +840,12 @@
- sprintf (request, "\
- %s %s HTTP/1.0\r\n\
- User-Agent: %s\r\n\
--Host: %s%s\r\n\
-+Host: %s%s%s%s\r\n\
- Accept: %s\r\n\
- %s%s%s%s%s%s%s%s\r\n",
- command, full_path,
-- useragent, u->host,
-+ useragent,
-+ squares_around_host ? "[" : "", u->host, squares_around_host ? "]" : "",
- port_maybe ? port_maybe : "",
- HTTP_ACCEPT,
- request_keep_alive ? request_keep_alive : "",
-diff -ur wget-1.8.1.orig/src/init.c wget-1.8.1/src/init.c
---- wget-1.8.1.orig/src/init.c Fri Dec 14 04:19:03 2001
-+++ wget-1.8.1/src/init.c Tue Feb 19 02:45:18 2002
-@@ -38,6 +38,7 @@
- #else
- # include <sys/socket.h>
- # include <netinet/in.h>
-+# include <netdb.h>
- #ifndef __BEOS__
- # include <arpa/inet.h>
- #endif
-@@ -142,6 +143,10 @@
- { "ignorelength", &opt.ignore_length, cmd_boolean },
- { "ignoretags", &opt.ignore_tags, cmd_vector },
- { "includedirectories", &opt.includes, cmd_directory_vector },
-+#ifdef INET6
-+ { "inet", &opt.inet, cmd_boolean },
-+ { "inet6", &opt.inet6, cmd_boolean },
-+#endif
- { "input", &opt.input_filename, cmd_file },
- { "killlonger", &opt.kill_longer, cmd_boolean },
- { "limitrate", &opt.limit_rate, cmd_bytes },
-@@ -526,10 +531,18 @@
- cmd_address (const char *com, const char *val, void *closure)
- {
- struct address_list *al;
-+#ifdef INET6
-+ struct addrinfo ai;
-+ struct sockaddr_storage ss;
-+ int slen;
-+#else
- struct sockaddr_in sin;
-+#endif
- struct sockaddr_in **target = (struct sockaddr_in **)closure;
-
-+#ifndef INET6
- memset (&sin, '\0', sizeof (sin));
-+#endif
-
- al = lookup_host (val, 1);
- if (!al)
-@@ -538,16 +551,29 @@
- exec_name, com, val);
- return 0;
- }
-+#ifdef INET6
-+ address_list_copy_one (al, 0, (unsigned char *)&ai);
-+ slen = ai.ai_addrlen;
-+ memcpy (&ss, ai.ai_addr, slen);
-+#else
- address_list_copy_one (al, 0, (unsigned char *)&sin.sin_addr);
-+#endif
- address_list_release (al);
-
-+#ifndef INET6
- sin.sin_family = AF_INET;
- sin.sin_port = 0;
-+#endif
-
- FREE_MAYBE (*target);
-
-+#ifdef INET6
-+ *target = xmalloc (sizeof (ss));
-+ memcpy (*target, &ss, slen);
-+#else
- *target = xmalloc (sizeof (sin));
- memcpy (*target, &sin, sizeof (sin));
-+#endif
-
- return 1;
- }
-diff -ur wget-1.8.1.orig/src/main.c wget-1.8.1/src/main.c
---- wget-1.8.1.orig/src/main.c Mon Dec 10 14:31:44 2001
-+++ wget-1.8.1/src/main.c Tue Feb 19 02:41:12 2002
-@@ -171,6 +171,12 @@
- -Q, --quota=NUMBER set retrieval quota to NUMBER.\n\
- --limit-rate=RATE limit download rate to RATE.\n\
- \n"), stdout);
-+#ifdef INET6
-+ fputs (_("\
-+ --inet use IP version 4 socket.\n\
-+ --inet6 use IP version 6 socket.\n\
-+\n"), stdout);
-+#endif /* INET6 */
- fputs (_("\
- Directories:\n\
- -nd --no-directories don\'t create directories.\n\
-@@ -256,6 +262,10 @@
- { "help", no_argument, NULL, 'h' },
- { "html-extension", no_argument, NULL, 'E' },
- { "ignore-length", no_argument, NULL, 138 },
-+#ifdef INET6
-+ { "inet", no_argument, NULL, '4' },
-+ { "inet6", no_argument, NULL, '6' },
-+#endif
- { "mirror", no_argument, NULL, 'm' },
- { "no-clobber", no_argument, NULL, 141 },
- { "no-directories", no_argument, NULL, 147 },
-@@ -407,6 +417,16 @@
- case 165:
- setval ("randomwait", "on");
- break;
-+#ifdef INET6
-+ case '4':
-+ setval ("inet", "on");
-+ setval ("inet6", "off");
-+ break;
-+ case '6':
-+ setval ("inet6", "on");
-+ setval ("inet", "off");
-+ break;
-+#endif
- case 'b':
- setval ("background", "on");
- break;
-@@ -703,6 +723,14 @@
- print_usage ();
- exit (1);
- }
-+#ifdef INET6
-+ if (opt.inet && opt.inet6)
-+ {
-+ printf (_("Can't inet and inet6 be specified at the same time.\n"));
-+ print_usage ();
-+ exit (1);
-+ }
-+#endif
- if (opt.timestamping && opt.noclobber)
- {
- printf (_("\
-diff -ur wget-1.8.1.orig/src/options.h wget-1.8.1/src/options.h
---- wget-1.8.1.orig/src/options.h Fri Nov 30 16:39:08 2001
-+++ wget-1.8.1/src/options.h Tue Feb 19 02:49:40 2002
-@@ -153,7 +153,14 @@
- int page_requisites; /* Whether we need to download all files
- necessary to display a page properly. */
-
-+#ifdef INET6
-+ int inet;
-+ int inet6;
-+ int conn_inet6; /* connect IPv6? */
-+ struct sockaddr_storage *bind_address;
-+#else
- struct sockaddr_in *bind_address; /* What local IP address to bind to. */
-+#endif
-
- #ifdef HAVE_SSL
- char *sslcertfile; /* external client cert to use. */
-diff -ur wget-1.8.1.orig/src/url.c wget-1.8.1/src/url.c
---- wget-1.8.1.orig/src/url.c Sat Dec 15 00:45:59 2001
-+++ wget-1.8.1/src/url.c Sun Jan 27 05:43:17 2002
-@@ -111,7 +111,7 @@
- RU, 0, 0, 0, 0, 0, 0, 0, /* @ A B C D E F G */
- 0, 0, 0, 0, 0, 0, 0, 0, /* H I J K L M N O */
- 0, 0, 0, 0, 0, 0, 0, 0, /* P Q R S T U V W */
-- 0, 0, 0, U, U, U, U, 0, /* X Y Z [ \ ] ^ _ */
-+ 0, 0, 0, RU, U, RU, U, 0, /* X Y Z [ \ ] ^ _ */
- U, 0, 0, 0, 0, 0, 0, 0, /* ` a b c d e f g */
- 0, 0, 0, 0, 0, 0, 0, 0, /* h i j k l m n o */
- 0, 0, 0, 0, 0, 0, 0, 0, /* p q r s t u v w */
-@@ -528,6 +528,11 @@
- memcpy (*user, str, len);
- (*user)[len] = '\0';
-
-+ if (*user)
-+ decode_string (*user);
-+ if (*passwd)
-+ decode_string (*passwd);
-+
- return 1;
- }
-
-@@ -617,16 +622,20 @@
- }
-
- static char *parse_errors[] = {
--#define PE_NO_ERROR 0
-+#define PE_NO_ERROR 0
- "No error",
--#define PE_UNSUPPORTED_SCHEME 1
-+#define PE_UNSUPPORTED_SCHEME 1
- "Unsupported scheme",
--#define PE_EMPTY_HOST 2
-+#define PE_EMPTY_HOST 2
- "Empty host",
--#define PE_BAD_PORT_NUMBER 3
-+#define PE_BAD_PORT_NUMBER 3
- "Bad port number",
--#define PE_INVALID_USER_NAME 4
-- "Invalid user name"
-+#define PE_INVALID_USER_NAME 4
-+ "Invalid user name",
-+#define PE_UNTERMINATED_IPV6_ADDRESS 5
-+ "Unterminated IPv6 numeric address",
-+#define PE_INVALID_IPV6_ADDRESS 6
-+ "Invalid char in IPv6 numeric address"
- };
-
- #define SETERR(p, v) do { \
-@@ -688,8 +697,45 @@
- fragment_b = fragment_e = NULL;
-
- host_b = p;
-- p = strpbrk_or_eos (p, ":/;?#");
-- host_e = p;
-+
-+ if (*p == '[')
-+ {
-+ /* Support http://[::1]/ used by IPv6. */
-+ int invalid = 0;
-+ ++p;
-+ while (1)
-+ {
-+ char c = *p++;
-+ switch (c)
-+ {
-+ case ']':
-+ goto out;
-+ case '\0':
-+ SETERR (error, PE_UNTERMINATED_IPV6_ADDRESS);
-+ return NULL;
-+ case ':': case '.':
-+ break;
-+ default:
-+ if (ISXDIGIT (c))
-+ break;
-+ invalid = 1;
-+ }
-+ }
-+ out:
-+ if (invalid)
-+ {
-+ SETERR (error, PE_INVALID_IPV6_ADDRESS);
-+ return NULL;
-+ }
-+ /* Don't include brackets in [host_b, host_p). */
-+ ++host_b;
-+ host_e = p - 1;
-+ }
-+ else
-+ {
-+ p = strpbrk_or_eos (p, ":/;?#");
-+ host_e = p;
-+ }
-
- if (host_b == host_e)
- {
-@@ -1575,6 +1621,37 @@
- memcpy (constr + baselength, link, linklength);
- constr[baselength + linklength] = '\0';
- }
-+ else if (linklength > 1 && *link == '/' && *(link + 1) == '/')
-+ {
-+ /* LINK begins with "//" and so is a net path: we need to
-+ replace everything after (and including) the double slash
-+ with LINK. */
-+
-+ /* uri_merge("foo", "//new/bar") -> "//new/bar" */
-+ /* uri_merge("//old/foo", "//new/bar") -> "//new/bar" */
-+ /* uri_merge("http://old/foo", "//new/bar") -> "http://new/bar" */
-+
-+ int span;
-+ const char *slash;
-+ const char *start_insert;
-+
-+ /* Look for first slash. */
-+ slash = memchr (base, '/', end - base);
-+ /* If found slash and it is a double slash, then replace
-+ from this point, else default to replacing from the
-+ beginning. */
-+ if (slash && *(slash + 1) == '/')
-+ start_insert = slash;
-+ else
-+ start_insert = base;
-+
-+ span = start_insert - base;
-+ constr = (char *)xmalloc (span + linklength + 1);
-+ if (span)
-+ memcpy (constr, base, span);
-+ memcpy (constr + span, link, linklength);
-+ constr[span + linklength] = '\0';
-+ }
- else if (*link == '/')
- {
- /* LINK is an absolute path: we need to replace everything
-@@ -1734,6 +1811,8 @@
- char *scheme_str = supported_schemes[url->scheme].leading_string;
- int fplen = full_path_length (url);
-
-+ int brackets_around_host = 0;
-+
- assert (scheme_str != NULL);
-
- /* Make sure the user name and password are quoted. */
-@@ -1749,8 +1828,12 @@
- }
- }
-
-+ if (strchr (url->host, ':'))
-+ brackets_around_host = 1;
-+
- size = (strlen (scheme_str)
- + strlen (url->host)
-+ + (brackets_around_host ? 2 : 0)
- + fplen
- + 1);
- if (url->port != scheme_port)
-@@ -1776,7 +1859,11 @@
- *p++ = '@';
- }
-
-+ if (brackets_around_host)
-+ *p++ = '[';
- APPEND (p, url->host);
-+ if (brackets_around_host)
-+ *p++ = ']';
- if (url->port != scheme_port)
- {
- *p++ = ':';
---- wget-1.8.2/configure.in.orig Wed Jun 5 20:57:48 2002
-+++ wget-1.8.2/configure.in Wed Jun 5 21:02:38 2002
-@@ -74,6 +74,11 @@
- DEBUG=$enableval, DEBUG=yes)
- test x"${DEBUG}" = xyes && AC_DEFINE(DEBUG,,[Support for debugging output])
-
-+AC_ARG_ENABLE(ipv6,
-+[ --enable-ipv6 enable IPv6 support],
-+INET6=$enableval, INET6=yes)
-+test x"${INET6}" = xyes && AC_DEFINE(INET6,,[IPv6 support])
-+
- wget_need_md5=no
-
- case "${USE_OPIE}${USE_DIGEST}" in
---- wget-1.8.2/po/pl.po.orig Sun May 19 05:18:59 2002
-+++ wget-1.8.2/po/pl.po Wed Jun 5 21:07:23 2002
-@@ -1227,3 +1227,29 @@
- #, c-format
- msgid "Failed to unlink symlink `%s': %s\n"
- msgstr "Nie uda³o siê usun±æ dowi±zania symbolicznego `%s': %s\n"
-+
-+#: src/ftp.c:529
-+msgid "Cannot initiate EPSV transfer.\n"
-+msgstr "Nie mo¿na rozpocz±æ transferu EPSV.\n"
-+
-+#: src/ftp.c:533
-+msgid "Cannot parse EPSV response.\n"
-+msgstr "Nie powiod³a siê analiza odpowiedzi EPSV.\n"
-+
-+#: src/ftp.c:666
-+msgid "Invalid EPRT.\n"
-+msgstr "B³êdny EPRT.\n"
-+
-+#: src/main.c:185
-+msgid ""
-+" --inet use IP version 4 socket.\n"
-+" --inet6 use IP version 6 socket.\n"
-+"\n"
-+msgstr ""
-+" --inet u¿ywa gniazd IP w wersji 4.\n"
-+" --inet6 u¿ywa gniazd IP w wersji 6.\n"
-+"\n"
-+
-+#: src/main.c:739
-+msgid "Can't inet and inet6 be specified at the same time.\n"
-+msgstr "Opcje inet i inet6 nie mog± byæ podane jednocze¶nie.\n"
+++ /dev/null
-# Polish translation of wget
-# Copyright (C) 1998-2000 Free Software Foundation, Inc.
-# Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>, 1998-2000.
-# $Id$
-msgid ""
-msgstr ""
-"Project-Id-Version: wget 1.6\n"
-"POT-Creation-Date: 2001-05-26 11:07+0200\n"
-"PO-Revision-Date: 1999-02-23 14:57+01:00\n"
-"Last-Translator: Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>\n"
-"Language-Team: PL <pl@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: src/cookies.c:588
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "B³±d w polu Set-Cookie `%s'"
-
-#: src/cookies.c:612
-#, c-format
-msgid "Syntax error in Set-Cookie at character `%c'.\n"
-msgstr "B³±d sk³adni w Set-Cookie przy znaku `%c'.\n"
-
-#: src/cookies.c:620
-msgid "Syntax error in Set-Cookie: premature end of string.\n"
-msgstr "B³ad sk³adni w Set-Cookie: przedwczesny koniec ci±gu znaków.\n"
-
-#: src/cookies.c:1352
-#, c-format
-msgid "Cannot open cookies file `%s': %s\n"
-msgstr "Nie mo¿na otworzyæ pliku ciasteczek `%s': %s\n"
-
-#: src/cookies.c:1364
-#, c-format
-msgid "Error writing to `%s': %s\n"
-msgstr "B³±d podczas zapisu do `%s': %s\n"
-
-#: src/cookies.c:1368
-#, c-format
-msgid "Error closing `%s': %s\n"
-msgstr "B³±d podczas zamykania `%s': %s\n"
-
-#: src/ftp-ls.c:787
-msgid "Usupported listing type, trying Unix listing parser.\n"
-msgstr ""
-"Niewspierany typ listy plików, próbowanie Unix-owego analizatora sk³adni.\n"
-
-#: src/ftp-ls.c:832 src/ftp-ls.c:834
-#, c-format
-msgid "Index of /%s on %s:%d"
-msgstr "Indeks /%s na %s:%d"
-
-#: src/ftp-ls.c:856
-msgid "time unknown "
-msgstr "czas nieznany "
-
-#: src/ftp-ls.c:860
-msgid "File "
-msgstr "Plik "
-
-#: src/ftp-ls.c:863
-msgid "Directory "
-msgstr "Katalog "
-
-#: src/ftp-ls.c:866
-msgid "Link "
-msgstr "Odno¶nik "
-
-#: src/ftp-ls.c:869
-msgid "Not sure "
-msgstr "Nie pewny "
-
-#: src/ftp-ls.c:887
-#, c-format
-msgid " (%s bytes)"
-msgstr " (%s bajtów)"
-
-#. Login to the server:
-#. First: Establish the control connection.
-#: src/ftp.c:149 src/http.c:623
-#, c-format
-msgid "Connecting to %s:%hu... "
-msgstr "£±czenie siê z %s:%hu... "
-
-#: src/ftp.c:171 src/ftp.c:538 src/http.c:640
-#, c-format
-msgid "Connection to %s:%hu refused.\n"
-msgstr "Po³±czenie zosta³o odrzucone przez %s:%hu.\n"
-
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:192 src/http.c:651
-msgid "connected!\n"
-msgstr "po³±czono siê!\n"
-
-#: src/ftp.c:193
-#, c-format
-msgid "Logging in as %s ... "
-msgstr "Logowanie siê jako %s ... "
-
-#: src/ftp.c:202 src/ftp.c:255 src/ftp.c:287 src/ftp.c:335 src/ftp.c:428
-#: src/ftp.c:480 src/ftp.c:574 src/ftp.c:647 src/ftp.c:708 src/ftp.c:756
-msgid "Error in server response, closing control connection.\n"
-msgstr "B³±d w odpowiedzi serwera, zamykanie po³±czenia kontrolnego.\n"
-
-#: src/ftp.c:210
-msgid "Error in server greeting.\n"
-msgstr "B³±d w powitaniu serwera.\n"
-
-#: src/ftp.c:218 src/ftp.c:344 src/ftp.c:437 src/ftp.c:489 src/ftp.c:584
-#: src/ftp.c:657 src/ftp.c:718 src/ftp.c:766
-msgid "Write failed, closing control connection.\n"
-msgstr "Zapis nie powiód³ siê, zamykanie po³±czenienia kontrolnego.\n"
-
-#: src/ftp.c:225
-msgid "The server refuses login.\n"
-msgstr "Serwer nie pozwala na logowanie siê.\n"
-
-#: src/ftp.c:232
-msgid "Login incorrect.\n"
-msgstr "Nieprawid³owy login lub has³o.\n"
-
-#: src/ftp.c:239
-msgid "Logged in!\n"
-msgstr "Zalogowano siê !\n"
-
-#: src/ftp.c:264
-msgid "Server error, can't determine system type.\n"
-msgstr "B³±d serwera, nie mo¿na ustaliæ typu systemu.\n"
-
-#: src/ftp.c:274 src/ftp.c:559 src/ftp.c:631 src/ftp.c:688
-msgid "done. "
-msgstr "zrobiono. "
-
-#: src/ftp.c:324 src/ftp.c:458 src/ftp.c:739 src/ftp.c:787 src/url.c:1429
-msgid "done.\n"
-msgstr "zrobiono.\n"
-
-#: src/ftp.c:352
-#, c-format
-msgid "Unknown type `%c', closing control connection.\n"
-msgstr "Nieznany typ `%c', zamykanie po³±czenienia kontrolnego.\n"
-
-#: src/ftp.c:365
-msgid "done. "
-msgstr "zrobiono. "
-
-#: src/ftp.c:371
-msgid "==> CWD not needed.\n"
-msgstr "==> CWD nie jest potrzebne.\n"
-
-#: src/ftp.c:444
-#, c-format
-msgid ""
-"No such directory `%s'.\n"
-"\n"
-msgstr ""
-"Nie ma katalogu `%s'.\n"
-"\n"
-
-#. do not CWD
-#: src/ftp.c:462
-msgid "==> CWD not required.\n"
-msgstr "==> CWD nie wymagane.\n"
-
-#: src/ftp.c:496
-msgid "Cannot initiate PASV transfer.\n"
-msgstr "Nie mo¿na zainicjowaæ transferu typu PASV.\n"
-
-#: src/ftp.c:500
-msgid "Cannot parse PASV response.\n"
-msgstr "Nie mo¿na przeskanowaæ odpowiedzi PASV.\n"
-
-#: src/ftp.c:514
-#, c-format
-msgid "Will try connecting to %s:%hu.\n"
-msgstr "Nast±pi± próby po³±czenia z %s:%hu.\n"
-
-#: src/ftp.c:601
-#, c-format
-msgid "Bind error (%s).\n"
-msgstr "B³±d Bind (%s).\n"
-
-#: src/ftp.c:617
-msgid "Invalid PORT.\n"
-msgstr "Nieprawid³owe PORT.\n"
-
-#: src/ftp.c:670
-#, c-format
-msgid ""
-"\n"
-"REST failed; will not truncate `%s'.\n"
-msgstr ""
-"\n"
-"REST nieudane; nie obcinano zawarto¶ci `%s'.\n"
-
-#: src/ftp.c:677
-msgid ""
-"\n"
-"REST failed, starting from scratch.\n"
-msgstr ""
-"\n"
-"REST nieudane, rozpoczynanie od pocz±tku.\n"
-
-#: src/ftp.c:726
-#, c-format
-msgid ""
-"No such file `%s'.\n"
-"\n"
-msgstr ""
-"Nie ma pliku %s'.\n"
-"\n"
-
-#: src/ftp.c:774
-#, c-format
-msgid ""
-"No such file or directory `%s'.\n"
-"\n"
-msgstr ""
-"Nie ma pliku ani katalogu %s'.\n"
-"\n"
-
-#: src/ftp.c:858 src/ftp.c:866
-#, c-format
-msgid "Length: %s"
-msgstr "D³ugo¶æ: %s"
-
-#: src/ftp.c:860 src/ftp.c:868
-#, c-format
-msgid " [%s to go]"
-msgstr " [%s do koñca]"
-
-#: src/ftp.c:870
-msgid " (unauthoritative)\n"
-msgstr " (nie autorytatywne)\n"
-
-#: src/ftp.c:897
-#, c-format
-msgid "%s: %s, closing control connection.\n"
-msgstr "%s: %s, zamykanie po³±czenienia kontrolnego.\n"
-
-#: src/ftp.c:905
-#, c-format
-msgid "%s (%s) - Data connection: %s; "
-msgstr "%s (%s) - Po³±czenie danych: %s; "
-
-#: src/ftp.c:922
-msgid "Control connection closed.\n"
-msgstr "Po³±czenie kontrolne zamkniêto.\n"
-
-#: src/ftp.c:940
-msgid "Data transfer aborted.\n"
-msgstr "Przerwano transfer danych.\n"
-
-#: src/ftp.c:1004
-#, c-format
-msgid "File `%s' already there, not retrieving.\n"
-msgstr "Plik `%s' ju¿ istnieje, nie pobieram.\n"
-
-#: src/ftp.c:1074 src/http.c:1501
-#, c-format
-msgid "(try:%2d)"
-msgstr "(próba:%2d)"
-
-#: src/ftp.c:1138 src/http.c:1752
-#, c-format
-msgid ""
-"%s (%s) - `%s' saved [%ld]\n"
-"\n"
-msgstr ""
-"%s (%s) - zapisano `%s' [%ld]\n"
-"\n"
-
-#: src/ftp.c:1180 src/main.c:809 src/recur.c:483 src/retr.c:566
-#, c-format
-msgid "Removing %s.\n"
-msgstr "Usuwanie %s.\n"
-
-#: src/ftp.c:1220
-#, c-format
-msgid "Using `%s' as listing tmp file.\n"
-msgstr "U¿ywam `%s' jako tymczasowego pliku dla listy.\n"
-
-#: src/ftp.c:1232
-#, c-format
-msgid "Removed `%s'.\n"
-msgstr "Usuniêto `%s'.\n"
-
-#: src/ftp.c:1268
-#, c-format
-msgid "Recursion depth %d exceeded max. depth %d.\n"
-msgstr "G³êboko¶æ rekurencji %d przekroczy³a maksymaln± g³êboko¶æ %d.\n"
-
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1329
-#, c-format
-msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr ""
-"Plik po stronie serwera nie jest nowszy ni¿ plik lokalny `%s' -- nie "
-"przesy³am.\n"
-
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1336
-#, c-format
-msgid ""
-"Remote file is newer than local file `%s' -- retrieving.\n"
-"\n"
-msgstr ""
-"Plik po stronie serwera jest nowszy ni¿ plik lokalny `%s' -- przesy³anie.\n"
-
-#. Sizes do not match
-#: src/ftp.c:1343
-#, c-format
-msgid ""
-"The sizes do not match (local %ld) -- retrieving.\n"
-"\n"
-msgstr ""
-"Rozmiary nie pasuj± (lokalny %ld) -- przesy³anie.\n"
-"\n"
-
-#: src/ftp.c:1360
-msgid "Invalid name of the symlink, skipping.\n"
-msgstr "Nieprawid³owa nazwa dowi±zania symbolicznego, pomijanie.\n"
-
-#: src/ftp.c:1377
-#, c-format
-msgid ""
-"Already have correct symlink %s -> %s\n"
-"\n"
-msgstr ""
-"Ju¿ istnieje poprawne dowi±zanie symboliczne %s -> %s\n"
-"\n"
-
-#: src/ftp.c:1385
-#, c-format
-msgid "Creating symlink %s -> %s\n"
-msgstr "Tworzenie dowi±zania symbolicznego %s -> %s\n"
-
-#: src/ftp.c:1396
-#, c-format
-msgid "Symlinks not supported, skipping symlink `%s'.\n"
-msgstr ""
-"Dowi±zania symboliczne nie s± wspierane, pomijanie symb. dowi±zania `%s'.\n"
-
-#: src/ftp.c:1408
-#, c-format
-msgid "Skipping directory `%s'.\n"
-msgstr "Pomijanie katalogu `%s'.\n"
-
-#: src/ftp.c:1417
-#, c-format
-msgid "%s: unknown/unsupported file type.\n"
-msgstr "%s: nieznany/niewspierany typ pliku.\n"
-
-#: src/ftp.c:1444
-#, c-format
-msgid "%s: corrupt time-stamp.\n"
-msgstr "%s: znacznik czasowy uszkodzony.\n"
-
-#: src/ftp.c:1465
-#, c-format
-msgid "Will not retrieve dirs since depth is %d (max %d).\n"
-msgstr ""
-"Nie nast±pi± próby ¶ci±gania katalogów odk±d g³êboko¶æ wynosi %d (maks %d).\n"
-
-#: src/ftp.c:1511
-#, c-format
-msgid "Not descending to `%s' as it is excluded/not-included.\n"
-msgstr "Nie wchodzê do `%s' poniewa¿ jest on wy³±czony/nie-w³±czony.\n"
-
-#: src/ftp.c:1558
-#, c-format
-msgid "Rejecting `%s'.\n"
-msgstr "Odrzucanie `%s'.\n"
-
-#. No luck.
-#. #### This message SUCKS. We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1605
-#, c-format
-msgid "No matches on pattern `%s'.\n"
-msgstr "Brak pasuj±cych do wzorca `%s'.\n"
-
-#: src/ftp.c:1670
-#, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
-msgstr "Zapisano indeks w postaci HTMLa w `%s' [%ld].\n"
-
-#: src/ftp.c:1675
-#, c-format
-msgid "Wrote HTML-ized index to `%s'.\n"
-msgstr "Zapisano indeks w postaci HTMLa w `%s'.\n"
-
-#: src/getopt.c:454
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: opcja `%s` jest niejednoznaczna\n"
-
-#: src/getopt.c:478
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: opcja `--%s' nie przyjmuje argumentów\n"
-
-#: src/getopt.c:483
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: opcja `%c%s' nie przyjmuje argumentów\n"
-
-#: src/getopt.c:498
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: opcja `%s' wymaga argumentu\n"
-
-#. --option
-#: src/getopt.c:528
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: nierozpoznana opcja `--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:532
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: nierozpoznana opcja `%c%s'\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:563
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: nieprawid³owa opcja -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:602
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: opcja wymaga argumentu -- %c\n"
-
-#: src/host.c:374
-msgid "Host not found"
-msgstr "Host nie zosta³ znaleziony"
-
-#: src/host.c:376
-msgid "Unknown error"
-msgstr "Nieznany b³±d"
-
-#. this is fatal
-#: src/http.c:554
-msgid "Failed to set up an SSL context\n"
-msgstr "Nieudane ustawianie kontekstu SSL\n"
-
-#: src/http.c:560
-#, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr "Nie uda³o siê za³adowaæ lokalnych certyfikatów z %s\n"
-
-#: src/http.c:564 src/http.c:572
-msgid "Trying without the specified certificate\n"
-msgstr "Próbowanie bez podanego certyfikatu\n"
-
-#: src/http.c:568
-#, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr "Nie uda³o siê uzyskaæ klucza certyfikatu z %s\n"
-
-#: src/http.c:662 src/http.c:1592
-msgid "Unable to establish SSL connection.\n"
-msgstr "Niemo¿liwe utworzenie po³±czenia SSL.\n"
-
-#: src/http.c:670
-#, c-format
-msgid "Reusing connection to %s:%hu.\n"
-msgstr "Ponowne u¿ycie po³±czenia do %s:%hu.\n"
-
-#: src/http.c:860
-#, c-format
-msgid "Failed writing HTTP request: %s.\n"
-msgstr "Nie powiod³o siê wysy³anie ¿±dania HTTP: %s.\n"
-
-#: src/http.c:865
-#, c-format
-msgid "%s request sent, awaiting response... "
-msgstr "¯±danie %s wys³ano, oczekiwanie na odpowied¼... "
-
-#: src/http.c:909
-msgid "End of file while parsing headers.\n"
-msgstr "Wyst±pi³ koniec pliku podczas skanowania nag³ówków.\n"
-
-#: src/http.c:919
-#, c-format
-msgid "Read error (%s) in headers.\n"
-msgstr "B³±d odczytu (%s) w nag³ówkach.\n"
-
-#: src/http.c:958
-msgid "No data received"
-msgstr "Brak danych w odpowiedzi"
-
-#: src/http.c:960
-msgid "Malformed status line"
-msgstr "¬le sformu³owana linia statusu"
-
-#: src/http.c:965
-msgid "(no description)"
-msgstr "(brak opisu)"
-
-#: src/http.c:1088
-msgid "Authorization failed.\n"
-msgstr "Autoryzacja nie powiod³a siê.\n"
-
-#: src/http.c:1095
-msgid "Unknown authentication scheme.\n"
-msgstr "Nieznana metoda uwierzytelnienia.\n"
-
-#: src/http.c:1135
-#, c-format
-msgid "Location: %s%s\n"
-msgstr "Lokalizacja: %s%s\n"
-
-#: src/http.c:1136 src/http.c:1268
-msgid "unspecified"
-msgstr "nieznana"
-
-#: src/http.c:1137
-msgid " [following]"
-msgstr " [pod±¿am]"
-
-#: src/http.c:1199
-msgid ""
-"\n"
-" The file is already fully retrieved; nothing to do.\n"
-"\n"
-msgstr ""
-"\n"
-" Plik ju¿ zosta³ w pe³ni przes³any; nic do roboty.\n"
-"\n"
-
-#: src/http.c:1215
-#, c-format
-msgid ""
-"\n"
-"The server does not support continued downloads, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
-"\n"
-msgstr ""
-"\n"
-"Serwer nie obs³uguje kontynuacji ¶ci±gania, które jest w konflikcje z `-c'.\n"
-"Nie pozwalam na obciêcie istniej±cego pliku `%s'.\n"
-"\n"
-
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1258
-msgid "Length: "
-msgstr "D³ugo¶æ: "
-
-#: src/http.c:1263
-#, c-format
-msgid " (%s to go)"
-msgstr " (%s do koñca)"
-
-#: src/http.c:1268
-msgid "ignored"
-msgstr "zignorowano"
-
-#: src/http.c:1398
-msgid "Warning: wildcards not supported in HTTP.\n"
-msgstr "Ostrze¿enie: znaki globalne nie s± wspierane w HTTP.\n"
-
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1416
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "Plik `%s' ju¿ tu jest, nie ¶ci±gam.\n"
-
-#: src/http.c:1584
-#, c-format
-msgid "Cannot write to `%s' (%s).\n"
-msgstr "Nie mo¿na zapisywaæ do `%s' (%s).\n"
-
-#: src/http.c:1601
-#, c-format
-msgid "ERROR: Redirection (%d) without location.\n"
-msgstr "B£¡D: Przekierowywanie (%d) bez lokalizacji.\n"
-
-#: src/http.c:1629
-#, c-format
-msgid "%s ERROR %d: %s.\n"
-msgstr "%s B£¡D %d: %s.\n"
-
-#: src/http.c:1641
-msgid "Last-modified header missing -- time-stamps turned off.\n"
-msgstr "Brak nag³ówka Last-modified -- wy³±czanie znaczników czasu.\n"
-
-#: src/http.c:1649
-msgid "Last-modified header invalid -- time-stamp ignored.\n"
-msgstr "B³êdny nag³ówek Last-modified -- znacznik czasu zignorowany.\n"
-
-#: src/http.c:1672
-#, c-format
-msgid ""
-"Server file no newer than local file `%s' -- not retrieving.\n"
-"\n"
-msgstr ""
-"Plik po stronie serwera starszy ni¿ plik lokalny `%s' -- nie przesy³am.\n"
-
-#: src/http.c:1679
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
-msgstr "Rozmiary nie pasuj± (lokalny %ld) -- ¶ci±ganie.\n"
-
-#: src/http.c:1683
-msgid "Remote file is newer, retrieving.\n"
-msgstr "Plik na zdalnym serwerze jest nowszy, ¶ci±ganie.\n"
-
-#: src/http.c:1727
-#, c-format
-msgid ""
-"%s (%s) - `%s' saved [%ld/%ld]\n"
-"\n"
-msgstr ""
-"%s (%s) - zapisano `%s' [%ld/%ld]\n"
-"\n"
-
-#: src/http.c:1773
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
-msgstr "%s (%s) - Po³±czenie zamkniête przy %ld bajcie. "
-
-#: src/http.c:1781
-#, c-format
-msgid ""
-"%s (%s) - `%s' saved [%ld/%ld])\n"
-"\n"
-msgstr ""
-"%s (%s) - zapisano `%s' [%ld/%ld])\n"
-"\n"
-
-#: src/http.c:1800
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr "%s (%s) - Po³±czenie zamkniête przy %ld/%ld bajcie."
-
-#: src/http.c:1811
-#, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
-msgstr "%s (%s) - B³±d podczas odczytu przy bajcie %ld (%s)."
-
-#: src/http.c:1819
-#, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
-msgstr "%s (%s) - B³±d podczas odczytu przy bajcie %ld/%ld (%s). "
-
-#: src/init.c:348 src/netrc.c:267
-#, c-format
-msgid "%s: Cannot read %s (%s).\n"
-msgstr "%s: Nie mo¿na odczytaæ %s (%s).\n"
-
-#: src/init.c:366 src/init.c:372
-#, c-format
-msgid "%s: Error in %s at line %d.\n"
-msgstr "%s: B³±d w %s w lini %d.\n"
-
-#: src/init.c:404
-#, c-format
-msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr ""
-"%s: Ostrze¿enie: Zarówno wgetrc systemowy jak i u¿ytkownika wskazuj± na `%"
-"s'.\n"
-
-#: src/init.c:496
-#, c-format
-msgid "%s: BUG: unknown command `%s', value `%s'.\n"
-msgstr "%s: BUG: nieznana komenda `%s', warto¶æ `%s'.\n"
-
-#: src/init.c:528
-#, c-format
-msgid "%s: %s: Cannot convert `%s' to an IP address.\n"
-msgstr "%s: %s: Nie mo¿na skonwertowaæ `%s' do adresu IP.\n"
-
-#: src/init.c:558
-#, c-format
-msgid "%s: %s: Please specify on or off.\n"
-msgstr "%s: %s: Proszê podaæ on lub off.\n"
-
-#: src/init.c:602
-#, c-format
-msgid "%s: %s: Please specify always, on, off, or never.\n"
-msgstr "%s: %s: Proszê podaæ: zawsze, on, off lub never.\n"
-
-#: src/init.c:621 src/init.c:918 src/init.c:940 src/init.c:1004
-#, c-format
-msgid "%s: %s: Invalid specification `%s'.\n"
-msgstr "%s: %s: Nieprawid³owa specyfikacja `%s'.\n"
-
-#: src/init.c:774 src/init.c:796 src/init.c:818 src/init.c:844
-#, c-format
-msgid "%s: Invalid specification `%s'\n"
-msgstr "%s: Nieprawid³owa specyfikacja `%s`\n"
-
-#: src/main.c:119
-#, c-format
-msgid "Usage: %s [OPTION]... [URL]...\n"
-msgstr "U¿ycie: %s [OPCJE]... [URL]...\n"
-
-#: src/main.c:127
-#, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, nie-interaktywny ¶ci±gacz sieciowy.\n"
-
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch. Also, it makes translation much easier.
-#: src/main.c:132
-msgid ""
-"\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"\n"
-msgstr ""
-"\n"
-"Obowi±zkowe argumenty d³ugich opcji s± te¿ obowi±zkowe dla opcji krótkich.\n"
-"\n"
-
-#: src/main.c:136
-msgid ""
-"Startup:\n"
-" -V, --version display the version of Wget and exit.\n"
-" -h, --help print this help.\n"
-" -b, --background go to background after startup.\n"
-" -e, --execute=COMMAND execute a `.wgetrc'-style command.\n"
-"\n"
-msgstr ""
-"Start:\n"
-" -V, --version wy¶wietl wersjê Wget'a i zakoñcz\n"
-" dzia³anie.\n"
-" -h, --help wy¶wietl t± pomoc.\n"
-" -b, --background przejd¼ w t³o po wystartowaniu.\n"
-" -e, --execute=KOMENDA wykonaj komendê .wgetrc'.\n"
-"\n"
-
-#: src/main.c:143
-msgid ""
-"Logging and input file:\n"
-" -o, --output-file=FILE log messages to FILE.\n"
-" -a, --append-output=FILE append messages to FILE.\n"
-" -d, --debug print debug output.\n"
-" -q, --quiet quiet (no output).\n"
-" -v, --verbose be verbose (this is the default).\n"
-" -nv, --non-verbose turn off verboseness, without being quiet.\n"
-" -i, --input-file=FILE download URLs found in FILE.\n"
-" -F, --force-html treat input file as HTML.\n"
-" -B, --base=URL prepends URL to relative links in -F -i file.\n"
-" --sslcertfile=FILE optional client certificate.\n"
-" --sslcertkey=KEYFILE optional keyfile for this certificate.\n"
-"\n"
-msgstr ""
-"Logowanie i wej¶cie z pliku:\n"
-" -o, --output-file=PLIK zapisuj komunikaty do PLIK.\n"
-" -a, --append-output=PLIK do³±cz komunikaty do PLIK.\n"
-" -d, --debug w³±cz debugowanie.\n"
-" -q, --quiet cisza (¿adnych komunikatów).\n"
-" -v, --verbose wy¶wietlaj jak najwiêcej\n"
-" komunikatów (standardowo).\n"
-" -nv, --non-verbose wy³±cz wy¶wiatlanie jak najwiêkszej\n"
-" liczby komunikatów bez bycia cicho.\n"
-" -i, --input-file=PLIK wczytuj URLe z PLIK.\n"
-" -F, --force-html traktuj plik wej¶ciowy jako plik HTML.\n"
-" -B, --base=URL dodaje adres URL do relatywnych "
-"odno¶ników\n"
-" w -F -i pliku.\n"
-" --sslcertfile=PLIK opcjonalny certyfikat klienta.\n"
-" --sslcertkey=PLIK_KLUCZY opcjonalny plik kluczy dla tego "
-"certyfikatu.\n"
-"\n"
-
-#: src/main.c:157
-msgid ""
-"Download:\n"
-" --bind-address=ADDRESS bind to ADDRESS (hostname or IP) on local "
-"host.\n"
-" -t, --tries=NUMBER set number of retries to NUMBER (0 "
-"unlimits).\n"
-" -O --output-document=FILE write documents to FILE.\n"
-" -nc, --no-clobber don't clobber existing files or use .# "
-"suffixes.\n"
-" -c, --continue resume getting a partially-downloaded file.\n"
-" --dot-style=STYLE set retrieval display style.\n"
-" -N, --timestamping don't re-retrieve files unless newer than "
-"local.\n"
-" -S, --server-response print server response.\n"
-" --spider don't download anything.\n"
-" -T, --timeout=SECONDS set the read timeout to SECONDS.\n"
-" -w, --wait=SECONDS wait SECONDS between retrievals.\n"
-" --waitretry=SECONDS wait 1...SECONDS between retries of a "
-"retrieval.\n"
-" -Y, --proxy=on/off turn proxy on or off.\n"
-" -Q, --quota=NUMBER set retrieval quota to NUMBER.\n"
-"\n"
-msgstr ""
-"¦ci±ganie:\n"
-" --bind-address=ADRES u¿yj lokalnego adresu ADRES (host lub "
-"IP).\n"
-" -t, --tries=LICZBA ustaw liczbê ponownych prób na LICZBA\n"
-" (0 = bez limitu)\n"
-" -O --output-document=PLIK zapisz dokumenty do PLIK.\n"
-" -nc, --no-clobber nie clobber'uj istniej±cych plików.\n"
-" -c, --continue zrestartuj ¶ci±ganie istniej±cego "
-"pliku.\n"
-" --dot-style=STILE ustaw tryb wizualizacji postêpów\n"
-" w ¶ci±ganiu\n"
-" -N, --timestamping nie ¶ci±gaj plików je¶li s± starsze "
-"ni¿\n"
-" lokalne \n"
-" -S, --server-response wy¶wietlaj odpowiedzi serwera.\n"
-" --spider nie ¶ci±gaj czegokolwiek.\n"
-" -T, --timeout=SEKUND ustaw timeout odczytywania na SEKUND.\n"
-" -w, --wait=SEKUND czekaj SEKUND pomiêdzy ¶ci±ganiami\n"
-" --waitretry=SEKUND czekaj SEKUND pomiêdzy ponown± prób±\n"
-" wznowienia ¶ci±gania\n"
-" -Y, --proxy=on/off w³±cz/wy³±cz proxy.\n"
-" -Q, --quota=ROZMIAR ustaw quotê ¶ci±gania na ROZMIAR.\n"
-"\n"
-
-#: src/main.c:174
-msgid ""
-"Directories:\n"
-" -nd --no-directories don't create directories.\n"
-" -x, --force-directories force creation of directories.\n"
-" -nH, --no-host-directories don't create host directories.\n"
-" -P, --directory-prefix=PREFIX save files to PREFIX/...\n"
-" --cut-dirs=NUMBER ignore NUMBER remote directory "
-"components.\n"
-"\n"
-msgstr ""
-"Katalogi:\n"
-" -nd --no-directories nie twórz katalogów.\n"
-" -x, --force-directories wymu¶ tworzenie katalogów.\n"
-" -nH, --no-host-directories nie twórz katalogu o nazwie hosta.\n"
-" -P, --directory-prefix=PREFIKS zapisz pliki w PREFIKS/...\n"
-" --cut-dirs=LICZBA ignoruj LiCZBA zdalnych katalogów\n"
-"\n"
-
-#: src/main.c:182
-msgid ""
-"HTTP options:\n"
-" --http-user=USER set http user to USER.\n"
-" --http-passwd=PASS set http password to PASS.\n"
-" -C, --cache=on/off (dis)allow server-cached data (normally "
-"allowed).\n"
-" -E, --html-extension save all text/html documents with .html "
-"extension.\n"
-" --ignore-length ignore `Content-Length' header field.\n"
-" --header=STRING insert STRING among the headers.\n"
-" --proxy-user=USER set USER as proxy username.\n"
-" --proxy-passwd=PASS set PASS as proxy password.\n"
-" --referer=URL include `Referer: URL' header in HTTP request.\n"
-" -s, --save-headers save the HTTP headers to file.\n"
-" -U, --user-agent=AGENT identify as AGENT instead of Wget/VERSION.\n"
-" --no-http-keep-alive disable HTTP keep-alive (persistent "
-"connections).\n"
-" --cookies=off don't use cookies.\n"
-" --load-cookies=FILE load cookies from FILE before session.\n"
-" --save-cookies=FILE save cookies to FILE after session.\n"
-"\n"
-msgstr ""
-"Opcje HTTP:\n"
-" --http-user=U¯YTKOWNIK ustaw u¿ytkownika http na U¯YTKOWNIK.\n"
-" --http-passwd=HAS£O ustaw has³o http na HAS£O.\n"
-" -C, --cache=on/off (nie)pozwól na cachowanie danych "
-"serwera\n"
-" (normalnie dozwolone).\n"
-" -E, --html-extension zapisz wszystkie dokumenty text/html\n"
-" z rozszerzeniem .html.\n"
-" --ignore-length ignoruj pole nag³ówka `Content-"
-"Length'.\n"
-" --header=CI¡G_ZN wstaw CI¡G_ZN w nag³ówek.\n"
-" --proxy-user=U¯YTKOWNIK ustaw u¿ytkownika proxy na U¯YTKOWNIK.\n"
-" --proxy-passwd=HAS£O ustaw has³o proxy na HAS£O.\n"
-" --referer=URL do³±czaj nag³ówek `Referer: URL' w "
-"rz±daniu HTTP.\n"
-" -s, --save-headers zapisuj nag³ówki HTTP do pliku.\n"
-" -U, --user-agent=AGENT identyfikuj sie jako AGENT zamiast \n"
-" Wget/WERSJA.\n"
-" --no-http-keep-alive wy³±cz HTTP keep-alive (ci±g³e "
-"po³±czenia).\n"
-" --cookies=off nie u¿ywaj ciasteczek.\n"
-" --load-cookies=PLIK za³aduj ciasteczka z PLIK przed sesj±.\n"
-" --save-cookies=PLIK zapisz ciasteczka do PLIK po sesji.\n"
-"\n"
-
-#: src/main.c:200
-msgid ""
-"FTP options:\n"
-" -nr, --dont-remove-listing don't remove `.listing' files.\n"
-" -g, --glob=on/off turn file name globbing on or off.\n"
-" --passive-ftp use the \"passive\" transfer mode.\n"
-" --retr-symlinks when recursing, get linked-to files (not "
-"dirs).\n"
-"\n"
-msgstr ""
-"Opcje FTP:\n"
-" -nr, --dont-remove-listing nie usuwaj plików `.listing'.\n"
-" -g, --glob=on/off w³±cz/wy³±cz mo¿liwo¶æ u¿ywania\n"
-" znaków globalnych.\n"
-" --passive-ftp u¿yj \"pasywnego\" trybu ¶ci±gania.\n"
-" --retr-symlinks ¶ci±gaj dowi±zania symbolicze FTP.\n"
-"\n"
-
-#: src/main.c:207
-msgid ""
-"Recursive retrieval:\n"
-" -r, --recursive recursive web-suck -- use with care!\n"
-" -l, --level=NUMBER maximum recursion depth (inf or 0 for "
-"infinite).\n"
-" --delete-after delete files locally after downloading them.\n"
-" -k, --convert-links convert non-relative links to relative.\n"
-" -K, --backup-converted before converting file X, back up as X.orig.\n"
-" -m, --mirror shortcut option equivalent to -r -N -l inf -nr.\n"
-" -p, --page-requisites get all images, etc. needed to display HTML "
-"page.\n"
-"\n"
-msgstr ""
-"¦ci±ganie rekursywne:\n"
-" -r, --recursive pracuj rekursywnie -- u¿ywaj "
-"ostro¿nie!\n"
-" -l, --level=NUMER maksymalna g³êboko¶æ podczas pracy\n"
-" rekursywnej (0 - bez limitu).\n"
-" --delete-after kasuj ¶ci±gniête pliki.\n"
-" -k, --convert-links konwertuj dowi±zania symboliczne\n"
-" na relatywne.\n"
-" -K, --backup-converted przed konwersj± pliku X zapisz jego\n"
-" orygina³ jako X.orig.\n"
-" -m, --mirror skrót odpowiadaj±cy opcjom -r -N -l inf "
-"-nr.\n"
-" -p, --page-requisites ¶ci±gaj wszystkie pliki graficzne itp. "
-"potrzebne\n"
-" by poprawnie wy¶wietliæ stronê HTML.\n"
-"\n"
-
-#: src/main.c:217
-msgid ""
-"Recursive accept/reject:\n"
-" -A, --accept=LIST comma-separated list of accepted "
-"extensions.\n"
-" -R, --reject=LIST comma-separated list of rejected "
-"extensions.\n"
-" -D, --domains=LIST comma-separated list of accepted "
-"domains.\n"
-" --exclude-domains=LIST comma-separated list of rejected "
-"domains.\n"
-" --follow-ftp follow FTP links from HTML documents.\n"
-" --follow-tags=LIST comma-separated list of followed HTML "
-"tags.\n"
-" -G, --ignore-tags=LIST comma-separated list of ignored HTML "
-"tags.\n"
-" -H, --span-hosts go to foreign hosts when recursive.\n"
-" -L, --relative follow relative links only.\n"
-" -I, --include-directories=LIST list of allowed directories.\n"
-" -X, --exclude-directories=LIST list of excluded directories.\n"
-" -nh, --no-host-lookup don't DNS-lookup hosts.\n"
-" -np, --no-parent don't ascend to the parent directory.\n"
-"\n"
-msgstr ""
-"Rekursywnie akceptuj/odrzuæ\n"
-" -A, --accept=LISTA lista akceptowanych rozszerzeñ.\n"
-" -R, --reject=LISTA lista odrzucanych rozszerzeñ.\n"
-" -D, --domains=LISTA lista akceptowanych domen.\n"
-" --exclude-domains=LISTA lista domen do odrzucenia\n"
-" oddzielonych przecinkami.\n"
-" --follow-ftp pod±¿aj za odno¶nikami FTP\n"
-" ze stron HTML.\n"
-" --follow-tags=LISTA lista akceptowanych pod±¿anych HTML\n"
-" -H, --span-hosts podczas pracy rekursywnej id¼ do\n"
-" obcych hostów\n"
-" -L, --relative pod±¿aj wy³±czenie za relatywnymi\n"
-" odno¶nikami.\n"
-" -I, --include-directories=LISTA lista akceptowanych katalogów.\n"
-" -X, --exclude-directories=LISTA lista odrzucanych katalogów.\n"
-" -nh, --no-host-lookup nie sprawdzaj wpisu DNS hostów.\n"
-" -np, --no-parent nie wychod¼ poza katalog - matkê.\n"
-"\n"
-
-#: src/main.c:233
-msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
-msgstr "Informacje o b³êdaj przesy³aj do <bug-wget@gnu.org>.\n"
-
-#: src/main.c:419
-#, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr "%s: wsparcie dla debugowania nie wkompilowane.\n"
-
-#: src/main.c:471
-msgid ""
-"Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-"GNU General Public License for more details.\n"
-msgstr ""
-"Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.\n"
-"Niniejszy program rozpowszechniany jest z nadziej±, i¿ bêdzie on\n"
-"u¿yteczny - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domy¶lnej\n"
-"gwarancji PRZYDATNO¦CI HANDLOWEJ albo PRZYDATNO¦CI DO OKRE¦LONYCH\n"
-"ZASTOSOWAÑ. W celu uzyskania bli¿szych informacji - Powszechna\n"
-"Licencja Publiczna GNU.\n"
-
-#: src/main.c:477
-msgid ""
-"\n"
-"Originally written by Hrvoje Niksic <hniksic@arsdigita.com>.\n"
-msgstr ""
-"\n"
-"Napisany przez Hrvoje Niksic <hniksic@arsdigita.com>.\n"
-"T³umaczenie: Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>.\n"
-
-#: src/main.c:568
-#, c-format
-msgid "%s: %s: invalid command\n"
-msgstr "%s: %s: nieprawid³owa komenda\n"
-
-#: src/main.c:624
-#, c-format
-msgid "%s: illegal option -- `-n%c'\n"
-msgstr "%s: nielegalna opcja -- `n%c'\n"
-
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:627 src/main.c:669 src/main.c:727
-#, c-format
-msgid "Try `%s --help' for more options.\n"
-msgstr "Spróbuj %s --help' po wiêcej opcji.\n"
-
-#: src/main.c:707
-msgid "Can't be verbose and quiet at the same time.\n"
-msgstr ""
-"Nie mogê jednocze¶nie wy¶wietlaæ wiêcej informacji i wogóle nic nie "
-"wy¶wietlaæ.\n"
-
-#: src/main.c:713
-msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Nie mogê jednocze¶nie u¿ywaæ znaczników czasu i clobber.\n"
-
-#. No URL specified.
-#: src/main.c:722
-#, c-format
-msgid "%s: missing URL\n"
-msgstr "%s: zagubiony URL\n"
-
-#: src/main.c:824
-#, c-format
-msgid "No URLs found in %s.\n"
-msgstr "Nie znaleziono URLi w %s.\n"
-
-#: src/main.c:833
-#, c-format
-msgid ""
-"\n"
-"FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
-msgstr ""
-"\n"
-"ZAKOÑCZONO --%s--\n"
-"¦ci±gniêto: %s bajtów w %d plikach\n"
-
-#: src/main.c:841
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
-msgstr "Quota na ¶ci±ganie (%s bajtów) PRZEKROCZONA!\n"
-
-#. Please note that the double `%' in `%%s' is intentional, because
-#. redirect_output passes tmp through printf.
-#: src/main.c:875
-#, c-format
-msgid "%s received, redirecting output to `%%s'.\n"
-msgstr "%s przes³ano, przekierowywanie wyj¶cia do `%%s'.\n"
-
-#: src/mswindows.c:89
-#, c-format
-msgid ""
-"\n"
-"CTRL+Break received, redirecting output to `%s'.\n"
-"Execution continued in background.\n"
-"You may stop Wget by pressing CTRL+ALT+DELETE.\n"
-msgstr ""
-"\n"
-"Przes³ano CTRL+Break, przekierowywanie wyj¶cia do `%s'.\n"
-"Wykonanie kontynuowane w tle.\n"
-"Mo¿na zatrzymaæ Wget'a poprzez wci¶niêcie CTRL+ALT+DELETE.\n"
-
-#. parent, no error
-#: src/mswindows.c:106 src/utils.c:457
-msgid "Continuing in background.\n"
-msgstr "Kontunuacja w tle.\n"
-
-#: src/mswindows.c:108 src/utils.c:459
-#, c-format
-msgid "Output will be written to `%s'.\n"
-msgstr "Wyj¶cie zostanie zapisane do `%s'.\n"
-
-#: src/mswindows.c:188
-#, c-format
-msgid "Starting WinHelp %s\n"
-msgstr "Startowanie WinHelp %s\n"
-
-#: src/mswindows.c:215 src/mswindows.c:222
-#, c-format
-msgid "%s: Couldn't find usable socket driver.\n"
-msgstr "%s: Nie mog¿na znale¶æ u¿ytecznego sterownika do gniazd (socket).\n"
-
-#: src/netrc.c:367
-#, c-format
-msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr ""
-"%s: %s:%d: ostrze¿enie: \"%s\" znaki (token) pojawiaj± sie przed nazw± "
-"maszyny\n"
-
-#: src/netrc.c:398
-#, c-format
-msgid "%s: %s:%d: unknown token \"%s\"\n"
-msgstr "%s: %s:%d: nieznany znak (token) \"%s\"\n"
-
-#: src/netrc.c:462
-#, c-format
-msgid "Usage: %s NETRC [HOSTNAME]\n"
-msgstr "U¿ycie: %s NETRC [NAZWA_HOSTA]\n"
-
-#: src/netrc.c:472
-#, c-format
-msgid "%s: cannot stat %s: %s\n"
-msgstr "%s: nie mo¿na zlokalizowaæ %s: %s\n"
-
-#: src/recur.c:484
-#, c-format
-msgid "Removing %s since it should be rejected.\n"
-msgstr "Usuwanie %s poniewa¿ powinien byæ odrzucony.\n"
-
-#: src/recur.c:679
-msgid "Loading robots.txt; please ignore errors.\n"
-msgstr "£adowanie robots.txt; proszê zignorowaæ b³êdy.\n"
-
-#: src/retr.c:227
-#, c-format
-msgid ""
-"\n"
-" [ skipping %dK ]"
-msgstr ""
-"\n"
-" [ pomijanie %dK ]"
-
-#: src/retr.c:373
-msgid "Could not find proxy host.\n"
-msgstr "Nie mo¿na znale¶æ serwera proxy.\n"
-
-#: src/retr.c:387
-#, c-format
-msgid "Proxy %s: Must be HTTP.\n"
-msgstr "Proxy %s: Musi byæ HTTP.\n"
-
-#: src/retr.c:481
-#, c-format
-msgid "%s: Redirection cycle detected.\n"
-msgstr "%s: Wykryto cykl przekierowañ.\n"
-
-#: src/retr.c:587
-msgid ""
-"Giving up.\n"
-"\n"
-msgstr ""
-"Poddawanie siê.\n"
-"\n"
-
-#: src/retr.c:587
-msgid ""
-"Retrying.\n"
-"\n"
-msgstr ""
-"Ponawianie próby.\n"
-"\n"
-
-#: src/url.c:1329
-#, c-format
-msgid "Converting %s... "
-msgstr "Konwertujê %s... "
-
-#: src/url.c:1342
-msgid "nothing to do.\n"
-msgstr "nic do roboty.\n"
-
-#: src/url.c:1350 src/url.c:1374
-#, c-format
-msgid "Cannot convert links in %s: %s\n"
-msgstr "Nie mo¿na skonwertowaæ odno¶ników w %s: %s\n"
-
-#: src/url.c:1365
-#, c-format
-msgid "Unable to delete `%s': %s\n"
-msgstr "Nie uda³o sie usun±æ `%s': %s\n"
-
-#: src/url.c:1555
-#, c-format
-msgid "Cannot back up %s as %s: %s\n"
-msgstr "Nie mo¿na stworzyæ kopii zapasowej %s jako %s: %s\n"
-
-#: src/utils.c:93
-#, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr "%s: %s: Nie ma wystarczaj±cej ilo¶ci pamiêci.\n"
-
-#: src/utils.c:416
-msgid "Unknown/unsupported protocol"
-msgstr "Nieznany/niewspierany protokó³"
-
-#: src/utils.c:419
-msgid "Invalid port specification"
-msgstr "Nieprawid³owa specyfikacja portu"
-
-#: src/utils.c:422
-msgid "Invalid host name"
-msgstr "Nieprawid³owa nazwa hosta"
-
-#: src/utils.c:619
-#, c-format
-msgid "Failed to unlink symlink `%s': %s\n"
-msgstr "Nie uda³o sie usun±æ dowi±zania symbolicznego `%s': %s\n"
-
-#~ msgid "%s: Cannot determine user-id.\n"
-#~ msgstr "%s: Nie mo¿na znale¼æ identyfikatora u¿ytkownika.\n"
-
-#~ msgid "%s: Warning: uname failed: %s\n"
-#~ msgstr "%s: Ostrze¿enie: uname nie powiod³o siê: %s\n"
-
-#~ msgid "%s: Warning: gethostname failed\n"
-#~ msgstr "%s: Ostrze¿enie: gethostname nie powiod³o siê\n"
-
-#~ msgid "%s: Warning: cannot determine local IP address.\n"
-#~ msgstr "%s: Ostrze¿enie: nie mo¿na uzyskaæ lokalnego adresu IP.\n"
-
-#~ msgid "%s: Warning: cannot reverse-lookup local IP address.\n"
-#~ msgstr "%s: Ostrze¿enie: nie mo¿na znale¼æ nazwy lokalnego adresu IP.\n"
-
-#~ msgid "%s: Warning: reverse-lookup of local address did not yield FQDN!\n"
-#~ msgstr ""
-#~ "%s: Ostrze¿enie: zapytanie odwrotnego DNSu o lokalny adres nie zwróci³o "
-#~ "FQDN!\n"
-
-#~ msgid "%s: Redirection to itself.\n"
-#~ msgstr "%s: Przekierowanie do samego siebie.\n"
-
-#~ msgid "Error (%s): Link %s without a base provided.\n"
-#~ msgstr "B³±d (%s): Odno¶nik %s podany bez bazy.\n"
-
-#~ msgid "Error (%s): Base %s relative, without referer URL.\n"
-#~ msgstr "B³±d (%s): Baza %s jest relatywna, bez odsy³aj±cego URLa.\n"
-
-#~ msgid ""
-#~ "Local file `%s' is more recent, not retrieving.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Lokalny plik `%s' jest ¶wie¿szy, nie ¶ci±gam.\n"
-#~ "\n"
-
-#~ msgid "%s: unrecognized option, character code 0%o\n"
-#~ msgstr "%s: nieznana opcja, kod znaku 0%o\n"
-
-#~ msgid "%s: unrecognized option `-%c'\n"
-#~ msgstr "%s: nierozpoznana opcja `-%c'\n"
-
-#~ msgid "%s: option `-%c' requires an argument\n"
-#~ msgstr "%s: opcja `-%c' wymaga argumentu"