This patch should implement IPv6 functionality.
diff -uNrBbd ftplib-3.1-1.org/CHANGES ftplib-3.1-1.new/CHANGES
--- ftplib-3.1-1.org/CHANGES 2000-09-16 18:22:16.000000000 +0200
+++ ftplib-3.1-1.new/CHANGES 2009-07-23 15:45:08.000000000 +0200
@@ -1,3 +1,5 @@
+2009/7/23, IPv6 support by folkert@vanheusden.com
+
The obligatory revision history...
Changes from V3.1 to V3.1-1
diff -uNrBbd ftplib-3.1-1.org/linux/ftplib.c ftplib-3.1-1.new/linux/ftplib.c
--- ftplib-3.1-1.org/linux/ftplib.c 2001-02-02 17:29:45.000000000 +0100
+++ ftplib-3.1-1.new/linux/ftplib.c 2009-07-23 15:30:26.000000000 +0200
@@ -384,7 +384,7 @@
GLOBALDEF int FtpConnect(const char *host, netbuf **nControl)
{
int sControl;
- struct sockaddr_in sin;
+ struct sockaddr_in6 sin;
struct hostent *phe;
struct servent *pse;
int on=1;
@@ -393,9 +393,9 @@
char *pnum;
memset(&sin,0,sizeof(sin));
- sin.sin_family = AF_INET;
+ sin.sin6_family = AF_INET6;
lhost = strdup(host);
- pnum = strchr(lhost,':');
+ pnum = strchr(lhost,' ');
if (pnum == NULL)
{
#if defined(VMS)
@@ -406,31 +406,32 @@
perror("getservbyname");
return 0;
}
- sin.sin_port = pse->s_port;
+ sin.sin6_port = htons(pse->s_port);
#endif
}
else
{
*pnum++ = '\0';
if (isdigit(*pnum))
- sin.sin_port = htons(atoi(pnum));
+ sin.sin6_port = htons(atoi(pnum));
else
{
pse = getservbyname(pnum,"tcp");
- sin.sin_port = pse->s_port;
+ sin.sin6_port = pse->s_port;
}
}
- if ((sin.sin_addr.s_addr = inet_addr(lhost)) == -1)
+ if (inet_pton(AF_INET6, lhost, &sin.sin6_addr) == 0)
{
if ((phe = gethostbyname(lhost)) == NULL)
{
perror("gethostbyname");
return 0;
}
- memcpy((char *)&sin.sin_addr, phe->h_addr, phe->h_length);
+ memcpy((char *)&sin.sin6_addr, phe->h_addr, phe->h_length);
+ sin.sin6_family = phe->h_addrtype;
}
free(lhost);
- sControl = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
+ sControl = socket(sin.sin6_family, SOCK_STREAM, IPPROTO_TCP);
if (sControl == -1)
{
perror("socket");
On Thu, Jul 23, 2009 at 12:54:04PM +0000, Debian Bug Tracking System wrote:
>
> Thank you for filing a new Bug report with Debian.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
> Debian QA Group <packages@qa.debian.org>
>
> If you wish to submit further information on this problem, please
> send it to 538138@bugs.debian.org, as before.
>
> Please do not send mail to owner@bugs.debian.org unless you wish
> to report a problem with the Bug-tracking system.
>
>
> --
> 538138: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=538138
> Debian Bug Tracking System
> Contact owner@bugs.debian.org with problems
Folkert van Heusden
--
Multitail - gibkaja utilita po sledovaniju log-fajlov i vyvoda
kommand. Fil'trovanie, raskra?ivanie, slijanie, vizual'noe sravnenie,
i t.d. http://www.vanheusden.com/multitail/
----------------------------------------------------------------------
Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com
Attachment:
ftplib-3.1-1.patch_ipv6.bz2
Description: Binary data