mirror of
https://github.com/samba-team/samba.git
synced 2025-01-03 01:18:10 +03:00
xss4:pyrpc: make use of dcerpc_binding_handle_transport_session_key()
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
This commit is contained in:
parent
93e8d58736
commit
57905603e0
@ -130,12 +130,30 @@ static PyObject *py_iface_transfer_syntax(PyObject *obj, void *closure)
|
||||
static PyObject *py_iface_session_key(PyObject *obj, void *closure)
|
||||
{
|
||||
dcerpc_InterfaceObject *iface = (dcerpc_InterfaceObject *)obj;
|
||||
DATA_BLOB session_key;
|
||||
TALLOC_CTX *frame = talloc_stackframe();
|
||||
DATA_BLOB session_key = { .length = 0, };
|
||||
static PyObject *session_key_obj = NULL;
|
||||
NTSTATUS status;
|
||||
|
||||
NTSTATUS status = dcerpc_fetch_session_key(iface->pipe, &session_key);
|
||||
PyErr_NTSTATUS_IS_ERR_RAISE(status);
|
||||
if (iface->binding_handle == NULL) {
|
||||
PyErr_SetNTSTATUS(NT_STATUS_NO_USER_SESSION_KEY);
|
||||
TALLOC_FREE(frame);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return PyBytes_FromStringAndSize((const char *)session_key.data, session_key.length);
|
||||
status = dcerpc_binding_handle_transport_session_key(iface->binding_handle,
|
||||
frame,
|
||||
&session_key);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
PyErr_SetNTSTATUS(status);
|
||||
TALLOC_FREE(frame);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
session_key_obj = PyBytes_FromStringAndSize((const char *)session_key.data,
|
||||
session_key.length);
|
||||
TALLOC_FREE(frame);
|
||||
return session_key_obj;
|
||||
}
|
||||
|
||||
static PyObject *py_iface_user_session_key(PyObject *obj, void *closure)
|
||||
|
Loading…
Reference in New Issue
Block a user