diff options
author | Simo Sorce <idra@samba.org> | 2010-07-30 13:12:35 -0400 |
---|---|---|
committer | Simo Sorce <idra@samba.org> | 2010-07-30 14:55:28 -0400 |
commit | 4c64e4d4af3403559b370381d7f14a83a39adfa7 (patch) | |
tree | 4a4cd97dd4250297f219fd5b041c062ddf20f355 /source3/rpc_client | |
parent | 3469fbc5e4098e798a03d14fece24fde2b60d9b9 (diff) | |
download | samba-4c64e4d4af3403559b370381d7f14a83a39adfa7.tar.gz samba-4c64e4d4af3403559b370381d7f14a83a39adfa7.tar.xz samba-4c64e4d4af3403559b370381d7f14a83a39adfa7.zip |
s3-dceprc: Improve dcerpc_guess_sizes() interface
Make it possible to pass in the NDR padding size so that theoretically
client and server code can decide to use a different alignment.
Pass in the header length as a parameter so that this function can be used for
different type of packets.
Make sure padding size will not make the fragment exceed the maximum length.
Calculate padding taking in account the header length.
Diffstat (limited to 'source3/rpc_client')
-rw-r--r-- | source3/rpc_client/cli_pipe.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source3/rpc_client/cli_pipe.c b/source3/rpc_client/cli_pipe.c index 99e856dfd82..2bb9aad9e31 100644 --- a/source3/rpc_client/cli_pipe.c +++ b/source3/rpc_client/cli_pipe.c @@ -1286,8 +1286,10 @@ static NTSTATUS prepare_next_frag(struct rpc_api_pipe_req_state *state, data_left = state->req_data->length - state->req_data_sent; - status = dcerpc_guess_sizes(state->cli->auth, data_left, + status = dcerpc_guess_sizes(state->cli->auth, + DCERPC_REQUEST_LENGTH, data_left, state->cli->max_xmit_frag, + CLIENT_NDR_PADDING_SIZE, &data_sent_thistime, &frag_len, &auth_len, &pad_len); if (!NT_STATUS_IS_OK(status)) { |