summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cynapses.org>2010-10-11 11:42:26 +0200
committerAndreas Schneider <asn@cryptomilk.org>2011-02-02 12:44:20 +0100
commit5b93e06e6c6a67640ee3cd4de1ffbbaa3018721f (patch)
tree4e66b9150e059e995e171066ce39b647ddf44210
parent3584dd18df1179ecb41791e2b14929699fc09660 (diff)
downloadsamba-5b93e06e6c6a67640ee3cd4de1ffbbaa3018721f.tar.gz
samba-5b93e06e6c6a67640ee3cd4de1ffbbaa3018721f.tar.bz2
samba-5b93e06e6c6a67640ee3cd4de1ffbbaa3018721f.zip
s3-epmapper: Implemented epm_LookupHandleFree.
-rw-r--r--source3/rpc_server/srv_epmapper.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/source3/rpc_server/srv_epmapper.c b/source3/rpc_server/srv_epmapper.c
index f0a3f8ca85..be55b339e6 100644
--- a/source3/rpc_server/srv_epmapper.c
+++ b/source3/rpc_server/srv_epmapper.c
@@ -476,13 +476,22 @@ failed:
}
/*
- epm_LookupHandleFree
-*/
+ * epm_LookupHandleFree
+ */
error_status_t _epm_LookupHandleFree(struct pipes_struct *p,
- struct epm_LookupHandleFree *r)
+ struct epm_LookupHandleFree *r)
{
- p->rng_fault_state = true;
- return EPMAPPER_STATUS_CANT_PERFORM_OP;
+ if (r->in.entry_handle == NULL) {
+ return EPMAPPER_STATUS_OK;
+ }
+
+ if (is_valid_policy_hnd(r->in.entry_handle)) {
+ close_policy_hnd(p, r->in.entry_handle);
+ }
+
+ r->out.entry_handle = r->in.entry_handle;
+
+ return EPMAPPER_STATUS_OK;
}