diff options
author | Luke Leighton <lkcl@samba.org> | 1998-05-19 19:17:35 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 1998-05-19 19:17:35 +0000 |
commit | 48c7034c92452982167adc2c34049dea353c272c (patch) | |
tree | 20d58e8ecb8f39118c0405ed70087daa0ba0cdd9 /source3/passdb/ldap.c | |
parent | 0a36b8d8a959c18c670a7e41e3f5a728f3ea88c3 (diff) | |
download | samba-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.c | 35 |
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) |