[Samba] 4.20: case (in)sensitive is broken

Michael Tokarev mjt at tls.msk.ru
Tue Jun 11 08:45:27 UTC 2024


10.06.2024 20:55, Jeremy Allison via samba wrote:

> Here is the fix. Not sure if it breaks anything else (yet) :-).

Wow.

With the additional info from my previous email in mind, it looks
like there's something else going on here.  Namely, why the issue
happens only if unix extensions is *excplicitly* turned off, while
doesn't happen when it is turned off implicitly due to wide links?
Note that wide links is share-level parameter while unix extensions
is global.

Also, the fix you created does not look like well-placed.  Maybe we
should check for msdfs: symlinks before evaluating symlink target,
ie, before vfs_widelinks is called?

> Can you create me a bug please and I'll add a regression test
> for this ?

I went to bed early yesterday, - thought I'll do this properly today.
But it looks like you were faster :)

> diff --git a/source3/modules/vfs_widelinks.c b/source3/modules/vfs_widelinks.c
> index c5b5084e108..f3c9f0e359c 100644
> --- a/source3/modules/vfs_widelinks.c
> +++ b/source3/modules/vfs_widelinks.c
> @@ -383,8 +383,14 @@ 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) {
> +            /* Can't be a DFS link. */
> +            int saved_errno = errno;
> +            TALLOC_FREE(full_fname);
> +            errno = saved_errno;

Can TALLOC_FREE change errno?

> +            return -1;
> +        }
> +        if (VALID_STAT(full_fname->st) &&
>               S_ISLNK(full_fname->st.st_ex_mode)) {
>               fsp->fsp_name->st = full_fname->st;
>           }
> 


Thank you very much, Jeremy!

/mjt

-- 
GPG Key transition (from rsa2048 to rsa4096) since 2024-04-24.
New key: rsa4096/61AD3D98ECDF2C8E  9D8B E14E 3F2A 9DD7 9199  28F1 61AD 3D98 ECDF 2C8E
Old key: rsa2048/457CE0A0804465C5  6EE1 95D1 886E 8FFB 810D  4324 457C E0A0 8044 65C5
Transition statement: http://www.corpit.ru/mjt/gpg-transition-2024.txt




More information about the samba mailing list