diff options
Diffstat (limited to 'source4/lib/db_wrap.c')
-rw-r--r-- | source4/lib/db_wrap.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source4/lib/db_wrap.c b/source4/lib/db_wrap.c index e070d4eb14..f3358bff98 100644 --- a/source4/lib/db_wrap.c +++ b/source4/lib/db_wrap.c @@ -55,6 +55,16 @@ static void ldb_wrap_debug(void *context, enum ldb_debug_level level, free(s); } +static int wrap_caseless_cmp(void *context, const char *s1, const char *s2) +{ + return strcasecmp_m(s1, s2); +} + +static char *wrap_casefold(void *context, void *mem_ctx, const char *s) +{ + return strupper_talloc(mem_ctx, s); +} + /* wrapped connection to a ldb database to close just talloc_free() the returned ldb_context @@ -123,6 +133,8 @@ struct ldb_context *ldb_wrap_connect(TALLOC_CTX *mem_ctx, ldb_set_debug(ldb, ldb_wrap_debug, NULL); + ldb_set_utf8_fns(ldb, NULL, wrap_caseless_cmp, wrap_casefold); + return ldb; } |