summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>2009-07-30 12:40:14 +0200
committerMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>2009-07-31 17:40:46 +0200
commita08bffa3589df96e39b57036cd919c8ca570f894 (patch)
tree67282b430c4ac6ba2246153625e99ee22ba552d5
parentf511ccbc429aacff3882e12366bae2aebf9d768a (diff)
downloadsamba-a08bffa3589df96e39b57036cd919c8ca570f894.tar.gz
samba-a08bffa3589df96e39b57036cd919c8ca570f894.tar.xz
samba-a08bffa3589df96e39b57036cd919c8ca570f894.zip
Adds new error codes (needed for enhancing error messages for SAMBA 4 AD LDAP server)
-rw-r--r--libcli/util/doserr.c37
-rw-r--r--libcli/util/ntstatus.h3
-rw-r--r--libcli/util/werror.h59
-rw-r--r--source4/libcli/util/nterr.c2
4 files changed, 83 insertions, 18 deletions
diff --git a/libcli/util/doserr.c b/libcli/util/doserr.c
index ff0946f77d2..6af197284f9 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 5f05f9a6ac0..dd1a0d0db0f 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 2976390ebf4..f82879cac93 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)
diff --git a/source4/libcli/util/nterr.c b/source4/libcli/util/nterr.c
index e9db9040530..75bbbde92da 100644
--- a/source4/libcli/util/nterr.c
+++ b/source4/libcli/util/nterr.c
@@ -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 },