summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2023-02-20 18:46:50 +0100
committerJule Anger <janger@samba.org>2023-03-07 11:16:46 +0000
commitbfbb854d7462e486775d087efda63906869218ed (patch)
tree68f9e67844a48638742376cb7a6ccc4967174835
parent743d7600fba554306356a8254f0ca041308fa332 (diff)
downloadsamba-bfbb854d7462e486775d087efda63906869218ed.tar.gz
rpcd: With npa->need_idle_server we can have more than 256 servers
Before this patch the worker-status cut the worker index such that samba-dcerpcd could not properly update status of the surplus rpc daemons. This could lead to those daemons to stay around forever, samba-dcerpcd will never notice they are idle and can exit. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15310 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Mon Mar 6 22:35:00 UTC 2023 on atb-devel-224 (cherry picked from commit a1780ed8d1b46e4760319b27a4978e7ce7a1df80) Autobuild-User(v4-17-test): Jule Anger <janger@samba.org> Autobuild-Date(v4-17-test): Tue Mar 7 11:16:46 UTC 2023 on sn-devel-184
-rw-r--r--source3/librpc/idl/rpc_host.idl2
-rw-r--r--source3/rpc_server/rpc_worker.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/source3/librpc/idl/rpc_host.idl b/source3/librpc/idl/rpc_host.idl
index 0fc3f9514aa..c8abb6c4379 100644
--- a/source3/librpc/idl/rpc_host.idl
+++ b/source3/librpc/idl/rpc_host.idl
@@ -66,7 +66,7 @@ interface rpc_host_msg
/**
* @brief Which of the processes of a helper prog is this from
*/
- uint8 worker_index;
+ uint32 worker_index;
/**
* @brief How many clients this process serves right now
diff --git a/source3/rpc_server/rpc_worker.c b/source3/rpc_server/rpc_worker.c
index 2d2bb35af0f..9b7474c2c86 100644
--- a/source3/rpc_server/rpc_worker.c
+++ b/source3/rpc_server/rpc_worker.c
@@ -93,7 +93,7 @@ static void rpc_worker_print_interface(
static NTSTATUS rpc_worker_report_status(struct rpc_worker *worker)
{
- uint8_t buf[6];
+ uint8_t buf[9];
DATA_BLOB blob = { .data = buf, .length = sizeof(buf), };
enum ndr_err_code ndr_err;
NTSTATUS status;