⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 errormap.c

📁 samba-3.0.22.tar.gz 编译smb服务器的源码
💻 C
📖 第 1 页 / 共 5 页
字号:
/*  *  Unix SMB/CIFS implementation. *  error mapping functions *  Copyright (C) Andrew Tridgell 2001 *  Copyright (C) Andrew Bartlett 2001 *  Copyright (C) Tim Potter 2000 *   *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. *   *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. *   *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */#include "includes.h"/* This map was extracted by the ERRMAPEXTRACT smbtorture command.    The setup was a Samba HEAD (2002-01-03) PDC and an Win2k member    workstation.  The PDC was modified (by using the 'name_to_nt_status'   authentication module) to convert the username (in hex) into the   corresponding NTSTATUS error return.    By opening two nbt sessions to the Win2k workstation, one negotiating   DOS and one negotiating NT errors it was possible to extract the   error mapping.  (Because the server only supplies NT errors, the    NT4 workstation had to use its own error tables to convert these   to dos errors).    Some errors show up as 'squashed' because the NT error connection   got back a different error to the one it sent, so a mapping could   not be determined (a guess has been made in this case, to map the   error as squashed).  This is done mainly to prevent users from getting   NT_STATUS_WRONG_PASSWORD and NT_STATUS_NO_SUCH_USER errors (they get   NT_STATUS_LOGON_FAILURE instead.   -- abartlet (2002-01-03)*//* NT status -> dos error map */static const struct {	uint8 dos_class;	uint32 dos_code;	NTSTATUS ntstatus;} ntstatus_to_dos_map[] = {	{ERRDOS,	ERRgeneral,	NT_STATUS_UNSUCCESSFUL},	{ERRDOS,	ERRbadfunc,	NT_STATUS_NOT_IMPLEMENTED},	{ERRDOS,	87,	NT_STATUS_INVALID_INFO_CLASS},	{ERRDOS,	24,	NT_STATUS_INFO_LENGTH_MISMATCH},	{ERRHRD,	ERRgeneral,	NT_STATUS_ACCESS_VIOLATION},	{ERRHRD,	ERRgeneral,	NT_STATUS_IN_PAGE_ERROR},	{ERRHRD,	ERRgeneral,	NT_STATUS_PAGEFILE_QUOTA},	{ERRDOS,	ERRbadfid,	NT_STATUS_INVALID_HANDLE},	{ERRHRD,	ERRgeneral,	NT_STATUS_BAD_INITIAL_STACK},	{ERRDOS,	193,	NT_STATUS_BAD_INITIAL_PC},	{ERRDOS,	87,	NT_STATUS_INVALID_CID},	{ERRHRD,	ERRgeneral,	NT_STATUS_TIMER_NOT_CANCELED},	{ERRDOS,	ERRinvalidparam,	NT_STATUS_INVALID_PARAMETER},	{ERRDOS,	ERRbadfile,	NT_STATUS_NO_SUCH_DEVICE},	{ERRDOS,	ERRbadfile,	NT_STATUS_NO_SUCH_FILE},	{ERRDOS,	ERRbadfunc,	NT_STATUS_INVALID_DEVICE_REQUEST},	{ERRDOS,	38,	NT_STATUS_END_OF_FILE},	{ERRDOS,	34,	NT_STATUS_WRONG_VOLUME},	{ERRDOS,	21,	NT_STATUS_NO_MEDIA_IN_DEVICE},	{ERRHRD,	ERRgeneral,	NT_STATUS_UNRECOGNIZED_MEDIA},	{ERRDOS,	27,	NT_STATUS_NONEXISTENT_SECTOR},/** Session setup succeeded.  This shouldn't happen...*//** Session setup succeeded.  This shouldn't happen...*//** NT error on DOS connection! (NT_STATUS_OK) *//*	{ This NT error code was 'sqashed'	 from NT_STATUS_MORE_PROCESSING_REQUIRED to NT_STATUS_OK 	 during the session setup }*/#if 0	{SUCCESS,	0,	NT_STATUS_OK},#endif	{ERRDOS,	ERRnomem,	NT_STATUS_NO_MEMORY},	{ERRDOS,	487,	NT_STATUS_CONFLICTING_ADDRESSES},	{ERRDOS,	487,	NT_STATUS_NOT_MAPPED_VIEW},	{ERRDOS,	87,	NT_STATUS_UNABLE_TO_FREE_VM},	{ERRDOS,	87,	NT_STATUS_UNABLE_TO_DELETE_SECTION},	{ERRDOS,	2142,	NT_STATUS_INVALID_SYSTEM_SERVICE},	{ERRHRD,	ERRgeneral,	NT_STATUS_ILLEGAL_INSTRUCTION},	{ERRDOS,	ERRnoaccess,	NT_STATUS_INVALID_LOCK_SEQUENCE},	{ERRDOS,	ERRnoaccess,	NT_STATUS_INVALID_VIEW_SIZE},	{ERRDOS,	193,	NT_STATUS_INVALID_FILE_FOR_SECTION},	{ERRDOS,	ERRnoaccess,	NT_STATUS_ALREADY_COMMITTED},/*	{ This NT error code was 'sqashed'	 from NT_STATUS_ACCESS_DENIED to NT_STATUS_TRUSTED_RELATIONSHIP_FAILURE 	 during the session setup }*/	{ERRDOS,	ERRnoaccess,	NT_STATUS_ACCESS_DENIED},	{ERRDOS,	111,	NT_STATUS_BUFFER_TOO_SMALL},/* * Not an official error, as only bit 0x80000000, not bits 0xC0000000 are set. */	{ERRDOS,	ERRmoredata,	STATUS_BUFFER_OVERFLOW},	{ERRDOS,	ERRnofiles,	STATUS_NO_MORE_FILES},	{ERRDOS,	ERRbadfid,	NT_STATUS_OBJECT_TYPE_MISMATCH},	{ERRHRD,	ERRgeneral,	NT_STATUS_NONCONTINUABLE_EXCEPTION},	{ERRHRD,	ERRgeneral,	NT_STATUS_INVALID_DISPOSITION},	{ERRHRD,	ERRgeneral,	NT_STATUS_UNWIND},	{ERRHRD,	ERRgeneral,	NT_STATUS_BAD_STACK},	{ERRHRD,	ERRgeneral,	NT_STATUS_INVALID_UNWIND_TARGET},	{ERRDOS,	158,	NT_STATUS_NOT_LOCKED},	{ERRHRD,	ERRgeneral,	NT_STATUS_PARITY_ERROR},	{ERRDOS,	487,	NT_STATUS_UNABLE_TO_DECOMMIT_VM},	{ERRDOS,	487,	NT_STATUS_NOT_COMMITTED},	{ERRHRD,	ERRgeneral,	NT_STATUS_INVALID_PORT_ATTRIBUTES},	{ERRHRD,	ERRgeneral,	NT_STATUS_PORT_MESSAGE_TOO_LONG},	{ERRDOS,	87,	NT_STATUS_INVALID_PARAMETER_MIX},	{ERRHRD,	ERRgeneral,	NT_STATUS_INVALID_QUOTA_LOWER},	{ERRHRD,	ERRgeneral,	NT_STATUS_DISK_CORRUPT_ERROR},	{ERRDOS,	ERRinvalidname,	NT_STATUS_OBJECT_NAME_INVALID},	{ERRDOS,	ERRbadfile,	NT_STATUS_OBJECT_NAME_NOT_FOUND},	{ERRDOS,	183,	NT_STATUS_OBJECT_NAME_COLLISION},	{ERRHRD,	ERRgeneral,	NT_STATUS_HANDLE_NOT_WAITABLE},	{ERRDOS,	ERRbadfid,	NT_STATUS_PORT_DISCONNECTED},	{ERRHRD,	ERRgeneral,	NT_STATUS_DEVICE_ALREADY_ATTACHED},	{ERRDOS,	ERRinvalidpath,	NT_STATUS_OBJECT_PATH_INVALID},	{ERRDOS,	ERRbadpath,	NT_STATUS_OBJECT_PATH_NOT_FOUND},	{ERRDOS,	ERRinvalidpath,	NT_STATUS_OBJECT_PATH_SYNTAX_BAD},	{ERRHRD,	ERRgeneral,	NT_STATUS_DATA_OVERRUN},	{ERRHRD,	ERRgeneral,	NT_STATUS_DATA_LATE_ERROR},	{ERRDOS,	23,	NT_STATUS_DATA_ERROR},	{ERRDOS,	23,	NT_STATUS_CRC_ERROR},	{ERRDOS,	ERRnomem,	NT_STATUS_SECTION_TOO_BIG},	{ERRDOS,	ERRnoaccess,	NT_STATUS_PORT_CONNECTION_REFUSED},	{ERRDOS,	ERRbadfid,	NT_STATUS_INVALID_PORT_HANDLE},	{ERRDOS,	ERRbadshare,	NT_STATUS_SHARING_VIOLATION},	{ERRHRD,	ERRgeneral,	NT_STATUS_QUOTA_EXCEEDED},	{ERRDOS,	87,	NT_STATUS_INVALID_PAGE_PROTECTION},	{ERRDOS,	288,	NT_STATUS_MUTANT_NOT_OWNED},	{ERRDOS,	298,	NT_STATUS_SEMAPHORE_LIMIT_EXCEEDED},	{ERRDOS,	87,	NT_STATUS_PORT_ALREADY_SET},	{ERRDOS,	87,	NT_STATUS_SECTION_NOT_IMAGE},	{ERRDOS,	156,	NT_STATUS_SUSPEND_COUNT_EXCEEDED},	{ERRDOS,	ERRnoaccess,	NT_STATUS_THREAD_IS_TERMINATING},	{ERRDOS,	87,	NT_STATUS_BAD_WORKING_SET_LIMIT},	{ERRDOS,	87,	NT_STATUS_INCOMPATIBLE_FILE_MAP},	{ERRDOS,	87,	NT_STATUS_SECTION_PROTECTION},	{ERRDOS,	282,	NT_STATUS_EAS_NOT_SUPPORTED},	{ERRDOS,	255,	NT_STATUS_EA_TOO_LARGE},	{ERRHRD,	ERRgeneral,	NT_STATUS_NONEXISTENT_EA_ENTRY},	{ERRHRD,	ERRgeneral,	NT_STATUS_NO_EAS_ON_FILE},	{ERRHRD,	ERRgeneral,	NT_STATUS_EA_CORRUPT_ERROR},	{ERRDOS,	ERRlock,	NT_STATUS_FILE_LOCK_CONFLICT},	{ERRDOS,	ERRlock,	NT_STATUS_LOCK_NOT_GRANTED},	{ERRDOS,	ERRnoaccess,	NT_STATUS_DELETE_PENDING},	{ERRDOS,	ERRunsup,	NT_STATUS_CTL_FILE_NOT_SUPPORTED},	{ERRHRD,	ERRgeneral,	NT_STATUS_UNKNOWN_REVISION},	{ERRHRD,	ERRgeneral,	NT_STATUS_REVISION_MISMATCH},	{ERRHRD,	ERRgeneral,	NT_STATUS_INVALID_OWNER},	{ERRHRD,	ERRgeneral,	NT_STATUS_INVALID_PRIMARY_GROUP},	{ERRHRD,	ERRgeneral,	NT_STATUS_NO_IMPERSONATION_TOKEN},	{ERRHRD,	ERRgeneral,	NT_STATUS_CANT_DISABLE_MANDATORY},	{ERRDOS,	2215,	NT_STATUS_NO_LOGON_SERVERS},	{ERRHRD,	ERRgeneral,	NT_STATUS_NO_SUCH_LOGON_SESSION},	{ERRHRD,	ERRgeneral,	NT_STATUS_NO_SUCH_PRIVILEGE},	{ERRDOS,	ERRnoaccess,	NT_STATUS_PRIVILEGE_NOT_HELD},	{ERRHRD,	ERRgeneral,	NT_STATUS_INVALID_ACCOUNT_NAME},	{ERRHRD,	ERRgeneral,	NT_STATUS_USER_EXISTS},/*	{ This NT error code was 'sqashed'	 from NT_STATUS_NO_SUCH_USER to NT_STATUS_LOGON_FAILURE 	 during the session setup }*/	{ERRDOS,	ERRnoaccess,	NT_STATUS_NO_SUCH_USER},	{ERRHRD,	ERRgeneral,	NT_STATUS_GROUP_EXISTS},	{ERRHRD,	ERRgeneral,	NT_STATUS_NO_SUCH_GROUP},	{ERRHRD,	ERRgeneral,	NT_STATUS_MEMBER_IN_GROUP},	{ERRHRD,	ERRgeneral,	NT_STATUS_MEMBER_NOT_IN_GROUP},	{ERRHRD,	ERRgeneral,	NT_STATUS_LAST_ADMIN},/*	{ This NT error code was 'sqashed'	 from NT_STATUS_WRONG_PASSWORD to NT_STATUS_LOGON_FAILURE 	 during the session setup }*/	{ERRSRV,	ERRbadpw,	NT_STATUS_WRONG_PASSWORD},	{ERRHRD,	ERRgeneral,	NT_STATUS_ILL_FORMED_PASSWORD},	{ERRHRD,	ERRgeneral,	NT_STATUS_PASSWORD_RESTRICTION},	{ERRDOS,	ERRnoaccess,	NT_STATUS_LOGON_FAILURE},	{ERRHRD,	ERRgeneral,	NT_STATUS_ACCOUNT_RESTRICTION},	{ERRSRV,	2241,	NT_STATUS_INVALID_LOGON_HOURS},	{ERRSRV,	2240,	NT_STATUS_INVALID_WORKSTATION},	{ERRSRV,	2242,	NT_STATUS_PASSWORD_EXPIRED},	{ERRSRV,	2239,	NT_STATUS_ACCOUNT_DISABLED},	{ERRHRD,	ERRgeneral,	NT_STATUS_NONE_MAPPED},	{ERRHRD,	ERRgeneral,	NT_STATUS_TOO_MANY_LUIDS_REQUESTED},	{ERRHRD,	ERRgeneral,	NT_STATUS_LUIDS_EXHAUSTED},	{ERRHRD,	ERRgeneral,	NT_STATUS_INVALID_SUB_AUTHORITY},	{ERRHRD,	ERRgeneral,	NT_STATUS_INVALID_ACL},	{ERRHRD,	ERRgeneral,	NT_STATUS_INVALID_SID},	{ERRHRD,	ERRgeneral,	NT_STATUS_INVALID_SECURITY_DESCR},	{ERRDOS,	127,	NT_STATUS_PROCEDURE_NOT_FOUND},	{ERRDOS,	193,	NT_STATUS_INVALID_IMAGE_FORMAT},	{ERRHRD,	ERRgeneral,	NT_STATUS_NO_TOKEN},	{ERRHRD,	ERRgeneral,	NT_STATUS_BAD_INHERITANCE_ACL},	{ERRDOS,	158,	NT_STATUS_RANGE_NOT_LOCKED},	{ERRDOS,	112,	NT_STATUS_DISK_FULL},	{ERRHRD,	ERRgeneral,	NT_STATUS_SERVER_DISABLED},	{ERRHRD,	ERRgeneral,	NT_STATUS_SERVER_NOT_DISABLED},	{ERRDOS,	68,	NT_STATUS_TOO_MANY_GUIDS_REQUESTED},	{ERRDOS,	259,	NT_STATUS_GUIDS_EXHAUSTED},	{ERRHRD,	ERRgeneral,	NT_STATUS_INVALID_ID_AUTHORITY},	{ERRDOS,	259,	NT_STATUS_AGENTS_EXHAUSTED},	{ERRDOS,	154,	NT_STATUS_INVALID_VOLUME_LABEL},	{ERRDOS,	ERRres,	NT_STATUS_SECTION_NOT_EXTENDED},	{ERRDOS,	487,	NT_STATUS_NOT_MAPPED_DATA},	{ERRHRD,	ERRgeneral,	NT_STATUS_RESOURCE_DATA_NOT_FOUND},	{ERRHRD,	ERRgeneral,	NT_STATUS_RESOURCE_TYPE_NOT_FOUND},	{ERRHRD,	ERRgeneral,	NT_STATUS_RESOURCE_NAME_NOT_FOUND},	{ERRHRD,	ERRgeneral,	NT_STATUS_ARRAY_BOUNDS_EXCEEDED},	{ERRHRD,	ERRgeneral,	NT_STATUS_FLOAT_DENORMAL_OPERAND},	{ERRHRD,	ERRgeneral,	NT_STATUS_FLOAT_DIVIDE_BY_ZERO},	{ERRHRD,	ERRgeneral,	NT_STATUS_FLOAT_INEXACT_RESULT},	{ERRHRD,	ERRgeneral,	NT_STATUS_FLOAT_INVALID_OPERATION},	{ERRHRD,	ERRgeneral,	NT_STATUS_FLOAT_OVERFLOW},	{ERRHRD,	ERRgeneral,	NT_STATUS_FLOAT_STACK_CHECK},	{ERRHRD,	ERRgeneral,	NT_STATUS_FLOAT_UNDERFLOW},	{ERRHRD,	ERRgeneral,	NT_STATUS_INTEGER_DIVIDE_BY_ZERO},	{ERRDOS,	534,	NT_STATUS_INTEGER_OVERFLOW},	{ERRHRD,	ERRgeneral,	NT_STATUS_PRIVILEGED_INSTRUCTION},	{ERRDOS,	ERRnomem,	NT_STATUS_TOO_MANY_PAGING_FILES},	{ERRHRD,	ERRgeneral,	NT_STATUS_FILE_INVALID},	{ERRHRD,	ERRgeneral,	NT_STATUS_ALLOTTED_SPACE_EXCEEDED},/*	{ This NT error code was 'sqashed'	 from NT_STATUS_INSUFFICIENT_RESOURCES to NT_STATUS_INSUFF_SERVER_RESOURCES 	 during the session setup }*/	{ERRDOS,	ERRnomem,	NT_STATUS_INSUFFICIENT_RESOURCES},	{ERRDOS,	ERRbadpath,	NT_STATUS_DFS_EXIT_PATH_FOUND},	{ERRDOS,	23,	NT_STATUS_DEVICE_DATA_ERROR},	{ERRHRD,	ERRgeneral,	NT_STATUS_DEVICE_NOT_CONNECTED},	{ERRDOS,	21,	NT_STATUS_DEVICE_POWER_FAILURE},	{ERRDOS,	487,	NT_STATUS_FREE_VM_NOT_AT_BASE},	{ERRDOS,	487,	NT_STATUS_MEMORY_NOT_ALLOCATED},	{ERRHRD,	ERRgeneral,	NT_STATUS_WORKING_SET_QUOTA},	{ERRDOS,	19,	NT_STATUS_MEDIA_WRITE_PROTECTED},	{ERRDOS,	21,	NT_STATUS_DEVICE_NOT_READY},	{ERRHRD,	ERRgeneral,	NT_STATUS_INVALID_GROUP_ATTRIBUTES},	{ERRHRD,	ERRgeneral,	NT_STATUS_BAD_IMPERSONATION_LEVEL},	{ERRHRD,	ERRgeneral,	NT_STATUS_CANT_OPEN_ANONYMOUS},	{ERRHRD,	ERRgeneral,	NT_STATUS_BAD_VALIDATION_CLASS},	{ERRHRD,	ERRgeneral,	NT_STATUS_BAD_TOKEN_TYPE},	{ERRDOS,	87,	NT_STATUS_BAD_MASTER_BOOT_RECORD},	{ERRHRD,	ERRgeneral,	NT_STATUS_INSTRUCTION_MISALIGNMENT},	{ERRDOS,	ERRpipebusy,	NT_STATUS_INSTANCE_NOT_AVAILABLE},	{ERRDOS,	ERRpipebusy,	NT_STATUS_PIPE_NOT_AVAILABLE},	{ERRDOS,	ERRbadpipe,	NT_STATUS_INVALID_PIPE_STATE},	{ERRDOS,	ERRpipebusy,	NT_STATUS_PIPE_BUSY},	{ERRDOS,	ERRbadfunc,	NT_STATUS_ILLEGAL_FUNCTION},	{ERRDOS,	ERRnotconnected,	NT_STATUS_PIPE_DISCONNECTED},	{ERRDOS,	ERRpipeclosing,	NT_STATUS_PIPE_CLOSING},	{ERRHRD,	ERRgeneral,	NT_STATUS_PIPE_CONNECTED},	{ERRHRD,	ERRgeneral,	NT_STATUS_PIPE_LISTENING},	{ERRDOS,	ERRbadpipe,	NT_STATUS_INVALID_READ_MODE},	{ERRDOS,	121,	NT_STATUS_IO_TIMEOUT},	{ERRDOS,	38,	NT_STATUS_FILE_FORCED_CLOSED},	{ERRHRD,	ERRgeneral,	NT_STATUS_PROFILING_NOT_STARTED},	{ERRHRD,	ERRgeneral,	NT_STATUS_PROFILING_NOT_STOPPED},	{ERRHRD,	ERRgeneral,	NT_STATUS_COULD_NOT_INTERPRET},	{ERRDOS,	ERRnoaccess,	NT_STATUS_FILE_IS_A_DIRECTORY},	{ERRDOS,	ERRunsup,	NT_STATUS_NOT_SUPPORTED},	{ERRDOS,	51,	NT_STATUS_REMOTE_NOT_LISTENING},	{ERRDOS,	52,	NT_STATUS_DUPLICATE_NAME},	{ERRDOS,	53,	NT_STATUS_BAD_NETWORK_PATH},	{ERRDOS,	54,	NT_STATUS_NETWORK_BUSY},	{ERRDOS,	55,	NT_STATUS_DEVICE_DOES_NOT_EXIST},	{ERRDOS,	56,	NT_STATUS_TOO_MANY_COMMANDS},	{ERRDOS,	57,	NT_STATUS_ADAPTER_HARDWARE_ERROR},	{ERRDOS,	58,	NT_STATUS_INVALID_NETWORK_RESPONSE},	{ERRDOS,	59,	NT_STATUS_UNEXPECTED_NETWORK_ERROR},	{ERRDOS,	60,	NT_STATUS_BAD_REMOTE_ADAPTER},	{ERRDOS,	61,	NT_STATUS_PRINT_QUEUE_FULL},	{ERRDOS,	62,	NT_STATUS_NO_SPOOL_SPACE},	{ERRDOS,	63,	NT_STATUS_PRINT_CANCELLED},	{ERRDOS,	64,	NT_STATUS_NETWORK_NAME_DELETED},	{ERRDOS,	65,	NT_STATUS_NETWORK_ACCESS_DENIED},	{ERRDOS,	66,	NT_STATUS_BAD_DEVICE_TYPE},	{ERRDOS,	ERRnosuchshare,	NT_STATUS_BAD_NETWORK_NAME},	{ERRDOS,	68,	NT_STATUS_TOO_MANY_NAMES},	{ERRDOS,	69,	NT_STATUS_TOO_MANY_SESSIONS},	{ERRDOS,	70,	NT_STATUS_SHARING_PAUSED},	{ERRDOS,	71,	NT_STATUS_REQUEST_NOT_ACCEPTED},	{ERRDOS,	72,	NT_STATUS_REDIRECTOR_PAUSED},	{ERRDOS,	88,	NT_STATUS_NET_WRITE_FAULT},	{ERRHRD,	ERRgeneral,	NT_STATUS_PROFILING_AT_LIMIT},

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -