Hi, On Wed, 17 Feb 2021 11:16:52 +0100 Tobias Geerinckx-Rice via Bug reports for GNU Guix wrote: > Léo Le Bouter via Bug reports for GNU Guix 写道: > > Should we explicitly check if we are over an IPv6 connection > > instead? That sounds very magical. I mean we can do it as a last resort, I guess. EPSV is supposed to work with both IPv4 and IPv6. > > Is that possible? > > My FTP knowledge is about two decades out of date: does an IPv6 > server (de facto) have to support EPSV? > > The ‘right’ way would be to send the FEAT command, and check > whether the server actually supports EPSV. A bit more > heavy-weight than your heuristic. Good idea for a workaround, but your suggestion doesn't work with ftp.gnupg.org: CWD libgcrypt 250-This is the stable version of Libgcrypt. 250-For devlopment versions see ../alpha/libgcrypt/. 250 Directory change successful. FEAT 500 Syntax error, command unrecognized. HELP 502 Command not implemented. But this works: USER anonymous 331 Send e-mail address as password. PASS a@example.com 230 User logged in, proceed. EPSV 229 Entering Extended Passive Mode (|||41682|) And this works: 220 Service ready for new user. USER anonymous 331 Send e-mail address as password. PASS a@example.com 230 User logged in, proceed. CWD / 250 Directory change successful. EPSV 229 Entering Extended Passive Mode (|||40666|) And this works: 220 Service ready for new user. USER anonymous 331 Send e-mail address as password. PASS a@example.com 230 User logged in, proceed. CWD / 250 Directory change successful. CWD gcrypt [...] 250 Directory change successful. EPSV 229 Entering Extended Passive Mode (|||41707|) AND this works: 220 Service ready for new user. USER anonymous 331 Send e-mail address as password. PASS a@example.com 230 User logged in, proceed. CWD / 250 Directory change successful. CWD gcrypt [...] 250 Directory change successful. EPSV 229 Entering Extended Passive Mode (|||41358|) CWD libgcrypt 250-This is the stable version of Libgcrypt. 250-For devlopment versions see ../alpha/libgcrypt/. 250 Directory change successful. EPSV 229 Entering Extended Passive Mode (|||41308|) But this does not work: 220 Service ready for new user. USER anonymous 331 Send e-mail address as password. PASS a@example.com 230 User logged in, proceed. CWD / 250 Directory change successful. CWD gcrypt [...] 250 Directory change successful. CWD libgcrypt 250-This is the stable version of Libgcrypt. 250-For devlopment versions see ../alpha/libgcrypt/. 250 Directory change successful. EPSV Looks like a straightforward server bug to me. >250-Please contact ftpmaster@gnupg.org it you have any problems with Please contact ftpmaster@gnupg.org ! I would not suggest to complicate perfectly valid client code just because the server does weird stuff--especially when those servers are GNU project servers anyway. We can just talk to the server maintainers instead.