diff options
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/usertools.c | 21 | ||||
-rw-r--r-- | src/util/util.h | 3 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/util/usertools.c b/src/util/usertools.c index 36641d49f..adef2b002 100644 --- a/src/util/usertools.c +++ b/src/util/usertools.c @@ -45,6 +45,27 @@ char *get_username_from_uid(TALLOC_CTX *mem_ctx, uid_t uid) return username; } +/* Function returns given realm name as new uppercase string */ +char *get_uppercase_realm(TALLOC_CTX *memctx, const char *name) +{ + char *realm; + char *c; + + realm = talloc_strdup(memctx, name); + if (!realm) { + return NULL; + } + + c = realm; + while(*c != '\0') { + *c = toupper(*c); + c++; + } + + return realm; +} + + static int sss_names_ctx_destructor(struct sss_names_ctx *snctx) { if (snctx->re) { diff --git a/src/util/util.h b/src/util/util.h index b51aebbd8..7ff91af56 100644 --- a/src/util/util.h +++ b/src/util/util.h @@ -28,6 +28,7 @@ #include <unistd.h> #include <string.h> #include <strings.h> +#include <ctype.h> #include <errno.h> #include <libintl.h> #include <limits.h> @@ -388,6 +389,8 @@ int password_destructor(void *memctx); /* from usertools.c */ char *get_username_from_uid(TALLOC_CTX *mem_ctx, uid_t uid); +char *get_uppercase_realm(TALLOC_CTX *memctx, const char *name); + struct sss_names_ctx { char *re_pattern; char *fq_fmt; |