The Samba-Bugzilla – Attachment 9133 Details for
Bug 10086
async smb echo handler forked even for smb2
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
look (text/plain), 1.96 KB, created by
Volker Lendecke
on 2013-08-14 10:43:06 UTC
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Volker Lendecke
Created:
2013-08-14 10:43:06 UTC
Size:
1.96 KB
patch
obsolete
>From 9a36f952209bb1c73c9751ada529b2bd4180920c Mon Sep 17 00:00:00 2001 >From: Volker Lendecke <vl@samba.org> >Date: Wed, 14 Aug 2013 10:46:46 +0000 >Subject: [PATCH] smbd: Fix async echo handler forking (Bug 10086) > >If SMB3 is chosen via an SMB1 negprot, we forked the echo handler because >set_Protocol is called later, after the full protocol negotiation is done. > >Signed-off-by: Volker Lendecke <vl@samba.org> >--- > source3/smbd/negprot.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > >diff --git a/source3/smbd/negprot.c b/source3/smbd/negprot.c >index cfe0983..315bd89 100644 >--- a/source3/smbd/negprot.c >+++ b/source3/smbd/negprot.c >@@ -497,6 +497,7 @@ static const struct { > void reply_negprot(struct smb_request *req) > { > int choice= -1; >+ int chosen_level = -1; > int protocol; > const char *p; > int arch = ARCH_ALL; >@@ -653,8 +654,10 @@ void reply_negprot(struct smb_request *req) > if ((supported_protocols[protocol].protocol_level <= lp_srv_maxprotocol()) && > (supported_protocols[protocol].protocol_level >= lp_srv_minprotocol())) > while (i < num_cliprotos) { >- if (strequal(cliprotos[i],supported_protocols[protocol].proto_name)) >+ if (strequal(cliprotos[i],supported_protocols[protocol].proto_name)) { > choice = i; >+ chosen_level = supported_protocols[protocol].protocol_level; >+ } > i++; > } > if(choice != -1) >@@ -675,14 +678,14 @@ void reply_negprot(struct smb_request *req) > DEBUG( 5, ( "negprot index=%d\n", choice ) ); > > if ((lp_server_signing() == SMB_SIGNING_REQUIRED) >- && (get_Protocol() < PROTOCOL_NT1)) { >+ && (chosen_level < PROTOCOL_NT1)) { > exit_server_cleanly("SMB signing is required and " > "client negotiated a downlevel protocol"); > } > > TALLOC_FREE(cliprotos); > >- if (lp_async_smb_echo_handler() && (get_Protocol() < PROTOCOL_SMB2_02) && >+ if (lp_async_smb_echo_handler() && (chosen_level < PROTOCOL_SMB2_02) && > !fork_echo_handler(sconn)) { > exit_server("Failed to fork echo handler"); > } >-- >1.8.1.2 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
vl
:
review?
(
metze
)
Actions:
View
Attachments on
bug 10086
: 9133