diff options
author | Stefan Metzmacher <metze@samba.org> | 2018-12-10 22:42:51 +0100 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2019-01-12 03:13:38 +0100 |
commit | 245a0ef73f87cdfbfe98c05dde1976c67272248c (patch) | |
tree | e81cca582653ed523a99a167bf64679c68d180de /source4 | |
parent | 5cbcc78a40e46651c6d0a35e02448e172aae7c2c (diff) | |
download | samba-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.c | 15 |
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; |