diff options
author | Gerald Carter <jerry@samba.org> | 2000-11-22 19:51:41 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2000-11-22 19:51:41 +0000 |
commit | af85ca538cc1f04f089c85dd5814f4c66036bc79 (patch) | |
tree | 6fd067abc9c08cca4b3e7842ea9ef7954d5b410f | |
parent | b935b968ec0bf595940824cff2e0462badadf7a4 (diff) | |
download | samba-af85ca538cc1f04f089c85dd5814f4c66036bc79.tar.gz samba-af85ca538cc1f04f089c85dd5814f4c66036bc79.tar.bz2 samba-af85ca538cc1f04f089c85dd5814f4c66036bc79.zip |
o fixed logon script problems (wrong len in reply to net_sam_logon for
a few strings). I was the one who broke it obviously.
o changed a few more defaults in the smbpasswd backend with
respect to times. Now the logon time becomes '0' and the
pass_can_change_time is set ot the same as pass_last_set_time
o change Get_Pwnam() call in local_lookup_name to sys_getpwnam()
as it did not seem necessary to try case permutations in the
username.
Tim, I think this was your code, so you might want to double
check me.
-- jerry
(This used to be commit 37a665002c5cd7908c13d306f61af272a899dbc8)
-rw-r--r-- | source3/passdb/passdb.c | 6 | ||||
-rw-r--r-- | source3/passdb/pdb_smbpasswd.c | 1 | ||||
-rw-r--r-- | source3/rpc_parse/parse_net.c | 12 |
3 files changed, 10 insertions, 9 deletions
diff --git a/source3/passdb/passdb.c b/source3/passdb/passdb.c index 217916bc98..27934cb118 100644 --- a/source3/passdb/passdb.c +++ b/source3/passdb/passdb.c @@ -107,7 +107,7 @@ void pdb_init_sam(SAM_ACCOUNT *user) ZERO_STRUCTP(user); - user->logon_time = (time_t)-1; + user->logon_time = (time_t)0; user->logoff_time = (time_t)-1; user->kickoff_time = (time_t)-1; user->pass_last_set_time = (time_t)-1; @@ -508,7 +508,7 @@ BOOL local_lookup_name(char *domain, char *user, DOM_SID *psid, enum SID_NAME_US (void)map_username(user); - if(!(pass = Get_Pwnam(user, False))) { + if(!(pass = sys_getpwnam(user))) { /* * Maybe it was a group ? */ @@ -1024,7 +1024,7 @@ time_t pdb_get_logon_time (SAM_ACCOUNT *sampass) if (sampass) return (sampass->logon_time); else - return (-1); + return (0); } time_t pdb_get_logoff_time (SAM_ACCOUNT *sampass) diff --git a/source3/passdb/pdb_smbpasswd.c b/source3/passdb/pdb_smbpasswd.c index 951c97ab3c..38059d5ef3 100644 --- a/source3/passdb/pdb_smbpasswd.c +++ b/source3/passdb/pdb_smbpasswd.c @@ -1252,6 +1252,7 @@ static BOOL build_sam_account (SAM_ACCOUNT *sam_pass, pdb_set_lanman_passwd (sam_pass, pw_buf->smb_passwd); pdb_set_acct_ctrl (sam_pass, pw_buf->acct_ctrl); pdb_set_pass_last_set_time (sam_pass, pw_buf->pass_last_set_time); + pdb_set_pass_can_change_time (sam_pass, pw_buf->pass_last_set_time); pdb_set_domain (sam_pass, lp_workgroup()); /* FIXME!! What should this be set to? New smb.conf parameter maybe? diff --git a/source3/rpc_parse/parse_net.c b/source3/rpc_parse/parse_net.c index 904f3f3612..1080995aa4 100644 --- a/source3/rpc_parse/parse_net.c +++ b/source3/rpc_parse/parse_net.c @@ -1034,12 +1034,12 @@ void init_net_user_info3(NET_USER_INFO_3 *usr, SAM_ACCOUNT *sampw, int len_logon_srv = strlen(logon_srv); int len_logon_dom = strlen(logon_dom); - len_user_name = user_name != NULL ? strlen(user_name )+1 : 0; - len_full_name = full_name != NULL ? strlen(full_name )+1 : 0; - len_home_dir = home_dir != NULL ? strlen(home_dir )+1 : 0; - len_dir_drive = dir_drive != NULL ? strlen(dir_drive )+1 : 0; - len_logon_script = logon_script != NULL ? strlen(logon_script)+1 : 0; - len_profile_path = profile_path != NULL ? strlen(profile_path)+1 : 0; + len_user_name = strlen(user_name ); + len_full_name = strlen(full_name ); + len_home_dir = strlen(home_dir ); + len_dir_drive = strlen(dir_drive ); + len_logon_script = strlen(logon_script); + len_profile_path = strlen(profile_path); ZERO_STRUCTP(usr); |