View Issue Details

IDProjectCategoryView StatusLast Update
0002407unrealircdpublic2005-03-13 15:25
ReporterRon2K Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionopen 
Product Version3.2.3 
Summary0002407: [win32 + curl] Unable to connect to remote FTP server with new curl
DescriptionI've experienced problems connecting to FTP servers with the new curl in pre3.

Using the "old" curl (which works fine), the relevant parts of the FTP log are as follows:

230 User irc-ron2k logged in.
PWD
257 "/" is current directory.
MDTM LANGamesNET.network
550 'LANGamesNET.network' : no such file or directory.
EPSV
500 Unknown command.
PASV
227 Entering Passive Mode (127,0,0,1,45,218).
TYPE I
200 Type set to I.
SIZE LANGamesNET.network
213 2449
RETR LANGamesNET.network
150 Data connection accepted from 127.0.0.1:1421; transfer starting for LANGamesNET.network (2449 bytes).

With the "new" curl present in the Win32 version of 3.2.3-pre3, the server decides after receiving the 550 that the file does not exist.

This is a curl issue: I compiled 3.2.3-pre3 from source using the "old" curl and it runs fine.

You'll probably have to revert to the old curl for the 3.2.3 release, unless a fix is made before then. Sorry for the inconvenience (since I reported that you weren't using the "new" curl in the first place :P)
3rd party modules

Activities

syzop

2005-03-07 15:26

administrator   ~0009479

Last edited: 2005-03-07 15:27

hm, I just tested a file on my (anonymous) ftp server and with pre1 it works right, but with pre3 I get:

[21:23:20] -winlink.test.net- *** Notice -- tmp/1E88FBD2.test.conf:1: Ignoring extra data
-
[21:23:20] -winlink.test.net- *** Notice -- tmp/1E88FBD2.test.conf:1: Ignoring extra data
-
[21:23:20] -winlink.test.net- *** Notice -- tmp/1E88FBD2.test.conf:1: Ignoring extra data
-
[21:23:20] -winlink.test.net- *** Notice -- tmp/1E88FBD2.test.conf:1: Ignoring extra data
-
[21:23:20] -winlink.test.net- *** Notice -- tmp/1E88FBD2.test.conf:1: Ignoring extra data
-
[21:23:20] -winlink.test.net- *** Notice -- tmp/1E88FBD2.test.conf:2: Ignoring extra data
-
[21:23:20] -winlink.test.net- *** Notice -- tmp/1E88FBD2.test.conf:2: Ignoring extra data
-
[21:23:21] -winlink.test.net- *** Notice -- [warning] unrealircd.conf:97: listen with SSL flag enabled on a non SSL compile
-
[21:23:21] -winlink.test.net- *** Notice -- tmp/1E88FBD2.test.conf:1: unknown directive Last-Modified:
-
[21:23:21] -winlink.test.net- *** Notice -- Configuration loaded without any problems ..

uh-huh ;).

(that's a server that supports MDTM correctly btw, so even then it screws something up)

syzop

2005-03-07 15:39

administrator   ~0009480

Last edited: 2005-03-07 15:40

What I don't understand in your example btw is that MDTM returns no such file or directory. I'm not surprised curl stops then.

Ron2K: I tried playing a ftp server that does not support MDTM (by replying 500 Unknown command), and curl just continues then (EPSV, PASV, etc). So I'm not so sure if curl is to blame for that :)

codemastr: could you take a look at this? I wonder why we suddenly get Last-Modified in our data stream (I suppose?), IIRC that's a curl option but isn't that disabled by default? *g*
Anyway, let me know what you think we should do... fix that or revert to the old curl.

codemastr

2005-03-07 20:21

reporter   ~0009483

I told it to request the modification time (to support caching). From the curl changelog, "FTP code overhaul => multi interface much less blocking" my guess is something got screwed up. Perhaps we can try telling libcurl to run in debug mode (it prints to stderr) so we can see what is going on?

codemastr

2005-03-07 20:47

reporter   ~0009485

Syzop, can you paste the contents of 1E88FBD2.test.conf? Looking at the code I see where the Last-Modified is generated, however the code seems the same as previous versions so I have no idea why it is being sent now but never was before.

syzop

2005-03-07 21:01

administrator   ~0009486

ban nick { mask "bassie"; reason "bassie suxeerd"; };
(text + \n [so normal], no empty lines, nothing else)

syzop

2005-03-07 21:30

administrator   ~0009487

Oh sorry, you requested the tmp file.. well.. that one includes this line indeed:
Last-Modified: Tue, 08 Mar 2005 02:23:53 GMT

codemastr

2005-03-07 22:23

reporter   ~0009488

Well I believe I have found the cause, I sent an email to the libcurl people, hopefully they'll be able to solve it quickly.

codemastr

2005-03-08 10:59

reporter   ~0009521

http://cool.haxx.se/cvs.cgi/curl/lib/ftp.c.diff?r2=1.306&r1=1.305&diff_format=u

That should solve it. I'll apply that and rebuild the libcurl later today.

syzop

2005-03-08 15:24

administrator   ~0009530

Compiled with the new curl.zip you gave me, works fine now :)

syzop

2005-03-08 23:08

administrator   ~0009536

So ehm Ron2K, what kind of ftp server is that?
Like I said, it replies with no such file or directory in the MDTM request, which I think is not a good idea if the file exists ;P. So I'm curious what server it is (eg: proftpd, blahftp, blihftp, ..).

codemastr

2005-03-08 23:12

reporter   ~0009537

[quote]Like I said, it replies with no such file or directory in the MDTM request, which I think is not a good idea if the file exists[/quote]
Just for the record, even if it is undesired behavior, it's still not a bug that it fails. In the code, there is a case for 550 and if it is found, it aborts. So it's not a bug, it's a situation libcurl was designed to fail under.

syzop

2005-03-08 23:18

administrator   ~0009538

Yeah, this isn't making any sense, eh?
Like I told in my 2nd post I also tried 500 Unknown command and it continued just fine, also I didn't find any code that checks for "no such file or directory", so how could this problem be caused then?? :P

You sure that it aborts after the 500 on MDTM, Ron2K? :P

Actually I just tried playing for ftp server and it just continued fine here:
[..]
257 "/"
MDTM test.conf
500 'test.conf': no such file or directory
EPSV
[..]

Ron2K

2005-03-12 05:38

reporter   ~0009566

Sorry for not responding - I'm on holiday at the moment, will get back tomorrow and then I'll let you know.

syzop

2005-03-12 11:10

administrator   ~0009568

Tomorrow is too late, but nevermind & enjoy *g* ;)..

we'll use this new curl since it seems to work just fine.

Ron2K

2005-03-13 08:47

reporter   ~0009575

Back :P

FTP Server is BPFTP 2.21. Not the latest version, but I grabbed the changelog and couldn't find anything relating to a change to MDTM behaviour.

syzop

2005-03-13 11:54

administrator   ~0009576

Last edited: 2005-03-13 11:54

Right, well seems a BFTP bug to me.. if it understands the MDTM command (which it does), and returns a 550 saying the file was not found, well.. isn't it logical that curl would assume the file is not found ?? *g* ;p

You might want to inform the bpftpd authors of it :)

*edit* sorry for confusing 500 and 550 in my posts earlier on */edit*

Issue History

Date Modified Username Field Change
2005-03-07 15:01 Ron2K New Issue
2005-03-07 15:26 syzop Note Added: 0009479
2005-03-07 15:26 syzop Note Edited: 0009479
2005-03-07 15:27 syzop Note Edited: 0009479
2005-03-07 15:36 syzop Status new => confirmed
2005-03-07 15:39 syzop Note Added: 0009480
2005-03-07 15:40 syzop Note Edited: 0009480
2005-03-07 20:21 codemastr Note Added: 0009483
2005-03-07 20:47 codemastr Note Added: 0009485
2005-03-07 21:01 syzop Note Added: 0009486
2005-03-07 21:30 syzop Note Added: 0009487
2005-03-07 22:23 codemastr Note Added: 0009488
2005-03-08 10:59 codemastr Note Added: 0009521
2005-03-08 15:24 syzop Note Added: 0009530
2005-03-08 23:08 syzop Note Added: 0009536
2005-03-08 23:12 codemastr Note Added: 0009537
2005-03-08 23:18 syzop Note Added: 0009538
2005-03-12 05:38 Ron2K Note Added: 0009566
2005-03-12 11:10 syzop Note Added: 0009568
2005-03-13 08:47 Ron2K Note Added: 0009575
2005-03-13 11:54 syzop Note Added: 0009576
2005-03-13 11:54 syzop Note Edited: 0009576
2005-03-13 15:25 syzop Status confirmed => closed