mirror of
https://github.com/samba-team/samba.git
synced 2025-10-23 11:33:16 +03:00
s3:libsmb: move cli->max_xmit to cli->conn.smb1.max_xmit
And keep cli->conn.smb1.client.max_xmit and cli->conn.smb1.server.max_xmit. metze
This commit is contained in:
@@ -2611,6 +2611,9 @@ static void cli_negprot_done(struct tevent_req *subreq)
|
||||
uint32_t both_capabilities;
|
||||
uint32_t server_capabilities = 0;
|
||||
uint32_t capabilities;
|
||||
uint32_t client_max_xmit = cli->conn.smb1.client.max_xmit;
|
||||
uint32_t server_max_xmit = 0;
|
||||
uint32_t max_xmit;
|
||||
enum protocol_types protocol;
|
||||
|
||||
status = cli_smb_recv(subreq, state, &inbuf, 1, &wct, &vwv,
|
||||
@@ -2654,7 +2657,7 @@ static void cli_negprot_done(struct tevent_req *subreq)
|
||||
/* NT protocol */
|
||||
cli->sec_mode = CVAL(vwv + 1, 0);
|
||||
cli->max_mux = SVAL(vwv + 1, 1);
|
||||
cli->max_xmit = IVAL(vwv + 3, 1);
|
||||
server_max_xmit = IVAL(vwv + 3, 1);
|
||||
cli->sesskey = IVAL(vwv + 7, 1);
|
||||
cli->serverzone = SVALS(vwv + 15, 1);
|
||||
cli->serverzone *= 60;
|
||||
@@ -2715,7 +2718,7 @@ static void cli_negprot_done(struct tevent_req *subreq)
|
||||
}
|
||||
|
||||
cli->sec_mode = SVAL(vwv + 1, 0);
|
||||
cli->max_xmit = SVAL(vwv + 2, 0);
|
||||
server_max_xmit = SVAL(vwv + 2, 0);
|
||||
cli->max_mux = SVAL(vwv + 3, 0);
|
||||
cli->sesskey = IVAL(vwv + 6, 0);
|
||||
cli->serverzone = SVALS(vwv + 10, 0);
|
||||
@@ -2730,11 +2733,11 @@ static void cli_negprot_done(struct tevent_req *subreq)
|
||||
/* the old core protocol */
|
||||
cli->sec_mode = 0;
|
||||
cli->serverzone = get_time_zone(time(NULL));
|
||||
cli->max_xmit = 1024;
|
||||
server_max_xmit = 1024;
|
||||
cli->max_mux = 1;
|
||||
}
|
||||
|
||||
if (cli->max_xmit < 1024) {
|
||||
if (server_max_xmit < 1024) {
|
||||
tevent_req_nterror(req, NT_STATUS_INVALID_NETWORK_RESPONSE);
|
||||
return;
|
||||
}
|
||||
@@ -2744,8 +2747,6 @@ static void cli_negprot_done(struct tevent_req *subreq)
|
||||
return;
|
||||
}
|
||||
|
||||
cli->max_xmit = MIN(cli->max_xmit, CLI_BUFFER_SIZE);
|
||||
|
||||
/*
|
||||
* Now calculate the negotiated capabilities
|
||||
* based on the mask for:
|
||||
@@ -2758,11 +2759,16 @@ static void cli_negprot_done(struct tevent_req *subreq)
|
||||
capabilities |= both_capabilities & SMB_CAP_BOTH_MASK;
|
||||
capabilities |= server_capabilities & SMB_CAP_SERVER_MASK;
|
||||
|
||||
max_xmit = MIN(client_max_xmit, server_max_xmit);
|
||||
|
||||
cli->conn.protocol = protocol;
|
||||
|
||||
cli->conn.smb1.server.capabilities = server_capabilities;
|
||||
cli->conn.smb1.capabilities = capabilities;
|
||||
|
||||
cli->conn.smb1.server.max_xmit = server_max_xmit;
|
||||
cli->conn.smb1.max_xmit = max_xmit;
|
||||
|
||||
tevent_req_done(req);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user