>From 397b0ac1a9873192576acd0f2cbfbd8750b2566d Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Wed, 12 Aug 2015 10:47:31 +0200 Subject: [PATCH] UTIL: Alternative way for debug message initialisation --- src/util/util_errors.c | 114 +++++++++++++++++++++++++------------------------ 1 file changed, 58 insertions(+), 56 deletions(-) diff --git a/src/util/util_errors.c b/src/util/util_errors.c index 735f6dcfc7af33edcc886fd106cb3655bcc9566a..5e3f80ab65a08e28fcc54cbf01ed6c995c9d7324 100644 --- a/src/util/util_errors.c +++ b/src/util/util_errors.c @@ -24,62 +24,64 @@ struct err_string { const char *msg; }; -struct err_string error_to_str[] = { - { "Invalid Error" }, /* ERR_INVALID */ - { "Internal Error" }, /* ERR_INTERNAL */ - { "Account Unknown" }, /* ERR_ACCOUNT_UNKNOWN */ - { "Invalid credential type" }, /* ERR_INVALID_CRED_TYPE */ - { "No credentials available" }, /* ERR_NO_CREDS */ - { "Credentials are expired" }, /* ERR_CREDS_EXPIRED */ - { "Credentials are expired, old ccache was removed" }, /* ERR_CREDS_EXPIRED_CCACHE */ - { "Failure setting user credentials"}, /* ERR_CREDS_INVALID */ - { "No cached credentials available" }, /* ERR_NO_CACHED_CREDS */ - { "Cached credentials are expired" }, /* ERR_CACHED_CREDS_EXPIRED */ - { "Authentication Denied" }, /* ERR_AUTH_DENIED */ - { "Authentication Failed" }, /* ERR_AUTH_FAILED */ - { "Password Change Denied" }, /* ERR_CHPASS_DENIED */ - { "Password Change Failed" }, /* ERR_CHPASS_FAILED */ - { "Network I/O Error" }, /* ERR_NETWORK_IO */ - { "Account Expired" }, /* ERR_ACCOUNT_EXPIRED */ - { "Password Expired" }, /* ERR_PASSWORD_EXPIRED */ - { "Password Expired (reject access)" }, /* ERR_PASSWORD_EXPIRED_REJECT */ - { "Password Expired (warn user)" }, /* ERR_PASSWORD_EXPIRED_WARN */ - { "Password Expired (ask for new password)" }, /* ERR_PASSWORD_EXPIRED_RENEW */ - { "Host Access Denied" }, /* ERR_ACCESS_DENIED */ - { "SRV record not found" }, /* ERR_SRV_NOT_FOUND */ - { "SRV lookup error" }, /* ERR_SRV_LOOKUP_ERROR */ - { "SRV lookup did not return any new server" }, /* ERR_SRV_DUPLICATES */ - { "Dynamic DNS update failed" }, /* ERR_DYNDNS_FAILED */ - { "Dynamic DNS update timed out" }, /* ERR_DYNDNS_TIMEOUT */ - { "Dynamic DNS update not possible while offline" }, /* ERR_DYNDNS_OFFLINE */ - { "Cannot parse input" }, /* ERR_INPUT_PARSE */ - { "Entry not found" }, /* ERR_NOT_FOUND */ - { "Domain not found" }, /* ERR_DOMAIN_NOT_FOUND */ - { "Missing configuration file" }, /* ERR_MISSING_CONF */ - { "Malformed search filter" }, /* ERR_INVALID_FILTER, */ - { "No POSIX attributes detected" }, /* ERR_NO_POSIX */ - { "Extra attribute is a duplicate" }, /* ERR_DUP_EXTRA_ATTR */ - { "Malformed extra attribute" }, /* ERR_INVALID_EXTRA_ATTR */ - { "Cannot get bus message sender" }, /* ERR_SBUS_GET_SENDER_ERROR */ - { "Bus message has no sender" }, /* ERR_SBUS_NO_SENDER */ - { "Invalid SBUS path provided" }, /* ERR_SBUS_INVALID_PATH */ - { "User/Group SIDs not found" }, /* ERR_NO_SIDS */ - { "Bus method not supported" }, /* ERR_SBUS_NOSUP */ - { "Cannot connect to system bus" }, /* ERR_NO_SYSBUS */ - { "LDAP search returned a referral" }, /* ERR_REFERRAL */ - { "Error setting SELinux user context" }, /* ERR_SELINUX_CONTEXT */ - { "Username format not allowed by re_expression" }, /* ERR_REGEX_NOMATCH */ - { "Time specification not supported" }, /* ERR_TIMESPEC_NOT_SUPPORTED */ - { "Invalid SSSD configuration detected" }, /* ERR_INVALID_CONFIG */ - { "Malformed cache entry" }, /* ERR_MALFORMED_ENTRY */ - { "Unexpected cache entry type" }, /* ERR_UNEXPECTED_ENTRY_TYPE */ - { "Failed to resolve one of user groups" }, /* ERR_SIMPLE_GROUPS_MISSING */ - { "Home directory is NULL" }, /* ERR_HOMEDIR_IS_NULL */ - { "Unsupported trust direction" }, /* ERR_TRUST_NOT_SUPPORTED */ - { "Retrieving keytab failed" }, /* ERR_IPA_GETKEYTAB_FAILED */ - { "Trusted forest root unknown" }, /* ERR_TRUST_FOREST_UNKNOWN */ - { "p11_child failed" }, /* ERR_P11_CHILD */ - { "ERR_LAST" } /* ERR_LAST */ +#define idx SSSD_ERR_IDX + +struct err_string error_to_str[ idx(ERR_LAST) + 1 ] = { + [ idx(ERR_INVALID) ] = { "Invalid Error" }, + [ idx(ERR_INTERNAL) ] = { "Internal Error" }, + [ idx(ERR_ACCOUNT_UNKNOWN) ] = { "Account Unknown" }, + [ idx(ERR_INVALID_CRED_TYPE) ] = { "Invalid credential type" }, + [ idx(ERR_NO_CREDS) ] = { "No credentials available" }, + [ idx(ERR_CREDS_EXPIRED) ] = { "Credentials are expired" }, + [ idx(ERR_CREDS_EXPIRED_CCACHE) ] = { "Credentials are expired, old ccache was removed" }, + [ idx(ERR_CREDS_INVALID) ] = { "Failure setting user credentials"}, + [ idx(ERR_NO_CACHED_CREDS) ] = { "No cached credentials available" }, + [ idx(ERR_CACHED_CREDS_EXPIRED) ] = { "Cached credentials are expired" }, + [ idx(ERR_AUTH_DENIED) ] = { "Authentication Denied" }, + [ idx(ERR_AUTH_FAILED) ] = { "Authentication Failed" }, + [ idx(ERR_CHPASS_DENIED) ] = { "Password Change Denied" }, + [ idx(ERR_CHPASS_FAILED) ] = { "Password Change Failed" }, + [ idx(ERR_NETWORK_IO) ] = { "Network I/O Error" }, + [ idx(ERR_ACCOUNT_EXPIRED) ] = { "Account Expired" }, + [ idx(ERR_PASSWORD_EXPIRED) ] = { "Password Expired" }, + [ idx(ERR_PASSWORD_EXPIRED_REJECT) ] = { "Password Expired (reject access)" }, + [ idx(ERR_PASSWORD_EXPIRED_WARN) ] = { "Password Expired (warn user)" }, + [ idx(ERR_PASSWORD_EXPIRED_RENEW) ] = { "Password Expired (ask for new password)" }, + [ idx(ERR_ACCESS_DENIED) ] = { "Host Access Denied" }, + [ idx(ERR_SRV_NOT_FOUND) ] = { "SRV record not found" }, + [ idx(ERR_SRV_LOOKUP_ERROR) ] = { "SRV lookup error" }, + [ idx(ERR_SRV_DUPLICATES) ] = { "SRV lookup did not return any new server" }, + [ idx(ERR_DYNDNS_FAILED) ] = { "Dynamic DNS update failed" }, + [ idx(ERR_DYNDNS_TIMEOUT) ] = { "Dynamic DNS update timed out" }, + [ idx(ERR_DYNDNS_OFFLINE) ] = { "Dynamic DNS update not possible while offline" }, + [ idx(ERR_INPUT_PARSE) ] = { "Cannot parse input" }, + [ idx(ERR_NOT_FOUND) ] = { "Entry not found" }, + [ idx(ERR_DOMAIN_NOT_FOUND) ] = { "Domain not found" }, + [ idx(ERR_MISSING_CONF) ] = { "Missing configuration file" }, + [ idx(ERR_INVALID_FILTER) ] = { "Malformed search filter" }, + [ idx(ERR_NO_POSIX) ] = { "No POSIX attributes detected" }, + [ idx(ERR_DUP_EXTRA_ATTR) ] = { "Extra attribute is a duplicate" }, + [ idx(ERR_INVALID_EXTRA_ATTR) ] = { "Malformed extra attribute" }, + [ idx(ERR_SBUS_GET_SENDER_ERROR) ] = { "Cannot get bus message sender" }, + [ idx(ERR_SBUS_NO_SENDER) ] = { "Bus message has no sender" }, + [ idx(ERR_SBUS_INVALID_PATH) ] = { "Invalid SBUS path provided" }, + [ idx(ERR_NO_SIDS) ] = { "User/Group SIDs not found" }, + [ idx(ERR_SBUS_NOSUP) ] = { "Bus method not supported" }, + [ idx(ERR_NO_SYSBUS) ] = { "Cannot connect to system bus" }, + [ idx(ERR_REFERRAL) ] = { "LDAP search returned a referral" }, + [ idx(ERR_SELINUX_CONTEXT) ] = { "Error setting SELinux user context" }, + [ idx(ERR_REGEX_NOMATCH) ] = { "Username format not allowed by re_expression" }, + [ idx(ERR_TIMESPEC_NOT_SUPPORTED) ] = { "Time specification not supported" }, + [ idx(ERR_INVALID_CONFIG) ] = { "Invalid SSSD configuration detected" }, + [ idx(ERR_MALFORMED_ENTRY) ] = { "Malformed cache entry" }, + [ idx(ERR_UNEXPECTED_ENTRY_TYPE) ] = { "Unexpected cache entry type" }, + [ idx(ERR_SIMPLE_GROUPS_MISSING) ] = { "Failed to resolve one of user groups" }, + [ idx(ERR_HOMEDIR_IS_NULL) ] = { "Home directory is NULL" }, + [ idx(ERR_TRUST_NOT_SUPPORTED) ] = { "Unsupported trust direction" }, + [ idx(ERR_IPA_GETKEYTAB_FAILED) ] = { "Retrieving keytab failed" }, + [ idx(ERR_TRUST_FOREST_UNKNOWN) ] = { "Trusted forest root unknown" }, + [ idx(ERR_P11_CHILD) ] = { "p11_child failed" }, + [ idx(ERR_LAST) ] = { "ERR_LAST" }, }; -- 2.5.0