From ad68e5cd80a5bef154e57cfa0b07cfb3b0b434b8 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Wed, 2 Dec 2015 13:44:42 +0100 Subject: [PATCH] LDAP: Use the common get_uppercase_realm to uppercase the realm The private function was just duplicating code. --- src/providers/ldap/sdap_async_users.c | 35 ++++++++++------------------------- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/src/providers/ldap/sdap_async_users.c b/src/providers/ldap/sdap_async_users.c index 480bbc2031249a66abf61737f6c86a7afdd3885f..55855d2317d08b06f6ad5b7ab9c96861b16d78b2 100644 --- a/src/providers/ldap/sdap_async_users.c +++ b/src/providers/ldap/sdap_async_users.c @@ -28,25 +28,6 @@ #include "providers/ldap/sdap_idmap.h" #include "providers/ldap/sdap_users.h" -#define REALM_SEPARATOR '@' - -static void make_realm_upper_case(const char *upn) -{ - char *c; - - c = strchr(upn, REALM_SEPARATOR); - if (c == NULL) { - DEBUG(SSSDBG_TRACE_ALL, "No realm delimiter found in upn [%s].\n", upn); - return; - } - - while(*(++c) != '\0') { - c[0] = toupper(*c); - } - - return; -} - /* ==Save-User-Entry====================================================== */ static errno_t @@ -439,14 +420,18 @@ int sdap_save_user(TALLOC_CTX *memctx, DEBUG(SSSDBG_TRACE_FUNC, "User principal is not available for [%s].\n", user_name); } else { - upn = talloc_strdup(user_attrs, (const char*) el->values[0].data); - if (!upn) { - ret = ENOMEM; - goto done; - } if (dp_opt_get_bool(opts->basic, SDAP_FORCE_UPPER_CASE_REALM)) { - make_realm_upper_case(upn); + upn = get_uppercase_realm(user_attrs, + (const char*) el->values[0].data); + } else { + upn = talloc_strdup(user_attrs, + (const char*) el->values[0].data); } + if (upn == NULL) { + ret = ENOMEM; + goto done; + } + DEBUG(SSSDBG_TRACE_FUNC, "Adding user principal [%s] to attributes of [%s].\n", upn, user_name); -- 2.4.3