summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--service_passwords.c12
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;
}