Skip to content

Error reading a folder with percent character (%) in the name; 400 Bad Request #41436

@Sebastian-SWP

Description

@Sebastian-SWP

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 […]

Image

Steps to reproduce

  1. Install owncloud/server:10.15.3 via Docker
  2. create a folder with % character in the name (like "15% taxes")
  3. Upgrade to owncloud/server:10.16.0 via Docker
  4. share folder with an active directory user in owncloud
  5. install Owncloud Desktop Client in version 5.x or 6.x
  6. login via the Owncloud Desktop Client with this active directory user
  7. 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)"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions