The Samba-Bugzilla – Attachment 13437 Details for
Bug 12939
netlogon server is not multi-process on ncacn_ip_tcp:
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Backport for 4.7
samba4-7.patch (text/plain), 4.56 KB, created by
Garming Sam
on 2017-07-31 04:28:16 UTC
(
hide
)
Description:
Backport for 4.7
Filename:
MIME Type:
Creator:
Garming Sam
Created:
2017-07-31 04:28:16 UTC
Size:
4.56 KB
patch
obsolete
>From 4089f7afa25492ade8af675c23fd7864f4a99e2b Mon Sep 17 00:00:00 2001 >From: Andrew Bartlett <abartlet@samba.org> >Date: Thu, 27 Jul 2017 11:44:12 +1200 >Subject: [PATCH 1/2] s4-rpc_server: ensure we get a new endpoint for netlogon > >If we share the single process RPC servers with the multi-process RPC servers >on the same endpoint, they will default to running in an single process > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=12939 > >Signed-off-by: Andrew Bartlett <abartlet@samba.org> >Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> >(cherry picked from commit bc48c4b54b9c50d76fc967a1aa4fa013079605bc) >--- > source4/rpc_server/dcerpc_server.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > >diff --git a/source4/rpc_server/dcerpc_server.c b/source4/rpc_server/dcerpc_server.c >index de919e2..d6eebf7 100644 >--- a/source4/rpc_server/dcerpc_server.c >+++ b/source4/rpc_server/dcerpc_server.c >@@ -354,8 +354,15 @@ _PUBLIC_ NTSTATUS dcesrv_interface_register(struct dcesrv_context *dce_ctx, > * If we have mulitiple endpoints on port 0, they each > * get an epemeral port (currently by walking up from > * 1024). >+ * >+ * Because one endpoint can only have one process >+ * model, we add a new IP_TCP endpoint for each model. >+ * >+ * This woks in conjunction with the forced overwrite >+ * of ep->use_single_process below. > */ >- if (!use_single_process && transport == NCACN_IP_TCP) { >+ if (ep->use_single_process != use_single_process >+ && transport == NCACN_IP_TCP) { > add_ep = true; > } > } >-- >1.9.1 > > >From e1badd925184abd317e05dd051e11253ef5a9a84 Mon Sep 17 00:00:00 2001 >From: Andrew Bartlett <abartlet@samba.org> >Date: Thu, 27 Jul 2017 11:10:43 +1200 >Subject: [PATCH 2/2] s4-rpc_server: Improve debug of new endpoints > >This helps us know what process model is required and what one is in use. > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=12939 > >Signed-off-by: Andrew Bartlett <abartlet@samba.org> >Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> > >Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> >Autobuild-Date(master): Fri Jul 28 04:12:08 CEST 2017 on sn-devel-144 > >(cherry picked from commit 1ea6b5168f146d23d139b570084cb32ec02538fe) >--- > source4/rpc_server/dcerpc_server.c | 14 +++++++++++--- > source4/rpc_server/service_rpc.c | 16 ++++++++++++++++ > 2 files changed, 27 insertions(+), 3 deletions(-) > >diff --git a/source4/rpc_server/dcerpc_server.c b/source4/rpc_server/dcerpc_server.c >index d6eebf7..1b6905a 100644 >--- a/source4/rpc_server/dcerpc_server.c >+++ b/source4/rpc_server/dcerpc_server.c >@@ -275,7 +275,8 @@ _PUBLIC_ NTSTATUS dcesrv_interface_register(struct dcesrv_context *dce_ctx, > enum dcerpc_transport_t transport; > char *ep_string = NULL; > bool use_single_process = true; >- >+ const char *ep_process_string; >+ > /* > * If we are not using handles, there is no need for force > * this service into using a single process. >@@ -444,8 +445,15 @@ _PUBLIC_ NTSTATUS dcesrv_interface_register(struct dcesrv_context *dce_ctx, > /* Re-get the string as we may have set a port */ > ep_string = dcerpc_binding_string(dce_ctx, ep->ep_description); > >- DEBUG(4,("dcesrv_interface_register: interface '%s' registered on endpoint '%s'\n", >- iface->name, ep_string)); >+ if (use_single_process) { >+ ep_process_string = "single process required"; >+ } else { >+ ep_process_string = "multi process compatible"; >+ } >+ >+ DBG_INFO("dcesrv_interface_register: interface '%s' " >+ "registered on endpoint '%s' (%s)\n", >+ iface->name, ep_string, ep_process_string); > TALLOC_FREE(ep_string); > > return NT_STATUS_OK; >diff --git a/source4/rpc_server/service_rpc.c b/source4/rpc_server/service_rpc.c >index 44c0d53..3ff9f6f 100644 >--- a/source4/rpc_server/service_rpc.c >+++ b/source4/rpc_server/service_rpc.c >@@ -81,6 +81,10 @@ static void dcesrv_task_init(struct task_server *task) > > enum dcerpc_transport_t transport = > dcerpc_binding_get_transport(e->ep_description); >+ const char *transport_str >+ = derpc_transport_string_by_transport(transport); >+ >+ struct dcesrv_if_list *iface_list; > > /* > * Ensure that -Msingle sets e->use_single_process for >@@ -116,6 +120,18 @@ static void dcesrv_task_init(struct task_server *task) > if (!NT_STATUS_IS_OK(status)) { > goto failed; > } >+ >+ DEBUG(5,("Added endpoint on %s " >+ "using process model %s for", >+ transport_str, >+ this_model_ops->name)); >+ >+ for (iface_list = e->interface_list; >+ iface_list != NULL; >+ iface_list = iface_list->next) { >+ DEBUGADD(5, (" %s", iface_list->iface.name)); >+ } >+ DEBUGADD(5, ("\n")); > } > > irpc_add_name(task->msg_ctx, "rpc_server"); >-- >1.9.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
abartlet
:
review+
Actions:
View
Attachments on
bug 12939
: 13437