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 &lt;debug level&gt;</arg>
+               <arg choice="opt">--debug-stdout</arg>
+               <arg choice="opt">--configfile=&lt;configuration file&gt;</arg>
+               <arg choice="opt">--option=&lt;name&gt;=&lt;value&gt;</arg>
+               <arg choice="opt">-l|--log-basename &lt;log directory&gt;</arg>
+               <arg choice="opt">--ready-signal-fd &lt;fd&gt;</arg>
+               <arg choice="opt">--parent-watch-fd &lt;fd&gt;</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

Reply via email to