nextcloud / server

☁️ Nextcloud server, a safe home for all your data
https://nextcloud.com
GNU Affero General Public License v3.0
27.19k stars 4.04k forks source link

Cannot add user with scandinavian letters in name #8488

Closed rollanders closed 6 years ago

rollanders commented 6 years ago
### Steps to reproduce 1. I want to add a username with scandinavian letter (å,ä,ö). 2. Nothing happens when I press Create 3. I can use scandinavian letters in Groups ### Expected behaviour ### Actual behaviour Tell us what happens instead ### Server configuration NC13 **Operating system**: Ubunty 16.04 **Web server:** Nginx **Database:** MariaDB **PHP version:** ?? **Nextcloud version:** (see Nextcloud admin page) Cannot find any information there. I know it is NC13 **Updated from an older Nextcloud/ownCloud or fresh install:** Fresh install docker **Where did you install Nextcloud from:** I followed this https://www.linuxbabe.com/docker/onlyoffice-nextcloud-integration-docker **Signing status:**
Signing status ``` Login as admin user into your Nextcloud and access http://example.com/index.php/settings/integrity/failed paste the results here. No errors have been found```
**List of activated apps:**
App list ``` If you have access to your command line run e.g.: sudo -u www-data php occ app:list from within your Nextcloud installation folder ```
**Nextcloud configuration:**
Config report ``` If you have access to your command line run e.g.: sudo -u www-data php occ config:list system from within your Nextcloud installation folder or Insert your config.php content here. Make sure to remove all sensitive content such as passwords. (e.g. database password, passwordsalt, secret, smtp password, …) ```
**Are you using external storage, if yes which one:** local/smb/sftp/... **Are you using encryption:** yes/no **Are you using an external user-backend, if yes which one:** LDAP/ActiveDirectory/Webdav/... #### LDAP configuration (delete this part if not used)
LDAP config ``` With access to your command line run e.g.: sudo -u www-data php occ ldap:show-config from within your Nextcloud installation folder Without access to your command line download the data/owncloud.db to your local computer or access your SQL server remotely and run the select query: SELECT * FROM `oc_appconfig` WHERE `appid` = 'user_ldap'; Eventually replace sensitive data as the name/IP-address of your LDAP server or groups. ```
### Client configuration **Browser:** **Operating system:** ### Logs #### Web server error log
Web server error log ``` Insert your webserver log here ```
#### Nextcloud log (data/nextcloud.log)
Nextcloud log ``` Insert your Nextcloud log here ```
#### Browser log
Browser log ``` Insert your browser log here, this could for example include: a) The javascript console log b) The network log c) ... ```
dasisdormax commented 6 years ago

Hi. I get a little error message saying that only the characters „a-z“, „A-Z“, „0-9“ und „_.@-'“ are allowed. I suppose there is a reason why this limitation exists. Maybe that error message just isn't localized / isn't showing correctly.

rollanders commented 6 years ago

I do not get any error warning. When I press Create just nothing happens. Maybe because I have swedish language installation? Is there a reason why nordic letters are not allowed?

rullzer commented 6 years ago

Can you post your nginx config?

rollanders commented 6 years ago

I did not know about the Issue reporting app. Is this what you wanted? Tell me if you need other things.

The same thing is present already in NC12 with webbinstallation. In that installtion I get a message as dasisdormax report but I do not see it in NC13. In NC13 I do not get any reaction when clic on Create

Server configuration detail

Operating system: Linux 4.4.0-112-generic #135-Ubuntu SMP Fri Jan 19 11:48:36 UTC 2018 x86_64

Webserver: nginx/1.13.8 (fpm-fcgi)

Database: mysql 10.2.13

PHP version: 7.1.14 Modules loaded: Core, date, libxml, openssl, pcre, sqlite3, zlib, ctype, curl, dom, fileinfo, filter, ftp, hash, iconv, json, mbstring, SPL, PDO, session, posix, readline, Reflection, standard, SimpleXML, pdo_sqlite, Phar, tokenizer, xml, xmlreader, xmlwriter, mysqlnd, cgi-fcgi, apcu, exif, gd, intl, ldap, mcrypt, memcached, mysqli, pcntl, pdo_mysql, pdo_pgsql, pgsql, redis, zip, Zend OPcache

Nextcloud version: 13.0.0 - 13.0.0.14

Enabled:
 - activity: 2.6.1
 - audioplayer: 2.2.5
 - calendar: 1.6.0
 - caniupdate: 0.1.2
 - cms_pico: 0.9.7
 - contacts: 2.1.0
 - dav: 1.4.6
 - external: 3.0.2
 - federatedfilesharing: 1.3.1
 - files: 1.8.0
 - files_accesscontrol: 1.3.0
 - files_pdfviewer: 1.2.0
 - files_sharing: 1.5.0
 - files_texteditor: 2.5.1
 - files_trashbin: 1.3.0
 - firstrunwizard: 2.2.1
 - gallery: 18.0.0
 - groupfolders: 1.2.0
 - issuetemplate: 0.3.0
 - logreader: 2.0.0
 - lookup_server_connector: 1.1.0
 - mail: 0.7.10
 - oauth2: 1.1.0
 - onlyoffice: 1.2.0
 - password_policy: 1.3.0
 - provisioning_api: 1.3.0
 - serverinfo: 1.3.0
 - survey_client: 1.1.0
 - systemtags: 1.3.0
 - twofactor_backupcodes: 1.2.3
 - updatenotification: 1.3.0
 - workflowengine: 1.3.0
Disabled:
 - admin_audit
 - comments
 - encryption
 - federation
 - files_external
 - files_frommail
 - files_versions
 - files_videoplayer
 - nextcloud_announcements
 - notifications
 - ownpad
 - quota_warning
 - sharebymail
 - socialsharing_email
 - socialsharing_facebook
 - theming
 - user_external
 - user_ldap

Configuration (config/config.php) ``` { "memcache.local": "\\OC\\Memcache\\APCu", "apps_paths": [ { "path": "\/var\/www\/html\/apps", "url": "\/apps", "writable": false }, { "path": "\/var\/www\/html\/custom_apps", "url": "\/custom_apps", "writable": true } ], "instanceid": "***REMOVED SENSITIVE VALUE***", "passwordsalt": "***REMOVED SENSITIVE VALUE***", "secret": "***REMOVED SENSITIVE VALUE***", "trusted_domains": [ "173.249.5.125", "nginx-server", "cloud.korskyrkan-intra.se" ], "datadirectory": "***REMOVED SENSITIVE VALUE***", "overwrite.cli.url": "http:\/\/173.249.5.125", "dbtype": "mysql", "version": "13.0.0.14", "dbname": "***REMOVED SENSITIVE VALUE***", "dbhost": "***REMOVED SENSITIVE VALUE***", "dbport": "", "dbtableprefix": "oc_", "mysql.utf8mb4": true, "dbuser": "***REMOVED SENSITIVE VALUE***", "dbpassword": "***REMOVED SENSITIVE VALUE***", "installed": true, "onlyoffice": { "DocumentServerUrl": "\/ds-vpath\/", "DocumentServerInternalUrl": "http:\/\/onlyoffice-document-server\/", "StorageUrl": "http:\/\/nginx-server\/" }, "mail_from_address": "***REMOVED SENSITIVE VALUE***", "mail_smtpmode": "php", "mail_smtpauthtype": "LOGIN", "mail_domain": "***REMOVED SENSITIVE VALUE***" } ```

Client configuration

Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36

rullzer commented 6 years ago

I need the config of your webserver. I'm guesisng there are two lines that should not be there. So please post the config of your webserver.

rollanders commented 6 years ago

I have no idea where to look for it. I followed these instructions for the installation https://www.linuxbabe.com/docker/onlyoffice-nextcloud-integration-docker So it is in three dockers. the /srv in the root is empty. If you give me a hint on the name of the file or folder I could find it.

rollanders commented 6 years ago

I have 5 files nginx.conf. Dont know if they look the same. This is in /docker-onlyoffice-owncloud/ foler user www-data; worker_processes 1;

error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid;

events { worker_connections 1024; }

http {

upstream backend {
  server app-server:9000;
}

include       /etc/nginx/mime.types;
default_type  application/octet-stream;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

access_log  /var/log/nginx/access.log  main;

sendfile        on;
#tcp_nopush     on;

keepalive_timeout  65;

map $http_host $this_host {
    "" $host;
    default $http_host;
}

map $http_x_forwarded_proto $the_scheme {
    default $http_x_forwarded_proto;
    "" $scheme;
}

map $http_x_forwarded_host $the_host {
   default $http_x_forwarded_host;
   "" $this_host;
}

server {
listen 80;
server_name cloud.korskyrkan-intra.se;
    # Add headers to serve security related headers
    add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Robots-Tag none;
    add_header X-Download-Options noopen;
    add_header X-Permitted-Cross-Domain-Policies none;

    root /var/www/html;
    client_max_body_size 10G; # 0=unlimited - set max upload size
    fastcgi_buffers 64 4K;

    gzip off;

    index index.php;
    error_page 403 /core/templates/403.php;
    error_page 404 /core/templates/404.php;

    rewrite ^/.well-known/carddav /remote.php/dav/ permanent;
    rewrite ^/.well-known/caldav /remote.php/dav/ permanent;

   location ~ /.well-known/acme-challenge {
   root /var/www/html/;
   allow all;
   }
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
}

    location ~ ^/(build|tests|config|lib|3rdparty|templates|data)/ {
        deny all;
    }

    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
        deny all;
    }

    location / {
        rewrite ^/remote/(.*) /remote.php last;
        rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;
        try_files $uri $uri/ =404;
    }

location ~* ^/ds-vpath/ {
    rewrite /ds-vpath/(.*) /$1  break;
            proxy_pass http://onlyoffice-document-server;
            proxy_redirect     off;

            client_max_body_size 100m;

            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";

            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Host $the_host/ds-vpath;
            proxy_set_header X-Forwarded-Proto $the_scheme;
    }

    location ~ \.php(?:$|/) {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS off;
        fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice
        fastcgi_pass backend;
        fastcgi_intercept_errors on;
    }

    # Adding the cache control header for js and css files
    # Make sure it is BELOW the location ~ \.php(?:$|/) { block
    location ~* \.(?:css|js)$ {
        add_header Cache-Control "public, max-age=7200";
        # Add headers to serve security related headers
        add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
        add_header X-Content-Type-Options nosniff;
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;
        # Optional: Don't log access to assets
        access_log off;
    }

listen 443 ssl http2;

if ($scheme != "https") { return 301 https://$host$request_uri; }

ssl_certificate /etc/letsencrypt/live/cloud.korskyrkan-intra.se/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/cloud.korskyrkan-intra.se/privkey.pem; ssl_session_cache shared:le_nginx_SSL:1m; ssl_session_timeout 1440m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on;

ssl_ciphers ".....";

    # Optional: Don't log access to other assets
    location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|swf)$ {
        access_log off;
    }

}

}

rullzer commented 6 years ago

Remove the lines

    error_page 403 /core/templates/403.php;
    error_page 404 /core/templates/404.php;
rollanders commented 6 years ago

I have 5 files nginx.conf

/var/lib/docker/overlay2/37edd3676c1b301dc756a26090a4900604eb58d87c1cf089d46285ce9e175d0b/diff/etc/nginx/nginx.conf

/var/lib/docker/overlay2/add3ba1d1f396384811cbb4a2405573bb3a5beed34ce9e6280a1199932057b05/merged/etc/nginx/nginx.conf

/var/lib/docker/overlay2/fba2c5c44b3bb0c7670e67a7a3853c5784753b666c5bce5585e690e8e4814caa/diff/etc/nginx/nginx.conf

/var/lib/docker/overlay2/775b2d65267b624442dbfbcd794e1c4e778d3908edf75c10a203b5b9080a4fbc/diff/etc/nginx/nginx.conf

/var/lib/docker/overlay2/775b2d65267b624442dbfbcd794e1c4e778d3908edf75c10a203b5b9080a4fbc/merged/etc/nginx/nginx.conf

and /root/docker-onlyoffice-owncloud/nginx.conf

These two lines were only present in /root/docker-onlyoffice-owncloud/nginx.conf Deleting them there did not help.

rullzer commented 6 years ago

Did you restart nginx afterwards? since it is docker there is a good chance you changes are overwitten on restart.

Can you check in your browser console when you make the request what the response is to you trying to create the user? Because i think something is swallowing our 403 respose and usually this is caused by those two nginx lines.

rollanders commented 6 years ago

I think you misunderstand. My problem is not about the message on allowed letters not being displayed. The issue is that I want to use nordic letters in the usernames. Can the limit to use only characters „a-z“, „A-Z“, „0-9“ and „_.@-'“ be removed?

MorrisJobke commented 6 years ago

Did you restart nginx afterwards? since it is docker there is a good chance you changes are overwitten on restart.

Can you check in your browser console when you make the request what the response is to you trying to create the user? Because i think something is swallowing our 403 respose and usually this is caused by those two nginx lines.

@rollanders The problem you have is very highly caused by the bogus entries in the Nginx. So removing it would most likely show you the real response and then the web UI behaves correctly again.

I will close this for now and if this is still a problem after adjusting your web server config we can look again at the issue.