s3: smbd: Use dir_hnd->case_sensitive instead of conn->case_sensitive.
authorJeremy Allison <jra@samba.org>
Fri, 15 Oct 2021 23:52:10 +0000 (16:52 -0700)
committerRalph Boehme <slow@samba.org>
Tue, 16 Nov 2021 20:21:37 +0000 (20:21 +0000)
No logic change.

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

index f67e82613d55af1d7922b3e1f87634f56524b4f5..8aa88409d927d95e5331ee1c2b0fb749c98ab917 100644 (file)
@@ -477,7 +477,7 @@ static char *dptr_ReadDirName(TALLOC_CTX *ctx,
         * providing case sensitive semantics or the underlying
         * filesystem is case sensitive.
         */
-       if (dptr->conn->case_sensitive ||
+       if (dptr->dir_hnd->case_sensitive ||
            !(dptr->conn->fs_capabilities & FILE_CASE_SENSITIVE_SEARCH))
        {
                goto clean;
@@ -1717,7 +1717,7 @@ static bool SearchDir(struct smb_Dir *dir_hnd, const char *name, long *poffset)
        if (dir_hnd->name_cache_size && dir_hnd->name_cache) {
                for (i = dir_hnd->name_cache_index; i >= 0; i--) {
                        struct name_cache_entry *e = &dir_hnd->name_cache[i];
-                       if (e->name && (conn->case_sensitive ? (strcmp(e->name, name) == 0) : strequal(e->name, name))) {
+                       if (e->name && (dir_hnd->case_sensitive ? (strcmp(e->name, name) == 0) : strequal(e->name, name))) {
                                *poffset = e->offset;
                                SeekDir(dir_hnd, e->offset);
                                return True;
@@ -1726,7 +1726,7 @@ static bool SearchDir(struct smb_Dir *dir_hnd, const char *name, long *poffset)
                for (i = dir_hnd->name_cache_size - 1;
                                i > dir_hnd->name_cache_index; i--) {
                        struct name_cache_entry *e = &dir_hnd->name_cache[i];
-                       if (e->name && (conn->case_sensitive ? (strcmp(e->name, name) == 0) : strequal(e->name, name))) {
+                       if (e->name && (dir_hnd->case_sensitive ? (strcmp(e->name, name) == 0) : strequal(e->name, name))) {
                                *poffset = e->offset;
                                SeekDir(dir_hnd, e->offset);
                                return True;
@@ -1739,7 +1739,7 @@ static bool SearchDir(struct smb_Dir *dir_hnd, const char *name, long *poffset)
        dir_hnd->file_number = 0;
        *poffset = START_OF_DIRECTORY_OFFSET;
        while ((entry = ReadDirName(dir_hnd, poffset, NULL, &talloced))) {
-               if (conn->case_sensitive ? (strcmp(entry, name) == 0) : strequal(entry, name)) {
+               if (dir_hnd->case_sensitive ? (strcmp(entry, name) == 0) : strequal(entry, name)) {
                        TALLOC_FREE(talloced);
                        return True;
                }