linux/fs/smb/client
Pali Rohár 63271b7d56 cifs: Fix creating native symlinks pointing to current or parent directory
Calling 'ln -s . symlink' or 'ln -s .. symlink' creates symlink pointing to
some object name which ends with U+F029 unicode codepoint. This is because
trailing dot in the object name is replaced by non-ASCII unicode codepoint.

So Linux SMB client currently is not able to create native symlink pointing
to current or parent directory on Windows SMB server which can be read by
either on local Windows server or by any other SMB client which does not
implement compatible-reverse character replacement.

Fix this problem in cifsConvertToUTF16() function which is doing that
character replacement. Function comment already says that it does not need
to handle special cases '.' and '..', but after introduction of native
symlinks in reparse point form, this handling is needed.

Note that this change depends on the previous change
"cifs: Improve creating native symlinks pointing to directory".

Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-10-06 22:57:12 -05:00
..
compress move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
asn1.c
cached_dir.c smb3: fix Open files on server counter going negative 2024-04-11 16:02:02 -05:00
cached_dir.h smb: client: make laundromat a delayed worker 2023-10-12 09:41:04 -05:00
cifs_debug.c smb3: mark compression as CONFIG_EXPERIMENTAL and fix missing compression operation 2024-09-15 10:42:44 -05:00
cifs_debug.h
cifs_fs_sb.h
cifs_ioctl.h smb3: allow dumping session and tcon id to improve stats analysis and debugging 2023-11-10 02:00:30 -06:00
cifs_spnego_negtokeninit.asn1
cifs_spnego.c cifs: spnego: add ';' in HOST_KEY_LEN 2023-11-13 16:21:34 -06:00
cifs_spnego.h
cifs_swn.c
cifs_swn.h
cifs_unicode.c cifs: Fix creating native symlinks pointing to current or parent directory 2024-10-06 22:57:12 -05:00
cifs_unicode.h fs/smb/client: Use common code in client 2023-08-30 08:55:52 -05:00
cifsacl.c smb: client: Use min() macro 2024-09-15 10:42:44 -05:00
cifsacl.h smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
cifsencrypt.c smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
cifsfs.c smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
cifsfs.h cifs: update internal version number 2024-09-24 21:54:06 -05:00
cifsglob.h smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
cifspdu.h nine smb3 client fixes 2024-10-04 09:56:05 -07:00
cifsproto.h smb: client: fix DFS interlink failover 2024-09-24 21:51:48 -05:00
cifsroot.c
cifssmb.c smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
compress.c smb: client: fix compression heuristic functions 2024-09-16 20:10:39 -05:00
compress.h smb: client: compress: LZ77 code improvements cleanup 2024-09-15 10:42:45 -05:00
connect.c smb: client: print failed session logoffs with FYI 2024-09-24 21:54:03 -05:00
dfs_cache.c smb: client: fix DFS interlink failover 2024-09-24 21:51:48 -05:00
dfs_cache.h smb: client: ensure to try all targets when finding nested links 2023-08-20 16:05:50 -05:00
dfs.c smb: client: fix DFS interlink failover 2024-09-24 21:51:48 -05:00
dfs.h smb: client: fix DFS interlink failover 2024-09-24 21:51:48 -05:00
dir.c cifs: Fix caching to try to do open O_WRONLY as rdwr on server 2024-04-02 09:29:55 -05:00
dns_resolve.c
dns_resolve.h
export.c exportfs: make ->encode_fh() a mandatory method for NFS export 2023-10-28 16:15:15 +02:00
file.c smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
fs_context.c cifs: Add support for creating SFU symlinks 2024-09-16 20:10:34 -05:00
fs_context.h smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
fscache.c cifs: Remove some code that's no longer used, part 1 2024-05-01 18:08:21 +01:00
fscache.h cifs: Remove some code that's no longer used, part 1 2024-05-01 18:08:21 +01:00
inode.c cifs: Check for UTF-16 null codepoint in SFU symlink target location 2024-09-29 17:28:40 -05:00
ioctl.c struct fd layout change (and conversion to accessor helpers) 2024-09-23 09:35:36 -07:00
Kconfig smb3: mark compression as CONFIG_EXPERIMENTAL and fix missing compression operation 2024-09-15 10:42:44 -05:00
link.c cifs: Add support for creating SFU symlinks 2024-09-16 20:10:34 -05:00
Makefile smb3: mark compression as CONFIG_EXPERIMENTAL and fix missing compression operation 2024-09-15 10:42:44 -05:00
misc.c smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
namespace.c smb: client: fix DFS interlink failover 2024-09-24 21:51:48 -05:00
netlink.c
netlink.h
netmisc.c smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
nterr.c
nterr.h
ntlmssp.h cifs: Add client version details to NTLM authenticate message 2023-10-22 19:03:42 -05:00
readdir.c smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
reparse.c cifs: Improve creating native symlinks pointing to directory 2024-10-06 22:57:12 -05:00
reparse.h smb: client: fix parsing of device numbers 2024-09-24 21:51:48 -05:00
rfc1002pdu.h
sess.c Revert "smb: client: make SHA-512 TFM ephemeral" 2024-09-30 22:07:45 -05:00
smb1ops.c smb: client: use actual path when queryfs 2024-10-01 21:47:16 -05:00
smb2file.c smb: use LIST_HEAD() to simplify code 2024-09-15 10:42:45 -05:00
smb2glob.h smb: client: introduce SMB2_OP_QUERY_WSL_EA 2024-03-10 19:33:58 -05:00
smb2inode.c cifs: Improve creating native symlinks pointing to directory 2024-10-06 22:57:12 -05:00
smb2maperror.c smb: move SMB2 Status code to common header file 2024-09-15 10:42:44 -05:00
smb2misc.c Revert "smb: client: make SHA-512 TFM ephemeral" 2024-09-30 22:07:45 -05:00
smb2ops.c smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
smb2pdu.c smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
smb2pdu.h smb/client: rename cifs_sid to smb_sid 2024-09-15 10:42:44 -05:00
smb2proto.h cifs: Improve creating native symlinks pointing to directory 2024-10-06 22:57:12 -05:00
smb2transport.c smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
smbdirect.c smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
smbdirect.h smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
smbencrypt.c smb: client: delete "true", "false" defines 2024-01-23 12:41:02 -06:00
smberr.h
trace.c
trace.h cifs: Make the write_{enter,done,err} tracepoints display netfs info 2024-09-24 21:51:48 -05:00
transport.c cifs: Fix reversion of the iter in cifs_readv_receive(). 2024-09-24 21:53:08 -05:00
unc.c
winucase.c
xattr.c smb/client: rename cifs_ntsd to smb_ntsd 2024-09-15 10:42:44 -05:00