]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3: vfs_widelinks: Allow case insensitivity to work on DFS widelinks shares.
authorJeremy Allison <jra@samba.org>
Tue, 11 Jun 2024 00:25:32 +0000 (17:25 -0700)
committerJeremy Allison <jra@samba.org>
Tue, 11 Jun 2024 17:00:38 +0000 (17:00 +0000)
Remove knownfail.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15662

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Noel Power <noel.power@suse.com>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Tue Jun 11 17:00:38 UTC 2024 on atb-devel-224

selftest/knownfail.d/widelinks_ci [deleted file]
source3/modules/vfs_widelinks.c

diff --git a/selftest/knownfail.d/widelinks_ci b/selftest/knownfail.d/widelinks_ci
deleted file mode 100644 (file)
index 387ca44..0000000
+++ /dev/null
@@ -1 +0,0 @@
-^samba3.blackbox.widelink_dfs_ci.creating\ a\ directory\ x\ and\ chdir\ into\ it\(fileserver\)
index c5b5084e108eb38b3b7c5cf15a0e58f623dfa536..4339f6de9e00a55502bad1b8d90f408aa991e0a8 100644 (file)
@@ -383,8 +383,17 @@ static int widelinks_openat(vfs_handle_struct *handle,
                }
                lstat_ret = SMB_VFS_NEXT_LSTAT(handle,
                                full_fname);
-               if (lstat_ret != -1 &&
-                   VALID_STAT(full_fname->st) &&
+               if (lstat_ret == -1) {
+                       /*
+                        * Path doesn't exist. We must
+                        * return errno from LSTAT.
+                        */
+                       int saved_errno = errno;
+                       TALLOC_FREE(full_fname);
+                       errno = saved_errno;
+                       return -1;
+               }
+               if (VALID_STAT(full_fname->st) &&
                    S_ISLNK(full_fname->st.st_ex_mode)) {
                        fsp->fsp_name->st = full_fname->st;
                }