Invalid characters can be created in file names on Android
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Payload không nêu tệp nguồn hay bài kiểm thử nào. Hãy bắt đầu bằng cách tái hiện sự cố với vault bị hỏng đính kèm và so sánh các tên chứa ký tự xuống dòng được tạo trên Android qua WebDAV với WinFsp hoặc việc tự động gắn kết; hoàn tất khi các tên không hợp lệ bị từ chối hoặc đường dẫn truy cập bị ảnh hưởng xử lý chúng bằng một lỗi có thông tin hoặc tùy chọn khôi phục.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Please agree to the following
- I have searched existing issues for duplicates
- I agree to follow this project's Code of Conduct
Summary
Android client allows accidentally creating filenames with characters, that break directory access on Windows
System Setup
- Android:
- Android 14
- Samsung Galaxy A52s
- Google Play system update "November 1 2023".
- Cryptomator: 1.10.2
- PC:
- Windows 11, 23H2.
- Cryptomator 1.13.0
- WinFSP installed
- Setting "Default Volume Type": "Automatic"
Cloud Type
Dropbox
Steps to Reproduce
- On Android, select some text containing newlines but no other characters potentially problematic as file name.
- "Copy" the text
- Use "Share > Cryptomator" on some image on a webpage.
- Paste the text into the file name field when uploading to a cryptomator vault.
Expected Behavior
Not completely clear:
- Either Cryptomator on Android should reject the newline, or
- Cryptomator on Windows should allow the newline or, if the issue is with the Windows APIs instead,
- Translate it on Windows to something, the system can work with, or
- Show a more informative error message, maybe a "rename file now" option.
Actual Behavior
When viewing the vault on PC,
- The root directory is listed as usual.
- Trying to copy the file (Ctrl+C, Ctrl+V or drag-and-drop with Ctrl held down) leads to an error
Error 0x80070057: The parameter is incorrect.
- Trying to copy the file to a subdirectory will create the same error message, but on Android, the copied file is still visible.
- Subsequently, the sub directory is shown as empty in Explorer, while the root directory remains viewable.
- This pattern repeats with other software, e.g. in
cmd, thedircommand can list the root directory, including the newline character, but fails for the subdirectory with an error "File not found". - Similarly, using
os.listdiron Android yields the list of files (including newline characters) in the root directory, but fails with an exceptionFileNotFoundError: [WinError 206] The filename or extension is too long: 'foo'for the subdirectory.
Reproducibility
Always
Relevant Log Output
Nothing relevant to report for the log files. The last entry prior to reproducing the failing behavior is just "10:36:37.078 [JavaFX Application Thread] INFO o.c.ui.unlock.UnlockWorkflow - Unlock of 'test bug' succeeded.", and nothing after that. Errors show up in Python, CMD "dir" and the directory is listed as empty, but nothing shows up in the log.
Anything else?
The issue is not reproducible by creating a file with newline characters directly on Windows, e.g. using Python, i.e. for the behavior to break, for some reason the file must originally have been created on Android, even though they should have the exactly same name, see screenshot below:
After manually changing the mount type of the vault, it looks like the issue occurs only when mounting with WebDAV. However, originally the mount type was set to "automatic" in the Cryptomator settings, and "Default (WinFsp)" in the vault settings. After testing the different mount types and setting it back to "Default (WinFsp)", the issue is now gone unless I explicitly set the vault to "WebDAV", indicating that Cryptomator may have previously used WebDAV as the default after all.
An example broken vault is attached with password helloworld:
example_broken_vault.zip
The subdirectory subdirectory_populated_by_dragndrop shows the described breakage under webdav access.
- Ngôn ngữ chính
- Kotlin
- Star
- 1.2k
- Fork
- 218
- Merge trung bình
- 1 ngày 20 giờ
- Pull request đã merge (30 ngày)
- 9
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của cryptomator/android
-
Increase Cache Size?Đang mởtype:feature-request
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
cryptomator/android#666 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
misc:hub
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 45/100
cryptomator/android#657 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
"Keep unlocked" advanced setting on Android app doesn't release Vault after files are closedĐang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
cryptomator/android#656 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
state:to-be-confirmed type:bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 68/100
cryptomator/android#654 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Using custom CA certificatesĐang mởtype:feature-request
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
cryptomator/android#653 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của cryptomator/android
Issue tương tự
-
afk-ok area:data-quality importer size:S
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
enorm-labs/event-junkie#3301 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
MDM: interfaceName cannot be set through managed configurationsCó thể đã có người làm @JulienUsson đã nhận hôm nay. Đang mởbug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
bk138/droidVNC-NG#404 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
rustyrazorblade/easy-db-lab#1017 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
openclaw/openclaw#172218 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày