From 0eebd689c51bddc140b0c00fb10242bace07de2d Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Tue, 19 Apr 2016 07:20:28 +0200 Subject: [PATCH] s3:libsmb: don't finish the gensec handshake for guest logins MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit BUG: https://bugzilla.samba.org/show_bug.cgi?id=11841 Signed-off-by: Stefan Metzmacher Reviewed-by: Andreas Schneider Reviewed-by: Günther Deschner (cherry picked from commit fa5799207e55ee8e329f36f784d027845eaf0e34) --- source3/libsmb/cliconnect.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c index bad6c288a13..c4ac605396c 100644 --- a/source3/libsmb/cliconnect.c +++ b/source3/libsmb/cliconnect.c @@ -1590,6 +1590,27 @@ static void cli_session_setup_gensec_remote_done(struct tevent_req *subreq) } if (NT_STATUS_IS_OK(status)) { + struct smbXcli_session *session = NULL; + bool is_guest = false; + + if (smbXcli_conn_protocol(state->cli->conn) >= PROTOCOL_SMB2_02) { + session = state->cli->smb2.session; + } else { + session = state->cli->smb1.session; + } + + is_guest = smbXcli_session_is_guest(session); + if (is_guest) { + /* + * We can't finish the gensec handshake, we don't + * have a negotiated session key. + * + * So just pretend we are completely done. + */ + state->blob_in = data_blob_null; + state->local_ready = true; + } + state->remote_ready = true; } -- 2.47.2