]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
netapi: add libnetapi_samr_close_builtin_handle().
authorGünther Deschner <gd@samba.org>
Thu, 17 Jul 2008 17:56:25 +0000 (19:56 +0200)
committerGünther Deschner <gd@samba.org>
Fri, 18 Jul 2008 14:52:05 +0000 (16:52 +0200)
Guenther

source/lib/netapi/netapi_private.h
source/lib/netapi/samr.c

index cb08ed03944a0da920dd6effa273595eef8be199..db4eb6f0a3e94d3a433d23a4851ef395432e3f31 100644 (file)
@@ -66,6 +66,8 @@ WERROR libnetapi_samr_open_builtin_domain(TALLOC_CTX *mem_ctx,
                                          struct policy_handle *builtin_handle);
 void libnetapi_samr_close_domain_handle(struct libnetapi_ctx *ctx,
                                        struct policy_handle *handle);
+void libnetapi_samr_close_builtin_handle(struct libnetapi_ctx *ctx,
+                                        struct policy_handle *handle);
 void libnetapi_samr_close_connect_handle(struct libnetapi_ctx *ctx,
                                         struct policy_handle *handle);
 
index 5df50fe85b62257a007a285fc07d5d5812d07315..bd90067a6d3de8fe34549434e90a84c7ef3cd506 100644 (file)
@@ -171,6 +171,30 @@ void libnetapi_samr_close_domain_handle(struct libnetapi_ctx *ctx,
 /****************************************************************
 ****************************************************************/
 
+void libnetapi_samr_close_builtin_handle(struct libnetapi_ctx *ctx,
+                                        struct policy_handle *handle)
+{
+       struct libnetapi_private_ctx *priv;
+
+       if (!is_valid_policy_hnd(handle)) {
+               return;
+       }
+
+       priv = talloc_get_type_abort(ctx->private_data,
+               struct libnetapi_private_ctx);
+
+       if (!policy_hnd_equal(handle, &priv->samr.builtin_handle)) {
+               return;
+       }
+
+       rpccli_samr_Close(priv->samr.cli, ctx, handle);
+
+       ZERO_STRUCT(priv->samr.builtin_handle);
+}
+
+/****************************************************************
+****************************************************************/
+
 void libnetapi_samr_close_connect_handle(struct libnetapi_ctx *ctx,
                                         struct policy_handle *handle)
 {