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