summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2018-12-10 22:42:51 +0100
committerJeremy Allison <jra@samba.org>2019-01-12 03:13:38 +0100
commit245a0ef73f87cdfbfe98c05dde1976c67272248c (patch)
treee81cca582653ed523a99a167bf64679c68d180de /source4
parent5cbcc78a40e46651c6d0a35e02448e172aae7c2c (diff)
downloadsamba-245a0ef73f87cdfbfe98c05dde1976c67272248c.tar.gz
s4:rpc_server/dnsserver: make use of dcesrv_iface_state_{create,find}_conn()
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113 BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source4')
-rw-r--r--source4/rpc_server/dnsserver/dcerpc_dnsserver.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/source4/rpc_server/dnsserver/dcerpc_dnsserver.c b/source4/rpc_server/dnsserver/dcerpc_dnsserver.c
index 068305e5550..1f7a2e198a7 100644
--- a/source4/rpc_server/dnsserver/dcerpc_dnsserver.c
+++ b/source4/rpc_server/dnsserver/dcerpc_dnsserver.c
@@ -36,6 +36,7 @@ static NTSTATUS dcesrv_interface_dnsserver_bind(struct dcesrv_call_state *dce_ca
return dcesrv_interface_bind_require_integrity(dce_call, iface);
}
+#define DNSSERVER_STATE_MAGIC 0xc9657ab4
struct dnsserver_state {
struct loadparm_context *lp_ctx;
struct ldb_context *samdb;
@@ -108,13 +109,16 @@ static struct dnsserver_state *dnsserver_connect(struct dcesrv_call_state *dce_c
struct dnsserver_state *dsstate;
struct dnsserver_zone *zones, *z, *znext;
struct dnsserver_partition *partitions, *p;
+ NTSTATUS status;
- dsstate = talloc_get_type(dce_call->context->private_data, struct dnsserver_state);
+ dsstate = dcesrv_iface_state_find_conn(dce_call,
+ DNSSERVER_STATE_MAGIC,
+ struct dnsserver_state);
if (dsstate != NULL) {
return dsstate;
}
- dsstate = talloc_zero(dce_call->context, struct dnsserver_state);
+ dsstate = talloc_zero(dce_call, struct dnsserver_state);
if (dsstate == NULL) {
return NULL;
}
@@ -173,7 +177,12 @@ static struct dnsserver_state *dnsserver_connect(struct dcesrv_call_state *dce_c
}
}
- dce_call->context->private_data = dsstate;
+ status = dcesrv_iface_state_store_conn(dce_call,
+ DNSSERVER_STATE_MAGIC,
+ dsstate);
+ if (!NT_STATUS_IS_OK(status)) {
+ goto failed;
+ }
return dsstate;