diff options
Diffstat (limited to 'source4/lib')
-rw-r--r-- | source4/lib/db_wrap.c | 9 | ||||
-rw-r--r-- | source4/lib/ldb/common/ldb_dn.c | 5 | ||||
-rw-r--r-- | source4/lib/ldb/common/ldb_utf8.c | 20 | ||||
-rw-r--r-- | source4/lib/ldb/include/ldb.h | 17 | ||||
-rw-r--r-- | source4/lib/ldb/tools/cmdline.c | 1 |
5 files changed, 6 insertions, 46 deletions
diff --git a/source4/lib/db_wrap.c b/source4/lib/db_wrap.c index f3358bff98..4223d19b3f 100644 --- a/source4/lib/db_wrap.c +++ b/source4/lib/db_wrap.c @@ -55,12 +55,7 @@ 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) +char *wrap_casefold(void *context, void *mem_ctx, const char *s) { return strupper_talloc(mem_ctx, s); } @@ -133,7 +128,7 @@ 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); + ldb_set_utf8_fns(ldb, NULL, wrap_casefold); return ldb; } diff --git a/source4/lib/ldb/common/ldb_dn.c b/source4/lib/ldb/common/ldb_dn.c index c2212fd6fe..bcd5a067a6 100644 --- a/source4/lib/ldb/common/ldb_dn.c +++ b/source4/lib/ldb/common/ldb_dn.c @@ -502,9 +502,8 @@ int ldb_dn_compare_base(struct ldb_context *ldb, const struct ldb_attrib_handler *h; /* compare names (attribute names are guaranteed to be ASCII only) */ - ret = ldb_caseless_cmp(ldb, - base->components[n0].name, - dn->components[n1].name); + ret = ldb_attr_cmp(base->components[n0].name, + dn->components[n1].name); if (ret) { return ret; } diff --git a/source4/lib/ldb/common/ldb_utf8.c b/source4/lib/ldb/common/ldb_utf8.c index 4735b35af6..1b7319915b 100644 --- a/source4/lib/ldb/common/ldb_utf8.c +++ b/source4/lib/ldb/common/ldb_utf8.c @@ -42,13 +42,10 @@ */ void ldb_set_utf8_fns(struct ldb_context *ldb, void *context, - int (*cmp)(void *, const char *, const char *), char *(*casefold)(void *, void *, const char *)) { if (context) ldb->utf8_fns.context = context; - if (cmp) - ldb->utf8_fns.caseless_cmp = cmp; if (casefold) ldb->utf8_fns.casefold = casefold; } @@ -71,19 +68,9 @@ char *ldb_casefold_default(void *context, void *mem_ctx, const char *s) return ret; } -/* - a caseless compare, optimised for 7 bit - NOTE: doesn't handle UTF8 -*/ - -int ldb_caseless_cmp_default(void *context, const char *s1, const char *s2) -{ - return strcasecmp(s1,s2); -} - void ldb_set_utf8_default(struct ldb_context *ldb) { - ldb_set_utf8_fns(ldb, NULL, ldb_caseless_cmp_default, ldb_casefold_default); + ldb_set_utf8_fns(ldb, NULL, ldb_casefold_default); } char *ldb_casefold(struct ldb_context *ldb, void *mem_ctx, const char *s) @@ -91,11 +78,6 @@ char *ldb_casefold(struct ldb_context *ldb, void *mem_ctx, const char *s) return ldb->utf8_fns.casefold(ldb->utf8_fns.context, mem_ctx, s); } -int ldb_caseless_cmp(struct ldb_context *ldb, const char *s1, const char *s2) -{ - return ldb->utf8_fns.caseless_cmp(ldb->utf8_fns.context, s1, s2); -} - /* check the attribute name is valid according to rfc2251 returns 1 if the name is ok diff --git a/source4/lib/ldb/include/ldb.h b/source4/lib/ldb/include/ldb.h index 7c39aeeeb9..0e192c2e31 100644 --- a/source4/lib/ldb/include/ldb.h +++ b/source4/lib/ldb/include/ldb.h @@ -214,7 +214,6 @@ struct ldb_debug_ops { */ struct ldb_utf8_fns { void *context; - int (*caseless_cmp)(void *context, const char *s1, const char *s2); char *(*casefold)(void *context, void *mem_ctx, const char *s); }; @@ -749,21 +748,6 @@ void ldb_set_utf8_default(struct ldb_context *ldb); char *ldb_casefold(struct ldb_context *ldb, void *mem_ctx, const char *s); /** - Compare two strings, without regard to case. - - \param ldb the ldb context - \param s1 the first string to compare - \param s2 the second string to compare - - \return 0 if the strings are the same, non-zero if there are any - differences except for case. - - \note The default function is not yet UTF8 aware. Provide your own - set of functions through ldb_set_utf8_fns() -*/ -int ldb_caseless_cmp(struct ldb_context *ldb, const char *s1, const char *s2); - -/** Check the attribute name is valid according to rfc2251 \param s tthe string to check @@ -1117,7 +1101,6 @@ int ldb_set_debug(struct ldb_context *ldb, */ void ldb_set_utf8_fns(struct ldb_context *ldb, void *context, - int (*cmp)(void *, const char *, const char *), char *(*casefold)(void *, void *, const char *)); /** diff --git a/source4/lib/ldb/tools/cmdline.c b/source4/lib/ldb/tools/cmdline.c index df8d94d1f0..232cfcbb16 100644 --- a/source4/lib/ldb/tools/cmdline.c +++ b/source4/lib/ldb/tools/cmdline.c @@ -204,6 +204,7 @@ struct ldb_cmdline *ldb_cmdline_process(struct ldb_context *ldb, int argc, const if (ldb_set_opaque(ldb, "credentials", cmdline_credentials)) { goto failed; } + ldb_set_utf8_fns(ldb, NULL, wrap_casefold); #endif if (ldb_connect(ldb, ret->url, flags, ret->options) != 0) { fprintf(stderr, "Failed to connect to %s - %s\n", |