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:
parent
bc73cd97ee
commit
1a46ff2a0f
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user