From eb5582d28ae486f97427cd9015e717466879e4ab Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 22 Apr 2008 18:17:01 +0200 Subject: cli_rpc_pipe_open_noauth must take the user/domain from the smb session (This used to be commit 6f08128cf2722618e74b603e180e7e2a83d7d07a) --- source3/rpc_client/cli_pipe.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'source3/rpc_client/cli_pipe.c') diff --git a/source3/rpc_client/cli_pipe.c b/source3/rpc_client/cli_pipe.c index 1897cff18e..748a000b47 100644 --- a/source3/rpc_client/cli_pipe.c +++ b/source3/rpc_client/cli_pipe.c @@ -2482,6 +2482,24 @@ struct rpc_pipe_client *cli_rpc_pipe_open_noauth(struct cli_state *cli, int pipe return NULL; } + /* + * This is a bit of an abstraction violation due to the fact that an + * anonymous bind on an authenticated SMB inherits the user/domain + * from the enclosing SMB creds + */ + + TALLOC_FREE(auth->user_name); + TALLOC_FREE(auth->domain); + + auth->user_name = talloc_strdup(auth, cli->user_name); + auth->domain = talloc_strdup(auth, cli->domain); + + if ((auth->user_name == NULL) || (auth->domain == NULL)) { + *perr = NT_STATUS_NO_MEMORY; + TALLOC_FREE(result); + return NULL; + } + *perr = rpc_pipe_bind(result, auth); if (!NT_STATUS_IS_OK(*perr)) { int lvl = 0; -- cgit