From a08bffa3589df96e39b57036cd919c8ca570f894 Mon Sep 17 00:00:00 2001 From: Matthias Dieter Wallnöfer Date: Thu, 30 Jul 2009 12:40:14 +0200 Subject: Adds new error codes (needed for enhancing error messages for SAMBA 4 AD LDAP server) --- libcli/util/doserr.c | 37 +++++++++++++++++++++++++++++-- libcli/util/ntstatus.h | 3 +-- libcli/util/werror.h | 59 +++++++++++++++++++++++++++++++++++++++----------- 3 files changed, 82 insertions(+), 17 deletions(-) (limited to 'libcli/util') diff --git a/libcli/util/doserr.c b/libcli/util/doserr.c index ff0946f77d..6af197284f 100644 --- a/libcli/util/doserr.c +++ b/libcli/util/doserr.c @@ -113,10 +113,43 @@ static const struct werror_code_struct dos_errs[] = { "WERR_NO_SUCH_USER", WERR_NO_SUCH_USER }, { "WERR_NO_SUCH_DOMAIN", WERR_NO_SUCH_DOMAIN }, { "WERR_NO_SYSTEM_RESOURCES", WERR_NO_SYSTEM_RESOURCES }, - { "WERR_DS_SERVICE_BUSY", WERR_DS_SERVICE_BUSY }, - { "WERR_DS_SERVICE_UNAVAILABLE", WERR_DS_SERVICE_UNAVAILABLE }, + { "WERR_DS_NO_ATTRIBUTE_OR_VALUE", WERR_DS_NO_ATTRIBUTE_OR_VALUE }, + { "WERR_DS_INVALID_ATTRIBUTE_SYNTAX", WERR_DS_INVALID_ATTRIBUTE_SYNTAX }, + { "WERR_DS_ATTRIBUTE_TYPE_UNDEFINED", WERR_DS_ATTRIBUTE_TYPE_UNDEFINED }, + { "WERR_DS_ATTRIBUTE_OR_VALUE_EXISTS", WERR_DS_ATTRIBUTE_OR_VALUE_EXISTS }, + { "WERR_DS_BUSY", WERR_DS_BUSY }, + { "WERR_DS_UNAVAILABLE", WERR_DS_UNAVAILABLE }, + { "WERR_DS_OBJ_CLASS_VIOLATION", WERR_DS_OBJ_CLASS_VIOLATION }, + { "WERR_DS_CANT_ON_NON_LEAF", WERR_DS_CANT_ON_NON_LEAF }, + { "WERR_DS_CANT_ON_RDN", WERR_DS_CANT_ON_RDN }, + { "WERR_DS_CANT_MOD_OBJ_CLASS", WERR_DS_CANT_MOD_OBJ_CLASS }, + { "WERR_DS_OPERATIONS_ERROR", WERR_DS_OPERATIONS_ERROR }, + { "WERR_DS_PROTOCOL_ERROR", WERR_DS_PROTOCOL_ERROR }, + { "WERR_DS_TIMELIMIT_EXCEEEDED", WERR_DS_TIMELIMIT_EXCEEDED }, + { "WERR_DS_SIZE_LIMIT_EXCEEDED", WERR_DS_SIZE_LIMIT_EXCEEDED }, + { "WERR_DS_ADMIN_LIMIT_EXCEEEDED", WERR_DS_ADMIN_LIMIT_EXCEEDED }, + { "WERR_DS_COMPARE_FALSE", WERR_DS_COMPARE_FALSE }, + { "WERR_DS_COMPARE_TRUE", WERR_DS_COMPARE_TRUE }, + { "WERR_DS_AUTH_METHOD_NOT_SUPPORTED", WERR_DS_AUTH_METHOD_NOT_SUPPORTED }, + { "WERR_DS_STRONG_AUTH_REQUIRED", WERR_DS_STRONG_AUTH_REQUIRED }, + { "WERR_DS_INAPPROPRIATE_AUTH", WERR_DS_INAPPROPRIATE_AUTH }, + { "WERR_DS_REFERRAL", WERR_DS_REFERRAL }, + { "WERR_DS_UNAVAILABLE_CRIT_EXTENSION", WERR_DS_UNAVAILABLE_CRIT_EXTENSION }, + { "WERR_DS_CONFIDENTIALITY_REQUIRED", WERR_DS_CONFIDENTIALITY_REQUIRED }, + { "WERR_DS_INAPPROPRIATE_MATCHING", WERR_DS_INAPPROPRIATE_MATCHING }, + { "WERR_DS_CONSTRAINT_VIOLATION", WERR_DS_CONSTRAINT_VIOLATION }, { "WERR_DS_NO_SUCH_OBJECT", WERR_DS_NO_SUCH_OBJECT }, + { "WERR_DS_ALIAS_PROBLEM", WERR_DS_ALIAS_PROBLEM }, + { "WERR_DS_INVALID_DN_SYNTAX", WERR_DS_INVALID_DN_SYNTAX }, + { "WERR_DS_ALIAS_DEREF_PROBLEM", WERR_DS_ALIAS_DEREF_PROBLEM }, + { "WERR_DS_UNWILLING_TO_PERFORM", WERR_DS_UNWILLING_TO_PERFORM }, + { "WERR_DS_LOOP_DETECT", WERR_DS_LOOP_DETECT }, + { "WERR_DS_NAMING_VIOLATION", WERR_DS_NAMING_VIOLATION }, + { "WERR_DS_AFFECTS_MULTIPLE_DSAS", WERR_DS_AFFECTS_MULTIPLE_DSAS }, + { "WERR_DS_OBJ_STRING_NAME_EXISTS", WERR_DS_OBJ_STRING_NAME_EXISTS }, { "WERR_DS_OBJ_NOT_FOUND", WERR_DS_OBJ_NOT_FOUND }, + { "WERR_DS_GENERIC_ERROR", WERR_DS_GENERIC_ERROR }, + { "WERR_DS_INSUFF_ACCESS_RIGHTS", WERR_DS_INSUFF_ACCESS_RIGHTS }, { "WERR_DS_SCHEMA_NOT_LOADED", WERR_DS_SCHEMA_NOT_LOADED }, { "WERR_DS_SCHEMA_ALLOC_FAILED", WERR_DS_SCHEMA_ALLOC_FAILED }, { "WERR_DS_ATT_SCHEMA_REQ_SYNTAX", WERR_DS_ATT_SCHEMA_REQ_SYNTAX }, diff --git a/libcli/util/ntstatus.h b/libcli/util/ntstatus.h index 5f05f9a6ac..dd1a0d0db0 100644 --- a/libcli/util/ntstatus.h +++ b/libcli/util/ntstatus.h @@ -595,8 +595,7 @@ typedef uint32_t NTSTATUS; #define NT_STATUS_TOO_MANY_LINKS NT_STATUS(0xC0000000 | 0x0265) #define NT_STATUS_QUOTA_LIST_INCONSISTENT NT_STATUS(0xC0000000 | 0x0266) #define NT_STATUS_FILE_IS_OFFLINE NT_STATUS(0xC0000000 | 0x0267) -#define NT_STATUS_DS_BUSY NT_STATUS(0xC0000000 | 0x02a5) -#define NT_STATUS_DS_NO_MORE_RIDS NT_STATUS(0xC0000000 | 0x02a8) +#define NT_STATUS_DS_NO_MORE_RIDS NT_STATUS(0xC0000000 | 0x02A8) #define NT_STATUS_NOT_A_REPARSE_POINT NT_STATUS(0xC0000000 | 0x0275) #define NT_STATUS_CURRENT_DOMAIN_NOT_ALLOWED NT_STATUS(0xC0000000 | 0x02E9) #define NT_STATUS_OBJECTID_NOT_FOUND NT_STATUS(0xC0000000 | 0x02F0) diff --git a/libcli/util/werror.h b/libcli/util/werror.h index 2976390ebf..f82879cac9 100644 --- a/libcli/util/werror.h +++ b/libcli/util/werror.h @@ -237,25 +237,58 @@ typedef uint32_t WERROR; #define WERR_DEFAULT_JOIN_REQUIRED W_ERROR(NERR_BASE+594) /* DS errors */ -#define WERR_DS_SERVICE_BUSY W_ERROR(0x0000200e) -#define WERR_DS_SERVICE_UNAVAILABLE W_ERROR(0x0000200f) +#define WERR_DS_NO_ATTRIBUTE_OR_VALUE W_ERROR(0x0000200A) +#define WERR_DS_INVALID_ATTRIBUTE_SYNTAX W_ERROR(0x0000200B) +#define WERR_DS_ATTRIBUTE_TYPE_UNDEFINED W_ERROR(0x0000200C) +#define WERR_DS_ATTRIBUTE_OR_VALUE_EXISTS W_ERROR(0x0000200D) +#define WERR_DS_BUSY W_ERROR(0x0000200E) +#define WERR_DS_UNAVAILABLE W_ERROR(0x0000200F) +#define WERR_DS_OBJ_CLASS_VIOLATION W_ERROR(0x00002014) +#define WERR_DS_CANT_ON_NON_LEAF W_ERROR(0x00002015) +#define WERR_DS_CANT_ON_RDN W_ERROR(0x00002016) +#define WERR_DS_CANT_MOD_OBJ_CLASS W_ERROR(0x00002017) +#define WERR_DS_OPERATIONS_ERROR W_ERROR(0x00002020) +#define WERR_DS_PROTOCOL_ERROR W_ERROR(0x00002021) +#define WERR_DS_TIMELIMIT_EXCEEDED W_ERROR(0x00002022) +#define WERR_DS_SIZE_LIMIT_EXCEEDED W_ERROR(0x00002023) +#define WERR_DS_ADMIN_LIMIT_EXCEEDED W_ERROR(0x00002024) +#define WERR_DS_COMPARE_FALSE W_ERROR(0x00002025) +#define WERR_DS_COMPARE_TRUE W_ERROR(0x00002026) +#define WERR_DS_AUTH_METHOD_NOT_SUPPORTED W_ERROR(0x00002027) +#define WERR_DS_STRONG_AUTH_REQUIRED W_ERROR(0x00002028) +#define WERR_DS_INAPPROPRIATE_AUTH W_ERROR(0x00002029) +#define WERR_DS_REFERRAL W_ERROR(0x0000202B) +#define WERR_DS_UNAVAILABLE_CRIT_EXTENSION W_ERROR(0x0000202C) +#define WERR_DS_CONFIDENTIALITY_REQUIRED W_ERROR(0x0000202D) +#define WERR_DS_INAPPROPRIATE_MATCHING W_ERROR(0x0000202E) +#define WERR_DS_CONSTRAINT_VIOLATION W_ERROR(0x0000202F) #define WERR_DS_NO_SUCH_OBJECT W_ERROR(0x00002030) -#define WERR_DS_OBJ_NOT_FOUND W_ERROR(0x0000208d) -#define WERR_DS_SCHEMA_NOT_LOADED W_ERROR(0x20de) -#define WERR_DS_SCHEMA_ALLOC_FAILED W_ERROR(0x20df) -#define WERR_DS_ATT_SCHEMA_REQ_SYNTAX W_ERROR(0x000020e0) -#define WERR_DS_DRA_SCHEMA_MISMATCH W_ERROR(0x000020e2) -#define WERR_DS_DRA_INVALID_PARAMETER W_ERROR(0x000020f5) -#define WERR_DS_DRA_BAD_DN W_ERROR(0x000020f7) -#define WERR_DS_DRA_BAD_NC W_ERROR(0x000020f8) -#define WERR_DS_DRA_INTERNAL_ERROR W_ERROR(0x000020fa) -#define WERR_DS_DRA_OUT_OF_MEM W_ERROR(0x000020fe) +#define WERR_DS_ALIAS_PROBLEM W_ERROR(0x00002031) +#define WERR_DS_INVALID_DN_SYNTAX W_ERROR(0x00002032) +#define WERR_DS_ALIAS_DEREF_PROBLEM W_ERROR(0x00002034) +#define WERR_DS_UNWILLING_TO_PERFORM W_ERROR(0x00002035) +#define WERR_DS_LOOP_DETECT W_ERROR(0x00002036) +#define WERR_DS_NAMING_VIOLATION W_ERROR(0x00002037) +#define WERR_DS_AFFECTS_MULTIPLE_DSAS W_ERROR(0x00002039) +#define WERR_DS_OBJ_STRING_NAME_EXISTS W_ERROR(0x00002071) +#define WERR_DS_OBJ_NOT_FOUND W_ERROR(0x0000208D) +#define WERR_DS_GENERIC_ERROR W_ERROR(0x00002095) +#define WERR_DS_INSUFF_ACCESS_RIGHTS W_ERROR(0x00002098) +#define WERR_DS_SCHEMA_NOT_LOADED W_ERROR(0x20DE) +#define WERR_DS_SCHEMA_ALLOC_FAILED W_ERROR(0x20DF) +#define WERR_DS_ATT_SCHEMA_REQ_SYNTAX W_ERROR(0x000020E0) +#define WERR_DS_DRA_SCHEMA_MISMATCH W_ERROR(0x000020E2) +#define WERR_DS_DRA_INVALID_PARAMETER W_ERROR(0x000020F5) +#define WERR_DS_DRA_BAD_DN W_ERROR(0x000020F7) +#define WERR_DS_DRA_BAD_NC W_ERROR(0x000020F8) +#define WERR_DS_DRA_INTERNAL_ERROR W_ERROR(0x000020FA) +#define WERR_DS_DRA_OUT_OF_MEM W_ERROR(0x000020FE) #define WERR_DS_SINGLE_VALUE_CONSTRAINT W_ERROR(0x00002081) #define WERR_DS_DRA_DB_ERROR W_ERROR(0x00002103) #define WERR_DS_DRA_NO_REPLICA W_ERROR(0x00002104) #define WERR_DS_DRA_ACCESS_DENIED W_ERROR(0x00002105) #define WERR_DS_DRA_SOURCE_DISABLED W_ERROR(0x00002108) -#define WERR_DS_DNS_LOOKUP_FAILURE W_ERROR(0x0000214c) +#define WERR_DS_DNS_LOOKUP_FAILURE W_ERROR(0x0000214C) #define WERR_DS_WRONG_LINKED_ATTRIBUTE_SYNTAX W_ERROR(0x00002150) #define WERR_DS_NO_MSDS_INTID W_ERROR(0x00002194) #define WERR_DS_DUP_MSDS_INTID W_ERROR(0x00002195) -- cgit