[REBOL] Re: FTP scheme was Re: Reading empty directories via FTP error
From: brett:codeconscious at: 14-Nov-2003 13:33
> Hey, you know my issues better than me now! ;)
:-)) I know about many issues now I'm not sure I wanted to know about!
> Assuming a combination of patches from you, Carl, Romano, and others
> correct these (and other) various problems, how much of the FTP scheme
> handler code is being patchd? 25%, 50%, 75%?
I can't speak for others, but the patch I loaded into REBOL.org for the 226
multiline handling literally adds 1 or 2 refinement! depending on your REBOL
version.
My NLST handling patch (see later) adds about 5 lines of copied code.
My error handling patch (see later) replaces about four words and add a line
of code.
> Not withstanding the vagaries of the FTP standard / protocol, have we
> reached the point where a number of FTP related functions should be
> replaced by a merge of the various patches out there? Or have I
> underestimated the complexity of the task?
I'm not really sure there are too many patches out there for FTP apart from
what I'm doing at the moment. Merging the disparate elements I'm creating
would make sense into a single patch. It would even be good to have an
original source of the entire fixed protocol to use, but I'm not sure how
the licensing and copyrights goes with that for publication to the library.
> I'll volunteer to test anything
> against the two sites I have access to (the second of which has a subset
> of the problems identified above).
Excellent.
Here you go then (watch line wrap) - try these together
Run each with a PRINT DO X in a new sessnon - before you try FTP.
http://www.rebol.org/cgi-bin/cgiwrap/rebol/download-a-script.r?script-name=p
atch-ftp-226-handling.r
http://www.codeconscious.com/ftp-testing/patch-ftp-nlst-handling.r
http://www.codeconscious.com/ftp-testing/patch-ftp-error-handling.r
Now I'm not sure you'll have any luck given your reply to Carl about the
cutting of the NLST part. I can only hope that with all three patch files
run together your problem will be solved holistically :-)
Testing the error handling defect is a pain because as Romano pointed out it
is hard to replicate. I hope though you have a test case to run unpatched vs
patched. Here is mine (where test-a and test-b should not exist):
site: ftp://USER:
[PASS--codeconscious--com]/
print mold read site
make-dir join site %test-a/test-b/
print mold read site
probe read join site %test-a/test-b/
print mold read site
probe read join site %test-a/
print mold read site
probe read join site %test-b/
print mold read site
Running this unpatched cause the FTP protocol to fail on the last line -
saying it can't login. After patching it seems to work as expected except
that the make-dir problem Romano described already has not been changed - I
haven't got a patch for that yet!
Regards,
Brett.