The branch, v4-19-test has been updated
       via  c6c14c07d37 docs-xml: use XML_CATALOG_FILES env var if defined
       via  a8ab61b8ab2 winbind_nss_netbsd: fix missing semicolon
       via  2084a27c9ab s3:utils: Fix the auth function to print correct values 
to the user
       via  98e62c70894 s3:utils: Handle the domain before username and password
       via  3a39e21d087 doc-xml: fix name of vfs_linux_xfs man page
       via  f11643fee31 smbd: Fix traversing snapshot dirs that vanished in 
current fileset
       via  e97ec6ffb7a shadow_copy: Add test for missing directory in 
"current" fileset
      from  50f74d04884 s3:smbd multichannel: always refresh the network 
information

https://git.samba.org/?p=samba.git;a=shortlog;h=v4-19-test


- Log -----------------------------------------------------------------
commit c6c14c07d3772e14ef7985843dde25f7775ddf17
Author: Björn Jacke <bja...@samba.org>
Date:   Mon Dec 25 19:50:55 2023 +0100

    docs-xml: use XML_CATALOG_FILES env var if defined
    
    Thanks to Thierry LARONDE for the fix.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15540
    
    Signed-off-by: Björn Jacke <bja...@samba.org>
    Reviewed-by: Stefan Metzmacher <me...@samba.org>
    (cherry picked from commit b9f32b32e0e1463b8ca3e696d682ecf86503464b)
    
    Autobuild-User(v4-19-test): Jule Anger <jan...@samba.org>
    Autobuild-Date(v4-19-test): Mon Jan  8 14:02:25 UTC 2024 on atb-devel-224

commit a8ab61b8ab290fc4e8bd099df570a54fc8eaa35f
Author: Björn Jacke <bja...@samba.org>
Date:   Mon Dec 25 19:53:30 2023 +0100

    winbind_nss_netbsd: fix missing semicolon
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15541
    
    Signed-off-by: Bjoern Jacke <bja...@samba.org>
    Reviewed-by: Stefan Metzmacher <me...@samba.org>
    (cherry picked from commit b41f95f891ab5b1d1878735a513be5d9a13f63c6)

commit 2084a27c9ab27215699ea89a6023cf8bb6bb0429
Author: Andreas Schneider <a...@samba.org>
Date:   Fri Dec 15 08:23:25 2023 +0100

    s3:utils: Fix the auth function to print correct values to the user
    
    In order to show correct values in the password prompt displayed by
    cli_credentials_get_password*(). We need to set the domain and username
    in the credentials system.
    
    The credentials supplied via the SMB URL have a higher priority than the
    command line options.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15538
    
    Signed-off-by: Andreas Schneider <a...@samba.org>
    Reviewed-by: Volker Lendecke <v...@samba.org>
    (cherry picked from commit 1134c4f3a63c9618c3fb79abefb40a798c7c1701)

commit 98e62c70894f0094b25231b38691bdd62bc0d637
Author: Andreas Schneider <a...@samba.org>
Date:   Fri Dec 15 09:41:06 2023 +0100

    s3:utils: Handle the domain before username and password
    
    The cli_credentials_get_password*() function will interactively ask the
    user for a password if none has been supplied via another ways. To show
    the correct domain and username in the prompt, we need handle domain
    and user first.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15538
    
    Signed-off-by: Andreas Schneider <a...@samba.org>
    Reviewed-by: Volker Lendecke <v...@samba.org>
    (cherry picked from commit 25021b836f74d3d247bce44c6c02a2d8b2cc39ea)

commit 3a39e21d087bc796da7329920c2ce561aeeb796b
Author: Björn Jacke <bja...@samba.org>
Date:   Mon Dec 25 19:49:38 2023 +0100

    doc-xml: fix name of vfs_linux_xfs man page
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15542
    
    Signed-off-by: Bjoern Jacke <bja...@samba.org>
    Reviewed-by: Stefan Metzmacher <me...@samba.org>
    (cherry picked from commit 2073bbf9dcab5fabe5e683c12e16c195239fcba1)

commit f11643fee31995ea1124e4b0e53cd980d2056e5f
Author: Volker Lendecke <v...@samba.org>
Date:   Thu Dec 28 14:38:37 2023 +0100

    smbd: Fix traversing snapshot dirs that vanished in current fileset
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=15544
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>
    
    Autobuild-User(master): Jeremy Allison <j...@samba.org>
    Autobuild-Date(master): Tue Jan  2 20:37:01 UTC 2024 on atb-devel-224
    
    (cherry picked from commit 2cfbf43f706d5d29a5b1a5b13aac0661e42da0b1)

commit e97ec6ffb7aeeaf7d3faa29691aa613c94c71a22
Author: Volker Lendecke <v...@samba.org>
Date:   Thu Dec 28 14:20:11 2023 +0100

    shadow_copy: Add test for missing directory in "current" fileset
    
    Right now we can't traverse a subdirectory in a snapshot which was
    deleted in the current set of files.
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=15544
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>
    (cherry picked from commit a0bfadb32b83ab1e58290f84c298d345e21866d9)

-----------------------------------------------------------------------

Summary of changes:
 buildtools/wafsamba/wafsamba.py            |  2 +-
 docs-xml/manpages/vfs_linux_xfs_sgid.8.xml |  4 ++--
 nsswitch/winbind_nss_netbsd.c              |  2 +-
 source3/script/tests/test_shadow_copy.sh   | 27 ++++++++++++++++++++++
 source3/smbd/filename.c                    |  2 +-
 source3/utils/smbget.c                     | 37 ++++++++++++++++--------------
 6 files changed, 52 insertions(+), 22 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index 40c7b866fba..2d20eabbc8b 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -1183,7 +1183,7 @@ def SAMBAMANPAGES(bld, manpages, extra_source=None):
     bld.env.SAMBA_EXPAND_XSL = bld.srcnode.abspath() + 
'/docs-xml/xslt/expand-sambadoc.xsl'
     bld.env.SAMBA_MAN_XSL = bld.srcnode.abspath() + '/docs-xml/xslt/man.xsl'
     bld.env.SAMBA_CATALOG = bld.bldnode.abspath() + 
'/docs-xml/build/catalog.xml'
-    bld.env.SAMBA_CATALOGS = 'file:///etc/xml/catalog 
file:///usr/local/share/xml/catalog file://' + bld.env.SAMBA_CATALOG
+    bld.env.SAMBA_CATALOGS = os.getenv('XML_CATALOG_FILES', 
'file:///etc/xml/catalog file:///usr/local/share/xml/catalog') + ' file://' + 
bld.env.SAMBA_CATALOG
 
     for m in manpages.split():
         source = [m + '.xml']
diff --git a/docs-xml/manpages/vfs_linux_xfs_sgid.8.xml 
b/docs-xml/manpages/vfs_linux_xfs_sgid.8.xml
index 73820339a9b..a0117dc17b3 100644
--- a/docs-xml/manpages/vfs_linux_xfs_sgid.8.xml
+++ b/docs-xml/manpages/vfs_linux_xfs_sgid.8.xml
@@ -3,7 +3,7 @@
 <refentry id="vfs_linux_xfs_sgid.8">
 
 <refmeta>
-       <refentrytitle>vfs_syncops</refentrytitle>
+       <refentrytitle>vfs_linux_xfs_sgid</refentrytitle>
        <manvolnum>8</manvolnum>
        <refmiscinfo class="source">Samba</refmiscinfo>
        <refmiscinfo class="manual">System Administration tools</refmiscinfo>
@@ -49,7 +49,7 @@
 <refsect1>
        <title>EXAMPLES</title>
 
-       <para>Add syncops functionality for [share]:</para>
+       <para>Add linux_xfs_sgid functionality for [share]:</para>
 <programlisting>
         <smbconfsection name="[share]"/>
        <smbconfoption name="vfs objects">linux_xfs_sgid</smbconfoption>
diff --git a/nsswitch/winbind_nss_netbsd.c b/nsswitch/winbind_nss_netbsd.c
index 94552639b7b..473fa50037c 100644
--- a/nsswitch/winbind_nss_netbsd.c
+++ b/nsswitch/winbind_nss_netbsd.c
@@ -185,7 +185,7 @@ netbsdwinbind_getgroupmembership(void *nsrv, void *nscb, 
va_list ap)
        };
        struct winbindd_response response = {
                .length = 0,
-       }
+       };
        gid_t   *wblistv;
        int     wblistc, i, isdup, dupc;
 
diff --git a/source3/script/tests/test_shadow_copy.sh 
b/source3/script/tests/test_shadow_copy.sh
index b5726e4b833..3141df3568d 100755
--- a/source3/script/tests/test_shadow_copy.sh
+++ b/source3/script/tests/test_shadow_copy.sh
@@ -389,6 +389,32 @@ test_shadow_copy_format()
         failed=`expr $failed + 1`
 }
 
+# Test fetching a file where there's no current version of it
+test_missing_basedir()
+{
+    local share
+    local where
+    local prefix
+    local snapidx
+
+    share=$1
+    where=$2
+    prefix=$3
+    snapidx=$4
+
+    #delete snapshots from previous tests
+    find $WORKDIR -name ".snapshots" -exec rm -rf {} \; 1>/dev/null 2>&1
+    build_snapshots $WORKDIR/$where "$prefix" "$snapidx" "$snapidx"
+
+    (cd "$WORKDIR/$where"/share; mv bar _bar)
+
+    testit "fetch a file without a latest version" \
+       test_fetch_snap_file "$share" "bar/baz" "$snapidx" || \
+       failed=`expr $failed + 1`
+
+    (cd "$WORKDIR/$where"/share; mv _bar bar)
+}
+
 #build "latest" files
 build_files $WORKDIR/mount base/share "latest" "latest"
 
@@ -423,5 +449,6 @@ test_shadow_copy_format shadow_fmt2 mount/base share 2 
"shadow:format with some
 test_shadow_copy_format shadow_fmt3 mount/base share 2 "shadow:format with 
modified format"
 test_shadow_copy_format shadow_fmt4 mount/base share 3 "shadow:format with 
snapprefix"
 test_shadow_copy_format shadow_fmt5 mount/base share 6 "shadow:format with 
delimiter"
+test_missing_basedir shadow3 "mount/base" "share" 6
 
 exit $failed
diff --git a/source3/smbd/filename.c b/source3/smbd/filename.c
index b00f85171ca..8693dcf1153 100644
--- a/source3/smbd/filename.c
+++ b/source3/smbd/filename.c
@@ -1120,7 +1120,7 @@ static NTSTATUS filename_convert_dirfsp_nosymlink(
                                                      conn,
                                                      conn->cwd_fsp,
                                                      dirname,
-                                                     0,
+                                                     twrp,
                                                      posix,
                                                      &smb_dirname,
                                                      &symlink_err);
diff --git a/source3/utils/smbget.c b/source3/utils/smbget.c
index 598607ea391..f7f83b06496 100644
--- a/source3/utils/smbget.c
+++ b/source3/utils/smbget.c
@@ -116,22 +116,23 @@ static void get_auth_data_with_context_fn(SMBCCTX *ctx,
        const char *domain = NULL;
        enum credentials_obtained obtained = CRED_UNINITIALISED;
 
-       username = cli_credentials_get_username_and_obtained(creds, &obtained);
-       if (username != NULL) {
+       domain = cli_credentials_get_domain_and_obtained(creds, &obtained);
+       if (domain != NULL) {
                bool overwrite = false;
-               if (usr[0] == '\0') {
+               if (dom[0] == '\0') {
                        overwrite = true;
                }
                if (obtained >= CRED_CALLBACK_RESULT) {
                        overwrite = true;
                }
                if (overwrite) {
-                       strncpy(usr, username, usr_len - 1);
+                       strncpy(dom, domain, dom_len - 1);
                }
        }
+       cli_credentials_set_domain(creds, dom, obtained);
 
-       password = cli_credentials_get_password_and_obtained(creds, &obtained);
-       if (password != NULL) {
+       username = cli_credentials_get_username_and_obtained(creds, &obtained);
+       if (username != NULL) {
                bool overwrite = false;
                if (usr[0] == '\0') {
                        overwrite = true;
@@ -140,33 +141,35 @@ static void get_auth_data_with_context_fn(SMBCCTX *ctx,
                        overwrite = true;
                }
                if (overwrite) {
-                       strncpy(pwd, password, pwd_len - 1);
+                       strncpy(usr, username, usr_len - 1);
                }
        }
+       cli_credentials_set_username(creds, usr, obtained);
 
-       domain = cli_credentials_get_domain_and_obtained(creds, &obtained);
-       if (domain != NULL) {
+       password = cli_credentials_get_password_and_obtained(creds, &obtained);
+       if (password != NULL) {
                bool overwrite = false;
-               if (usr[0] == '\0') {
+               if (pwd[0] == '\0') {
                        overwrite = true;
                }
                if (obtained >= CRED_CALLBACK_RESULT) {
                        overwrite = true;
                }
                if (overwrite) {
-                       strncpy(dom, domain, dom_len - 1);
+                       strncpy(pwd, password, pwd_len - 1);
                }
        }
+       cli_credentials_set_password(creds, pwd, obtained);
 
-       smbc_set_credentials_with_fallback(ctx, domain, username, password);
+       smbc_set_credentials_with_fallback(ctx, dom, usr, pwd);
 
-       if (!opt.quiet && username != NULL) {
-               if (username[0] == '\0') {
+       if (!opt.quiet) {
+               if (usr[0] == '\0') {
                        printf("Using guest user\n");
+               } else if (dom[0] == '\0') {
+                       printf("Using user: %s\n", usr);
                } else {
-                       printf("Using domain: %s, user: %s\n",
-                               domain,
-                               username);
+                       printf("Using domain: %s, user: %s\n", dom, usr);
                }
        }
 }


-- 
Samba Shared Repository

Reply via email to