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 | d906ac5941fa22f93a38d65906b89a80f971b83c (patch) | |
tree | 94edfc60906bb57b4f8f667aff2598c6e1640a15 /source/passdb/ldap.c | |
parent | 0193dd21c3c44e0611add742c6f92b92474de6b8 (diff) | |
download | samba-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.c | 35 |
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) |