I've come across an FTP server which returns code 553 in response to a make directory command on an existing directory. Currently the FTP task only accepts 550 errors as acceptable, so I've added in 553 as well.
The consequence of this fault was that you couldn't FTP files onto a server if
the files included directories of files, and the directories already existed on
the server before the FTP command was issued.
Here's the patch:
Index: src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java
===================================================================
RCS file:
/home/cvspublic/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java,v
retrieving revision 1.4
diff -u -r1.4 FTP.java
--- src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java
2001/01/03 14:18:45 1.4
+++ src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java
2001/01/10 16:33:00
@@ -512,8 +512,11 @@
log("creating remote directory " + resolveFile(dir.getPath()),
Project.MSG_VERBOSE);
ftp.makeDirectory(resolveFile(dir.getPath()));
+ // Both codes 550 and 553 can be produced by FTP Servers
+ // to indicate that an attempt to create a directory has
+ // failed because the directory already exists.
if (!FTPReply.isPositiveCompletion(ftp.getReplyCode()) &&
- (ftp.getReplyCode() != 550))
+ (ftp.getReplyCode() != 550) && (ftp.getReplyCode() != 553))
{
throw new BuildException(
"could not create directory: " +
<<attachment: changes.patch.zip>>
------------------------------------------------------------------------- Stuart Roebuck [EMAIL PROTECTED] Lead Developer Java, XML, MacOS X, XP, etc. ADOLOS http://www.adolos.com/
