-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
An existing folder in Owncloud with the % character in the name makes trouble on new users, if they want to sync this folder. Error message from Owncloud Desktop Client 6.0.2 (translated from german):
The server reports an error reading the folder. […] The server responded with "400 Bad Request" to […]
Steps to reproduce
- Install owncloud/server:10.15.3 via Docker
- create a folder with % character in the name (like "15% taxes")
- Upgrade to owncloud/server:10.16.0 via Docker
- share folder with an active directory user in owncloud
- install Owncloud Desktop Client in version 5.x or 6.x
- login via the Owncloud Desktop Client with this active directory user
- read the error message after failed synchronization
Expected behaviour
No problems with synchronization of folders with a % character
Actual behaviour
synchronization abort with error message
Server configuration
Operating system: Ubuntu 24.04 (host) + Docker container
Web server: Default from Docker container
Database: MySQL 8.4.7
PHP version: Default from Docker container
ownCloud version: 10.16.0
Updated from an older ownCloud or fresh install: Updated from 10.15.3
Where did you install ownCloud from: from Docker Hub via Ansible + Docker
Signing status (ownCloud 9.0 and above): I don't know
Login as admin user into your ownCloud and access
http://example.com/index.php/settings/integrity/failed
paste the results into https://gist.github.com/ and puth the link here.
"No errors have been found."
The content of config/config.php: still too much sensitive data in the created report (like account names, domains etc.)
List of activated apps:
Enabled:
- brute_force_protection:
- Version: 1.3.0
- Path: /var/www/owncloud/custom/brute_force_protection
- comments:
- Version: 0.3.0
- Path: /var/www/owncloud/apps/comments
- configreport:
- Version: 0.3.1
- Path: /var/www/owncloud/apps/configreport
- dav:
- Version: 0.7.0
- Path: /var/www/owncloud/apps/dav
- diagnostics:
- Version: 0.2.1
- Path: /var/www/owncloud/apps/diagnostics
- external:
- Version: 1.4.0
- Path: /var/www/owncloud/apps/external
- federatedfilesharing:
- Version: 0.5.0
- Path: /var/www/owncloud/apps/federatedfilesharing
- federation:
- Version: 0.1.0
- Path: /var/www/owncloud/apps/federation
- files:
- Version: 1.6.0
- Path: /var/www/owncloud/apps/files
- files_antivirus:
- Version: 1.2.3
- Path: /var/www/owncloud/apps/files_antivirus
- files_external:
- Version: 0.9.0
- Path: /var/www/owncloud/apps/files_external
- files_mediaviewer:
- Version: 1.0.5
- Path: /var/www/owncloud/apps/files_mediaviewer
- files_pdfviewer:
- Version: 1.0.2
- Path: /var/www/owncloud/apps/files_pdfviewer
- files_sharing:
- Version: 0.14.0
- Path: /var/www/owncloud/apps/files_sharing
- files_texteditor:
- Version: 2.6.2
- Path: /var/www/owncloud/apps/files_texteditor
- files_trashbin:
- Version: 0.9.1
- Path: /var/www/owncloud/apps/files_trashbin
- files_versions:
- Version: 1.3.0
- Path: /var/www/owncloud/apps/files_versions
- firstrunwizard:
- Version: 1.3.0
- Path: /var/www/owncloud/apps/firstrunwizard
- gallery:
- Version: 16.1.2
- Path: /var/www/owncloud/custom/gallery
- market:
- Version: 0.9.0
- Path: /var/www/owncloud/apps/market
- notifications:
- Version: 0.6.0
- Path: /var/www/owncloud/apps/notifications
- provisioning_api:
- Version: 0.5.0
- Path: /var/www/owncloud/apps/provisioning_api
- systemtags:
- Version: 0.3.0
- Path: /var/www/owncloud/apps/systemtags
- user_external:
- Version: 0.6.0
- Path: /var/www/owncloud/apps/user_external
- user_ldap:
- Version: 0.19.1
- Path: /var/www/owncloud/apps/user_ldap
Disabled:
- activity:
- Path: /var/www/owncloud/apps/activity
- admin_audit:
- Path: /var/www/owncloud/apps/admin_audit
- announcementcenter:
- Path: /var/www/owncloud/apps/announcementcenter
- customgroups:
- Path: /var/www/owncloud/apps/customgroups
- drawio:
- Path: /var/www/owncloud/apps/drawio
- encryption:
- Path: /var/www/owncloud/apps/encryption
- files_classifier:
- Path: /var/www/owncloud/apps/files_classifier
- files_external_dropbox:
- Path: /var/www/owncloud/apps/files_external_dropbox
- files_external_ftp:
- Path: /var/www/owncloud/apps/files_external_ftp
- files_ldap_home:
- Path: /var/www/owncloud/apps/files_ldap_home
- files_lifecycle:
- Path: /var/www/owncloud/apps/files_lifecycle
- files_primary_s3:
- Path: /var/www/owncloud/apps/files_primary_s3
- firewall:
- Path: /var/www/owncloud/apps/firewall
- graphapi:
- Path: /var/www/owncloud/apps/graphapi
- guests:
- Path: /var/www/owncloud/apps/guests
- impersonate:
- Path: /var/www/owncloud/apps/impersonate
- kerberos:
- Path: /var/www/owncloud/apps/kerberos
- metrics:
- Path: /var/www/owncloud/apps/metrics
- oauth2:
- Path: /var/www/owncloud/apps/oauth2
- openidconnect:
- Path: /var/www/owncloud/apps/openidconnect
- password_policy:
- Path: /var/www/owncloud/apps/password_policy
- ransomware_protection:
- Path: /var/www/owncloud/apps/ransomware_protection
- sharepoint:
- Path: /var/www/owncloud/apps/sharepoint
- systemtags_management:
- Path: /var/www/owncloud/apps/systemtags_management
- templateeditor:
- Path: /var/www/owncloud/apps/templateeditor
- theme-enterprise:
- Path: /var/www/owncloud/apps/theme-enterprise
- updatenotification:
- Path: /var/www/owncloud/apps/updatenotification
- user_shibboleth:
- Path: /var/www/owncloud/apps/user_shibboleth
- web:
- Path: /var/www/owncloud/apps/web
- windows_network_drive:
- Path: /var/www/owncloud/apps/windows_network_drive
- wopi:
- Path: /var/www/owncloud/apps/wopi
- workflow:
- Path: /var/www/owncloud/apps/workflow
Are you using external storage, if yes which one: no
Are you using encryption: no
Are you using an external user-backend, if yes which one: ActiveDirectory
LDAP configuration (delete this part if not used)
+-------------------------------+--------------------------------------------------------------------------------------------------------------+
| Configuration | s01 |
+-------------------------------+--------------------------------------------------------------------------------------------------------------+
| hasMemberOfFilterSupport | 1 |
| hasPagedResultSupport | |
| homeFolderNamingRule | |
| lastJpegPhotoLookup | 0 |
| ldapAgentName | CN=***REMOVED***,CN=Users,DC=***REMOVED***,DC=***REMOVED*** |
| ldapAgentPassword | *** |
| ldapAttributesForGroupSearch | |
| ldapAttributesForUserSearch | |
| ldapBackupHost | ***REMOVED*** |
| ldapBackupPort | 389 |
| ldapBase | DC=***REMOVED***,DC=***REMOVED*** |
| ldapBaseGroups | CN=Users,DC=***REMOVED***,DC=***REMOVED*** |
| ldapBaseUsers | CN=Users,DC=***REMOVED***,DC=***REMOVED*** |
| ldapCacheTTL | 600 |
| ldapConfigurationActive | 1 |
| ldapDynamicGroupMemberURL | |
| ldapEmailAttribute | mail |
| ldapExperiencedAdmin | 0 |
| ldapExpertGroupnameAttr | cn |
| ldapExpertUUIDGroupAttr | |
| ldapExpertUUIDUserAttr | objectguid |
| ldapExpertUsernameAttr | sAMAccountname |
| ldapExposedAttributesForUser | |
| ldapGroupDisplayName | cn |
| ldapGroupFilter | (&(objectClass=group)(CN=****REMOVED****)) |
| ldapGroupFilterGroups | |
| ldapGroupFilterMode | 0 |
| ldapGroupFilterObjectclass | |
| ldapGroupMemberAlgo | groupScan |
| ldapGroupMemberAssocAttr | member |
| ldapHost | ***REMOVED*** |
| ldapIgnoreNamingRules | |
| ldapLoginFilter | (&(&(|(objectclass=user))(|(memberof=CN=***REMOVED***,CN=***REMOVED***,DC=***REMOVED***,DC=***REMOVED***)))(samaccountname=%uid)) |
| ldapLoginFilterAttributes | |
| ldapLoginFilterEmail | 0 |
| ldapLoginFilterMode | 1 |
| ldapLoginFilterUsername | 1 |
| ldapNestedGroups | 0 |
| ldapNetworkTimeout | 2 |
| ldapOverrideMainServer | |
| ldapPagingSize | 500 |
| ldapPort | 389 |
| ldapQuotaAttribute | |
| ldapQuotaDefault | |
| ldapTLS | 0 |
| ldapUserDisplayName | cn |
| ldapUserDisplayName2 | |
| ldapUserFilter | (&(|(objectclass=user))(|(memberof=CN=***REMOVED***,CN=***REMOVED***,DC=***REMOVED***,DC=***REMOVED***))) |
| ldapUserFilterGroups | ***REMOVED*** |
| ldapUserFilterMode | 1 |
| ldapUserFilterObjectclass | user |
| ldapUserName | samaccountname |
| ldapUuidGroupAttribute | auto |
| ldapUuidUserAttribute | auto |
| turnOffCertCheck | |
| useMemberOfToDetectMembership | 1 |
+-------------------------------+--------------------------------------------------------------------------------------------------------------+
+-------------------------------+--------------------------------------------------------------------------------------------------------------+
| Configuration | s02 |
+-------------------------------+--------------------------------------------------------------------------------------------------------------+
| hasMemberOfFilterSupport | 1 |
| hasPagedResultSupport | |
| homeFolderNamingRule | |
| lastJpegPhotoLookup | 0 |
| ldapAgentName | CN=***REMOVED***,CN=***REMOVED***,DC=***REMOVED***,DC=***REMOVED*** |
| ldapAgentPassword | *** |
| ldapAttributesForGroupSearch | |
| ldapAttributesForUserSearch | |
| ldapBackupHost | |
| ldapBackupPort | |
| ldapBase | DC=***REMOVED***,DC=***REMOVED*** |
| ldapBaseGroups | DC=***REMOVED***,DC=***REMOVED*** |
| ldapBaseUsers | DC=***REMOVED***,DC=***REMOVED*** |
| ldapCacheTTL | 600 |
| ldapConfigurationActive | 1 |
| ldapDynamicGroupMemberURL | |
| ldapEmailAttribute | |
| ldapExperiencedAdmin | 0 |
| ldapExpertGroupnameAttr | cn |
| ldapExpertUUIDGroupAttr | |
| ldapExpertUUIDUserAttr | objectguid |
| ldapExpertUsernameAttr | |
| ldapExposedAttributesForUser | |
| ldapGroupDisplayName | cn |
| ldapGroupFilter | (&(|(objectclass=user))(|(memberof=CN=***REMOVED***,CN=***REMOVED***,DC=***REMOVED***,DC=***REMOVED***))) |
| ldapGroupFilterGroups | |
| ldapGroupFilterMode | 1 |
| ldapGroupFilterObjectclass | |
| ldapGroupMemberAlgo | groupScan |
| ldapGroupMemberAssocAttr | uniqueMember |
| ldapHost | ***REMOVED*** |
| ldapIgnoreNamingRules | |
| ldapLoginFilter | (&(&(|(objectclass=user))(|(memberof=CN=***REMOVED***,CN=***REMOVED***,DC=***REMOVED***,DC=***REMOVED***)))(samaccountname=%uid)) |
| ldapLoginFilterAttributes | |
| ldapLoginFilterEmail | 0 |
| ldapLoginFilterMode | 0 |
| ldapLoginFilterUsername | 1 |
| ldapNestedGroups | 0 |
| ldapNetworkTimeout | 2 |
| ldapOverrideMainServer | |
| ldapPagingSize | 500 |
| ldapPort | 389 |
| ldapQuotaAttribute | |
| ldapQuotaDefault | |
| ldapTLS | 0 |
| ldapUserDisplayName | displayName |
| ldapUserDisplayName2 | |
| ldapUserFilter | (&(|(objectclass=user))(|(memberof=CN=***REMOVED***,CN=***REMOVED***,DC=***REMOVED***,DC=***REMOVED***))) |
| ldapUserFilterGroups | |
| ldapUserFilterMode | 0 |
| ldapUserFilterObjectclass | person |
| ldapUserName | samaccountname |
| ldapUuidGroupAttribute | auto |
| ldapUuidUserAttribute | auto |
| turnOffCertCheck | 0 |
| useMemberOfToDetectMembership | 1 |
+-------------------------------+--------------------------------------------------------------------------------------------------------------+
Client configuration
Browser: Firefox 147.0
Owncloud Desktop Client: 5.3.2 (Linux) and 6.0.2 (Windows and Linux)
Operating system: see above
Logs
ownCloud log (data/owncloud.log)
***REMOVED*** - ***REMOVED*** [14/Jan/2026:13:20:10 +0000] "PROPFIND /remote.php/dav/files/***REMOVED***/***REMOVED***%20V26 HTTP/1.1" 207 7116 "-" "Mozilla/5.0 (Windows) mirall/6.0.2.17506 (ownCloud, windows-10.0.26200 ClientArchitecture: x86_64 OsArchitecture: x86_64)"
***REMOVED*** - ***REMOVED*** [14/Jan/2026:13:20:20 +0000] "PROPFIND /remote.php/dav/files/***REMOVED***/ HTTP/1.1" 207 1174 "-" "Mozilla/5.0 (Windows) mirall/6.0.2.17506 (ownCloud, windows-10.0.26200 ClientArchitecture: x86_64 OsArchitecture: x86_64)"
***REMOVED*** - ***REMOVED*** [14/Jan/2026:13:20:20 +0000] "GET /ocs/v2.php/apps/notifications/api/v1/notifications?format=json HTTP/1.1" 200 1044 "-" "Mozilla/5.0 (Windows) mirall/6.0.2.17506 (ownCloud, windows-10.0.26200 ClientArchitecture: x86_64 OsArchitecture: x86_64)"