From: Stefan Metzmacher Date: Mon, 12 Aug 2013 06:19:08 +0000 (+0200) Subject: librpc/rpc: add dcerpc_binding_handle_auth_info() X-Git-Url: http://git.samba.org/?p=mat%2Fsamba.git;a=commitdiff_plain;h=a33b13bd6133585323129fa248646c4bc0ac4732 librpc/rpc: add dcerpc_binding_handle_auth_info() Signed-off-by: Stefan Metzmacher Reviewed-by: Andrew Bartlett --- diff --git a/librpc/rpc/binding_handle.c b/librpc/rpc/binding_handle.c index 3c74fdfdb1..1e11b048de 100644 --- a/librpc/rpc/binding_handle.c +++ b/librpc/rpc/binding_handle.c @@ -98,6 +98,31 @@ uint32_t dcerpc_binding_handle_set_timeout(struct dcerpc_binding_handle *h, return h->ops->set_timeout(h, timeout); } +void dcerpc_binding_handle_auth_info(struct dcerpc_binding_handle *h, + enum dcerpc_AuthType *auth_type, + enum dcerpc_AuthLevel *auth_level) +{ + enum dcerpc_AuthType _auth_type; + enum dcerpc_AuthLevel _auth_level; + + if (auth_type == NULL) { + auth_type = &_auth_type; + } + + if (auth_level == NULL) { + auth_level = &_auth_level; + } + + *auth_type = DCERPC_AUTH_TYPE_NONE; + *auth_level = DCERPC_AUTH_LEVEL_NONE; + + if (h->ops->auth_info == NULL) { + return; + } + + h->ops->auth_info(h, auth_type, auth_level); +} + struct dcerpc_binding_handle_raw_call_state { const struct dcerpc_binding_handle_ops *ops; uint8_t *out_data; diff --git a/librpc/rpc/rpc_common.h b/librpc/rpc/rpc_common.h index d2816f508b..978229ef24 100644 --- a/librpc/rpc/rpc_common.h +++ b/librpc/rpc/rpc_common.h @@ -189,6 +189,10 @@ struct dcerpc_binding_handle_ops { uint32_t (*set_timeout)(struct dcerpc_binding_handle *h, uint32_t timeout); + void (*auth_info)(struct dcerpc_binding_handle *h, + enum dcerpc_AuthType *auth_type, + enum dcerpc_AuthLevel *auth_level); + struct tevent_req *(*raw_call_send)(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct dcerpc_binding_handle *h, @@ -259,6 +263,10 @@ bool dcerpc_binding_handle_is_connected(struct dcerpc_binding_handle *h); uint32_t dcerpc_binding_handle_set_timeout(struct dcerpc_binding_handle *h, uint32_t timeout); +void dcerpc_binding_handle_auth_info(struct dcerpc_binding_handle *h, + enum dcerpc_AuthType *auth_type, + enum dcerpc_AuthLevel *auth_level); + struct tevent_req *dcerpc_binding_handle_raw_call_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct dcerpc_binding_handle *h,