summaryrefslogtreecommitdiffstats
path: root/source/rpc_server/srv_netlog_nt.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/rpc_server/srv_netlog_nt.c')
-rw-r--r--source/rpc_server/srv_netlog_nt.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/source/rpc_server/srv_netlog_nt.c b/source/rpc_server/srv_netlog_nt.c
index d41ae44ac60..fa6b9458152 100644
--- a/source/rpc_server/srv_netlog_nt.c
+++ b/source/rpc_server/srv_netlog_nt.c
@@ -594,9 +594,11 @@ uint32 _net_sam_logon(pipes_struct *p, NET_Q_SAM_LOGON *q_u, NET_R_SAM_LOGON *r_
}
#ifdef WITH_PAM
- if (!smb_pam_accountcheck(nt_username)) {
- return NT_STATUS_ACCOUNT_DISABLED;
- }
+ become_root();
+ status = smb_pam_accountcheck(nt_username);
+ unbecome_root();
+ if (status != NT_STATUS_NOPROBLEMO)
+ return status;
#endif
if (!(smb_pass->acct_ctrl & ACB_PWNOTREQ)) {