sftp_codes » Revisions »
Differences
This shows you the differences between the selected revisions of the page.
2017-01-31 | 2017-01-31 | ||
removed (223.30.65.67) (hidden) (untrusted) | Restored revision 1456586576. Undoing revisions 1485854884, 1485854906, 1485854921, 1485854933. (martin) (hidden) | ||
Line 1: | Line 1: | ||
+ | ====== SFTP Status/Error Codes ====== | ||
+ | SFTP status/error codes are a numerical codes that an %%SFTP%% server ((Exception are codes ''6'' and ''7'' that intended to by used by client. But WinSCP never uses these.)) uses to indicate a result of a client request (i.e. a request sent by WinSCP to the server). | ||
+ | |||
+ | WinSCP translates the numerical codes to a textual description for you, so you do not have to remember them. | ||
+ | |||
+ | The %%SFTP%% server should also provide a meaningful textual description of the error itself. WinSCP includes the server-side description in its error message, labeled "Error message from server". Such description can include more detailed information than WinSCP can possibly deduce from the numerical code. | ||
+ | |||
+ | ===== [[code_4]] Code 4 (Failure) ===== | ||
+ | Note that not all servers use all codes. Most SSH/SFTP servers, including the most commonly used OpenSSH, support only %%SFTP%% version 3 that defines only codes ''0'' to ''8''. | ||
+ | |||
+ | These servers would generally use code ''4'' (Failure) for many errors for which there is a specific code defined in the later versions of %%SFTP%% protocol, such as: | ||
+ | * Renaming a file to a name of already existing file. | ||
+ | * Creating a directory that already exists. | ||
+ | * Moving a remote file to a different filesystem (HDD). | ||
+ | * Uploading a file to a full filesystem (%%HDD%%). | ||
+ | * Exceeding a user disk quota. | ||
+ | |||
+ | In this case the server is required to provide meaningful description of the error itself (see above). Unfortunately, OpenSSH SFTP server uses always description "Failure". Is such case, there is unfortunately no way to tell a reason of the failure. | ||
+ | |||
+ | ===== Codes List ===== | ||
+ | ^ Code ^ Name ^ Description ^ Comment ^ | ||
+ | | ''0'' | OK | Indicates successful completion of the operation. | | | ||
+ | | ''1'' | EOF | An attempt to read past the end-of-file was made; or, there are no more directory entries to return. | | | ||
+ | | ''2'' | No such file | A reference was made to a file which does not exist. | | | ||
+ | | ''3'' | Permission denied | The user does not have sufficient permissions to perform the operation. | | | ||
+ | | ''4'' | Failure | An error occurred, but no specific error code exists to describe the failure. This error message should always have meaningful text in the the //error message// field. | See [[#code_4|above]]. | | ||
+ | | ''5'' | Bad message | A badly formatted packet or other SFTP protocol incompatibility was detected. | | | ||
+ | | ''6'' | No connection | There is no connection to the server. This error may be used locally, but must not be return by a server. | WinSCP does not use the code. | | ||
+ | | ''7'' | Connection lost |The connection to the server was lost. This error may be used locally, but must not be return by a server. | WinSCP does not use the code. | | ||
+ | | ''8'' | Operation unsupported | An attempted operation could not be completed by the server because the server does not support the operation. It may be returned by the server if the server does not implement an operation. | | | ||
+ | | ''9'' | Invalid handle | The handle value was invalid. | | | ||
+ | | ''10'' | No such path | The file path does not exist or is invalid. | | | ||
+ | | ''11'' | File already exists | The file already exists. | | | ||
+ | | ''12'' | Write protect | The file is on read-only media, or the media is write protected. | | | ||
+ | | ''13'' | No media | The requested operation cannot be completed because there is no media available in the drive. | | | ||
+ | | ''14'' | No space on file-system | The requested operation cannot be completed because there is insufficient free space on the filesystem. | | | ||
+ | | ''15'' | Quota exceeded | The operation cannot be completed because it would exceed the user's storage quota. | | | ||
+ | | ''16'' | Unknown principal | A principal referenced by the request (either the ''owner'', ''group'', or ''who'' field of an ACL), was unknown. | | | ||
+ | | ''17'' | Lock conflict | The file could not be opened because it is locked by another process. | | | ||
+ | | ''18'' | Directory not empty | The directory is not empty. | | | ||
+ | | ''19'' | Not a directory | The specified file is not a directory. | | | ||
+ | | ''20'' | Invalid filename | The filename is not valid. | | | ||
+ | | ''21'' | Link loop | Too many symbolic links encountered or, an ''SSH_FXF_NOFOLLOW'' open encountered a symbolic link as the final component | | | ||
+ | | ''22'' | Cannot delete | The file cannot be deleted. One possible reason is that the advisory read-only attribute-bit is set. | | | ||
+ | | ''23'' | Invalid parameter | One of the parameters was out of range, or the parameters specified cannot be used together. | | | ||
+ | | ''24'' | File is a directory | The specified file was a directory in a context where a directory cannot be used. | | | ||
+ | | ''25'' | Range lock conflict | An read or write operation failed because another process's mandatory byte-range lock overlaps with the request. | WinSCP does not use byte range locking. | | ||
+ | | ''26'' | Range lock refused | A request for a byte range lock was refused. | WinSCP does not use byte range locking. | | ||
+ | | ''27'' | Delete pending | An operation was attempted on a file for which a delete operation is pending. | | | ||
+ | | ''28'' | File corrupt | The file is corrupt; an filesystem integrity check should be run. | | | ||
+ | | ''29'' | Owner invalid | The principal specified can not be assigned as an owner of a file. | | | ||
+ | | ''30'' | Group invalid | The principal specified can not be assigned as the primary group of a file. | | | ||
+ | | ''31'' | No matching byte range lock | The requested operation could not be completed because the specified byte range lock has not been granted. | WinSCP does not use byte range locking. | | ||
+ | |||
+ | ===== References ===== | ||
+ | * //[[https://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-9.1|Status response]]// section of ''draft-ietf-secsh-filexfer-13''; | ||
+ | * SFTP specifications list in "History and development" section of [[wp>SSH_File_Transfer_Protocol|SSH File Transfer Protocol]]. |