mirror of
https://github.com/samba-team/samba.git
synced 2025-02-26 21:57:41 +03:00
s3:libsmb: move cli->sec_mode to cli->conn.smb1.server.security_mode
metze
This commit is contained in:
parent
8f44105cc4
commit
596aa96d17
@ -42,7 +42,6 @@ struct cli_state {
|
|||||||
* A list of subsidiary connections for DFS.
|
* A list of subsidiary connections for DFS.
|
||||||
*/
|
*/
|
||||||
struct cli_state *prev, *next;
|
struct cli_state *prev, *next;
|
||||||
int sec_mode;
|
|
||||||
int rap_error;
|
int rap_error;
|
||||||
NTSTATUS raw_status; /* maybe via NT_STATUS_DOS() */
|
NTSTATUS raw_status; /* maybe via NT_STATUS_DOS() */
|
||||||
|
|
||||||
@ -135,6 +134,7 @@ struct cli_state {
|
|||||||
uint32_t capabilities;
|
uint32_t capabilities;
|
||||||
uint32_t max_xmit;
|
uint32_t max_xmit;
|
||||||
uint16_t max_mux;
|
uint16_t max_mux;
|
||||||
|
uint16_t security_mode;
|
||||||
} server;
|
} server;
|
||||||
|
|
||||||
uint32_t capabilities;
|
uint32_t capabilities;
|
||||||
|
@ -2615,6 +2615,7 @@ static void cli_negprot_done(struct tevent_req *subreq)
|
|||||||
uint32_t server_max_xmit = 0;
|
uint32_t server_max_xmit = 0;
|
||||||
uint32_t max_xmit;
|
uint32_t max_xmit;
|
||||||
uint32_t server_max_mux = 0;
|
uint32_t server_max_mux = 0;
|
||||||
|
uint16_t server_security_mode = 0;
|
||||||
enum protocol_types protocol;
|
enum protocol_types protocol;
|
||||||
|
|
||||||
status = cli_smb_recv(subreq, state, &inbuf, 1, &wct, &vwv,
|
status = cli_smb_recv(subreq, state, &inbuf, 1, &wct, &vwv,
|
||||||
@ -2656,7 +2657,7 @@ static void cli_negprot_done(struct tevent_req *subreq)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* NT protocol */
|
/* NT protocol */
|
||||||
cli->sec_mode = CVAL(vwv + 1, 0);
|
server_security_mode = CVAL(vwv + 1, 0);
|
||||||
server_max_mux = SVAL(vwv + 1, 1);
|
server_max_mux = SVAL(vwv + 1, 1);
|
||||||
server_max_xmit = IVAL(vwv + 3, 1);
|
server_max_xmit = IVAL(vwv + 3, 1);
|
||||||
cli->sesskey = IVAL(vwv + 7, 1);
|
cli->sesskey = IVAL(vwv + 7, 1);
|
||||||
@ -2692,11 +2693,11 @@ static void cli_negprot_done(struct tevent_req *subreq)
|
|||||||
}
|
}
|
||||||
|
|
||||||
server_signing = "not supported";
|
server_signing = "not supported";
|
||||||
if (cli->sec_mode & NEGOTIATE_SECURITY_SIGNATURES_ENABLED) {
|
if (server_security_mode & NEGOTIATE_SECURITY_SIGNATURES_ENABLED) {
|
||||||
server_signing = "supported";
|
server_signing = "supported";
|
||||||
server_allowed = true;
|
server_allowed = true;
|
||||||
}
|
}
|
||||||
if (cli->sec_mode & NEGOTIATE_SECURITY_SIGNATURES_REQUIRED) {
|
if (server_security_mode & NEGOTIATE_SECURITY_SIGNATURES_REQUIRED) {
|
||||||
server_signing = "required";
|
server_signing = "required";
|
||||||
server_mandatory = true;
|
server_mandatory = true;
|
||||||
}
|
}
|
||||||
@ -2718,7 +2719,7 @@ static void cli_negprot_done(struct tevent_req *subreq)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
cli->sec_mode = SVAL(vwv + 1, 0);
|
server_security_mode = SVAL(vwv + 1, 0);
|
||||||
server_max_xmit = SVAL(vwv + 2, 0);
|
server_max_xmit = SVAL(vwv + 2, 0);
|
||||||
server_max_mux = SVAL(vwv + 3, 0);
|
server_max_mux = SVAL(vwv + 3, 0);
|
||||||
cli->sesskey = IVAL(vwv + 6, 0);
|
cli->sesskey = IVAL(vwv + 6, 0);
|
||||||
@ -2732,10 +2733,10 @@ static void cli_negprot_done(struct tevent_req *subreq)
|
|||||||
cli->secblob = data_blob(bytes, num_bytes);
|
cli->secblob = data_blob(bytes, num_bytes);
|
||||||
} else {
|
} else {
|
||||||
/* the old core protocol */
|
/* the old core protocol */
|
||||||
cli->sec_mode = 0;
|
|
||||||
cli->serverzone = get_time_zone(time(NULL));
|
cli->serverzone = get_time_zone(time(NULL));
|
||||||
server_max_xmit = 1024;
|
server_max_xmit = 1024;
|
||||||
server_max_mux = 1;
|
server_max_mux = 1;
|
||||||
|
server_security_mode = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (server_max_xmit < 1024) {
|
if (server_max_xmit < 1024) {
|
||||||
@ -2772,6 +2773,8 @@ static void cli_negprot_done(struct tevent_req *subreq)
|
|||||||
|
|
||||||
cli->conn.smb1.server.max_mux = server_max_mux;
|
cli->conn.smb1.server.max_mux = server_max_mux;
|
||||||
|
|
||||||
|
cli->conn.smb1.server.security_mode = server_security_mode;
|
||||||
|
|
||||||
tevent_req_done(req);
|
tevent_req_done(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -568,7 +568,7 @@ uint16_t cli_state_max_requests(struct cli_state *cli)
|
|||||||
|
|
||||||
uint16_t cli_state_security_mode(struct cli_state *cli)
|
uint16_t cli_state_security_mode(struct cli_state *cli)
|
||||||
{
|
{
|
||||||
return cli->sec_mode;
|
return cli->conn.smb1.server.security_mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cli_state_server_time_zone(struct cli_state *cli)
|
int cli_state_server_time_zone(struct cli_state *cli)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user