summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1998-05-08 11:30:17 +0000
committerLuke Leighton <lkcl@samba.org>1998-05-08 11:30:17 +0000
commit6b70e2c7fd55f6cd21c645ffd587c71ddc354374 (patch)
treebda8eb80b0a1d23029f012b5922241c2b5d15571
parent51bc0c19c06f480c03cfc279388387c0aa8ae75c (diff)
downloadsamba-6b70e2c7fd55f6cd21c645ffd587c71ddc354374.tar.gz
samba-6b70e2c7fd55f6cd21c645ffd587c71ddc354374.tar.bz2
samba-6b70e2c7fd55f6cd21c645ffd587c71ddc354374.zip
added extra fields to struct smb_passwd
the smbpw functions are expected to fill in the blanks by reading the appropriate smb.conf parameters. the ldappw functions are expected to fill in the fields from the ldap database. a separate utility can be written to fill in the ldap database fields from the smb.conf parameters, at a later date. (This used to be commit 0b6394c83ec20afdd8065da6785e057c35f3951f)
-rw-r--r--source3/include/smb.h44
1 files changed, 37 insertions, 7 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h
index 429ce87f40..11e7409a9a 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -272,17 +272,47 @@ typedef struct nttime_info
#define ACB_PWNOEXP 0x0200 /* 1 = User password does not expire */
#define ACB_AUTOLOCK 0x0400 /* 1 = Account auto locked */
+#define MAX_HOURS_LEN 32
+
struct smb_passwd
{
- int smb_userid;
- char *smb_name;
- unsigned char *smb_passwd; /* Null if no password */
- unsigned char *smb_nt_passwd; /* Null if no password */
- /* Other fields / flags may be added later */
- uint16 acct_ctrl;
- time_t last_change_time;
+ time_t logon_time; /* logon time */
+ time_t logoff_time; /* logoff time */
+ time_t kickoff_time; /* kickoff time */
+ time_t pass_last_set_time; /* password last set time */
+ time_t pass_can_change_time; /* password can change time */
+ time_t pass_must_change_time; /* password must change time */
+
+ char *smb_name; /* username unicode string */
+ char *full_name; /* user's full name unicode string */
+ char *home_dir; /* home directory unicode string */
+ char *dir_drive; /* home directory drive unicode string */
+ char *logon_script; /* logon script unicode string */
+ char *profile_path; /* profile path unicode string */
+ char *acct_desc ; /* user description unicode string */
+ char *workstations; /* login from workstations unicode string */
+ char *unknown_str ; /* don't know what this is, yet. */
+ char *munged_dial ; /* munged path name and dial-back tel number */
+
+ int smb_userid; /* this is actually the unix uid_t */
+ uint32 user_rid; /* Primary User ID */
+ uint32 group_rid; /* Primary Group ID */
+
+ unsigned char *smb_passwd; /* Null if no password */
+ unsigned char *smb_nt_passwd; /* Null if no password */
+
+ uint16 acct_ctrl; /* account info (ACB_xxxx bit-mask) */
+ uint32 unknown_3; /* 0x00ff ffff */
+
+ uint16 logon_divs; /* 168 - number of hours in a week */
+ uint32 hours_len; /* normally 21 bytes */
+ uint8 hours[MAX_HOURS_LEN];
+
+ uint32 unknown_5; /* 0x0002 0000 */
+ uint32 unknown_6; /* 0x0000 04ec */
};
+
/* DOM_CHAL - challenge info */
typedef struct chal_info
{