librpc/rpc: add dcerpc_binding_handle_auth_info()
authorStefan Metzmacher <metze@samba.org>
Mon, 12 Aug 2013 06:19:08 +0000 (08:19 +0200)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 16 Oct 2013 19:48:41 +0000 (08:48 +1300)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
librpc/rpc/binding_handle.c
librpc/rpc/rpc_common.h

index 3c74fdfdb17f02abc4e88ed70159dabe30f1e35f..1e11b048de354992193a936c6f83bc75110f1e7e 100644 (file)
@@ -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;
index d2816f508b289e14306b78ce220985979cb647de..978229ef24a0feec88bf2953daf4924b40a2f5b0 100644 (file)
@@ -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,