summaryrefslogtreecommitdiff
path: root/source3/passdb/ldap.c
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1998-05-19 19:17:35 +0000
committerLuke Leighton <lkcl@samba.org>1998-05-19 19:17:35 +0000
commit48c7034c92452982167adc2c34049dea353c272c (patch)
tree20d58e8ecb8f39118c0405ed70087daa0ba0cdd9 /source3/passdb/ldap.c
parent0a36b8d8a959c18c670a7e41e3f5a728f3ea88c3 (diff)
downloadsamba-48c7034c92452982167adc2c34049dea353c272c.tar.gz
samba-48c7034c92452982167adc2c34049dea353c272c.tar.bz2
samba-48c7034c92452982167adc2c34049dea353c272c.zip
removed "default" system for password database api: all functions must
be supported. there are some stub routines in passdb.c which can be copied into a password database api which do conversion. the module writer can choose which of these to provide full support for instead of using the conversion routines. (This used to be commit d906ac5941fa22f93a38d65906b89a80f971b83c)
Diffstat (limited to 'source3/passdb/ldap.c')
-rw-r--r--source3/passdb/ldap.c35
1 files changed, 28 insertions, 7 deletions
diff --git a/source3/passdb/ldap.c b/source3/passdb/ldap.c
index 4ee53edbef..b644e8bb69 100644
--- a/source3/passdb/ldap.c
+++ b/source3/passdb/ldap.c
@@ -20,7 +20,7 @@
*/
-#ifdef USE_LDAP
+#ifdef USE_LDAP_DB
#include "includes.h"
@@ -945,6 +945,26 @@ static BOOL mod_ldappwd_entry(struct smb_passwd* pwd, BOOL override)
return mod_ldap21pwd_entry(pdb_smb_to_sam(pwd), override);
}
+static struct sam_disp_info *getldapdispnam(char *name)
+{
+ return pdb_sam_to_dispinfo(getldap21pwnam(name));
+}
+
+static struct sam_disp_info *getldapdisprid(uint32 rid)
+{
+ return pdb_sam_to_dispinfo(getldap21pwrid(rid));
+}
+
+static struct sam_disp_info *getldapdispent(void *vp)
+{
+ return pdb_sam_to_dispinfo(getldap21pwent(vp));
+}
+
+static struct sam_passwd *getldap21pwuid(uid_t uid)
+{
+ return pdb_smb_to_sam(iterate_getsam21pwuid(pdb_uid_to_user_rid(uid)));
+}
+
static struct passdb_ops ldap_ops =
{
startldappwent,
@@ -952,18 +972,19 @@ static struct passdb_ops ldap_ops =
getldappwpos,
setldappwpos,
getldappwnam,
- NULL, /* getldappwuid, */
- NULL, /* getldappwent, */
- NULL, /* add_ldappwd_entry, */
- NULL, /* mod_ldappwd_entry, */
+ getldappwuid,
+ getldappwent,
+ add_ldappwd_entry,
+ mod_ldappwd_entry,
getldap21pwent,
iterate_getsam21pwnam, /* From passdb.c */
iterate_getsam21pwuid, /* From passdb.c */
iterate_getsam21pwrid, /* From passdb.c */
add_ldap21pwd_entry,
mod_ldap21pwd_entry,
- NULL, /* getsamdisprid, */
- NULL /* getsamdispent */
+ getldapdispnam,
+ getldapdisprid,
+ getldapdispent
};
struct passdb_ops *ldap_initialize_password_db(void)