summaryrefslogtreecommitdiff
path: root/source3/rpc_server/srv_util.c
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1998-10-16 23:40:59 +0000
committerLuke Leighton <lkcl@samba.org>1998-10-16 23:40:59 +0000
commita785f8d2c90f3db579c781ca5f722cb5b695fcb4 (patch)
treec4927b78c9cc0db63d8c1625bb99e125cc98380d /source3/rpc_server/srv_util.c
parentbad4e66489075fd5365e1bfdd8d1b8b633ae0004 (diff)
downloadsamba-a785f8d2c90f3db579c781ca5f722cb5b695fcb4.tar.gz
samba-a785f8d2c90f3db579c781ca5f722cb5b695fcb4.tar.bz2
samba-a785f8d2c90f3db579c781ca5f722cb5b695fcb4.zip
dce/rpc
(This used to be commit 29434f496c18e816d864060d68f357aea6ef5de8)
Diffstat (limited to 'source3/rpc_server/srv_util.c')
-rw-r--r--source3/rpc_server/srv_util.c27
1 files changed, 22 insertions, 5 deletions
diff --git a/source3/rpc_server/srv_util.c b/source3/rpc_server/srv_util.c
index 76f113374d..93640f3445 100644
--- a/source3/rpc_server/srv_util.c
+++ b/source3/rpc_server/srv_util.c
@@ -248,11 +248,12 @@ static BOOL api_pipe_ntlmssp_verify(pipes_struct *p)
dump_data(100, lm_owf, sizeof(lm_owf));
dump_data(100, nt_owf, sizeof(nt_owf));
#endif
- return True;
-#if 0
- return pass_check_smb(p->user_name, p->domain,
- p->ntplssp_chal.challenge, lm_owf, nt_owf);
-#endif
+ become_root(True);
+ p->ntlmssp_validated = pass_check_smb(p->user_name, p->domain,
+ p->ntlmssp_chal.challenge, lm_owf, nt_owf, NULL);
+ unbecome_root(True);
+
+ return p->ntlmssp_validated;
}
static BOOL api_pipe_ntlmssp(pipes_struct *p, prs_struct *pd)
@@ -486,10 +487,26 @@ static BOOL api_pipe_bind_req(pipes_struct *p, prs_struct *pd)
return True;
}
+
+static BOOL api_pipe_auth_process(pipes_struct *p, prs_struct *pd)
+{
+ return True;
+}
+
static BOOL api_pipe_request(pipes_struct *p, prs_struct *pd)
{
int i = 0;
+ if (p->ntlmssp_auth && p->ntlmssp_validated)
+ {
+ if (!api_pipe_auth_process(p)) return False;
+
+ DEBUG(0,("api_pipe_request: **** MUST CALL become_user() HERE **** \n"));
+#if 0
+ become_user();
+#endif
+ }
+
for (i = 0; api_fd_commands[i].pipe_clnt_name; i++)
{
if (strequal(api_fd_commands[i].pipe_clnt_name, p->name) &&