ftp: Fix "501 Not a valid pathname." errors when creating directories

Some servers return a 501 error when using MLST on a non-existing
directory. This patch allows it.

I don't think this is correct usage according to the RFC, but the RFC
doesn't explicitly state which error code should be returned for
file/directory not found.
This commit is contained in:
Nick Craig-Wood 2023-03-28 07:26:28 +01:00
parent 925c4382e2
commit a9e7e7bcc2

View File

@ -693,6 +693,12 @@ func (f *Fs) findItem(ctx context.Context, remote string) (entry *ftp.Entry, err
if err == fs.ErrorObjectNotFound { if err == fs.ErrorObjectNotFound {
return nil, nil return nil, nil
} }
if errX := textprotoError(err); errX != nil {
switch errX.Code {
case ftp.StatusBadArguments:
err = nil
}
}
return nil, err return nil, err
} }
if entry != nil { if entry != nil {