]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
lib: Move 968 bytes from R/W data to R/O text
authorVolker Lendecke <vl@samba.org>
Mon, 3 Feb 2025 16:30:03 +0000 (17:30 +0100)
committerJeremy Allison <jra@samba.org>
Wed, 5 Feb 2025 00:07:30 +0000 (00:07 +0000)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/lib/tldap.c

index 88f636952fb6f9a83eca7e6600bbb23958d3c51b..db06e9f1282f58a94c995a5d60652c212b253a04 100644 (file)
@@ -2832,134 +2832,183 @@ struct tldap_message *tldap_ctx_lastmsg(struct tldap_context *ld)
        return ld->last_msg;
 }
 
-static const struct { TLDAPRC rc; const char *string; } tldaprc_errmap[] =
-{
-       { TLDAP_SUCCESS,
-         "TLDAP_SUCCESS" },
-       { TLDAP_OPERATIONS_ERROR,
-         "TLDAP_OPERATIONS_ERROR" },
-       { TLDAP_PROTOCOL_ERROR,
-         "TLDAP_PROTOCOL_ERROR" },
-       { TLDAP_TIMELIMIT_EXCEEDED,
-         "TLDAP_TIMELIMIT_EXCEEDED" },
-       { TLDAP_SIZELIMIT_EXCEEDED,
-         "TLDAP_SIZELIMIT_EXCEEDED" },
-       { TLDAP_COMPARE_FALSE,
-         "TLDAP_COMPARE_FALSE" },
-       { TLDAP_COMPARE_TRUE,
-         "TLDAP_COMPARE_TRUE" },
-       { TLDAP_STRONG_AUTH_NOT_SUPPORTED,
-         "TLDAP_STRONG_AUTH_NOT_SUPPORTED" },
-       { TLDAP_STRONG_AUTH_REQUIRED,
-         "TLDAP_STRONG_AUTH_REQUIRED" },
-       { TLDAP_REFERRAL,
-         "TLDAP_REFERRAL" },
-       { TLDAP_ADMINLIMIT_EXCEEDED,
-         "TLDAP_ADMINLIMIT_EXCEEDED" },
-       { TLDAP_UNAVAILABLE_CRITICAL_EXTENSION,
-         "TLDAP_UNAVAILABLE_CRITICAL_EXTENSION" },
-       { TLDAP_CONFIDENTIALITY_REQUIRED,
-         "TLDAP_CONFIDENTIALITY_REQUIRED" },
-       { TLDAP_SASL_BIND_IN_PROGRESS,
-         "TLDAP_SASL_BIND_IN_PROGRESS" },
-       { TLDAP_NO_SUCH_ATTRIBUTE,
-         "TLDAP_NO_SUCH_ATTRIBUTE" },
-       { TLDAP_UNDEFINED_TYPE,
-         "TLDAP_UNDEFINED_TYPE" },
-       { TLDAP_INAPPROPRIATE_MATCHING,
-         "TLDAP_INAPPROPRIATE_MATCHING" },
-       { TLDAP_CONSTRAINT_VIOLATION,
-         "TLDAP_CONSTRAINT_VIOLATION" },
-       { TLDAP_TYPE_OR_VALUE_EXISTS,
-         "TLDAP_TYPE_OR_VALUE_EXISTS" },
-       { TLDAP_INVALID_SYNTAX,
-         "TLDAP_INVALID_SYNTAX" },
-       { TLDAP_NO_SUCH_OBJECT,
-         "TLDAP_NO_SUCH_OBJECT" },
-       { TLDAP_ALIAS_PROBLEM,
-         "TLDAP_ALIAS_PROBLEM" },
-       { TLDAP_INVALID_DN_SYNTAX,
-         "TLDAP_INVALID_DN_SYNTAX" },
-       { TLDAP_IS_LEAF,
-         "TLDAP_IS_LEAF" },
-       { TLDAP_ALIAS_DEREF_PROBLEM,
-         "TLDAP_ALIAS_DEREF_PROBLEM" },
-       { TLDAP_INAPPROPRIATE_AUTH,
-         "TLDAP_INAPPROPRIATE_AUTH" },
-       { TLDAP_INVALID_CREDENTIALS,
-         "TLDAP_INVALID_CREDENTIALS" },
-       { TLDAP_INSUFFICIENT_ACCESS,
-         "TLDAP_INSUFFICIENT_ACCESS" },
-       { TLDAP_BUSY,
-         "TLDAP_BUSY" },
-       { TLDAP_UNAVAILABLE,
-         "TLDAP_UNAVAILABLE" },
-       { TLDAP_UNWILLING_TO_PERFORM,
-         "TLDAP_UNWILLING_TO_PERFORM" },
-       { TLDAP_LOOP_DETECT,
-         "TLDAP_LOOP_DETECT" },
-       { TLDAP_NAMING_VIOLATION,
-         "TLDAP_NAMING_VIOLATION" },
-       { TLDAP_OBJECT_CLASS_VIOLATION,
-         "TLDAP_OBJECT_CLASS_VIOLATION" },
-       { TLDAP_NOT_ALLOWED_ON_NONLEAF,
-         "TLDAP_NOT_ALLOWED_ON_NONLEAF" },
-       { TLDAP_NOT_ALLOWED_ON_RDN,
-         "TLDAP_NOT_ALLOWED_ON_RDN" },
-       { TLDAP_ALREADY_EXISTS,
-         "TLDAP_ALREADY_EXISTS" },
-       { TLDAP_NO_OBJECT_CLASS_MODS,
-         "TLDAP_NO_OBJECT_CLASS_MODS" },
-       { TLDAP_RESULTS_TOO_LARGE,
-         "TLDAP_RESULTS_TOO_LARGE" },
-       { TLDAP_AFFECTS_MULTIPLE_DSAS,
-         "TLDAP_AFFECTS_MULTIPLE_DSAS" },
-       { TLDAP_OTHER,
-         "TLDAP_OTHER" },
-       { TLDAP_SERVER_DOWN,
-         "TLDAP_SERVER_DOWN" },
-       { TLDAP_LOCAL_ERROR,
-         "TLDAP_LOCAL_ERROR" },
-       { TLDAP_ENCODING_ERROR,
-         "TLDAP_ENCODING_ERROR" },
-       { TLDAP_DECODING_ERROR,
-         "TLDAP_DECODING_ERROR" },
-       { TLDAP_TIMEOUT,
-         "TLDAP_TIMEOUT" },
-       { TLDAP_AUTH_UNKNOWN,
-         "TLDAP_AUTH_UNKNOWN" },
-       { TLDAP_FILTER_ERROR,
-         "TLDAP_FILTER_ERROR" },
-       { TLDAP_USER_CANCELLED,
-         "TLDAP_USER_CANCELLED" },
-       { TLDAP_PARAM_ERROR,
-         "TLDAP_PARAM_ERROR" },
-       { TLDAP_NO_MEMORY,
-         "TLDAP_NO_MEMORY" },
-       { TLDAP_CONNECT_ERROR,
-         "TLDAP_CONNECT_ERROR" },
-       { TLDAP_NOT_SUPPORTED,
-         "TLDAP_NOT_SUPPORTED" },
-       { TLDAP_CONTROL_NOT_FOUND,
-         "TLDAP_CONTROL_NOT_FOUND" },
-       { TLDAP_NO_RESULTS_RETURNED,
-         "TLDAP_NO_RESULTS_RETURNED" },
-       { TLDAP_MORE_RESULTS_TO_RETURN,
-         "TLDAP_MORE_RESULTS_TO_RETURN" },
-       { TLDAP_CLIENT_LOOP,
-         "TLDAP_CLIENT_LOOP" },
-       { TLDAP_REFERRAL_LIMIT_EXCEEDED,
-         "TLDAP_REFERRAL_LIMIT_EXCEEDED" },
-};
-
 const char *tldap_rc2string(TLDAPRC rc)
 {
-       size_t i;
-
-       for (i=0; i<ARRAY_SIZE(tldaprc_errmap); i++) {
-               if (TLDAP_RC_EQUAL(rc, tldaprc_errmap[i].rc)) {
-                       return tldaprc_errmap[i].string;
-               }
+       switch (TLDAP_RC_V(rc)) {
+       case 0x00:
+               return "TLDAP_SUCCESS";
+               break;
+       case 0x01:
+               return "TLDAP_OPERATIONS_ERROR";
+               break;
+       case 0x02:
+               return "TLDAP_PROTOCOL_ERROR";
+               break;
+       case 0x03:
+               return "TLDAP_TIMELIMIT_EXCEEDED";
+               break;
+       case 0x04:
+               return "TLDAP_SIZELIMIT_EXCEEDED";
+               break;
+       case 0x05:
+               return "TLDAP_COMPARE_FALSE";
+               break;
+       case 0x06:
+               return "TLDAP_COMPARE_TRUE";
+               break;
+       case 0x07:
+               return "TLDAP_STRONG_AUTH_NOT_SUPPORTED";
+               break;
+       case 0x08:
+               return "TLDAP_STRONG_AUTH_REQUIRED";
+               break;
+       case 0x0a:
+               return "TLDAP_REFERRAL";
+               break;
+       case 0x0b:
+               return "TLDAP_ADMINLIMIT_EXCEEDED";
+               break;
+       case 0x0c:
+               return "TLDAP_UNAVAILABLE_CRITICAL_EXTENSION";
+               break;
+       case 0x0d:
+               return "TLDAP_CONFIDENTIALITY_REQUIRED";
+               break;
+       case 0x0e:
+               return "TLDAP_SASL_BIND_IN_PROGRESS";
+               break;
+       case 0x10:
+               return "TLDAP_NO_SUCH_ATTRIBUTE";
+               break;
+       case 0x11:
+               return "TLDAP_UNDEFINED_TYPE";
+               break;
+       case 0x12:
+               return "TLDAP_INAPPROPRIATE_MATCHING";
+               break;
+       case 0x13:
+               return "TLDAP_CONSTRAINT_VIOLATION";
+               break;
+       case 0x14:
+               return "TLDAP_TYPE_OR_VALUE_EXISTS";
+               break;
+       case 0x15:
+               return "TLDAP_INVALID_SYNTAX";
+               break;
+       case 0x20:
+               return "TLDAP_NO_SUCH_OBJECT";
+               break;
+       case 0x21:
+               return "TLDAP_ALIAS_PROBLEM";
+               break;
+       case 0x22:
+               return "TLDAP_INVALID_DN_SYNTAX";
+               break;
+       case 0x23:
+               return "TLDAP_IS_LEAF";
+               break;
+       case 0x24:
+               return "TLDAP_ALIAS_DEREF_PROBLEM";
+               break;
+       case 0x30:
+               return "TLDAP_INAPPROPRIATE_AUTH";
+               break;
+       case 0x31:
+               return "TLDAP_INVALID_CREDENTIALS";
+               break;
+       case 0x32:
+               return "TLDAP_INSUFFICIENT_ACCESS";
+               break;
+       case 0x33:
+               return "TLDAP_BUSY";
+               break;
+       case 0x34:
+               return "TLDAP_UNAVAILABLE";
+               break;
+       case 0x35:
+               return "TLDAP_UNWILLING_TO_PERFORM";
+               break;
+       case 0x36:
+               return "TLDAP_LOOP_DETECT";
+               break;
+       case 0x40:
+               return "TLDAP_NAMING_VIOLATION";
+               break;
+       case 0x41:
+               return "TLDAP_OBJECT_CLASS_VIOLATION";
+               break;
+       case 0x42:
+               return "TLDAP_NOT_ALLOWED_ON_NONLEAF";
+               break;
+       case 0x43:
+               return "TLDAP_NOT_ALLOWED_ON_RDN";
+               break;
+       case 0x44:
+               return "TLDAP_ALREADY_EXISTS";
+               break;
+       case 0x45:
+               return "TLDAP_NO_OBJECT_CLASS_MODS";
+               break;
+       case 0x46:
+               return "TLDAP_RESULTS_TOO_LARGE";
+               break;
+       case 0x47:
+               return "TLDAP_AFFECTS_MULTIPLE_DSAS";
+               break;
+       case 0x50:
+               return "TLDAP_OTHER";
+               break;
+       case 0x51:
+               return "TLDAP_SERVER_DOWN";
+               break;
+       case 0x52:
+               return "TLDAP_LOCAL_ERROR";
+               break;
+       case 0x53:
+               return "TLDAP_ENCODING_ERROR";
+               break;
+       case 0x54:
+               return "TLDAP_DECODING_ERROR";
+               break;
+       case 0x55:
+               return "TLDAP_TIMEOUT";
+               break;
+       case 0x56:
+               return "TLDAP_AUTH_UNKNOWN";
+               break;
+       case 0x57:
+               return "TLDAP_FILTER_ERROR";
+               break;
+       case 0x58:
+               return "TLDAP_USER_CANCELLED";
+               break;
+       case 0x59:
+               return "TLDAP_PARAM_ERROR";
+               break;
+       case 0x5a:
+               return "TLDAP_NO_MEMORY";
+               break;
+       case 0x5b:
+               return "TLDAP_CONNECT_ERROR";
+               break;
+       case 0x5c:
+               return "TLDAP_NOT_SUPPORTED";
+               break;
+       case 0x5d:
+               return "TLDAP_CONTROL_NOT_FOUND";
+               break;
+       case 0x5e:
+               return "TLDAP_NO_RESULTS_RETURNED";
+               break;
+       case 0x5f:
+               return "TLDAP_MORE_RESULTS_TO_RETURN";
+               break;
+       case 0x60:
+               return "TLDAP_CLIENT_LOOP";
+               break;
+       case 0x61:
+               return "TLDAP_REFERRAL_LIMIT_EXCEEDED";
+               break;
        }
 
        return "Unknown LDAP Error";