diff options
author | Jeremy Allison <jra@samba.org> | 1998-11-11 23:25:51 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 1998-11-11 23:25:51 +0000 |
commit | f49b994aeb987ac87c3c49f35ae1e05a7004f75d (patch) | |
tree | a0421163cc2a5aa3d9919577f845c2a88b181a94 /source3/rpc_server | |
parent | e41badad782f8a723d8037384f536df50295f288 (diff) | |
download | samba-f49b994aeb987ac87c3c49f35ae1e05a7004f75d.tar.gz samba-f49b994aeb987ac87c3c49f35ae1e05a7004f75d.tar.bz2 samba-f49b994aeb987ac87c3c49f35ae1e05a7004f75d.zip |
rpc_server/srv_netlog.c: Fixed crash bug with ACB_PWNOTREQ.
script/makeyodldocs.sh: Added code to make text docs for non-man page YODL docs.
web/cgi.c web/swat.c: SGI compiler warnings fixed.
Jeremy.
(This used to be commit 80e0f7e1071f032c5004aecb01a91d1397e6a161)
Diffstat (limited to 'source3/rpc_server')
-rw-r--r-- | source3/rpc_server/srv_netlog.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/source3/rpc_server/srv_netlog.c b/source3/rpc_server/srv_netlog.c index de3eaf9bd9..f93d09b3ba 100644 --- a/source3/rpc_server/srv_netlog.c +++ b/source3/rpc_server/srv_netlog.c @@ -544,8 +544,7 @@ static uint32 net_login_interactive(NET_ID_INFO_1 *id1, net_login_network: *************************************************************************/ static uint32 net_login_network(NET_ID_INFO_2 *id2, - struct smb_passwd *smb_pass, - user_struct *vuser) + struct smb_passwd *smb_pass) { DEBUG(5,("net_login_network: lm_len: %d nt_len: %d\n", id2->hdr_lm_chal_resp.str_str_len, @@ -674,15 +673,17 @@ static void api_net_sam_logon( uint16 vuid, smb_pass = getsmbpwnam(samlogon_user); unbecome_root(True); - if (smb_pass == NULL) + if (smb_pass->acct_ctrl & ACB_PWNOTREQ) + status = 0; + else if (smb_pass == NULL) status = 0xC0000000 | NT_STATUS_NO_SUCH_USER; else if (smb_pass->acct_ctrl & ACB_DISABLED) status = 0xC0000000 | NT_STATUS_ACCOUNT_DISABLED; } - /* validate password. */ + /* Validate password - if required. */ - if (status == 0) + if ((status == 0) && !(smb_pass->acct_ctrl & ACB_PWNOTREQ)) { switch (q_l.sam_id.logon_level) { @@ -695,7 +696,7 @@ static void api_net_sam_logon( uint16 vuid, case NET_LOGON_TYPE: { /* network login. lm challenge and 24 byte responses */ - status = net_login_network(&q_l.sam_id.ctr->auth.id2, smb_pass, vuser); + status = net_login_network(&q_l.sam_id.ctr->auth.id2, smb_pass); break; } } |