This is an expected behavior. The '@' symbol is used as a divider to split user/password information from hostname in smbnetfs paths. As result '@' substituted by '%40' everywhere in paths/filenames.
For example you can type something similar to
cd mountpoint/user:password@host/share/somepath
as result you'll enter to host 'host' share 'share' as user 'user' with password 'password'. This is insecure but very useful in some situations.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
SMBNetFS uses libsmbclient library to work with samba networks. libsmbclient library has a feature of understanding paths like smb://user:password@host/share/path. This feature is used in SMBNetFS (supports of paths like mountpoint/user:password@host/share/somepath). The back side of this feature is the special handling of '@'.
mount.cifs do not keep username and password in the file paths and hence do not have such problem.
During development of SMBNetFS i have a choice of (1) use '@' as normal symbol and forbid paths like mountpoint/user:password@host/share/somepath or (2) support paths like mountpoint/user:password@host/share/somepath and escape '@' by some way. I choose the second way.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have the following in smbnetfs.conf:
local_charset "utf-8"
samba_charset "utf-8"
This is an expected behavior. The '@' symbol is used as a divider to split user/password information from hostname in smbnetfs paths. As result '@' substituted by '%40' everywhere in paths/filenames.
For example you can type something similar to
cd mountpoint/user:password@host/share/somepath
as result you'll enter to host 'host' share 'share' as user 'user' with password 'password'. This is insecure but very useful in some situations.
The behavior is different from mount.cifs which shows '@' as expected in the folder name.
SMBNetFS uses libsmbclient library to work with samba networks. libsmbclient library has a feature of understanding paths like smb://user:password@host/share/path. This feature is used in SMBNetFS (supports of paths like mountpoint/user:password@host/share/somepath). The back side of this feature is the special handling of '@'.
mount.cifs do not keep username and password in the file paths and hence do not have such problem.
During development of SMBNetFS i have a choice of (1) use '@' as normal symbol and forbid paths like mountpoint/user:password@host/share/somepath or (2) support paths like mountpoint/user:password@host/share/somepath and escape '@' by some way. I choose the second way.