Adds new error codes (needed for enhancing error messages for SAMBA 4 AD LDAP server)
authorMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Thu, 30 Jul 2009 10:40:14 +0000 (12:40 +0200)
committerMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Fri, 31 Jul 2009 15:40:46 +0000 (17:40 +0200)
libcli/util/doserr.c
libcli/util/ntstatus.h
libcli/util/werror.h
source4/libcli/util/nterr.c

index ff0946f77d2d99d6b6f21178a593db3fe4179c5c..6af197284f97e3db1d380660353f593ae56ab3f8 100644 (file)
@@ -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 },
index 5f05f9a6ac00450b4380d1999d30538b422a1183..dd1a0d0db0fa4c64465ae3dfd757fde91ed05543 100644 (file)
@@ -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)
index 2976390ebf4e877b8cb1bf7300ea48317fd8c7f8..f82879cac93a9be0e5b0d49f4f648faff4ac066c 100644 (file)
@@ -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)
index e9db904053080002c988e5fa3d2d06786ab9e9c3..75bbbde92da7c015799d6e8fed178900323410f2 100644 (file)
@@ -542,13 +542,13 @@ static const nt_err_code_struct nt_errs[] =
        { "NT_STATUS_TOO_MANY_LINKS", NT_STATUS_TOO_MANY_LINKS },
        { "NT_STATUS_QUOTA_LIST_INCONSISTENT", NT_STATUS_QUOTA_LIST_INCONSISTENT },
        { "NT_STATUS_FILE_IS_OFFLINE", NT_STATUS_FILE_IS_OFFLINE },
+       { "NT_STATUS_DS_NO_MORE_RIDS", NT_STATUS_DS_NO_MORE_RIDS },
         { "NT_STATUS_NO_MORE_ENTRIES", NT_STATUS_NO_MORE_ENTRIES },
        { "NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED", NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED },
        { "NT_STATUS_RPC_UNSUPPORTED_NAME_SYNTAX", NT_STATUS_RPC_UNSUPPORTED_NAME_SYNTAX },
        { "NT_STATUS_CURRENT_DOMAIN_NOT_ALLOWED", NT_STATUS_CURRENT_DOMAIN_NOT_ALLOWED },
        { "NT_STATUS_OBJECTID_NOT_FOUND", NT_STATUS_OBJECTID_NOT_FOUND },
        { "NT_STATUS_DOWNGRADE_DETECTED", NT_STATUS_DOWNGRADE_DETECTED },
-       { "NT_STATUS_DS_BUSY", NT_STATUS_DS_BUSY },
        { "NT_STATUS_INVALID_LOCK_RANGE", NT_STATUS_INVALID_LOCK_RANGE },
        { "NT_STATUS_ERROR_DS_OBJ_STRING_NAME_EXISTS", NT_STATUS_ERROR_DS_OBJ_STRING_NAME_EXISTS },
        { "NT_STATUS_ERROR_DS_INCOMPATIBLE_VERSION", NT_STATUS_ERROR_DS_INCOMPATIBLE_VERSION },