quote userid too
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23956 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -794,7 +794,7 @@ LDAP__lookup_princ(krb5_context context,
|
|||||||
const char *userid,
|
const char *userid,
|
||||||
LDAPMessage **msg)
|
LDAPMessage **msg)
|
||||||
{
|
{
|
||||||
struct berval princnamebv, quotedp;
|
struct berval namebv, quotedp;
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
int rc;
|
int rc;
|
||||||
char *filter = NULL;
|
char *filter = NULL;
|
||||||
@@ -808,8 +808,8 @@ LDAP__lookup_princ(krb5_context context,
|
|||||||
* searches for *@REALM, which takes very long time.
|
* searches for *@REALM, which takes very long time.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ber_str2bv(princname, 0, 0, &princnamebv);
|
ber_str2bv(princname, 0, 0, &namebv);
|
||||||
if (ldap_bv2escaped_filter_value(&princnamebv, "edp) != 0) {
|
if (ldap_bv2escaped_filter_value(&namebv, "edp) != 0) {
|
||||||
ret = ENOMEM;
|
ret = ENOMEM;
|
||||||
krb5_set_error_message(context, ret, "malloc: out of memory");
|
krb5_set_error_message(context, ret, "malloc: out of memory");
|
||||||
goto out;
|
goto out;
|
||||||
@@ -848,9 +848,17 @@ LDAP__lookup_princ(krb5_context context,
|
|||||||
ldap_msgfree(*msg);
|
ldap_msgfree(*msg);
|
||||||
*msg = NULL;
|
*msg = NULL;
|
||||||
|
|
||||||
|
ber_str2bv(userid, 0, 0, &namebv);
|
||||||
|
if (ldap_bv2escaped_filter_value(&namebv, "edp) != 0) {
|
||||||
|
ret = ENOMEM;
|
||||||
|
krb5_set_error_message(context, ret, "malloc: out of memory");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
rc = asprintf(&filter,
|
rc = asprintf(&filter,
|
||||||
"(&(|(objectClass=sambaSamAccount)(objectClass=%s))(uid=%s))",
|
"(&(|(objectClass=sambaSamAccount)(objectClass=%s))(uid=%s))",
|
||||||
structural_object, userid);
|
structural_object, quotedp.bv_val);
|
||||||
|
ber_memfree(quotedp.bv_val);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
ret = ENOMEM;
|
ret = ENOMEM;
|
||||||
krb5_set_error_message(context, ret, "asprintf: out of memory");
|
krb5_set_error_message(context, ret, "asprintf: out of memory");
|
||||||
|
Reference in New Issue
Block a user