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

NC 13: disable birthday calendar returns 302 with no feedback #8529

Closed
gleichda opened this issue Feb 24, 2018 · 13 comments
Closed

NC 13: disable birthday calendar returns 302 with no feedback #8529

gleichda opened this issue Feb 24, 2018 · 13 comments
Labels
1. to develop Accepted and waiting to be taken care of bug feature: dav
Milestone

Comments

@gleichda
Copy link

Not sure if this is a Calendar or a Core issue but I guess its a calendar one if not just paste over to Server repo

Steps to reproduce

  1. calendar enabled
  2. go to admin additional settings
  3. open network inspector
  4. disable "automatically create birthday calendar" in CalDAV-Server section
    (5. Reload page to see that checkbox is still enabled)

Expected behaviour

NC Server should return Status code 200 and disable birthday calendar or show feedback to user for failing to disable birthday calendar

Actual behaviour

Server Returns 302 in Network inspector but does not give feedback to user

Server configuration detail

Operating system: Linux 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 armv7l

Webserver: Apache/2.4.25 (Raspbian) (apache2handler)

Database: mysql 10.1.23

PHP version: 7.0.27-0+deb9u1
Modules loaded: Core, date, libxml, openssl, pcre, zlib, filter, hash, Reflection, SPL, session, standard, apache2handler, mysqlnd, PDO, xml, apcu, apc, calendar, ctype, curl, dom, mbstring, fileinfo, ftp, gd, gettext, iconv, imagick, intl, json, exif, mcrypt, mysqli, pdo_mysql, Phar, posix, readline, shmop, SimpleXML, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xmlreader, xmlwriter, xsl, zip, Zend OPcache

Nextcloud version: 13.0.0 - 13.0.0.14

Updated from an older Nextcloud/ownCloud or fresh install: updated from 12.0.4

Where did you install Nextcloud from: unknown

Signing status

Array

List of activated apps
Enabled:
 - activity: 2.6.1
 - calendar: 1.6.0
 - comments: 1.3.0
 - contacts: 2.1.0
 - dav: 1.4.6
 - federatedfilesharing: 1.3.1
 - federation: 1.3.0
 - files: 1.8.0
 - files_markdown: 2.0.1
 - files_pdfviewer: 1.2.0
 - files_sharing: 1.5.0
 - files_texteditor: 2.5.1
 - files_trashbin: 1.3.0
 - files_versions: 1.6.0
 - files_videoplayer: 1.2.0
 - firstrunwizard: 2.2.1
 - gallery: 18.0.0
 - issuetemplate: 0.3.0
 - logreader: 2.0.0
 - lookup_server_connector: 1.1.0
 - metadata: 0.6.0
 - nextcloud_announcements: 1.2.0
 - notes: 2.3.2
 - notifications: 2.1.2
 - oauth2: 1.1.0
 - password_policy: 1.3.0
 - provisioning_api: 1.3.0
 - quota_warning: 1.2.0
 - ransomware_protection: 1.1.0
 - serverinfo: 1.3.0
 - sharebymail: 1.3.0
 - survey_client: 1.1.0
 - theming: 1.4.1
 - twofactor_backupcodes: 1.2.3
 - updatenotification: 1.3.0
 - workflowengine: 1.3.0
Disabled:
 - admin_audit
 - encryption
 - files_external
 - systemtags
 - user_external
 - user_ldap

Configuration (config/config.php)
{
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "***REMOVED SENSITIVE VALUE***"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "overwrite.cli.url": "***REMOVED SENSITIVE VALUE***",
    "htaccess.RewriteBase": "\/",
    "dbtype": "mysql",
    "version": "13.0.0.14",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbport": "",
    "dbtableprefix": "oc_",
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "installed": true,
    "memcache.local": "\\OC\\Memcache\\APCu",
    "maintenance": false,
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpmode": "php",
    "mail_smtpauthtype": "LOGIN",
    "mail_domain": "***REMOVED SENSITIVE VALUE***",
    "updater.release.channel": "stable",
    "data-fingerprint": "***REMOVED SENSITIVE VALUE***",
    "theme": "",
    "loglevel": 2
}

Are you using external storage, if yes which one: local

Are you using encryption: no

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...

## Client configuration

Browser: Mozilla/5.0 (X11; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0

Operating system: Debian

Nextcloud log Nextcloud log is not showing any entry
Browser log

[Sat Feb 24 22:33:05.204753 2018] [authz_core:error] [pid 6652] [client 93.104.138.127:51544] AH01630: client denied by server configuration: /var/www/html/dav
[Sat Feb 24 22:33:05.897811 2018] [authz_core:error] [pid 6653] [client 93.104.138.127:51546] AH01630: client denied by server configuration: /var/www/html/apps
[Sat Feb 24 22:33:09.234436 2018] [authz_core:error] [pid 6653] [client 93.104.138.127:51546] AH01630: client denied by server configuration: /var/www/html/apps

But that is shown for each request in Apache2

@georgehrke
Copy link
Member

Can you check where the 302 requests forwards you to?
Maybe it's a misconfiguration in your server?

@georgehrke georgehrke added bug 1. to develop Accepted and waiting to be taken care of feature: dav labels Feb 27, 2018
@georgehrke georgehrke added this to the Nextcloud 13.0.1 milestone Feb 27, 2018
@gleichda
Copy link
Author

gleichda commented Feb 27, 2018

If I understood you right you want to have the request returning the 302
this is https://subdomain.domain.tld/nextcloud/index.php/nextcloud/apps/dav/disableBirthdayCalendar

but anyway if the request is not successful I would be expecting a message in the Web GUI

@georgehrke
Copy link
Member

Yes, but all 3xx status codes are some sort of redirect. Where is it redirecting you to?

@gleichda
Copy link
Author

ah now I got it,
Location is https://subdomain.domain.tld/nextcloud/index.php/apps/files/

@MorrisJobke
Copy link
Member

Moving to 13.0.2

@georgehrke
Copy link
Member

@mirgleich Can you post the configuration of your Apache VHost?
I can't reproduce this bug. Neither in my development nor in my production instance and this looks a lot to me like a configuration issue.

@gleichda
Copy link
Author

gleichda commented Mar 9, 2018

apache.conf

<Directory />
        Options FollowSymLinks
        AllowOverride All
        Require all denied
</Directory>

<Directory /mnt/nextcloud-data>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

nextcloud.conf

Alias /nextcloud "/var/www/nextcloud/"

<Directory /var/www/nextcloud/>
  Options +FollowSymlinks
  AllowOverride All
  Satisfy Any

 <IfModule mod_dav.c>
  Dav off
 </IfModule>

 SetEnv HOME /var/www/nextcloud
 SetEnv HTTP_HOME /var/www/nextcloud

</Directory>

# redirect from root to subdirectory
RedirectMatch ^/$ /nextcloud/

@BernieO
Copy link
Contributor

BernieO commented Jul 8, 2018

I am running Nextcloud on various instances and have the same problem, but only when running in a subfolder. With Nextcloud instances running in webroot disabling the birthday calendar works (at least the checkbox stays unchecked when reloading the page - I haven't checked yet whether the birthday calendars are really disabled).

Unchecking the checkbox results in requesting: https://example.com/nextcloud/index.php/nextcloud/apps/dav/disableBirthdayCalendar
The created request is wrong because the subfolder is being added twice. This is why it is redirecting to https://example.com/nextcloud/index.php/apps/files

@gleichda
Copy link
Author

gleichda commented Jul 9, 2018

I moved my NC to a new Domain without having a subfolder an can confirm @BernieO investigation.
I can now disable and enable Birthday Calendars.

@kesselb
Copy link
Contributor

kesselb commented Jul 9, 2018

Problem could be solved by changing settings-admin-caldav.js#L34 and settings-admin-caldav.js#L36. OC.generateUrl expect an relative url but OC.linkTo returns an already absolute url.

if (val) { $.post(OC.generateUrl('/apps/dav/enableBirthdayCalendar')); } else { $.post(OC.generateUrl('/apps/dav/disableBirthdayCalendar')); }

Works for me in subfolder and without subfolder.

@BernieO
Copy link
Contributor

BernieO commented Jul 10, 2018

That change solves the issue for my subfolder setups as well.
Thanks for investigating @danielkesselberg 👍

@MorrisJobke
Copy link
Member

@juliushaertl Could you verify this?

@juliusknorr
Copy link
Member

juliusknorr commented Jul 12, 2018

Yes for generating the url of a route it is enough to just use OC.generateUrl(). OC.linkTo is meant to get the absolute path of a file inside of the apps directory, not the apps route endpoint.

@danielkesselberg Mind to open a pull request with the change you've proposed? That would be awesome.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. to develop Accepted and waiting to be taken care of bug feature: dav
Projects
None yet
Development

No branches or pull requests

6 participants