mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
r4095: smbsrv_terminate_connection() doesn't exit() in single processor mode, so after we
call it we need to return, and not continue processing packets
(This used to be commit 33e4cee17d
)
This commit is contained in:
parent
57314e0df3
commit
071439c1e1
@ -63,6 +63,7 @@ static void reply_corep(struct smbsrv_request *req, uint16_t choice)
|
||||
if (req->smb_conn->signing.mandatory_signing) {
|
||||
smbsrv_terminate_connection(req->smb_conn,
|
||||
"CORE does not support SMB signing, and it is mandetory\n");
|
||||
return;
|
||||
}
|
||||
|
||||
req_send_reply(req);
|
||||
@ -95,6 +96,7 @@ static void reply_coreplus(struct smbsrv_request *req, uint16_t choice)
|
||||
if (req->smb_conn->signing.mandatory_signing) {
|
||||
smbsrv_terminate_connection(req->smb_conn,
|
||||
"COREPLUS does not support SMB signing, and it is mandetory\n");
|
||||
return;
|
||||
}
|
||||
|
||||
req_send_reply(req);
|
||||
@ -145,6 +147,7 @@ static void reply_lanman1(struct smbsrv_request *req, uint16_t choice)
|
||||
if (req->smb_conn->signing.mandatory_signing) {
|
||||
smbsrv_terminate_connection(req->smb_conn,
|
||||
"LANMAN1 does not support SMB signing, and it is mandetory\n");
|
||||
return;
|
||||
}
|
||||
|
||||
req_send_reply(req);
|
||||
@ -193,6 +196,7 @@ static void reply_lanman2(struct smbsrv_request *req, uint16_t choice)
|
||||
if (req->smb_conn->signing.mandatory_signing) {
|
||||
smbsrv_terminate_connection(req->smb_conn,
|
||||
"LANMAN2 does not support SMB signing, and it is mandetory\n");
|
||||
return;
|
||||
}
|
||||
|
||||
req_send_reply(req);
|
||||
|
@ -2378,14 +2378,17 @@ void reply_special(struct smbsrv_request *req)
|
||||
switch (msg_type) {
|
||||
case 0x81: /* session request */
|
||||
if (req->smb_conn->negotiate.done_nbt_session) {
|
||||
smbsrv_terminate_connection(req->smb_conn, "multiple session request not permitted");
|
||||
smbsrv_terminate_connection(req->smb_conn,
|
||||
"multiple session request not permitted");
|
||||
return;
|
||||
}
|
||||
|
||||
SCVAL(buf,0,0x82);
|
||||
SCVAL(buf,3,0);
|
||||
|
||||
DEBUG(0,("REWRITE: not parsing netbios names in NBT session request!\n"));
|
||||
/* TODO: store the name for the session setup 'remote machine' code, as well as smbstatus */
|
||||
/* TODO: store the name for the session setup 'remote
|
||||
machine' code, as well as smbstatus */
|
||||
|
||||
req->smb_conn->negotiate.done_nbt_session = True;
|
||||
|
||||
|
@ -86,6 +86,7 @@ static void req_setup_chain_reply(struct smbsrv_request *req, uint_t wct, uint_t
|
||||
req->out.buffer = talloc_realloc(req, req->out.buffer, req->out.allocated);
|
||||
if (!req->out.buffer) {
|
||||
smbsrv_terminate_connection(req->smb_conn, "allocation failed");
|
||||
return;
|
||||
}
|
||||
|
||||
req->out.hdr = req->out.buffer + NBT_HDR_SIZE;
|
||||
@ -120,6 +121,7 @@ void req_setup_reply(struct smbsrv_request *req, uint_t wct, uint_t buflen)
|
||||
req->out.buffer = talloc(req, req->out.allocated);
|
||||
if (!req->out.buffer) {
|
||||
smbsrv_terminate_connection(req->smb_conn, "allocation failed");
|
||||
return;
|
||||
}
|
||||
|
||||
req->out.hdr = req->out.buffer + NBT_HDR_SIZE;
|
||||
|
Loading…
Reference in New Issue
Block a user