summaryrefslogtreecommitdiff
path: root/source3/passdb/nispass.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/nispass.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/nispass.c')
-rw-r--r--source3/passdb/nispass.c62
1 files changed, 54 insertions, 8 deletions
diff --git a/source3/passdb/nispass.c b/source3/passdb/nispass.c
index cb49f15059..ea379f5874 100644
--- a/source3/passdb/nispass.c
+++ b/source3/passdb/nispass.c
@@ -509,24 +509,70 @@ static struct sam_passwd *getnisp21pwrid(uint32 rid)
* Derived functions for NIS+.
*/
+static struct smb_passwd *getnisppwent(void *vp)
+{
+ return pdb_sam_to_smb(getnisp21pwent(vp));
+}
+
+static BOOL add_nisppwd_entry(struct smb_passwd *newpwd)
+{
+ return add_nisp21pwd_entry(pdb_smb_to_sam(newpwd));
+}
+
+static BOOL mod_nisppwd_entry(struct smb_passwd* pwd, BOOL override)
+{
+ return mod_nisp21pwd_entry(pdb_smb_to_sam(pwd), override);
+}
+
+static struct smb_passwd *getnisppwnam(char *name)
+{
+ return pdb_sam_to_smb(getnisp21pwnam(name));
+}
+
+static struct sam_passwd *getnisp21pwuid(uid_t smb_userid)
+{
+ return getnisp21pwrid(pdb_uid_to_user_rid(smb_userid));
+}
+
+static struct smb_passwd *getnisppwuid(uid_t smb_userid)
+{
+ return pdb_sam_to_smb(getnisp21pwuid(smb_userid));
+}
+
+static struct sam_disp_info *getnispdispnam(char *name)
+{
+ return pdb_sam_to_dispinfo(getnisp21pwnam(name));
+}
+
+static struct sam_disp_info *getnispdisprid(uint32 rid)
+{
+ return pdb_sam_to_dispinfo(getnisp21pwrid(rid));
+}
+
+static struct sam_disp_info *getnispdispent(void *vp)
+{
+ return pdb_sam_to_dispinfo(getnisp21pwent(vp));
+}
+
static struct passdb_ops nispasswd_ops = {
startnisppwent,
endnisppwent,
getnisppwpos,
setnisppwpos,
- NULL, /* getnispwnam, */
- NULL, /* getnispwuid, */
- NULL, /* getnispwent, */
- NULL, /* add_nispwd_entry, */
- NULL, /* mod_nispwd_entry, */
+ getnisppwnam,
+ getnisppwuid,
+ getnisppwent,
+ add_nisppwd_entry,
+ mod_nisppwd_entry,
getnisp21pwent,
getnisp21pwnam,
- NULL, /* getsam21pwuid */
+ getnisp21pwuid,
getnisp21pwrid,
add_nisp21pwd_entry,
mod_nisp21pwd_entry,
- NULL, /* getsamdisprid */
- NULL /* getsamdispent */
+ getnispdispnam,
+ getnispdisprid,
+ getnispdispent
};
struct passdb_ops *nisplus_initialize_password_db(void)