From: Stefan Metzmacher Date: Tue, 19 Apr 2016 05:20:28 +0000 (+0200) Subject: s3:libsmb: don't finish the gensec handshake for guest logins X-Git-Tag: samba-4.2.12~19 X-Git-Url: http://git.samba.org/?p=samba.git;a=commitdiff_plain;h=0eebd689c51bddc140b0c00fb10242bace07de2d s3:libsmb: don't finish the gensec handshake for guest logins 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) --- 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; }