With version 1.4.1, SMB does show the name correctly now.
But unfortunately, I can not manage it via SMB. E.g. deleting or renaming does not work via macOS finder. It throws an “unknown” error in macOS (error -43).
Tested versions:
ZimaOS v1.4.1
macOS 15.5 (connection established via SMB 3.1.1)
I have also had a problem with question marks in the filename. I first noticed it around 1.3.8 I think, or after a bad experience with Resilio, yet it didn’t seem to be a problem beforehand. (I also can’t use other symbols in filenames, like >>> which I used to use.)
I’ve been doing some testing on this issue recently. After modifying some configurations, I was able to successfully upload files that you previously couldn’t upload. Could you help me verify if this works on your end?
Here are the specific steps:
ln -s /etc/samba /DATA/samba - This step creates a symbolic link of the samba folder under ZimaOS-HD
# Copyright (c) 2021-2024 CasaOS Inc. All rights reserved.
# You can add custom configuration in this file.
#
# Use command:
# systemctl restart icewhale-files
#
# to ensure configuration enabled. And use 'testparm' to check configuration.
#
[global]
# Character encoding settings - Fix filename special character issues
unix charset = UTF-8
# Case sensitivity settings - Set to false for better compatibility (overrides original setting)
case sensitive = false
# Filename handling - Enable name mangling for long filenames (overrides original setting)
mangled names = yes
# Add character mapping support to handle special characters like ? etc.
# This handles special character mapping in filenames
catia:mappings = 0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6
# Improved error handling and security settings
strict allocate = no
nt acl support = no
inherit acls = no
inherit permissions = no
## debug settings
# log level = 10
systemctl restart icewhale-files
Try uploading the previously failed files again via SMB
I’m getting “permission denied” for this command. Do I need to be using the terminal with a different user, like root?
—EDIT: nevermind, I just figured out how to get into root. Testing now.
Update: It worked!
I’m trying to understand the logic of how the mapping works. If I wanted to add another character, how exactly would I set it up? What’s the requirement for the second mapped character?
For example, I had files named with | (vertical bar). I’m now able to copy new files with that symbol, but old files which got hidden in late March are not appearing in Finder. The Finder window actually has the spinning “loading” icon like it’s waiting to read something, but it’s not updating.
So I’m hoping if I can map | (vertical bar), then Finder will automatically re-show these old files.
Raller, do you have any thoughts on how this issue could’ve developed in the first place? Until March/Resilio the issue didn’t exist. Then it appeared when I had the Resilio issue.
As mentioned in our private “1.3.2” thread, the “undefined symbol” is the one character I really need to get mapped, so that hopefully all my files which got renamed with that symbol by Resilio will automatically reappear in Finder. I sort of understand the logic of the mapping, but I don’t understand what characters I should use for mapping “vertical bar” or “undefined symbol”?
Creating folders in the File app ending with a dot do show up scrambled in macOS’ Finder. Also after adding your settings to casa.conf in 1.4.1 stable.
Okay, I understand the issue now, but this also involves 2 problems:
Why can’t we use some special characters when naming files
different file systems have varying compatibility with special characters like / and $:
## Windows File Systems (NTFS/FAT32)
* Forbidden characters: < > : " | ? * /
* / is illegal in filenames
* $ is generally allowed but has special meaning (hidden shares)
## Unix/Linux File Systems (ext4/xfs)
* Minimal restrictions: Only / (path separator) and null character \0
* $ is allowed in filenames but has shell significance
## macOS File Systems (APFS/HFS+)
* Forbidden: : and /
* : may be converted to / in some contexts
Folders ending with a dot (.) display incorrect names in macOS Finder.
We will continue to work on finding a solution to this issue."