summaryrefslogtreecommitdiffstats
path: root/source/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
commitd906ac5941fa22f93a38d65906b89a80f971b83c (patch)
tree94edfc60906bb57b4f8f667aff2598c6e1640a15 /source/passdb/ldap.c
parent0193dd21c3c44e0611add742c6f92b92474de6b8 (diff)
downloadsamba-d906ac5941fa22f93a38d65906b89a80f971b83c.tar.gz
samba-d906ac5941fa22f93a38d65906b89a80f971b83c.tar.xz
samba-d906ac5941fa22f93a38d65906b89a80f971b83c.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.
Diffstat (limited to 'source/passdb/ldap.c')
-rw-r--r--source/passdb/ldap.c35
1 files changed, 28 insertions, 7 deletions
diff --git a/source/passdb/ldap.c b/source/passdb/ldap.c
index 4ee53edbef4..b644e8bb690 100644
--- a/source/passdb/ldap.c
+++ b/source/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)