Invalid characters can be created in file names on Android
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
El payload no menciona archivos fuente ni pruebas. Empieza por reproducir el problema con la bóveda dañada adjunta y compara los nombres con saltos de línea creados por Android a través de WebDAV con WinFsp o el montaje automático; estará terminado cuando los nombres no válidos se rechacen o la ruta de acceso afectada los gestione con un error informativo o una opción de recuperación.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Kotlin
- Estrellas
- 1.2k
- Forks
- 216
- Merge medio
- 1 d 20 h
- PR fusionados (30 d)
- 9
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de cryptomator/android
-
Increase Cache Size?Abiertotype:feature-request
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
cryptomator/android#666 ·
Los mantenedores suelen responder en 1 día
-
misc:hub
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
cryptomator/android#657 ·
Los mantenedores suelen responder en 1 día
-
"Keep unlocked" advanced setting on Android app doesn't release Vault after files are closedAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
cryptomator/android#656 ·
Los mantenedores suelen responder en 1 día
-
state:to-be-confirmed type:bug
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
cryptomator/android#654 ·
Los mantenedores suelen responder en 1 día
-
Using custom CA certificatesAbiertotype:feature-request
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
cryptomator/android#653 · 1 reacción ·
Los mantenedores suelen responder en 1 día
Todos los issues de cryptomator/android
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
damontecres/Wholphin#2069 ·
Los mantenedores suelen responder en 1 día
-
Android (vision-camera-location): HybridLocationManager never quits its HandlerThread on disposeAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
margelo/react-native-vision-camera#4217 ·
Los mantenedores suelen responder en 4 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
saisaharsh3/Leftovers#13 · 1 comentario ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 67/100
navikt/esyfo-narmesteleder#700 ·
Los mantenedores suelen responder en 1 día
-
[DEV] Update ktlintAbiertobackend maintenance
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
digitalfabrik/entitlementcard#3183 ·
Los mantenedores suelen responder en 7 días