[Samba] missing msdfs referrals from samba directory listing: wrong order in smbd_dirptr_get_entry()?
Michael Tokarev
mjt at tls.msk.ru
Fri Jun 7 10:50:22 UTC 2024
So, I compared 4.19 and 4.20 in this context.
4.19:
openat2(30, "dfstest", {flags=O_RDONLY|O_PATH, resolve=RESOLVE_NO_SYMLINKS}, 24) = -1 ELOOP (Too many levels of symbolic links)
openat(30, "dfstest", O_RDONLY|O_PATH) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "dfstest", {st_mode=S_IFLNK|0777, st_size=31, ...}, AT_SYMLINK_NOFOLLOW) = 0
openat(30, ".", O_RDONLY) = 8
newfstatat(8, "", {st_mode=S_IFDIR|S_ISGID|0755, st_size=90, ...}, AT_EMPTY_PATH) = 0
newfstatat(8, "", {st_mode=S_IFDIR|S_ISGID|0755, st_size=90, ...}, AT_EMPTY_PATH) = 0
fcntl(8, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fcntl(8, F_SETFD, FD_CLOEXEC) = 0
getdents64(8, 0x564b7bdc4030 /* 9 entries */, 32768) = 256
close(8) = 0
openat(30, "dfstest", O_RDONLY|O_PATH) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "dfstest", {st_mode=S_IFLNK|0777, st_size=31, ...}, AT_SYMLINK_NOFOLLOW) = 0
4.20:
openat(31, "dfstest", O_RDONLY|O_PATH) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "dfstest", {st_mode=S_IFLNK|0777, st_size=31, ...}, AT_SYMLINK_NOFOLLOW) = 0
newfstatat(31, "dfstest", {st_mode=S_IFLNK|0777, st_size=31, ...}, AT_SYMLINK_NOFOLLOW) = 0
readlinkat(31, "dfstest", "msdfs:", 6) = 6
newfstatat(31, "dfstest", {st_mode=S_IFLNK|0777, st_size=31, ...}, AT_SYMLINK_NOFOLLOW) = 0
Have to run for now. Will take a deeper look at this and the case insensitive
issue later.
/mjt
More information about the samba
mailing list