summaryrefslogtreecommitdiff
path: root/source3/passdb
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1998-05-18 14:43:06 +0000
committerLuke Leighton <lkcl@samba.org>1998-05-18 14:43:06 +0000
commitc7890d44c76d1746f4dfe994b24acc3799075028 (patch)
tree07c7524ff6121a973098f8893f42e271f2e33c29 /source3/passdb
parent646ab2b0a773592a5973ce78fecfb24b39aa2506 (diff)
downloadsamba-c7890d44c76d1746f4dfe994b24acc3799075028.tar.gz
samba-c7890d44c76d1746f4dfe994b24acc3799075028.tar.bz2
samba-c7890d44c76d1746f4dfe994b24acc3799075028.zip
no include headers in ldap.c.
passdb.c sam_passwd <-> smb_passwd conversion routines (This used to be commit 8082239c81dfed5e3cc34a4d0a4e7195398ae627)
Diffstat (limited to 'source3/passdb')
-rw-r--r--source3/passdb/ldap.c3
-rw-r--r--source3/passdb/passdb.c69
2 files changed, 72 insertions, 0 deletions
diff --git a/source3/passdb/ldap.c b/source3/passdb/ldap.c
index af595d0c0a..9693ab1e73 100644
--- a/source3/passdb/ldap.c
+++ b/source3/passdb/ldap.c
@@ -24,6 +24,9 @@
#include "includes.h"
+#include <ldap.h>
+#include <lber.h>
+
#define ADD_USER 1
#define MODIFY_USER 2
diff --git a/source3/passdb/passdb.c b/source3/passdb/passdb.c
index 411b76d006..82ee94a151 100644
--- a/source3/passdb/passdb.c
+++ b/source3/passdb/passdb.c
@@ -492,6 +492,75 @@ struct sam_passwd *getsam21pwrid(uint32 rid)
**********************************************************
**********************************************************/
+/*************************************************************
+ initialises a struct smb_passwd.
+ **************************************************************/
+void pdb_init_sam(struct smb_passwd *user)
+{
+ if (user == NULL) return;
+
+ bzero(user, sizeof(*user));
+ user->pass_last_set_time = (time_t)-1;
+}
+
+/*************************************************************
+ initialises a struct sam_passwd.
+ **************************************************************/
+void pdb_init_sam(struct sam_passwd *user)
+{
+ if (user == NULL) return;
+
+ bzero(user, sizeof(*user));
+ user->logon_time = (time_t)-1;
+ user->logoff_time = (time_t)-1;
+ user->kickoff_time = (time_t)-1;
+ user->pass_last_set_time = (time_t)-1;
+ user->pass_can_change_time = (time_t)-1;
+ user->pass_must_change_time = (time_t)-1;
+}
+
+/*************************************************************
+ converts a sam_passwd structure to a smb_passwd structure.
+ **************************************************************/
+struct smb_passwd *pdb_sam_to_smb(struct sam_passwd *user)
+{
+ static struct smb_passwd pw_buf;
+
+ if (user == NULL) return NULL;
+
+ pdb_init_sam(&pw_buf);
+
+ pw_buf.smb_userid = user->smb_userid;
+ pw_buf.smb_name = user->smb_name;
+ pw_buf.smb_passwd = user->smb_passwd;
+ pw_buf.smb_nt_passwd = user->smb_nt_passwd;
+ pw_buf.acct_ctrl = user->acct_ctrl;
+ pw_buf.pass_last_set_time = user->pass_last_set_time;
+
+ return &pw_buf;
+}
+
+/*************************************************************
+ converts a smb_passwd structure to a sam_passwd structure.
+ **************************************************************/
+struct sam_passwd *pdb_smb_to_sam(struct smb_passwd *user)
+{
+ static struct sam_passwd pw_buf;
+
+ if (user == NULL) return NULL;
+
+ pdb_init_smb(&pw_buf);
+
+ pw_buf.smb_userid = user->smb_userid;
+ pw_buf.smb_name = user->smb_name;
+ pw_buf.smb_passwd = user->smb_passwd;
+ pw_buf.smb_nt_passwd = user->smb_nt_passwd;
+ pw_buf.acct_ctrl = user->acct_ctrl;
+ pw_buf.pass_last_set_time = user->pass_last_set_time;
+
+ return &pw_buf;
+}
+
/*******************************************************************
gets password-database-format time from a string.
********************************************************************/