The branch, master has been updated
via 9322231f716 docs-xml: Improve the samba-bgqd manpage
via 327e60adf2e s3:printing: Load the shares for [printers] in
samba-bgqd
via 5d77b445b35 s3:smbd: Fix segfault in smb2_reply
from c86bad059fc s4:kdc always include the PAC
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 9322231f716237abba8627acda62c279c6a90f4f
Author: Andreas Schneider <[email protected]>
Date: Thu Oct 23 11:00:38 2025 +0200
docs-xml: Improve the samba-bgqd manpage
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15809
Signed-off-by: Andreas Schneider <[email protected]>
Reviewed-by: Anoop C S <[email protected]>
Autobuild-User(master): Andreas Schneider <[email protected]>
Autobuild-Date(master): Fri Nov 14 15:05:11 UTC 2025 on atb-devel-224
commit 327e60adf2e1e0c040bd32c748fbabc9e4a3593b
Author: Andreas Schneider <[email protected]>
Date: Thu Oct 23 10:49:31 2025 +0200
s3:printing: Load the shares for [printers] in samba-bgqd
One of the main functions of bgqd is:
delete_and_reload_printers_full()
It isn't able to do its work, if we don't load the shares. Normally bgqd was
forked from smbd and this loaded the shares. But with the introduction of
samba-dcerpcd it is a standalone service now. As a standalone service it is
responsible to load the shares if it needs to work on them.
The following message is printed if delete_and_reload_printers_full() tries
to
do its job:
[2025/10/23 09:57:27, 7, pid=41935, effective(0, 0), real(0, 0)]
../../source3/param/loadparm.c:4419(lp_servicenumber)
lp_servicenumber: couldn't find printers
[2025/10/23 09:57:27, 7, pid=41935, effective(0, 0), real(0, 0)]
../../source3/param/loadparm.c:4419(lp_servicenumber)
lp_servicenumber: couldn't find printers
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15936
Signed-off-by: Andreas Schneider <[email protected]>
Reviewed-by: Anoop C S <[email protected]>
commit 5d77b445b354f455ea57a815e8d2c9f4e6b13585
Author: Andreas Schneider <[email protected]>
Date: Fri Nov 14 10:59:19 2025 +0100
s3:smbd: Fix segfault in smb2_reply
This is triggered by: make test TESTS="samba3.smb2.streams.simpleserver
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15948
Pair-Programmed-With: Ralph Boehme <[email protected]>
Signed-off-by: Andreas Schneider <[email protected]>
Signed-off-by: Ralph Boehme <[email protected]>
-----------------------------------------------------------------------
Summary of changes:
docs-xml/manpages/samba-bgqd.8.xml | 37 +++++++++++++++++++++++++++++++------
source3/printing/queue_process.c | 3 +++
source3/smbd/smb2_reply.c | 3 ++-
3 files changed, 36 insertions(+), 7 deletions(-)
Changeset truncated at 500 lines:
diff --git a/docs-xml/manpages/samba-bgqd.8.xml
b/docs-xml/manpages/samba-bgqd.8.xml
index ef50a542a9e..9a16a2aaad0 100644
--- a/docs-xml/manpages/samba-bgqd.8.xml
+++ b/docs-xml/manpages/samba-bgqd.8.xml
@@ -14,28 +14,53 @@
<refnamediv>
<refname>samba-bgqd</refname>
<refpurpose>This is an internal helper program performing
- asynchronous printing-related jobs.</refpurpose>
+ asynchronous printing-related tasks</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>samba-bgqd</command>
+ <arg choice="opt">-D|--daemon</arg>
+ <arg choice="opt">-i|--interactive</arg>
+ <arg choice="opt">-F|--foreground</arg>
+ <arg choice="opt">--no-process-group</arg>
+ <arg choice="opt">-d <debug level></arg>
+ <arg choice="opt">--debug-stdout</arg>
+ <arg choice="opt">--configfile=<configuration file></arg>
+ <arg choice="opt">--option=<name>=<value></arg>
+ <arg choice="opt">-l|--log-basename <log directory></arg>
+ <arg choice="opt">--ready-signal-fd <fd></arg>
+ <arg choice="opt">--parent-watch-fd <fd></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
- <para>This tool is part of the
+ <para>This program is part of the
<citerefentry><refentrytitle>samba</refentrytitle>
<manvolnum>7</manvolnum></citerefentry> suite.</para>
- <para>samba-bgqd is an helper program to be spawned by smbd or
- spoolssd to perform jobs like updating the printer list or
- other management tasks asynchronously on demand. It is not
- intended to be called by users or administrators.</para>
+ <para><command>samba-bgqd</command> is not intended to be invoked
+ directly by users.</para>
+
+ <para>Likewise, while <command>samba-bgqd</command> is also not
+ intended to be run manually by system administrators, on systems with a
+ large number of printers configured via CUPS, it is recommended to run
+ <command>samba-bgqd</command> as a systemd service to improve
+ performance and responsiveness of printing operations.</para>
</refsect1>
+<refsect1>
+ <title>SEE ALSO</title>
+
+ <para>
+ <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, and
+ <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>.
+ </para>
+</refsect1>
<refsect1>
<title>AUTHOR</title>
diff --git a/source3/printing/queue_process.c b/source3/printing/queue_process.c
index 0f95bd736f2..51eafa31572 100644
--- a/source3/printing/queue_process.c
+++ b/source3/printing/queue_process.c
@@ -265,6 +265,7 @@ static void bq_smb_conf_updated(struct messaging_context
*msg_ctx,
DEBUG(10,("smb_conf_updated: Got message saying smb.conf was "
"updated. Reloading.\n"));
change_to_root_user();
+ lp_load_with_shares(get_dyn_CONFIGFILE());
pcap_cache_reload(state->ev, msg_ctx, reload_pcap_change_notify);
printing_subsystem_queue_tasks(state);
}
@@ -322,6 +323,8 @@ struct bq_state *register_printing_bq_handlers(
goto fail_free_handlers;
}
+ /* Load shares, needed for [printers] */
+ lp_load_with_shares(get_dyn_CONFIGFILE());
/* Initialize the printcap cache as soon as the daemon starts. */
pcap_cache_reload(state->ev, state->msg, reload_pcap_change_notify);
diff --git a/source3/smbd/smb2_reply.c b/source3/smbd/smb2_reply.c
index 48aa5c86038..069d447b51c 100644
--- a/source3/smbd/smb2_reply.c
+++ b/source3/smbd/smb2_reply.c
@@ -1399,7 +1399,8 @@ NTSTATUS rename_internals_fsp(connection_struct *conn,
if (fsp_is_alternate_stream(fsp)) {
if (newname[0] != ':') {
- return NT_STATUS_INVALID_PARAMETER;
+ status = NT_STATUS_INVALID_PARAMETER;
+ goto out;
}
smb_fname_dst = synthetic_smb_fname(ctx,
--
Samba Shared Repository