s3: smbd: Remove call to dfs_redirect() from filename_convert_dirfsp_nosymlink().
authorJeremy Allison <jra@samba.org>
Wed, 10 Aug 2022 18:32:30 +0000 (11:32 -0700)
committerJeremy Allison <jra@samba.org>
Fri, 12 Aug 2022 18:19:31 +0000 (18:19 +0000)
Use dfs_filename_convert() instead. There are now no more callers of dfs_redirect().

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

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
source3/smbd/filename.c

index cba012acc3e0b2e633453dcb7f475008b8cd87d8..b64fb908f16cd85de88c410757d39cc67b24b7fc 100644 (file)
@@ -2384,28 +2384,26 @@ static NTSTATUS filename_convert_dirfsp_nosymlink(
        NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
 
        if (ucf_flags & UCF_DFS_PATHNAME) {
-               char *fname = NULL;
-               NTTIME dfs_twrp = 0;
-               status = dfs_redirect(
-                       mem_ctx,
-                       conn,
-                       name_in,
-                       ucf_flags,
-                       !conn->sconn->using_smb2,
-                       &dfs_twrp,
-                       &fname);
+               /*
+                * We've been given a raw DFS pathname.
+                */
+               char *pathname = NULL;
+               DBG_DEBUG("Before dfs_filename_convert name_in: %s\n", name_in);
+               status = dfs_filename_convert(mem_ctx,
+                                             conn,
+                                             ucf_flags,
+                                             name_in,
+                                             &pathname);
                if (!NT_STATUS_IS_OK(status)) {
-                       DBG_DEBUG("dfs_redirect "
+                       DBG_DEBUG("dfs_filename_convert "
                                "failed for name %s with %s\n",
                                name_in,
                                nt_errstr(status));
                        return status;
                }
-               name_in = fname;
                ucf_flags &= ~UCF_DFS_PATHNAME;
-               if (twrp == 0 && dfs_twrp != 0) {
-                       twrp = dfs_twrp;
-               }
+               name_in = pathname;
+               DBG_DEBUG("After dfs_filename_convert name_in: %s\n", name_in);
        }
 
        if (is_fake_file_path(name_in)) {