mirror of
https://github.com/samba-team/samba.git
synced 2025-02-03 13:47:25 +03:00
r13328: After the attribute name check cleanup it turned up ldb_caseless_cmp()
was used just in one places and by mistake, as there we should have been using ldb_attr_cmp() Remove ldb_caseless_cmp() ... going on with the cleanup and utf8 compliance effort. Simo.
This commit is contained in:
parent
12faf55683
commit
afda68d7bf
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
};
|
||||
|
||||
@ -748,21 +747,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 *));
|
||||
|
||||
/**
|
||||
|
@ -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",
|
||||
|
Loading…
x
Reference in New Issue
Block a user