1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-26 21:57:41 +03:00

librpc/rpc: add dcerpc_binding_[g|s]et_transport()

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
This commit is contained in:
Stefan Metzmacher 2014-01-25 10:39:55 +01:00 committed by Günther Deschner
parent f066bd7b33
commit 6ce8d761dc
2 changed files with 37 additions and 2 deletions

View File

@ -457,6 +457,39 @@ _PUBLIC_ NTSTATUS dcerpc_binding_set_object(struct dcerpc_binding *b,
return NT_STATUS_OK;
}
_PUBLIC_ enum dcerpc_transport_t dcerpc_binding_get_transport(const struct dcerpc_binding *b)
{
return b->transport;
}
_PUBLIC_ NTSTATUS dcerpc_binding_set_transport(struct dcerpc_binding *b,
enum dcerpc_transport_t transport)
{
char *tmp = discard_const_p(char, b->endpoint);
/*
* TODO: we may want to check the transport value is
* wellknown.
*/
if (b->transport == transport) {
return NT_STATUS_OK;
}
b->transport = transport;
/*
* This implicitly resets the endpoint
* as the endpoint is transport specific.
*
* TODO: in future we may reset more options
* here.
*/
talloc_free(tmp);
b->endpoint = NULL;
return NT_STATUS_OK;
}
_PUBLIC_ void dcerpc_binding_get_auth_info(const struct dcerpc_binding *b,
enum dcerpc_AuthType *_auth_type,
enum dcerpc_AuthLevel *_auth_level)
@ -621,8 +654,7 @@ _PUBLIC_ NTSTATUS dcerpc_binding_set_string_option(struct dcerpc_binding *b,
return NT_STATUS_INVALID_PARAMETER_MIX;
}
b->transport = t;
return NT_STATUS_OK;
return dcerpc_binding_set_transport(b, t);
}
ret = strcmp(name, "object");

View File

@ -136,6 +136,9 @@ char *dcerpc_binding_string(TALLOC_CTX *mem_ctx, const struct dcerpc_binding *b)
struct GUID dcerpc_binding_get_object(const struct dcerpc_binding *b);
NTSTATUS dcerpc_binding_set_object(struct dcerpc_binding *b,
struct GUID object);
enum dcerpc_transport_t dcerpc_binding_get_transport(const struct dcerpc_binding *b);
NTSTATUS dcerpc_binding_set_transport(struct dcerpc_binding *b,
enum dcerpc_transport_t transport);
void dcerpc_binding_get_auth_info(const struct dcerpc_binding *b,
enum dcerpc_AuthType *_auth_type,
enum dcerpc_AuthLevel *_auth_level);