summaryrefslogtreecommitdiff
path: root/source3/passdb/pdb_ldap.c
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2002-03-01 15:17:10 +0000
committerGerald Carter <jerry@samba.org>2002-03-01 15:17:10 +0000
commitb6c3b6dd5974db5323a54fd8a8d6d8dc7c71dca5 (patch)
treec71f9627fa7db07e4e945b6dbbea3206963fd264 /source3/passdb/pdb_ldap.c
parent6ca1c47dfdd38e2da44b78b9c4b333cbe821eeb1 (diff)
downloadsamba-b6c3b6dd5974db5323a54fd8a8d6d8dc7c71dca5.tar.gz
samba-b6c3b6dd5974db5323a54fd8a8d6d8dc7c71dca5.tar.bz2
samba-b6c3b6dd5974db5323a54fd8a8d6d8dc7c71dca5.zip
merge from 2.2
(This used to be commit 5b28a7c59c392c6352cb8915a13806ca772d8cac)
Diffstat (limited to 'source3/passdb/pdb_ldap.c')
-rw-r--r--source3/passdb/pdb_ldap.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source3/passdb/pdb_ldap.c b/source3/passdb/pdb_ldap.c
index 1eac57b826..1e67d86091 100644
--- a/source3/passdb/pdb_ldap.c
+++ b/source3/passdb/pdb_ldap.c
@@ -55,6 +55,7 @@ struct ldap_enum_info {
LDAP *ldap_struct;
LDAPMessage *result;
LDAPMessage *entry;
+ int index;
};
static struct ldap_enum_info global_ldap_ent;
@@ -706,6 +707,7 @@ BOOL pdb_setsampwent(BOOL update)
global_ldap_ent.entry = ldap_first_entry(global_ldap_ent.ldap_struct,
global_ldap_ent.result);
+ global_ldap_ent.index = -1;
return True;
}
@@ -732,8 +734,11 @@ BOOL pdb_getsampwent(SAM_ACCOUNT * user)
if (!global_ldap_ent.entry)
return False;
- global_ldap_ent.entry = ldap_next_entry(global_ldap_ent.ldap_struct,
- global_ldap_ent.entry);
+ global_ldap_ent.index++;
+ if (global_ldap_ent.index > 0)
+ {
+ global_ldap_ent.entry = ldap_next_entry(global_ldap_ent.ldap_struct, global_ldap_ent.entry);
+ }
if (global_ldap_ent.entry != NULL)
{