Add table to translate error codes.

This commit is contained in:
David Kocher
2023-08-23 17:03:50 +02:00
parent 86ad9c6067
commit 897e26b62e
2 changed files with 80 additions and 1 deletions
@@ -0,0 +1,77 @@
/* NTSTATUS */
"STATUS_SUCCESS" = "STATUS_SUCCESS";
"STATUS_UNSUCCESSFUL" = "STATUS_UNSUCCESSFUL";
"STATUS_TIMEOUT" = "STATUS_TIMEOUT";
"STATUS_PENDING" = "STATUS_PENDING";
"STATUS_NOTIFY_CLEANUP" = "STATUS_NOTIFY_CLEANUP";
"STATUS_NOTIFY_ENUM_DIR" = "STATUS_NOTIFY_ENUM_DIR";
"STATUS_BUFFER_OVERFLOW" = "STATUS_BUFFER_OVERFLOW";
"STATUS_NO_MORE_FILES" = "STATUS_NO_MORE_FILES";
"STATUS_STOPPED_ON_SYMLINK" = "STATUS_STOPPED_ON_SYMLINK";
"STATUS_NOT_IMPLEMENTED" = "STATUS_NOT_IMPLEMENTED";
"STATUS_INVALID_INFO_CLASS" = "STATUS_INVALID_INFO_CLASS";
"STATUS_INFO_LENGTH_MISMATCH" = "STATUS_INFO_LENGTH_MISMATCH";
"STATUS_NO_SUCH_FILE" = "STATUS_NO_SUCH_FILE";
"STATUS_INVALID_PARAMETER" = "STATUS_INVALID_PARAMETER";
"STATUS_END_OF_FILE" = "STATUS_END_OF_FILE";
"STATUS_MORE_PROCESSING_REQUIRED" = "STATUS_MORE_PROCESSING_REQUIRED";
"STATUS_ACCESS_DENIED" = "STATUS_ACCESS_DENIED";
"STATUS_BUFFER_TOO_SMALL" = "STATUS_BUFFER_TOO_SMALL";
"STATUS_OBJECT_NAME_INVALID" = "STATUS_OBJECT_NAME_INVALID";
"STATUS_OBJECT_NAME_NOT_FOUND" = "STATUS_OBJECT_NAME_NOT_FOUND";
"STATUS_OBJECT_NAME_COLLISION" = "STATUS_OBJECT_NAME_COLLISION";
"STATUS_OBJECT_PATH_NOT_FOUND" = "STATUS_OBJECT_PATH_NOT_FOUND";
"STATUS_SHARING_VIOLATION" = "STATUS_SHARING_VIOLATION";
"STATUS_FILE_LOCK_CONFLICT" = "STATUS_FILE_LOCK_CONFLICT";
"STATUS_LOCK_NOT_GRANTED" = "STATUS_LOCK_NOT_GRANTED";
"STATUS_DELETE_PENDING" = "STATUS_DELETE_PENDING";
"STATUS_PRIVILEGE_NOT_HELD" = "STATUS_PRIVILEGE_NOT_HELD";
"STATUS_LOGON_FAILURE" = "STATUS_LOGON_FAILURE";
"STATUS_PASSWORD_EXPIRED" = "STATUS_PASSWORD_EXPIRED";
"STATUS_ACCOUNT_DISABLED" = "STATUS_ACCOUNT_DISABLED";
"STATUS_RANGE_NOT_LOCKED" = "STATUS_RANGE_NOT_LOCKED";
"STATUS_DISK_FULL" = "STATUS_DISK_FULL";
"STATUS_INSUFFICIENT_RESOURCES" = "STATUS_INSUFFICIENT_RESOURCES";
"STATUS_PIPE_NOT_AVAILABLE" = "STATUS_PIPE_NOT_AVAILABLE";
"STATUS_INVALID_PIPE_STATE" = "STATUS_INVALID_PIPE_STATE";
"STATUS_PIPE_BUSY" = "STATUS_PIPE_BUSY";
"STATUS_IO_TIMEOUT" = "STATUS_IO_TIMEOUT";
"STATUS_FILE_IS_A_DIRECTORY" = "STATUS_FILE_IS_A_DIRECTORY";
"STATUS_NOT_SUPPORTED" = "STATUS_NOT_SUPPORTED";
"STATUS_BAD_NETWORK_PATH" = "STATUS_BAD_NETWORK_PATH";
"STATUS_NETWORK_NAME_DELETED" = "STATUS_NETWORK_NAME_DELETED";
"STATUS_BAD_NETWORK_NAME" = "STATUS_BAD_NETWORK_NAME";
"STATUS_REQUEST_NOT_ACCEPTED" = "STATUS_REQUEST_NOT_ACCEPTED";
"STATUS_NET_WRITE_FAULT" = "STATUS_NET_WRITE_FAULT";
"STATUS_NOT_SAME_DEVICE" = "STATUS_NOT_SAME_DEVICE";
"STATUS_FILE_RENAMED" = "STATUS_FILE_RENAMED";
"STATUS_OPLOCK_NOT_GRANTED" = "STATUS_OPLOCK_NOT_GRANTED";
"STATUS_INTERNAL_ERROR" = "STATUS_INTERNAL_ERROR";
"STATUS_UNEXPECTED_IO_ERROR" = "STATUS_UNEXPECTED_IO_ERROR";
"STATUS_DIRECTORY_NOT_EMPTY" = "STATUS_DIRECTORY_NOT_EMPTY";
"STATUS_NOT_A_DIRECTORY" = "STATUS_NOT_A_DIRECTORY";
"STATUS_NAME_TOO_LONG" = "STATUS_NAME_TOO_LONG";
"STATUS_FILES_OPEN" = "STATUS_FILES_OPEN";
"STATUS_CONNECTION_IN_USE" = "STATUS_CONNECTION_IN_USE";
"STATUS_TOO_MANY_OPENED_FILES" = "STATUS_TOO_MANY_OPENED_FILES";
"STATUS_CANCELLED" = "STATUS_CANCELLED";
"STATUS_CANNOT_DELETE" = "STATUS_CANNOT_DELETE";
"STATUS_FILE_DELETED" = "STATUS_FILE_DELETED";
"STATUS_FILE_CLOSED" = "STATUS_FILE_CLOSED";
"STATUS_OPEN_FAILED" = "STATUS_OPEN_FAILED";
"STATUS_LOGON_TYPE_NOT_GRANTED" = "STATUS_LOGON_TYPE_NOT_GRANTED";
"STATUS_TOO_MANY_SIDS" = "STATUS_TOO_MANY_SIDS";
"STATUS_USER_SESSION_DELETED" = "STATUS_USER_SESSION_DELETED";
"STATUS_INSUFF_SERVER_RESOURCES" = "STATUS_INSUFF_SERVER_RESOURCES";
"STATUS_CONNECTION_DISCONNECTED" = "STATUS_CONNECTION_DISCONNECTED";
"STATUS_CONNECTION_RESET" = "STATUS_CONNECTION_RESET";
"STATUS_NOT_FOUND" = "STATUS_NOT_FOUND";
"STATUS_RETRY" = "STATUS_RETRY";
"STATUS_PATH_NOT_COVERED" = "STATUS_PATH_NOT_COVERED";
"STATUS_DFS_UNAVAILABLE" = "STATUS_DFS_UNAVAILABLE";
"STATUS_VOLUME_DISMOUNTED" = "STATUS_VOLUME_DISMOUNTED";
"STATUS_IO_REPARSE_TAG_NOT_HANDLED" = "STATUS_IO_REPARSE_TAG_NOT_HANDLED";
"STATUS_FILE_ENCRYPTED" = "STATUS_FILE_ENCRYPTED";
"STATUS_NETWORK_SESSION_EXPIRED" = "STATUS_NETWORK_SESSION_EXPIRED";
"STATUS_OTHER" = "STATUS_OTHER";
@@ -15,6 +15,7 @@ package ch.cyberduck.core.smb;
*/
import ch.cyberduck.core.AbstractExceptionMappingService;
import ch.cyberduck.core.LocaleFactory;
import ch.cyberduck.core.exception.AccessDeniedException;
import ch.cyberduck.core.exception.BackgroundException;
import ch.cyberduck.core.exception.ConflictException;
@@ -42,7 +43,8 @@ public class SMBExceptionMappingService extends AbstractExceptionMappingService<
final SMBApiException e = (SMBApiException) failure;
// NTSTATUS
final NtStatus status = e.getStatus();
this.append(buffer, String.format("%s (0x%08x)", status.name(), e.getStatusCode()));
this.append(buffer, String.format("%s (0x%08x)",
LocaleFactory.localizedString(status.name(), "SMB"), e.getStatusCode()));
switch(status) {
case STATUS_BAD_NETWORK_NAME:
case STATUS_NOT_FOUND: