Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

windows clients and workspaces: README.md, Readme.md, or readme.md #19107

Closed
r2evans opened this issue Jan 24, 2020 · 3 comments
Closed

windows clients and workspaces: README.md, Readme.md, or readme.md #19107

r2evans opened this issue Jan 24, 2020 · 3 comments
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug

Comments

@r2evans
Copy link

r2evans commented Jan 24, 2020

Frankly, I don't know if this is a problem with "server" or "desktop", but the overall effect/interaction is causing problems

Steps to reproduce

  1. Install NC18.
  2. In the web-interface navigate to a directory, click into the workspace area at the top. This causes NC server to create a Readme.md file (regardless of content).
  3. Have a windows client syncing that folder.

Expected behaviour

A single readme.md file (in whatever case) is created, whether empty or with some content.

Actual behaviour

Three files with varying-case filenames are created.

image

Windows' based desktop clients repeatedly error. This results in a locked client, so files are not being synced.

Server configuration

Operating system: ubuntu 14.04 and 16.04

Web server: apache

Database: mysql (in one instance) and postgres-11.6 in another

PHP version: 7.2.16 on one and 7.3.13 in the other

Nextcloud version: NC-18.0.0 (from tarball) and NC-18.0.0-ce docker image

Updated from an older Nextcloud/ownCloud or fresh install: upgraded from 17.0.2 (both)

Where did you install Nextcloud from: tarball (first) and docker (second)

Signing status:

Signing status
No errors have been found.

List of activated apps:

App list

The first system (ubuntu 14.04, tarball-based)

$ sudo -u www-data php occ app:list
Enabled:
  - accessibility: 1.4.0
  - activity: 2.11.0
  - bookmarks: 2.3.4
  - bruteforcesettings: 1.5.0
  - calendar: 2.0.1
  - cloud_federation_api: 1.1.0
  - comments: 1.8.0
  - contacts: 3.1.8
  - dav: 1.14.0
  - federatedfilesharing: 1.8.0
  - files: 1.13.1
  - files_rightclick: 0.15.2
  - files_sharing: 1.10.1
  - files_trashbin: 1.8.0
  - files_versions: 1.11.0
  - files_videoplayer: 1.7.0
  - logreader: 2.3.0
  - lookup_server_connector: 1.6.0
  - mail: 1.0.0
  - news: 14.1.2
  - notes: 3.1.1
  - notifications: 2.6.0
  - oauth2: 1.6.0
  - onlyoffice: 4.1.1
  - password_policy: 1.8.0
  - photos: 1.0.0
  - privacy: 1.2.0
  - provisioning_api: 1.8.0
  - serverinfo: 1.8.0
  - settings: 1.0.0
  - support: 1.1.0
  - systemtags: 1.8.0
  - tasks: 0.11.3
  - text: 2.0.0
  - theming: 1.9.0
  - twofactor_backupcodes: 1.7.0
  - viewer: 1.2.0
  - workflowengine: 2.0.0
Disabled:
  - admin_audit
  - encryption
  - federation
  - files_external
  - files_pdfviewer
  - firstrunwizard
  - gallery
  - impersonate
  - nextcloud_announcements
  - recommendations
  - sharebymail
  - survey_client
  - updatenotification
  - user_external
  - user_ldap

The second system (ubuntu 16.04, docker-based)

$ php occ app:list
Enabled:
  - accessibility: 1.4.0
  - activity: 2.11.0
  - admin_audit: 1.8.0
  - calendar: 2.0.1
  - cloud_federation_api: 1.1.0
  - comments: 1.8.0
  - contacts: 3.1.8
  - dav: 1.14.0
  - federatedfilesharing: 1.8.0
  - federation: 1.8.0
  - files: 1.13.1
  - files_external: 1.9.0
  - files_pdfviewer: 1.7.0
  - files_rightclick: 0.15.2
  - files_sharing: 1.10.1
  - files_trashbin: 1.8.0
  - files_versions: 1.11.0
  - files_videoplayer: 1.7.0
  - logreader: 2.3.0
  - lookup_server_connector: 1.6.0
  - notifications: 2.6.0
  - oauth2: 1.6.0
  - password_policy: 1.8.0
  - photos: 1.0.0
  - privacy: 1.2.0
  - provisioning_api: 1.8.0
  - serverinfo: 1.8.0
  - settings: 1.0.0
  - spreed: 8.0.0
  - support: 1.1.0
  - systemtags: 1.8.0
  - text: 2.0.0
  - theming: 1.9.0
  - twofactor_backupcodes: 1.7.0
  - twofactor_totp: 4.1.2
  - user_ldap: 1.8.0
  - viewer: 1.2.0
  - workflowengine: 2.0.0
Disabled:
  - encryption
  - firstrunwizard
  - impersonate
  - nextcloud_announcements
  - recommendations
  - sharebymail
  - survey_client
  - updatenotification

Nextcloud configuration:

Config report

First system (ubuntu 14.04, tarball-based)

{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "18.0.0.10",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "forcessl": false,
        "theme": "",
        "logfile": "\/var\/log\/nextcloud.log",
        "loglevel": "2",
        "trusted_domains": [
            "8pawexpress.com",
            "oc.8pawexpress.com",
            "myth",
            "192.168.123.98"
        ],
        "share_folder": "\/Shared",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "appstoreenabled": true,
        "appstoreurl": "https:\/\/apps.nextcloud.com\/api\/v1",
        "appstore.experimental.enabled": true,
        "trashbin_retention_obligation": "auto,365",
        "memcache.local": "\\OC\\Memcache\\Redis",
        "filelocking.enabled": "true",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 6379,
            "timeout": 0
        },
        "overwrite.cli.url": "\/oc",
        "updatechecker": false,
        "maintenance": false,
        "mysql.utf8mb4": true,
        "mail_smtpmode": "smtp",
        "mail_smtpauthtype": "PLAIN",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "465",
        "mail_smtpauth": 1,
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpsecure": "ssl",
        "app_install_overwrite": [
            "calendar"
        ],
        "mail_sendmailmode": "smtp"
    }
}

Second system (ubuntu 16.04, docker-based)

{
    "system": {
        "htaccess.RewriteBase": "\/",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "memcache.local": "\\OC\\Memcache\\APCu",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "oc.mydomain.com"
        ],
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "18.0.0.10",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "overwritehost": "oc.mydomain.com",
        "overwritewebroot": "\/cloud",
        "overwriteprotocol": "https",
        "overwrite.cli.url": "https:\/\/oc.mydomain.com\/cloud",
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "theme": "",
        "loglevel": 2,
        "maintenance": false,
        "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpauth": 1,
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "587",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpsecure": "tls",
        "lost_password_link": "disabled",
        "session_timeout": 129600,
        "session_keepalive": false,
        "remember_login_cookie_lifetime": 0,
        "simpleSignUpLink.shown": false
    }
}

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: first no, second LDAP

LDAP configuration (delete this part if not used)

LDAP config

Second system (ubuntu 16.04, docker-based)

+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
| Configuration                 |                                                                                                                                                |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
| hasMemberOfFilterSupport      | 1                                                                                                                                              |
| homeFolderNamingRule          |                                                                                                                                                |
| lastJpegPhotoLookup           | 0                                                                                                                                              |
| ldapAgentName                 | myADS\searchagent                                                                                                                              |
| ldapAgentPassword             | ***                                                                                                                                            |
| ldapAttributesForGroupSearch  |                                                                                                                                                |
| ldapAttributesForUserSearch   |                                                                                                                                                |
| ldapBackupHost                |                                                                                                                                                |
| ldapBackupPort                |                                                                                                                                                |
| ldapBase                      | cn=Users,dc=myads,dc=mydomain,dc=com                                                                                                           |
| ldapBaseGroups                | cn=Users,dc=myads,dc=mydomain,dc=com                                                                                                           |
| ldapBaseUsers                 | cn=Users,dc=myads,dc=mydomain,dc=com                                                                                                           |
| ldapCacheTTL                  | 600                                                                                                                                            |
| ldapConfigurationActive       | 1                                                                                                                                              |
| ldapDefaultPPolicyDN          |                                                                                                                                                |
| ldapDynamicGroupMemberURL     |                                                                                                                                                |
| ldapEmailAttribute            | mail                                                                                                                                           |
| ldapExperiencedAdmin          | 0                                                                                                                                              |
| ldapExpertUUIDGroupAttr       |                                                                                                                                                |
| ldapExpertUUIDUserAttr        |                                                                                                                                                |
| ldapExpertUsernameAttr        | sAMAccountName                                                                                                                                 |
| ldapExtStorageHomeAttribute   |                                                                                                                                                |
| ldapGidNumber                 | gidNumber                                                                                                                                      |
| ldapGroupDisplayName          | cn                                                                                                                                             |
| ldapGroupFilter               |                                                                                                                                                |
| ldapGroupFilterGroups         |                                                                                                                                                |
| ldapGroupFilterMode           | 0                                                                                                                                              |
| ldapGroupFilterObjectclass    |                                                                                                                                                |
| ldapGroupMemberAssocAttr      | uniqueMember                                                                                                                                   |
| ldapHost                      | myhost.myads.mydomain.com                                                                                                            |
| ldapIgnoreNamingRules         |                                                                                                                                                |
| ldapLoginFilter               | (&(&(|(objectclass=organizationalPerson))(|(|(memberof=CN=cloudusers,CN=Users,DC=myads,DC=mydomain,DC=com))))(samaccountname=%uid))            |
| ldapLoginFilterAttributes     |                                                                                                                                                |
| ldapLoginFilterEmail          | 0                                                                                                                                              |
| ldapLoginFilterMode           | 0                                                                                                                                              |
| ldapLoginFilterUsername       | 1                                                                                                                                              |
| ldapNestedGroups              | 0                                                                                                                                              |
| ldapOverrideMainServer        |                                                                                                                                                |
| ldapPagingSize                | 500                                                                                                                                            |
| ldapPort                      | 389                                                                                                                                            |
| ldapQuotaAttribute            |                                                                                                                                                |
| ldapQuotaDefault              |                                                                                                                                                |
| ldapTLS                       | 0                                                                                                                                              |
| ldapUserAvatarRule            | default                                                                                                                                        |
| ldapUserDisplayName           | displayname                                                                                                                                    |
| ldapUserDisplayName2          |                                                                                                                                                |
| ldapUserFilter                | (&(|(objectclass=organizationalPerson))(|(|(memberof=CN=cloudusers,CN=Users,DC=myads,DC=mydomain,DC=com))))                                    |
| ldapUserFilterGroups          | cloudusers                                                                                                                                     |
| ldapUserFilterMode            | 1                                                                                                                                              |
| ldapUserFilterObjectclass     | organizationalPerson                                                                                                                           |
| ldapUuidGroupAttribute        | auto                                                                                                                                           |
| ldapUuidUserAttribute         | auto                                                                                                                                           |
| turnOffCertCheck              | 0                                                                                                                                              |
| turnOnPasswordChange          | 0                                                                                                                                              |
| useMemberOfToDetectMembership | 1                                                                                                                                              |
+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------

Client configuration

Browser: FF72

Operating system: win10_64

Logs

Web server error log

Web server error log
192.168.123.131 - bill [23/Jan/2020:08:57:59 -0800] "PROPFIND /oc/remote.php/dav/files/bill/ HTTP/1.1" 207 20138 "-" "Mozilla/5.0 (Windows) mirall/2.6.2stable-Win64 (build 20191224) (Nextcloud)"
192.168.123.131 - bill [23/Jan/2020:08:57:59 -0800] "GET /oc/remote.php/dav/files/bill/README.md HTTP/1.1" 200 914 "-" "Mozilla/5.0 (Windows) mirall/2.6.2stable-Win64 (build 20191224) (Nextcloud)"
192.168.123.131 - bill [23/Jan/2020:08:57:59 -0800] "GET /oc/remote.php/dav/files/bill/Readme.md HTTP/1.1" 200 1067 "-" "Mozilla/5.0 (Windows) mirall/2.6.2stable-Win64 (build 20191224) (Nextcloud)"
192.168.123.131 - bill [23/Jan/2020:08:57:59 -0800] "GET /oc/remote.php/dav/files/bill/readme.md HTTP/1.1" 200 1067 "-" "Mozilla/5.0 (Windows) mirall/2.6.2stable-Win64 (build 20191224) (Nextcloud)"

Nextcloud log (data/nextcloud.log)

Nothing related to my client or those files in the log.

@r2evans r2evans added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug labels Jan 24, 2020
@r2evans
Copy link
Author

r2evans commented Jan 24, 2020

Related: https://help.nextcloud.com/t/attention-posible-case-sensitivity-clash/5345/3

From that, I don't disagree that the server is not responsible for case-handling on the client, so that is certainly an issue for https://github.com/nextcloud/desktop. However, why are three files created? The fact that three files exist suggest the server had something to do with it, otherwise there would be only one.

@r2evans
Copy link
Author

r2evans commented Jan 24, 2020

I've cross-posted an issue as nextcloud/desktop#1755, which I think is more likely the cause. The logs there are more recent and detailed than here, albeit from only one of my two servers referenced here (it's the ubuntu 14.04 tarball-based installation). While I suspect that the client is certainly a problem here, I don't know if the server is complicit in anything. Keeping this open for the time being.

@r2evans
Copy link
Author

r2evans commented Jan 24, 2020

Mea culpa, the real culprit was that I was running nextcloud on a linux box but (this is what I forgot) the data directory was a Synology SMB export, which defaults to the windows way of filename case-insensitivity.

As suggested on a synology forum, the fix was to force Synology to edit /etc/samba/smb.conf and append case sensitive = yes in the [global] section.

@r2evans r2evans closed this as completed Jan 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug
Projects
None yet
Development

No branches or pull requests

1 participant