Filter out searches for *@REALM, which takes very long time, and other
ldap special characters, this should really be quoting instead. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23941 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -797,6 +797,20 @@ LDAP__lookup_princ(krb5_context context,
|
|||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
int rc;
|
int rc;
|
||||||
char *filter = NULL;
|
char *filter = NULL;
|
||||||
|
size_t len;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Filter out searches for *@REALM, which takes very long time,
|
||||||
|
* and other ldap special characters, this should really be
|
||||||
|
* quoting instead.
|
||||||
|
*/
|
||||||
|
len = strcspn(princname, "()*=&\\|~=<>!");
|
||||||
|
if (princname[len] != '\0') {
|
||||||
|
krb5_set_error_message(context, HDB_ERR_NOENTRY,
|
||||||
|
"Principal contains ldap "
|
||||||
|
"search term: %s", princname);
|
||||||
|
return HDB_ERR_NOENTRY;
|
||||||
|
}
|
||||||
|
|
||||||
ret = LDAP__connect(context, db);
|
ret = LDAP__connect(context, db);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
Reference in New Issue
Block a user