[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#175034: apt/dpkg ipv6 ftp problem (EPTR)



On Sun, 05 Jan 2003 17:37:27 -0700 (MST), Jason Gunthorpe wrote:

>> The server log file shows that apt sends the clients IP-adresse as raw
>> binary data and not ASCII-encoded. That's wrong.
>> 
>> 2003-01-02 10:46:40 [31245]: 3ffe:400:123:0:0:0:0:123!4280: < EPRT |2|<A0>*'@<E4><F6><FF><BF>|<BC><EE><FF><BF>,<E9><FF><BF>1|
>

I've tracked down the problem further. I've got two IPv6-Hosts (on
different IPv6-Networks) and for some magic reason EPTR behaves differently:

Host1:

Host1 uses EPSV when called without arguments. Forcing the usage
of EPRT (apt-get -o Debug::Acquire::Ftp=true -o Acquire::ftp::passive=false update)
results in:
Get:1 ftp://ftp.freenet.de woody/main Packages [1777kB]
3% [1 Packages 53504/1777kB 3%]EPRT%20|2|3ffe:b80:2:1234::2|60798|%0d%0a'
3% [1 Packages 53504/1777kB 3%]<- 'EPRT%20command%20ok.%0d%0a'

Host2:

Host2 uses EPRT by default (does not need to be forced):
Get:4 ftp://ftp.freenet.de woody/non-free Release [100B]
0% [4 Release 0/100B 0%]-> 'EPRT%20|2|%ffffffa0*'@%ffffffe4%fffffff6%ffffffff%ffffffbf|%ffffffbc%ffffffee%ffffffff%ffffffbf,%ffffffe9%ffffffff%ffffffbf1|%0d%0a'
<- 'Syntax%20error.%0d%0a'

TCPDUMP output Host2:

10:03:37.965919 3ffe:400:460:0:220:18ff:fe80:a775.4694 > ftp3.freenet.de.ftp: P 387:416(29) ack 234 win 31680 <nop,nop,timestamp 457660056 395139956>
0x0000   6000 0000 003d 0640 3ffe 0400 0460 0000        `....=.@?....`..
0x0010   0220 18ff fe80 a775 2001 0748 0100 0050        .......u...H...P
0x0020   0000 0000 0000 0006 1256 0015 d70e 3081        .........V....0.
0x0030   d702 d42a 8018 7bc0 2dd5 0000 0101 080a        ...*..{.-.......
0x0040   1b47 5698 178d 5b74 4550 5254 207c 327c        .GV...[tEPRT.|2|
0x0050   a02a 2740 e4f6 ffbf 7cbc eeff bf2c e9ff        .*'@....|....,..
0x0060   bf31 7c0d 0a                                   .1|..

Both hosts are standard Woody installations. Same libc6 (2.2.5-11.2) and
same apt (apt 0.5.4 for linux i386 compiled on Aug 19 2001 01:02:26). No
special config for apt (no /etc/apt/apt.conf at all). Same md5sum
for /usr/bin/apt-get on both hosts.

It seems that "Name" and "Service" (Source Line:
 if (WriteMsg(Tag,Msg,"EPRT |%u|%s|%s|",Proto,Name,Service) == false)
) contain invalid data. Unfortunately I am not able to track this
down further without your help (ERR_INSUFFICIENT_PROGRAMMING_SKILLS ;-)).

I also wonder why Host2 uses EPRT and Host1 EPSV by default.

Hajo






Reply to: