From 8394eddba54b5d3e3fda868145e3751247bdbdb2 Mon Sep 17 00:00:00 2001 From: Michal Zidek Date: Mon, 24 Nov 2014 19:50:14 +0100 Subject: util: Special-case PCRE_ERROR_NOMATCH in sss_parse_name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add new SSSD specific error code for the case when pcre_exec returns PCRE_ERROR_NOMATCH. Reviewed-by: Lukáš Slebodník --- src/util/usertools.c | 2 +- src/util/util_errors.c | 1 + src/util/util_errors.h | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) (limited to 'src/util') diff --git a/src/util/usertools.c b/src/util/usertools.c index a0b914e2..09cfd6b3 100644 --- a/src/util/usertools.c +++ b/src/util/usertools.c @@ -309,7 +309,7 @@ int sss_parse_name(TALLOC_CTX *memctx, ret = pcre_exec(re, NULL, orig, origlen, 0, PCRE_NOTEMPTY, ovec, 30); if (ret == PCRE_ERROR_NOMATCH) { - return EINVAL; + return ERR_REGEX_NOMATCH; } else if (ret < 0) { DEBUG(SSSDBG_MINOR_FAILURE, "PCRE Matching error, %d\n", ret); return EINVAL; diff --git a/src/util/util_errors.c b/src/util/util_errors.c index c1ed0fb6..16d16fc7 100644 --- a/src/util/util_errors.c +++ b/src/util/util_errors.c @@ -64,6 +64,7 @@ struct err_string error_to_str[] = { { "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 */ }; diff --git a/src/util/util_errors.h b/src/util/util_errors.h index f71ede8d..39455dc8 100644 --- a/src/util/util_errors.h +++ b/src/util/util_errors.h @@ -86,6 +86,7 @@ enum sssd_errors { ERR_NO_SYSBUS, ERR_REFERRAL, ERR_SELINUX_CONTEXT, + ERR_REGEX_NOMATCH, ERR_LAST /* ALWAYS LAST */ }; -- cgit