diff options
-rw-r--r-- | service_passwords.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/service_passwords.c b/service_passwords.c index 5cb9924..82dc190 100644 --- a/service_passwords.c +++ b/service_passwords.c @@ -60,9 +60,8 @@ static int get_entry(const char *dn, char **attrs, Slapi_Entry **entry) } /* Check if the parent entry contains a uid attribute. */ -static int parent_dn_contains_uid(char *dn) +static int dn_contains_uid(const char *dn) { - char *parent_dn; char *attrs[] = { "uid", NULL }; Slapi_Entry *entry = NULL; Slapi_Attr *attr = NULL; @@ -70,9 +69,7 @@ static int parent_dn_contains_uid(char *dn) int rc = 0; - parent_dn = slapi_dn_parent(dn); - - rc |= get_entry(parent_dn, attrs, &entry); + rc |= get_entry(dn, attrs, &entry); if (rc != 0 || entry == NULL) { /* parent_dn not found */ rc = 1; @@ -180,6 +177,8 @@ static int pre_bind(Slapi_PBlock *pb) int opId; long msgId; + char *parent_dn; + int rc = 0; char fn[] = "pre_bind in service_passwords plug-in"; @@ -219,7 +218,8 @@ static int pre_bind(Slapi_PBlock *pb) return 0; } - if (parent_dn_contains_uid(dn) != 0) { + parent_dn = slapi_dn_parent(dn); + if (dn_contains_uid(parent_dn) != 0) { /* parent_dn is not an user, so we ignore this bind request. */ return 0; } |