1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-02 09:47:23 +03:00

s4:rpc_server: convert dcesrv_auth_response() into a generic dcesrv_auth_pkt_push()

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
This commit is contained in:
Stefan Metzmacher 2015-10-23 16:06:17 +02:00 committed by Andreas Schneider
parent bc73cd97ee
commit 1a46ff2a0f
2 changed files with 11 additions and 5 deletions

View File

@ -225,6 +225,7 @@ _PUBLIC_ NTSTATUS dcesrv_reply(struct dcesrv_call_state *call)
uint32_t length;
struct data_blob_list_item *rep;
struct ncacn_packet pkt;
bool ok;
rep = talloc_zero(call, struct data_blob_list_item);
NT_STATUS_HAVE_NO_MEMORY(rep);
@ -250,7 +251,11 @@ _PUBLIC_ NTSTATUS dcesrv_reply(struct dcesrv_call_state *call)
pkt.u.response.stub_and_verifier.data = stub.data;
pkt.u.response.stub_and_verifier.length = length;
if (!dcesrv_auth_response(call, &rep->blob, sig_size, &pkt)) {
ok = dcesrv_auth_pkt_push(call, &rep->blob, sig_size,
DCERPC_RESPONSE_LENGTH,
&pkt.u.response.stub_and_verifier,
&pkt);
if (!ok) {
return dcesrv_fault(call, DCERPC_FAULT_OTHER);
}

View File

@ -521,12 +521,13 @@ bool dcesrv_auth_pkt_pull(struct dcesrv_call_state *call,
return true;
}
/*
push a signed or sealed dcerpc request packet into a blob
*/
bool dcesrv_auth_response(struct dcesrv_call_state *call,
bool dcesrv_auth_pkt_push(struct dcesrv_call_state *call,
DATA_BLOB *blob, size_t sig_size,
uint8_t payload_offset,
const DATA_BLOB *payload,
const struct ncacn_packet *pkt)
{
struct dcesrv_connection *dce_conn = call->conn;
@ -540,8 +541,8 @@ bool dcesrv_auth_response(struct dcesrv_call_state *call,
status = dcerpc_ncacn_push_pkt_auth(&tmp_auth,
dce_conn->auth_state.gensec_security,
call, blob, sig_size,
DCERPC_RESPONSE_LENGTH,
&pkt->u.response.stub_and_verifier,
payload_offset,
payload,
pkt);
return NT_STATUS_IS_OK(status);
}