From 6b70e2c7fd55f6cd21c645ffd587c71ddc354374 Mon Sep 17 00:00:00 2001 From: Luke Leighton Date: Fri, 8 May 1998 11:30:17 +0000 Subject: 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) --- source3/include/smb.h | 44 +++++++++++++++++++++++++++++++++++++------- 1 file 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 { -- cgit