-
Notifications
You must be signed in to change notification settings - Fork 269
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
caldav/carddav: principal ... does not provide caldav service
followed by 405 error
#410
Comments
principal ... does not provide caldav service
followed by 405 errorprincipal ... does not provide caldav service
followed by 405 error
I use nginx and ingress-nginx and calendar and contacts sync work for me 🤔. We can try to compare configs and see why it doesn't work for you. |
Yes please, Thank you! 🙏 All of my configs are above under the "values.yaml" section. The ingress annotations seem to match the ones we have in this repo directly. I only had a slightly different I also went and confirmed that I don't have modsecurity on yet (I'm sure that will be it's own can of worms when I turn that on 😂 ). |
This is my whole values.yaml image:
flavor: fpm-alpine
nextcloud:
host: [REDACTED]
ingress:
enabled: true
className: nginx
tls:
- hosts:
- [REDACTED]
secretName: [REDACTED]
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: 10G
nginx.ingress.kubernetes.io/proxy-connect-timeout: 10m
nginx.ingress.kubernetes.io/proxy-read-timeout: 10m
nginx.ingress.kubernetes.io/proxy-send-timeout: 10m
nginx.ingress.kubernetes.io/proxy-buffering: "off"
cert-manager.io/cluster-issuer: letsencrypt-prod
external-dns.alpha.kubernetes.io/ttl: 1m
external-dns.alpha.kubernetes.io/target: [REDACTED]
nginx:
enabled: true
internalDatabase:
enabled: false
externalDatabase:
enabled: true
type: postgresql
host: "acid-nextcloud-cluster:5432"
existingSecret:
enabled: true
secretName: nextcloud.acid-nextcloud-cluster.credentials.postgresql.acid.zalan.do
usernameKey: username
passwordKey: password
redis:
enabled: true
persistence:
enabled: true
existingClaim: nextcloud
rbac:
enabled: true
cronjob:
enabled: true with chart version 3.5.14. |
I guess the best way to test is to disable all your nginx customizations |
Awesome, thank you for all the details! I'm also running the ingress-nginx-4.7.1 helm chart. I agree, so I went ahead and removed most of the stuff I had there, and now my the relevant sections of my image, ingress, and nginx sections of my values.yaml looks like this: image:
flavor: fpm
ingress:
enabled: true
className: nginx
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: 10G
kubernetes.io/tls-acme: "true"
cert-manager.io/cluster-issuer: letsencrypt-prod
nginx.ingress.kubernetes.io/enable-cors: "true"
nginx.ingress.kubernetes.io/cors-allow-headers: "X-Forwarded-For"
tls:
- secretName: nextcloud-tls
hosts:
- cloud.example.com
nginx:
enabled: true
# not sure if it matters, but I also have this trusted_proxies thing here:
nextcloud:
configs:
# adding your local ip might help on a self-hosted instance on your home network
proxy.config.php: |-
<?php
$CONFIG = array (
'trusted_proxies' => array(
0 => '127.0.0.1',
1 => '10.0.0.0/8'
),
'forwarded_for_headers' => array('HTTP_X_FORWARDED_FOR'),
); Pretty grateful to have removed a bunch of stuff that wasn't necessary, because most everything is still working, and this simplifies my troubleshooting a lot, but the same errors persist when I try to use the android nextcloud app with DAVx5 🤔 The macOS contacts/calendar apps stopped giving auth errors, but also aren't syncing anything. No logs in the admin panel except this: [PHP] Error: Optional parameter $trustedServers declared before required parameter $groupManager is implicitly treated as a required parameter at /var/www/html/apps/dav/lib/CardDAV/SystemAddressbook.php#60
PROPFIND /remote.php/dav/addressbooks/users/jessebot/
from REDACTED_IP_ADDR by jessebot at 2023-07-11T16:12:24+00:00 I think that's just from when I tried to import my vcards earlier, which is because of nextcloud/server#38772 which should be solved soonish as there's an RC PR here, nextcloud/server#39282, so I assume we'll get a new docker tag soonish. I don't know if that's partially breaking things though. Oh also after removing all the nginx configs and ingress annotations I started getting this in the admin overview 🤔 : |
I also see those warnings about well-know, but never bothered to investigate. As far as I know that should work ootb? |
Ah yeah, I only recently got some time off work to start looking into them myself :) Added back the following nginx.ingress.kubernetes.io/server-snippet: |-
proxy_hide_header X-Powered-By;
rewrite ^/.well-known/webfinger /index.php/.well-known/webfinger last;
rewrite ^/.well-known/nodeinfo /index.php/.well-known/nodeinfo last;
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json;
location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav/;
}
location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav/;
} but caldav/carddav still throws the same errors ;( ✏️ edited to remove the robots.txt snippet that wasn't necessary |
Have you enabled debug logging on the server to see if there is any more info in the logs? |
I plan on coming back to this after v27.0.1 of Nextcloud is released and available via docker, because it very may well be related to the bug I mentioned, and I haven't had a chance to enable debug logs (currently have it set to info), but I will revisit this soonish! Looks like 27.0.1rc2 just dropped a couple of days ago, and for 27.0.0 they did 4 release candidates before settling, so probably another week or two and I'll upgrade, and approach this again with fresh eyes :) Thanks for all your help rubber-ducking in the meantime, Kate! UpdateThe nextcloud server team did the release :D Here's the PR: #419 After I figure out upgrades, I'll come back to this issue. |
Hey. I have the same issue. My values on ingress are very similar to the original post. As soon as I set |
oh, I wonder if we can add something like the allow header like they suggest in this stack overflow post: location / {
if ($http_origin ~* "^https?://(nextclouddomain.com/remote.php/dav//|www.nextcloudomain.com/remote.php/dav/)$") {
add_header Access-Control-Allow-Origin "$http_origin";
}
} I haven't had a chance to look into this due to a P1 with longhorn, but will update when I get back to testing this. If anyone in the meantime figures out the magic allow header to make this work either in the nginx.conf or a config-snippet in for ingress controller annotations, I'd love to see what you came up with :) |
@provokateurin thanks for sharing what's working for you. Can you share your config for ingress-nginx? Are you using I'm also running into this. I'm using Digital Ocean LB in front of ingress-nginx. |
I had to resetup DAVx5 on my phone and now I run into the same problem |
I'm going to take a look at this today. I am pretty sure this got nothing to do with CORS because that is only interesting for browsers and any other clients don't care about it since it is not a server restriction. My plan is to do a git bisect on this repo because I'm fairly sure that it is not a bug in a specific Nextcloud version since loads of other people outside of this helm chart would have the same problem. |
So I tried a lot of different things and I still have no clue what is going on. For some reason I end up with <?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DAV\Exception\NotAuthenticated</s:exception>
<s:message>No public access to this resource., No 'Authorization: Basic' header found. Either the client didn't send one, or the server is misconfigured, No 'Authorization: Bearer' header found. Either the client didn't send one, or the server is mis-configured, No 'Authorization: Basic' header found. Either the client didn't send one, or the server is misconfigured</s:message>
</d:error> when doing Now I was wondering if it might have to do with some state that is bad inside the instance since there seems to be no difference really. Sadly I can't test if my local instance works with DAVx5 😅 |
I tried my curl command against cloud.nextcloud.com and end up with the same unauthorized error. I am still able to successfully setup DAVx5 for that instance so it is probably not the source of the problems :/ |
@Northcode since you worked on #241, do you mind sharing your setup and if it works as expected? |
Thank you @provokateurin for taking the lead on this 💙 |
I just checked the admin overview again and saw this in the logs. The weird thing here is that it says |
Yes my assumption was correct! You need to uncomment the (The reason why I wasn't able to reproduce it locally with my setup is that it doesn't use https.) |
I can't find a difference between nodeinfo and webfinger so I'm not sure why that isn't working now 🤷♀️ Edit: The webfinger thing is a weird caching issue of my browser. In a new private window it works just fine. |
…istent, document backup/restores (#695) * add nextcloud PVCs helm chart * update nextcloud to use the pvc helm chart we just made * fix pvc enabled variable * change name of persistence app for nextcloud * set schedules sooner for test * switch to cronjob helm chart to use appset for setting schedules; update postgres and s3 pvc schedules to use secret vars * make matrix use PVC helm chart instead of PVCs directly * add configurable matrix schedule for backups * update matrix and nextcloud pvc appsets to point at feature branch * try settting creation policy to owner for external secret for backups * use feature branch for external secrets * update both files and config pvcs to always be enabled for now * fix nextcloud s3 pvc to point at feature branch and make master volume for swfs smaller * clean up serverInfoToken for nextcloud external secrets and add readme * update helm external secret server info token parameter * fix nextcloud server info token rendered external secret * fix maintenance mode schedule values * fix nextcloud cronjob helm chart appset * fix more maintenance types * add tip about potential zitadel failure with nextcloud * set maintanence mode for nextcloud to be 23:00 till 03:00AM * add default k8up dashboard for all of smol-k8s-lab default supported apps * update default k8up dashboard to have more default charts for at least nextcloud * make sure we only backup annotated PVCs for scheduled backups * remove create policy for s3 backup * add creation policy owner back to s3 backups for nextcloud * add nexcloud namespace * update the s3 backup credentials to be more consistent with what's expected * update postgres credentials naming scheme * fix nextcloud s3 credentials namign scheme * fix k8up backup secret for s3 provider helm chart * base64 encode the true value for the k8up secret * add configurable storageclass name * use global pvc storage class for nextcloud pvcs * shrink data pvc by default * add pvc enabled secret vars for nextcloud * take string values instead of booleans for enabled * switch to beta channel before installing certain apps * always enable oidc login * temporarily still point at feature branch for nextcloud s3 provider * make k8up operator use BACKUP_SKIP_WITHOUT_ANNOTATION=true env var, so ensure we don't backup ephemeral volumes * Update k8up_argocd_appset.yaml - use k8up.skipWithoutAnnotation * start attempts to backup nextcloud to local then remote 123 backup style * try new cors solution for webdav stuff as per nextcloud/helm#410 (comment) * try suggest for forwarding real ip with nextcloud suggest is here nextcloud/helm#410 (comment) * disable cors in a test and also remove robots.txt * convert s3 pvc appset in mastodon to use a valuesObject * switching back to normal pvc backup annotation * try dav with comma seperated allowed methods * disable cors again * try overriding the default nginx.conf with realip settings suggested in nextcloud/helm#410 * turn on cors again * try moving the real ip settings into the server block * try moving the real ip settings further down the server block * try to add real ip settings inside of location / * solve duplicate location "/" in /etc/nginx/conf.d/zz-custom.conf:142 * give up on nextcloud and try preserving real ip with https://stackoverflow.com/questions/66787939/preserving-source-ip-in-nginx-ingress-controller * try the solution from https://stackoverflow.com/a/68347429 for preserving source ip * disable cors again for nextcloud * try real ip cidr for nextcloud * that's all the gas left in the tank for nextcloud ingress testing 🤷 * add default phone region for nextcloud * add home assistant persistence and backups * fix getting home assistant pvc capacity * fix branch for pvc in home assistant * make sure we have s3 backup credentials ahead of time for home assistant * udpate external secrets for home assistant to use feature branch * annotate home assistant pvc for k8up backups * ignore restic env * fix typo for pvc scheduled backups and add some info on checking restic for home assistant backups and restores * remove user 82 for backup for home assistant * update ignore for restic env and add basic readme for backups and restore for home assistant * do consistant external secrets naming * more renaming of xternal_secrets_appset.yaml to external_secrets_argocd_appset.yaml everywhere * comment out the resources * update backups-s3-credentials secret to be s3-backups-credentials; change resticRepoPass to resticRepoPassword for matrix * use feature branch for external secrets for matrix * fix secretAccessKey and accessKeyID for matrix secrets * switch zitadel external secrets to use add-pvc-helm-chart-for-nextcloud feature branch * update mastodon s3 backup credentials * update zitadel secret from backups-s3-credentials to s3-backups-credentials * add more info about sample restore job * turn on generic device plugin again * k8up.io/backup: true added to all matrix pvcs * fix pvc enabled variables for matrix * fix access credentials for s3 backups * update zitadel s3 pvc to point at the right feature branch * switch to calling it s3-postgres-credentials instead of postgres-s3-credentials for nextcloud and matrix * add WAL compression and encryption * add WAL compression and encryption * add WAL compression and encryption * update matrix backups * do specify wal for matrix backups * allow max parellel for wal to be 8 * remove compression and adjust max parallel to 4 * removing tenant appsets b/c those live in thier own app dirs for instance nextcloud's tenant chart, now called cluster, is here: nextcloud/app_of_apps/postgres_argocd_appset.yaml * clean whitespace * only retain two days worth of postgres backups, so that you can just restore from seaweedfs if needed for matrix * updated max parallel to be 8 * update matrix to use the new default credentials for postgres and new schedule template values * add correct backup schedule for home assistant * update zitadel to use the new default credentials for postgres and new schedule template values * update nextcloud to use the new default credentials for postgres and new schedule template values * update mastodon to use the new default credentials for postgres and new schedule template values * use feature branch for matrix * clean up backup crendentials accessKeyID vs accessKeyId * update to always point at latest nextcloud 29 image * verify php occ is available before proceeding * update post install job to have an init container that checks for occ first * try once more to make nextcloud init prcoess work for installing apps * prettier logs for nextcloud install apps job * fix accessKeyId casing for nextcloud s3 pvc backups * rename zitadel external secrets appset to have the word external secrets * fix naming everywhere * update wal archive settings * fix s3 backup credentials access key id typo * switching back to main for all branches that were previously pointed at the feature branches --------- Co-authored-by: Max! <admin@cloudydev.net>
Not to pile on, but the configuration @jessebot posted to their Argo repository was the configuration that finally got WebDAV working for me with DAVx5 on Android and Gnome Online Accounts (Nautilus + Evolution Account Services) on Fedora 40. Simplified config for future passers-by: ingress:
enabled: true
className: nginx
annotations:
kubernetes.io/tls-acme: "true"
nginx.ingress.kubernetes.io/proxy-body-size: 10G
nginx.ingress.kubernetes.io/enable-cors: "false"
nginx.ingress.kubernetes.io/server-snippet: |-
server_tokens off;
proxy_hide_header X-Powered-By;
rewrite ^/.well-known/webfinger /index.php/.well-known/webfinger last;
rewrite ^/.well-known/nodeinfo /index.php/.well-known/nodeinfo last;
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json;
location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
}
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
}
location ~ ^/(?:autotest|occ|issue|indie|db_|console) {
deny all;
} |
CORS off is a bad posture for security. Fine if you're not exposing this to the internet, but you've simplified this by removing the security posture. My example may be more complex, but it gets CORS and the proper methods working together, without foregoing one for the other. |
@Routhinator what do you mean? Enabling CORS "weakens" security. CORS exists to allow controlled/limited exceptions to browser's same-origin policy (the policy that only allows JavaScript in browsers to request resources from its own origin). Especially this generic "allow all" CORS setup completely "opens the door" for any website to perform any HTTP requests against your nextcloud instance. |
Turning CORS off in NGINX disables CORS enforcement and allows all requests from any origin to succeed. This cors policy whitelists traffic from the upstream proxies and pods where traffic is expected to come from, and is not an allow all policy. It could certainly be tightened with static ip policies and removing the ranges ive used, but the ranges i allowed are also ranges that exist only in my baremetal kube cluster and not in the wider local network. Turning CORS enforcement off is "allow all". |
I don't see how you configuration would do any of that. The |
Yes as mentioned this config works end to end with caldav, carddav and webdav |
Just for clarity, I don't believe I was ever able to get your configuration to work (which could have been something I did wrong - happy to chat about that), but I'll give it one last try later today, as I'm working on Nextcloud projects today anyway. I was also never able to get the real IP to show up in the logs, which is tragic, but it may have something to do with me using dynamic DNS to actually get traffic to my node? (I should be getting a dedicated IP later this month, so it might not matter?) Either way, I'll post full config and logs later today :) I'm sure there's just some minor confusion, but as I've got my ENTIRE config as code, this should be easy to clear up. UpdateHere's me using most of the values that you used @Routhinator in #410 (comment): small-hack/argocd-apps@81c0903 I will now clear my local app cache and data for DAVx5 and give it a shot to set it up on my phone again :) For documentation sake, I am using helm chart verison diff of the changes I will be trying (new changes in green) className: nginx
annotations:
cert-manager.io/cluster-issuer: '{{ .global_cluster_issuer }}'
+ nginx.ingress.kubernetes.io/connection-proxy-header: keep-alive
nginx.ingress.kubernetes.io/proxy-body-size: 10G
- nginx.ingress.kubernetes.io/enable-cors: "false"
- # nginx.ingress.kubernetes.io/enable-cors: "true"
- # nginx.ingress.kubernetes.io/cors-allow-methods: "GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT"
+ nginx.ingress.kubernetes.io/proxy-max-temp-file-size: 10485760m
+ nginx.ingress.kubernetes.io/proxy-read-timeout: "86400"
+ nginx.ingress.kubernetes.io/proxy-send-timeout: "86400"
+ nginx.ingress.kubernetes.io/proxy-connect-timeout: "120s"
+ nginx.ingress.kubernetes.io/enable-cors: "true"
# this was originally suggested in nextcloud/helm
- # nginx.ingress.kubernetes.io/cors-allow-headers: "X-Forwarded-For"
- # this was a followup solution for dav stuff
- # nginx.ingress.kubernetes.io/cors-allow-headers: "DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For"
+ nginx.ingress.kubernetes.io/cors-allow-methods: "GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT"
+ nginx.ingress.kubernetes.io/cors-allow-headers: "DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For"
nginx.ingress.kubernetes.io/server-snippet: |-
server_tokens off;
proxy_hide_header X-Powered-By;
@@ -70,6 +72,11 @@ spec:
location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
}
+ location = /robots.txt {
+ allow all;
+ log_not_found off;
+ access_log off;
+ }
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
}
@@ -253,6 +260,7 @@ spec:
extra.config.php: |-
<?php
$CONFIG = array (
+ 'allow_local_remote_servers' => true,
'default_phone_region' => '{{ .nextcloud_default_phone_region }}',
);
@@ -432,5 +440,9 @@ spec:
enabled: true
namespace: "nextcloud"
+ phpClientHttpsFix:
+ enabled: true
+ protocol: https
+
rbac:
enabled: true Argo CD confirmation that all is synced and happy$ argocd app get nextcloud
Name: argocd/nextcloud
Project: default
Server: https://kubernetes.default.svc
Namespace: nextcloud
URL: https://my-argo-domain-anonymized.com/applications/nextcloud
Source:
- Repo: https://github.com/small-hack/argocd-apps
Target: routhinator-may-2-suggestion
Path: nextcloud/app_of_apps/
SyncWindow: Sync Allowed
Sync Policy: Automated
Sync Status: Synced to routhinator-may-2-suggestion (81c0903)
Health Status: Healthy
GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE
argoproj.io ApplicationSet argocd nextcloud-web-app-set Synced Healthy ApplicationSet up to date
batch Job nextcloud install-nextcloud-apps Succeeded PostSync job.batch/install-nextcloud-apps created
ConfigMap nextcloud before-starting-scripts Synced
argoproj.io ApplicationSet argocd nextcloud-external-secrets-app-set Synced Healthy
argoproj.io ApplicationSet argocd nextcloud-maintenance-cron-appset Synced Healthy
argoproj.io ApplicationSet argocd nextcloud-postgres-app-set Synced Healthy
argoproj.io ApplicationSet argocd nextcloud-pvc-appset Synced Healthy
argoproj.io ApplicationSet argocd nextcloud-s3-provider-app-set Synced Healthy
argoproj.io ApplicationSet argocd nextcloud-s3-pvc-app-set Synced Healthy I have now deleted my account from DAVx5 (version DAVx5 logs2024-06-03 11:58:48 51 [servicedetection.DavResourceFinder] Finding initial carddav service configuration
2024-06-03 11:58:48 51 [servicedetection.DavResourceFinder] Checking user-given URL: https://nextcloud.example.com/remote.php/dav
2024-06-03 11:58:48 51 [network.HttpClient] --> PROPFIND https://nextcloud.example.com/remote.php/dav h2
2024-06-03 11:58:48 51 [network.HttpClient] Depth: 0
2024-06-03 11:58:48 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:48 51 [network.HttpClient] Content-Type: application/xml; charset=utf-8
2024-06-03 11:58:48 51 [network.HttpClient] Content-Length: 290
2024-06-03 11:58:48 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:48 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Encoding: gzip
2024-06-03 11:58:48 51 [network.HttpClient]
2024-06-03 11:58:48 51 [network.HttpClient] <?xml version='1.0' encoding='UTF-8' ?><propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><resourcetype /><displayname /><CARD:addressbook-description /><CARD:addressbook-home-set /><current-user-principal /></prop></propfind>
2024-06-03 11:58:48 51 [network.HttpClient] --> END PROPFIND (290-byte body)
2024-06-03 11:58:48 51 [network.HttpClient] <-- 207 https://nextcloud.example.com/remote.php/dav (93ms)
2024-06-03 11:58:48 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:46 GMT
2024-06-03 11:58:48 51 [network.HttpClient] content-type: application/xml; charset=utf-8
2024-06-03 11:58:48 51 [network.HttpClient] set-cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; path=/; secure; HttpOnly; SameSite=Lax
2024-06-03 11:58:48 51 [network.HttpClient] set-cookie: __Host-nc_sameSiteCookielax=true; path=/; httponly;secure; expires=Fri, 31-Dec-2100 23:59:59 GMT; SameSite=lax
2024-06-03 11:58:48 51 [network.HttpClient] set-cookie: __Host-nc_sameSiteCookiestrict=true; path=/; httponly;secure; expires=Fri, 31-Dec-2100 23:59:59 GMT; SameSite=strict
2024-06-03 11:58:48 51 [network.HttpClient] content-security-policy: default-src 'none';
2024-06-03 11:58:48 51 [network.HttpClient] expires: Thu, 19 Nov 1981 08:52:00 GMT
2024-06-03 11:58:48 51 [network.HttpClient] cache-control: no-store, no-cache, must-revalidate
2024-06-03 11:58:48 51 [network.HttpClient] pragma: no-cache
2024-06-03 11:58:48 51 [network.HttpClient] set-cookie: ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; path=/; secure; HttpOnly; SameSite=Lax
2024-06-03 11:58:48 51 [network.HttpClient] vary: Brief,Prefer
2024-06-03 11:58:48 51 [network.HttpClient] dav: 1, 3, extended-mkcol, access-control, calendarserver-principal-property-search, nextcloud-checksum-update, nc-calendar-search, nc-enable-birthday-calendar
2024-06-03 11:58:48 51 [network.HttpClient] x-request-id: 7DKdCmRIJni4xPkuuZy6
2024-06-03 11:58:48 51 [network.HttpClient] x-debug-token: 7DKdCmRIJni4xPkuuZy6
2024-06-03 11:58:48 51 [network.HttpClient] content-encoding: gzip
2024-06-03 11:58:48 51 [network.HttpClient] referrer-policy: no-referrer
2024-06-03 11:58:48 51 [network.HttpClient] x-content-type-options: nosniff
2024-06-03 11:58:48 51 [network.HttpClient] x-download-options: noopen
2024-06-03 11:58:48 51 [network.HttpClient] x-frame-options: SAMEORIGIN
2024-06-03 11:58:48 51 [network.HttpClient] x-permitted-cross-domain-policies: none
2024-06-03 11:58:48 51 [network.HttpClient] x-robots-tag: noindex, nofollow
2024-06-03 11:58:48 51 [network.HttpClient] x-xss-protection: 1; mode=block
2024-06-03 11:58:48 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 11:58:48 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 11:58:48 51 [network.HttpClient]
2024-06-03 11:58:48 51 [network.HttpClient] <?xml version="1.0"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns"><d:response><d:href>/remote.php/dav/</d:href><d:propstat><d:prop><d:resourcetype><d:collection/></d:resourcetype><d:current-user-principal><d:href>/remote.php/dav/principals/users/jessebot/</d:href></d:current-user-principal></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat><d:propstat><d:prop><d:displayname/><x1:addressbook-description xmlns:x1="urn:ietf:params:xml:ns:carddav"/><x1:addressbook-home-set xmlns:x1="urn:ietf:params:xml:ns:carddav"/></d:prop><d:status>HTTP/1.1 404 Not Found</d:status></d:propstat></d:response></d:multistatus>
2024-06-03 11:58:48 51 [network.HttpClient] <-- END HTTP (707-byte, 330-gzipped-byte body)
2024-06-03 11:58:48 51 [network.HttpClient] --> OPTIONS https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ h2
2024-06-03 11:58:48 51 [network.HttpClient] Content-Length: 0
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Encoding: identity
2024-06-03 11:58:48 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:48 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:48 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:48 51 [network.HttpClient] Cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; __Host-nc_sameSiteCookiestrict=true
2024-06-03 11:58:48 51 [network.HttpClient] --> END OPTIONS
2024-06-03 11:58:48 51 [network.HttpClient] <-- 204 https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ (7ms)
2024-06-03 11:58:48 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:46 GMT
2024-06-03 11:58:48 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 11:58:48 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 11:58:48 51 [network.HttpClient] content-length: 0
2024-06-03 11:58:48 51 [network.HttpClient] <-- END HTTP (0-byte body)
2024-06-03 11:58:48 51 [servicedetection.DavResourceFinder] Principal https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ doesn't provide carddav service
2024-06-03 11:58:48 51 [network.HttpClient] --> PROPFIND https://nextcloud.example.com/.well-known/carddav h2
2024-06-03 11:58:48 51 [network.HttpClient] Depth: 0
2024-06-03 11:58:48 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:48 51 [network.HttpClient] Content-Type: application/xml; charset=utf-8
2024-06-03 11:58:48 51 [network.HttpClient] Content-Length: 198
2024-06-03 11:58:48 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:48 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Encoding: gzip
2024-06-03 11:58:48 51 [network.HttpClient] Cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; __Host-nc_sameSiteCookiestrict=true
2024-06-03 11:58:48 51 [network.HttpClient]
2024-06-03 11:58:48 51 [network.HttpClient] <?xml version='1.0' encoding='UTF-8' ?><propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><current-user-principal /></prop></propfind>
2024-06-03 11:58:48 51 [network.HttpClient] --> END PROPFIND (198-byte body)
2024-06-03 11:58:48 51 [network.HttpClient] <-- 301 https://nextcloud.example.com/.well-known/carddav (7ms)
2024-06-03 11:58:48 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:46 GMT
2024-06-03 11:58:48 51 [network.HttpClient] content-type: text/html
2024-06-03 11:58:48 51 [network.HttpClient] content-length: 162
2024-06-03 11:58:48 51 [network.HttpClient] location: https://nextcloud.example.com/remote.php/dav
2024-06-03 11:58:48 51 [network.HttpClient]
2024-06-03 11:58:48 51 [network.HttpClient] <html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
2024-06-03 11:58:48 51 [network.HttpClient] <-- END HTTP (162-byte body)
2024-06-03 11:58:48 51 [at.bitfire.dav4jvm.DavResource] Redirected, new location = https://nextcloud.example.com/remote.php/dav
2024-06-03 11:58:48 51 [network.HttpClient] --> PROPFIND https://nextcloud.example.com/remote.php/dav h2
2024-06-03 11:58:48 51 [network.HttpClient] Depth: 0
2024-06-03 11:58:48 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:48 51 [network.HttpClient] Content-Type: application/xml; charset=utf-8
2024-06-03 11:58:48 51 [network.HttpClient] Content-Length: 198
2024-06-03 11:58:48 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:48 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Encoding: gzip
2024-06-03 11:58:48 51 [network.HttpClient] Cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; __Host-nc_sameSiteCookiestrict=true
2024-06-03 11:58:48 51 [network.HttpClient]
2024-06-03 11:58:48 51 [network.HttpClient] <?xml version='1.0' encoding='UTF-8' ?><propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><current-user-principal /></prop></propfind>
2024-06-03 11:58:48 51 [network.HttpClient] --> END PROPFIND (198-byte body)
2024-06-03 11:58:48 51 [network.HttpClient] <-- 207 https://nextcloud.example.com/remote.php/dav (55ms)
2024-06-03 11:58:48 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:47 GMT
2024-06-03 11:58:48 51 [network.HttpClient] content-type: application/xml; charset=utf-8
2024-06-03 11:58:48 51 [network.HttpClient] expires: Thu, 19 Nov 1981 08:52:00 GMT
2024-06-03 11:58:48 51 [network.HttpClient] cache-control: no-store, no-cache, must-revalidate
2024-06-03 11:58:48 51 [network.HttpClient] pragma: no-cache
2024-06-03 11:58:48 51 [network.HttpClient] content-security-policy: default-src 'none';
2024-06-03 11:58:48 51 [network.HttpClient] vary: Brief,Prefer
2024-06-03 11:58:48 51 [network.HttpClient] dav: 1, 3, extended-mkcol, access-control, calendarserver-principal-property-search, nextcloud-checksum-update, nc-calendar-search, nc-enable-birthday-calendar
2024-06-03 11:58:48 51 [network.HttpClient] x-request-id: Y8wI4t4ZiAp8NV4OZZMR
2024-06-03 11:58:48 51 [network.HttpClient] x-debug-token: Y8wI4t4ZiAp8NV4OZZMR
2024-06-03 11:58:48 51 [network.HttpClient] content-encoding: gzip
2024-06-03 11:58:48 51 [network.HttpClient] referrer-policy: no-referrer
2024-06-03 11:58:48 51 [network.HttpClient] x-content-type-options: nosniff
2024-06-03 11:58:48 51 [network.HttpClient] x-download-options: noopen
2024-06-03 11:58:48 51 [network.HttpClient] x-frame-options: SAMEORIGIN
2024-06-03 11:58:48 51 [network.HttpClient] x-permitted-cross-domain-policies: none
2024-06-03 11:58:48 51 [network.HttpClient] x-robots-tag: noindex, nofollow
2024-06-03 11:58:48 51 [network.HttpClient] x-xss-protection: 1; mode=block
2024-06-03 11:58:48 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 11:58:48 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 11:58:48 51 [network.HttpClient]
2024-06-03 11:58:48 51 [network.HttpClient] <?xml version="1.0"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns"><d:response><d:href>/remote.php/dav/</d:href><d:propstat><d:prop><d:current-user-principal><d:href>/remote.php/dav/principals/users/jessebot/</d:href></d:current-user-principal></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response></d:multistatus>
2024-06-03 11:58:48 51 [network.HttpClient] <-- END HTTP (419-byte, 231-gzipped-byte body)
2024-06-03 11:58:48 51 [servicedetection.DavResourceFinder] Found current-user-principal: https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/
2024-06-03 11:58:48 51 [network.HttpClient] --> OPTIONS https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ h2
2024-06-03 11:58:48 51 [network.HttpClient] Content-Length: 0
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Encoding: identity
2024-06-03 11:58:48 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:48 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:48 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:48 51 [network.HttpClient] Cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; __Host-nc_sameSiteCookiestrict=true
2024-06-03 11:58:48 51 [network.HttpClient] --> END OPTIONS
2024-06-03 11:58:48 51 [network.HttpClient] <-- 204 https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ (8ms)
2024-06-03 11:58:48 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:47 GMT
2024-06-03 11:58:48 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 11:58:48 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 11:58:48 51 [network.HttpClient] content-length: 0
2024-06-03 11:58:48 51 [network.HttpClient] <-- END HTTP (0-byte body)
2024-06-03 11:58:48 51 [servicedetection.DavResourceFinder] Principal https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ doesn't provide carddav service
2024-06-03 11:58:48 51 [servicedetection.DavResourceFinder] No principal found at user-given URL, trying to discover for domain nextcloud.example.com
2024-06-03 11:58:48 51 [servicedetection.DavResourceFinder] Looking up SRV records for _carddavs._tcp.nextcloud.example.com
2024-06-03 11:58:48 51 [servicedetection.DavResourceFinder] Didn't find carddav service, trying at https://nextcloud.example.com:443
2024-06-03 11:58:48 51 [servicedetection.DavResourceFinder] Trying to determine principal from initial context path=https://nextcloud.example.com/.well-known/carddav
2024-06-03 11:58:48 51 [network.HttpClient] --> PROPFIND https://nextcloud.example.com/.well-known/carddav h2
2024-06-03 11:58:48 51 [network.HttpClient] Depth: 0
2024-06-03 11:58:48 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:48 51 [network.HttpClient] Content-Type: application/xml; charset=utf-8
2024-06-03 11:58:48 51 [network.HttpClient] Content-Length: 198
2024-06-03 11:58:48 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:48 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Encoding: gzip
2024-06-03 11:58:48 51 [network.HttpClient] Cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; __Host-nc_sameSiteCookiestrict=true
2024-06-03 11:58:48 51 [network.HttpClient]
2024-06-03 11:58:48 51 [network.HttpClient] <?xml version='1.0' encoding='UTF-8' ?><propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><current-user-principal /></prop></propfind>
2024-06-03 11:58:48 51 [network.HttpClient] --> END PROPFIND (198-byte body)
2024-06-03 11:58:48 51 [network.HttpClient] <-- 301 https://nextcloud.example.com/.well-known/carddav (8ms)
2024-06-03 11:58:48 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:47 GMT
2024-06-03 11:58:48 51 [network.HttpClient] content-type: text/html
2024-06-03 11:58:48 51 [network.HttpClient] content-length: 162
2024-06-03 11:58:48 51 [network.HttpClient] location: https://nextcloud.example.com/remote.php/dav
2024-06-03 11:58:48 51 [network.HttpClient]
2024-06-03 11:58:48 51 [network.HttpClient] <html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
2024-06-03 11:58:48 51 [network.HttpClient] <-- END HTTP (162-byte body)
2024-06-03 11:58:48 51 [at.bitfire.dav4jvm.DavResource] Redirected, new location = https://nextcloud.example.com/remote.php/dav
2024-06-03 11:58:48 51 [network.HttpClient] --> PROPFIND https://nextcloud.example.com/remote.php/dav h2
2024-06-03 11:58:48 51 [network.HttpClient] Depth: 0
2024-06-03 11:58:48 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:48 51 [network.HttpClient] Content-Type: application/xml; charset=utf-8
2024-06-03 11:58:48 51 [network.HttpClient] Content-Length: 198
2024-06-03 11:58:48 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:48 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Encoding: gzip
2024-06-03 11:58:48 51 [network.HttpClient] Cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; __Host-nc_sameSiteCookiestrict=true
2024-06-03 11:58:48 51 [network.HttpClient]
2024-06-03 11:58:48 51 [network.HttpClient] <?xml version='1.0' encoding='UTF-8' ?><propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><current-user-principal /></prop></propfind>
2024-06-03 11:58:48 51 [network.HttpClient] --> END PROPFIND (198-byte body)
2024-06-03 11:58:48 51 [network.HttpClient] <-- 207 https://nextcloud.example.com/remote.php/dav (146ms)
2024-06-03 11:58:48 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:47 GMT
2024-06-03 11:58:48 51 [network.HttpClient] content-type: application/xml; charset=utf-8
2024-06-03 11:58:48 51 [network.HttpClient] expires: Thu, 19 Nov 1981 08:52:00 GMT
2024-06-03 11:58:48 51 [network.HttpClient] cache-control: no-store, no-cache, must-revalidate
2024-06-03 11:58:48 51 [network.HttpClient] pragma: no-cache
2024-06-03 11:58:48 51 [network.HttpClient] content-security-policy: default-src 'none';
2024-06-03 11:58:48 51 [network.HttpClient] vary: Brief,Prefer
2024-06-03 11:58:48 51 [network.HttpClient] dav: 1, 3, extended-mkcol, access-control, calendarserver-principal-property-search, nextcloud-checksum-update, nc-calendar-search, nc-enable-birthday-calendar
2024-06-03 11:58:48 51 [network.HttpClient] x-request-id: l0OHnYMuwvnI3tIUB7M7
2024-06-03 11:58:48 51 [network.HttpClient] x-debug-token: l0OHnYMuwvnI3tIUB7M7
2024-06-03 11:58:48 51 [network.HttpClient] content-encoding: gzip
2024-06-03 11:58:48 51 [network.HttpClient] referrer-policy: no-referrer
2024-06-03 11:58:48 51 [network.HttpClient] x-content-type-options: nosniff
2024-06-03 11:58:48 51 [network.HttpClient] x-download-options: noopen
2024-06-03 11:58:48 51 [network.HttpClient] x-frame-options: SAMEORIGIN
2024-06-03 11:58:48 51 [network.HttpClient] x-permitted-cross-domain-policies: none
2024-06-03 11:58:48 51 [network.HttpClient] x-robots-tag: noindex, nofollow
2024-06-03 11:58:48 51 [network.HttpClient] x-xss-protection: 1; mode=block
2024-06-03 11:58:48 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 11:58:48 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 11:58:48 51 [network.HttpClient]
2024-06-03 11:58:48 51 [network.HttpClient] <?xml version="1.0"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns"><d:response><d:href>/remote.php/dav/</d:href><d:propstat><d:prop><d:current-user-principal><d:href>/remote.php/dav/principals/users/jessebot/</d:href></d:current-user-principal></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response></d:multistatus>
2024-06-03 11:58:48 51 [network.HttpClient] <-- END HTTP (419-byte, 231-gzipped-byte body)
2024-06-03 11:58:48 51 [servicedetection.DavResourceFinder] Found current-user-principal: https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/
2024-06-03 11:58:48 51 [network.HttpClient] --> OPTIONS https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ h2
2024-06-03 11:58:48 51 [network.HttpClient] Content-Length: 0
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Encoding: identity
2024-06-03 11:58:48 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:48 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:48 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:48 51 [network.HttpClient] Cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; __Host-nc_sameSiteCookiestrict=true
2024-06-03 11:58:48 51 [network.HttpClient] --> END OPTIONS
2024-06-03 11:58:48 51 [network.HttpClient] <-- 204 https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ (8ms)
2024-06-03 11:58:48 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:47 GMT
2024-06-03 11:58:48 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 11:58:48 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 11:58:48 51 [network.HttpClient] content-length: 0
2024-06-03 11:58:48 51 [network.HttpClient] <-- END HTTP (0-byte body)
2024-06-03 11:58:48 51 [servicedetection.DavResourceFinder] Principal https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ doesn't provide carddav service
2024-06-03 11:58:48 51 [servicedetection.DavResourceFinder] Trying to determine principal from initial context path=https://nextcloud.example.com/
2024-06-03 11:58:48 51 [network.HttpClient] --> PROPFIND https://nextcloud.example.com/ h2
2024-06-03 11:58:48 51 [network.HttpClient] Depth: 0
2024-06-03 11:58:48 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:48 51 [network.HttpClient] Content-Type: application/xml; charset=utf-8
2024-06-03 11:58:48 51 [network.HttpClient] Content-Length: 198
2024-06-03 11:58:48 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:48 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Encoding: gzip
2024-06-03 11:58:48 51 [network.HttpClient] Cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; __Host-nc_sameSiteCookiestrict=true
2024-06-03 11:58:48 51 [network.HttpClient]
2024-06-03 11:58:48 51 [network.HttpClient] <?xml version='1.0' encoding='UTF-8' ?><propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><current-user-principal /></prop></propfind>
2024-06-03 11:58:48 51 [network.HttpClient] --> END PROPFIND (198-byte body)
2024-06-03 11:58:48 51 [network.HttpClient] <-- 405 https://nextcloud.example.com/ (8ms)
2024-06-03 11:58:48 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:47 GMT
2024-06-03 11:58:48 51 [network.HttpClient] content-type: text/html
2024-06-03 11:58:48 51 [network.HttpClient] content-length: 157
2024-06-03 11:58:48 51 [network.HttpClient] referrer-policy: no-referrer
2024-06-03 11:58:48 51 [network.HttpClient] x-content-type-options: nosniff
2024-06-03 11:58:48 51 [network.HttpClient] x-download-options: noopen
2024-06-03 11:58:48 51 [network.HttpClient] x-frame-options: SAMEORIGIN
2024-06-03 11:58:48 51 [network.HttpClient] x-permitted-cross-domain-policies: none
2024-06-03 11:58:48 51 [network.HttpClient] x-robots-tag: noindex, nofollow
2024-06-03 11:58:48 51 [network.HttpClient] x-xss-protection: 1; mode=block
2024-06-03 11:58:48 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 11:58:48 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 11:58:48 51 [network.HttpClient]
2024-06-03 11:58:48 51 [network.HttpClient] <html>
<head><title>405 Not Allowed</title></head>
<body>
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx/1.25.4</center>
</body>
</html>
2024-06-03 11:58:48 51 [network.HttpClient] <-- END HTTP (157-byte body)
2024-06-03 11:58:48 51 [servicedetection.DavResourceFinder] No resource found
EXCEPTION at.bitfire.dav4jvm.exception.HttpException: HTTP 405
at at.bitfire.dav4jvm.DavResource.checkStatus(DavResource.kt:3)
at at.bitfire.dav4jvm.DavResource.checkStatus(DavResource.kt:1)
at at.bitfire.dav4jvm.DavResource.processMultiStatus(DavResource.kt:2)
at at.bitfire.dav4jvm.DavResource.propfind(DavResource.kt:76)
at at.bitfire.davdroid.servicedetection.DavResourceFinder.getCurrentUserPrincipal(DavResourceFinder.kt:37)
at at.bitfire.davdroid.servicedetection.DavResourceFinder.discoverPrincipalUrl(DavResourceFinder.kt:301)
at at.bitfire.davdroid.servicedetection.DavResourceFinder.findInitialConfiguration(DavResourceFinder.kt:29)
at at.bitfire.davdroid.servicedetection.DavResourceFinder.findInitialConfiguration(DavResourceFinder.kt:1)
at at.bitfire.davdroid.ui.setup.LoginModel$detectResources$job$1$configuration$1.invoke(LoginModel.kt:3)
at at.bitfire.davdroid.ui.setup.LoginModel$detectResources$job$1$configuration$1.invoke(LoginModel.kt:1)
at kotlinx.coroutines.InterruptibleKt$runInterruptible$2.invokeSuspend(Interruptible.kt:59)
at kotlinx.coroutines.InterruptibleKt$runInterruptible$2.invoke(Interruptible.kt:13)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:16)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:41)
at kotlinx.coroutines.InterruptibleKt.runInterruptible$default(Interruptible.kt:9)
at at.bitfire.davdroid.ui.setup.LoginModel$detectResources$job$1.invokeSuspend(LoginModel.kt:38)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:9)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:111)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:4)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:3)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:98)
2024-06-03 11:58:48 51 [servicedetection.DavResourceFinder] Finding initial caldav service configuration
2024-06-03 11:58:48 51 [servicedetection.DavResourceFinder] Checking user-given URL: https://nextcloud.example.com/remote.php/dav
2024-06-03 11:58:48 51 [network.HttpClient] --> PROPFIND https://nextcloud.example.com/remote.php/dav h2
2024-06-03 11:58:48 51 [network.HttpClient] Depth: 0
2024-06-03 11:58:48 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:48 51 [network.HttpClient] Content-Type: application/xml; charset=utf-8
2024-06-03 11:58:48 51 [network.HttpClient] Content-Length: 435
2024-06-03 11:58:48 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:48 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Encoding: gzip
2024-06-03 11:58:48 51 [network.HttpClient] Cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; __Host-nc_sameSiteCookiestrict=true
2024-06-03 11:58:48 51 [network.HttpClient]
2024-06-03 11:58:48 51 [network.HttpClient] <?xml version='1.0' encoding='UTF-8' ?><propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><resourcetype /><displayname /><n0:calendar-color xmlns:n0="http://apple.com/ns/ical/" /><CAL:calendar-description /><CAL:calendar-timezone /><current-user-privilege-set /><CAL:supported-calendar-component-set /><CAL:calendar-home-set /><current-user-principal /></prop></propfind>
2024-06-03 11:58:48 51 [network.HttpClient] --> END PROPFIND (435-byte body)
2024-06-03 11:58:48 51 [network.HttpClient] <-- 207 https://nextcloud.example.com/remote.php/dav (89ms)
2024-06-03 11:58:48 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:47 GMT
2024-06-03 11:58:48 51 [network.HttpClient] content-type: application/xml; charset=utf-8
2024-06-03 11:58:48 51 [network.HttpClient] expires: Thu, 19 Nov 1981 08:52:00 GMT
2024-06-03 11:58:48 51 [network.HttpClient] cache-control: no-store, no-cache, must-revalidate
2024-06-03 11:58:48 51 [network.HttpClient] pragma: no-cache
2024-06-03 11:58:48 51 [network.HttpClient] content-security-policy: default-src 'none';
2024-06-03 11:58:48 51 [network.HttpClient] vary: Brief,Prefer
2024-06-03 11:58:48 51 [network.HttpClient] dav: 1, 3, extended-mkcol, access-control, calendarserver-principal-property-search, nextcloud-checksum-update, nc-calendar-search, nc-enable-birthday-calendar
2024-06-03 11:58:48 51 [network.HttpClient] x-request-id: mqqsr0Eq6LV1AcJVf9HP
2024-06-03 11:58:48 51 [network.HttpClient] x-debug-token: mqqsr0Eq6LV1AcJVf9HP
2024-06-03 11:58:48 51 [network.HttpClient] content-encoding: gzip
2024-06-03 11:58:48 51 [network.HttpClient] referrer-policy: no-referrer
2024-06-03 11:58:48 51 [network.HttpClient] x-content-type-options: nosniff
2024-06-03 11:58:48 51 [network.HttpClient] x-download-options: noopen
2024-06-03 11:58:48 51 [network.HttpClient] x-frame-options: SAMEORIGIN
2024-06-03 11:58:48 51 [network.HttpClient] x-permitted-cross-domain-policies: none
2024-06-03 11:58:48 51 [network.HttpClient] x-robots-tag: noindex, nofollow
2024-06-03 11:58:48 51 [network.HttpClient] x-xss-protection: 1; mode=block
2024-06-03 11:58:48 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 11:58:48 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 11:58:48 51 [network.HttpClient]
2024-06-03 11:58:48 51 [network.HttpClient] <?xml version="1.0"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns"><d:response><d:href>/remote.php/dav/</d:href><d:propstat><d:prop><d:resourcetype><d:collection/></d:resourcetype><d:current-user-privilege-set><d:privilege><d:all/></d:privilege><d:privilege><d:read/></d:privilege><d:privilege><d:write/></d:privilege><d:privilege><d:write-properties/></d:privilege><d:privilege><d:write-content/></d:privilege><d:privilege><d:unlock/></d:privilege><d:privilege><d:bind/></d:privilege><d:privilege><d:unbind/></d:privilege><d:privilege><d:read-acl/></d:privilege><d:privilege><d:read-current-user-privilege-set/></d:privilege></d:current-user-privilege-set><d:current-user-principal><d:href>/remote.php/dav/principals/users/jessebot/</d:href></d:current-user-principal></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat><d:propstat><d:prop><d:displayname/><x1:calendar-color xmlns:x1="http://apple.com/ns/ical/"/><x2:calendar-description xmlns:x2="urn:ietf:params:xml:ns:caldav"/><x2:calendar-timezone xmlns:x2="urn:ietf:params:xml:ns:caldav"/><x2:supported-calendar-component-set xmlns:x2="urn:ietf:params:xml:ns:caldav"/><x2:calendar-home-set xmlns:x2="urn:ietf:params:xml:ns:caldav"/></d:prop><d:status>HTTP/1.1 404 Not Found</d:status></d:propstat></d:response></d:multistatus>
2024-06-03 11:58:48 51 [network.HttpClient] <-- END HTTP (1376-byte, 458-gzipped-byte body)
2024-06-03 11:58:48 51 [network.HttpClient] --> OPTIONS https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ h2
2024-06-03 11:58:48 51 [network.HttpClient] Content-Length: 0
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Encoding: identity
2024-06-03 11:58:48 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:48 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:48 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:48 51 [network.HttpClient] Cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; __Host-nc_sameSiteCookiestrict=true
2024-06-03 11:58:48 51 [network.HttpClient] --> END OPTIONS
2024-06-03 11:58:48 51 [network.HttpClient] <-- 204 https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ (9ms)
2024-06-03 11:58:48 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:47 GMT
2024-06-03 11:58:48 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 11:58:48 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 11:58:48 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 11:58:48 51 [network.HttpClient] content-length: 0
2024-06-03 11:58:48 51 [network.HttpClient] <-- END HTTP (0-byte body)
2024-06-03 11:58:48 51 [servicedetection.DavResourceFinder] Principal https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ doesn't provide caldav service
2024-06-03 11:58:48 51 [network.HttpClient] --> PROPFIND https://nextcloud.example.com/.well-known/caldav h2
2024-06-03 11:58:48 51 [network.HttpClient] Depth: 0
2024-06-03 11:58:48 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:48 51 [network.HttpClient] Content-Type: application/xml; charset=utf-8
2024-06-03 11:58:48 51 [network.HttpClient] Content-Length: 198
2024-06-03 11:58:48 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:48 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Encoding: gzip
2024-06-03 11:58:48 51 [network.HttpClient] Cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; __Host-nc_sameSiteCookiestrict=true
2024-06-03 11:58:48 51 [network.HttpClient]
2024-06-03 11:58:48 51 [network.HttpClient] <?xml version='1.0' encoding='UTF-8' ?><propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><current-user-principal /></prop></propfind>
2024-06-03 11:58:48 51 [network.HttpClient] --> END PROPFIND (198-byte body)
2024-06-03 11:58:48 51 [network.HttpClient] <-- 301 https://nextcloud.example.com/.well-known/caldav (8ms)
2024-06-03 11:58:48 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:47 GMT
2024-06-03 11:58:48 51 [network.HttpClient] content-type: text/html
2024-06-03 11:58:48 51 [network.HttpClient] content-length: 162
2024-06-03 11:58:48 51 [network.HttpClient] location: https://nextcloud.example.com/remote.php/dav
2024-06-03 11:58:48 51 [network.HttpClient]
2024-06-03 11:58:48 51 [network.HttpClient] <html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
2024-06-03 11:58:48 51 [network.HttpClient] <-- END HTTP (162-byte body)
2024-06-03 11:58:48 51 [at.bitfire.dav4jvm.DavResource] Redirected, new location = https://nextcloud.example.com/remote.php/dav
2024-06-03 11:58:48 51 [network.HttpClient] --> PROPFIND https://nextcloud.example.com/remote.php/dav h2
2024-06-03 11:58:48 51 [network.HttpClient] Depth: 0
2024-06-03 11:58:48 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:48 51 [network.HttpClient] Content-Type: application/xml; charset=utf-8
2024-06-03 11:58:48 51 [network.HttpClient] Content-Length: 198
2024-06-03 11:58:48 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:48 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:48 51 [network.HttpClient] Accept-Encoding: gzip
2024-06-03 11:58:48 51 [network.HttpClient] Cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; __Host-nc_sameSiteCookiestrict=true
2024-06-03 11:58:48 51 [network.HttpClient]
2024-06-03 11:58:48 51 [network.HttpClient] <?xml version='1.0' encoding='UTF-8' ?><propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><current-user-principal /></prop></propfind>
2024-06-03 11:58:48 51 [network.HttpClient] --> END PROPFIND (198-byte body)
2024-06-03 11:58:49 51 [network.HttpClient] <-- 207 https://nextcloud.example.com/remote.php/dav (78ms)
2024-06-03 11:58:49 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:47 GMT
2024-06-03 11:58:49 51 [network.HttpClient] content-type: application/xml; charset=utf-8
2024-06-03 11:58:49 51 [network.HttpClient] expires: Thu, 19 Nov 1981 08:52:00 GMT
2024-06-03 11:58:49 51 [network.HttpClient] cache-control: no-store, no-cache, must-revalidate
2024-06-03 11:58:49 51 [network.HttpClient] pragma: no-cache
2024-06-03 11:58:49 51 [network.HttpClient] content-security-policy: default-src 'none';
2024-06-03 11:58:49 51 [network.HttpClient] vary: Brief,Prefer
2024-06-03 11:58:49 51 [network.HttpClient] dav: 1, 3, extended-mkcol, access-control, calendarserver-principal-property-search, nextcloud-checksum-update, nc-calendar-search, nc-enable-birthday-calendar
2024-06-03 11:58:49 51 [network.HttpClient] x-request-id: ICIKoLZYyObNxnoA7GUh
2024-06-03 11:58:49 51 [network.HttpClient] x-debug-token: ICIKoLZYyObNxnoA7GUh
2024-06-03 11:58:49 51 [network.HttpClient] content-encoding: gzip
2024-06-03 11:58:49 51 [network.HttpClient] referrer-policy: no-referrer
2024-06-03 11:58:49 51 [network.HttpClient] x-content-type-options: nosniff
2024-06-03 11:58:49 51 [network.HttpClient] x-download-options: noopen
2024-06-03 11:58:49 51 [network.HttpClient] x-frame-options: SAMEORIGIN
2024-06-03 11:58:49 51 [network.HttpClient] x-permitted-cross-domain-policies: none
2024-06-03 11:58:49 51 [network.HttpClient] x-robots-tag: noindex, nofollow
2024-06-03 11:58:49 51 [network.HttpClient] x-xss-protection: 1; mode=block
2024-06-03 11:58:49 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 11:58:49 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 11:58:49 51 [network.HttpClient]
2024-06-03 11:58:49 51 [network.HttpClient] <?xml version="1.0"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns"><d:response><d:href>/remote.php/dav/</d:href><d:propstat><d:prop><d:current-user-principal><d:href>/remote.php/dav/principals/users/jessebot/</d:href></d:current-user-principal></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response></d:multistatus>
2024-06-03 11:58:49 51 [network.HttpClient] <-- END HTTP (419-byte, 231-gzipped-byte body)
2024-06-03 11:58:49 51 [servicedetection.DavResourceFinder] Found current-user-principal: https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/
2024-06-03 11:58:49 51 [network.HttpClient] --> OPTIONS https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ h2
2024-06-03 11:58:49 51 [network.HttpClient] Content-Length: 0
2024-06-03 11:58:49 51 [network.HttpClient] Accept-Encoding: identity
2024-06-03 11:58:49 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:49 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:49 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:49 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:49 51 [network.HttpClient] Cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; __Host-nc_sameSiteCookiestrict=true
2024-06-03 11:58:49 51 [network.HttpClient] --> END OPTIONS
2024-06-03 11:58:49 51 [network.HttpClient] <-- 204 https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ (14ms)
2024-06-03 11:58:49 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:47 GMT
2024-06-03 11:58:49 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 11:58:49 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 11:58:49 51 [network.HttpClient] content-length: 0
2024-06-03 11:58:49 51 [network.HttpClient] <-- END HTTP (0-byte body)
2024-06-03 11:58:49 51 [servicedetection.DavResourceFinder] Principal https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ doesn't provide caldav service
2024-06-03 11:58:49 51 [servicedetection.DavResourceFinder] No principal found at user-given URL, trying to discover for domain nextcloud.example.com
2024-06-03 11:58:49 51 [servicedetection.DavResourceFinder] Looking up SRV records for _caldavs._tcp.nextcloud.example.com
2024-06-03 11:58:49 51 [servicedetection.DavResourceFinder] Didn't find caldav service, trying at https://nextcloud.example.com:443
2024-06-03 11:58:49 51 [servicedetection.DavResourceFinder] Trying to determine principal from initial context path=https://nextcloud.example.com/.well-known/caldav
2024-06-03 11:58:49 51 [network.HttpClient] --> PROPFIND https://nextcloud.example.com/.well-known/caldav h2
2024-06-03 11:58:49 51 [network.HttpClient] Depth: 0
2024-06-03 11:58:49 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:49 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:49 51 [network.HttpClient] Content-Type: application/xml; charset=utf-8
2024-06-03 11:58:49 51 [network.HttpClient] Content-Length: 198
2024-06-03 11:58:49 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:49 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:49 51 [network.HttpClient] Accept-Encoding: gzip
2024-06-03 11:58:49 51 [network.HttpClient] Cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; __Host-nc_sameSiteCookiestrict=true
2024-06-03 11:58:49 51 [network.HttpClient]
2024-06-03 11:58:49 51 [network.HttpClient] <?xml version='1.0' encoding='UTF-8' ?><propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><current-user-principal /></prop></propfind>
2024-06-03 11:58:49 51 [network.HttpClient] --> END PROPFIND (198-byte body)
2024-06-03 11:58:49 51 [network.HttpClient] <-- 301 https://nextcloud.example.com/.well-known/caldav (9ms)
2024-06-03 11:58:49 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:47 GMT
2024-06-03 11:58:49 51 [network.HttpClient] content-type: text/html
2024-06-03 11:58:49 51 [network.HttpClient] content-length: 162
2024-06-03 11:58:49 51 [network.HttpClient] location: https://nextcloud.example.com/remote.php/dav
2024-06-03 11:58:49 51 [network.HttpClient]
2024-06-03 11:58:49 51 [network.HttpClient] <html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
2024-06-03 11:58:49 51 [network.HttpClient] <-- END HTTP (162-byte body)
2024-06-03 11:58:49 51 [at.bitfire.dav4jvm.DavResource] Redirected, new location = https://nextcloud.example.com/remote.php/dav
2024-06-03 11:58:49 51 [network.HttpClient] --> PROPFIND https://nextcloud.example.com/remote.php/dav h2
2024-06-03 11:58:49 51 [network.HttpClient] Depth: 0
2024-06-03 11:58:49 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:49 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:49 51 [network.HttpClient] Content-Type: application/xml; charset=utf-8
2024-06-03 11:58:49 51 [network.HttpClient] Content-Length: 198
2024-06-03 11:58:49 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:49 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:49 51 [network.HttpClient] Accept-Encoding: gzip
2024-06-03 11:58:49 51 [network.HttpClient] Cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; __Host-nc_sameSiteCookiestrict=true
2024-06-03 11:58:49 51 [network.HttpClient]
2024-06-03 11:58:49 51 [network.HttpClient] <?xml version='1.0' encoding='UTF-8' ?><propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><current-user-principal /></prop></propfind>
2024-06-03 11:58:49 51 [network.HttpClient] --> END PROPFIND (198-byte body)
2024-06-03 11:58:49 51 [network.HttpClient] <-- 207 https://nextcloud.example.com/remote.php/dav (89ms)
2024-06-03 11:58:49 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:47 GMT
2024-06-03 11:58:49 51 [network.HttpClient] content-type: application/xml; charset=utf-8
2024-06-03 11:58:49 51 [network.HttpClient] expires: Thu, 19 Nov 1981 08:52:00 GMT
2024-06-03 11:58:49 51 [network.HttpClient] cache-control: no-store, no-cache, must-revalidate
2024-06-03 11:58:49 51 [network.HttpClient] pragma: no-cache
2024-06-03 11:58:49 51 [network.HttpClient] content-security-policy: default-src 'none';
2024-06-03 11:58:49 51 [network.HttpClient] vary: Brief,Prefer
2024-06-03 11:58:49 51 [network.HttpClient] dav: 1, 3, extended-mkcol, access-control, calendarserver-principal-property-search, nextcloud-checksum-update, nc-calendar-search, nc-enable-birthday-calendar
2024-06-03 11:58:49 51 [network.HttpClient] x-request-id: y6GgjK5pD4RWdtrkEQ6m
2024-06-03 11:58:49 51 [network.HttpClient] x-debug-token: y6GgjK5pD4RWdtrkEQ6m
2024-06-03 11:58:49 51 [network.HttpClient] content-encoding: gzip
2024-06-03 11:58:49 51 [network.HttpClient] referrer-policy: no-referrer
2024-06-03 11:58:49 51 [network.HttpClient] x-content-type-options: nosniff
2024-06-03 11:58:49 51 [network.HttpClient] x-download-options: noopen
2024-06-03 11:58:49 51 [network.HttpClient] x-frame-options: SAMEORIGIN
2024-06-03 11:58:49 51 [network.HttpClient] x-permitted-cross-domain-policies: none
2024-06-03 11:58:49 51 [network.HttpClient] x-robots-tag: noindex, nofollow
2024-06-03 11:58:49 51 [network.HttpClient] x-xss-protection: 1; mode=block
2024-06-03 11:58:49 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 11:58:49 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 11:58:49 51 [network.HttpClient]
2024-06-03 11:58:49 51 [network.HttpClient] <?xml version="1.0"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns"><d:response><d:href>/remote.php/dav/</d:href><d:propstat><d:prop><d:current-user-principal><d:href>/remote.php/dav/principals/users/jessebot/</d:href></d:current-user-principal></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response></d:multistatus>
2024-06-03 11:58:49 51 [network.HttpClient] <-- END HTTP (419-byte, 231-gzipped-byte body)
2024-06-03 11:58:49 51 [servicedetection.DavResourceFinder] Found current-user-principal: https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/
2024-06-03 11:58:49 51 [network.HttpClient] --> OPTIONS https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ h2
2024-06-03 11:58:49 51 [network.HttpClient] Content-Length: 0
2024-06-03 11:58:49 51 [network.HttpClient] Accept-Encoding: identity
2024-06-03 11:58:49 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:49 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:49 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:49 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:49 51 [network.HttpClient] Cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; __Host-nc_sameSiteCookiestrict=true
2024-06-03 11:58:49 51 [network.HttpClient] --> END OPTIONS
2024-06-03 11:58:49 51 [network.HttpClient] <-- 204 https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ (9ms)
2024-06-03 11:58:49 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:47 GMT
2024-06-03 11:58:49 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 11:58:49 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 11:58:49 51 [network.HttpClient] content-length: 0
2024-06-03 11:58:49 51 [network.HttpClient] <-- END HTTP (0-byte body)
2024-06-03 11:58:49 51 [servicedetection.DavResourceFinder] Principal https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ doesn't provide caldav service
2024-06-03 11:58:49 51 [servicedetection.DavResourceFinder] Trying to determine principal from initial context path=https://nextcloud.example.com/
2024-06-03 11:58:49 51 [network.HttpClient] --> PROPFIND https://nextcloud.example.com/ h2
2024-06-03 11:58:49 51 [network.HttpClient] Depth: 0
2024-06-03 11:58:49 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 11:58:49 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 11:58:49 51 [network.HttpClient] Content-Type: application/xml; charset=utf-8
2024-06-03 11:58:49 51 [network.HttpClient] Content-Length: 198
2024-06-03 11:58:49 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 11:58:49 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 11:58:49 51 [network.HttpClient] Accept-Encoding: gzip
2024-06-03 11:58:49 51 [network.HttpClient] Cookie: oc_sessionPassphrase=cKfAcm%2Ba3ssQJx7AIifKIsjLcOLkC6ElsSlQdNVY13YxVl%2FA3CbwfTxkj5tpJLTf6rOpmUZQvq%2FlKJYlkpxfhOrhvmUAP6tA2FNePS%2BpwYm5bzTbXwRvT9ZzFetaIcZf; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=cb093c78acb4eca3fa4e43bbd37fbb4d; __Host-nc_sameSiteCookiestrict=true
2024-06-03 11:58:49 51 [network.HttpClient]
2024-06-03 11:58:49 51 [network.HttpClient] <?xml version='1.0' encoding='UTF-8' ?><propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><current-user-principal /></prop></propfind>
2024-06-03 11:58:49 51 [network.HttpClient] --> END PROPFIND (198-byte body)
2024-06-03 11:58:49 51 [network.HttpClient] <-- 405 https://nextcloud.example.com/ (12ms)
2024-06-03 11:58:49 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:47 GMT
2024-06-03 11:58:49 51 [network.HttpClient] content-type: text/html
2024-06-03 11:58:49 51 [network.HttpClient] content-length: 157
2024-06-03 11:58:49 51 [network.HttpClient] referrer-policy: no-referrer
2024-06-03 11:58:49 51 [network.HttpClient] x-content-type-options: nosniff
2024-06-03 11:58:49 51 [network.HttpClient] x-download-options: noopen
2024-06-03 11:58:49 51 [network.HttpClient] x-frame-options: SAMEORIGIN
2024-06-03 11:58:49 51 [network.HttpClient] x-permitted-cross-domain-policies: none
2024-06-03 11:58:49 51 [network.HttpClient] x-robots-tag: noindex, nofollow
2024-06-03 11:58:49 51 [network.HttpClient] x-xss-protection: 1; mode=block
2024-06-03 11:58:49 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 11:58:49 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 11:58:49 51 [network.HttpClient]
2024-06-03 11:58:49 51 [network.HttpClient] <html>
<head><title>405 Not Allowed</title></head>
<body>
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx/1.25.4</center>
</body>
</html>
2024-06-03 11:58:49 51 [network.HttpClient] <-- END HTTP (157-byte body)
2024-06-03 11:58:49 51 [servicedetection.DavResourceFinder] No resource found
EXCEPTION at.bitfire.dav4jvm.exception.HttpException: HTTP 405
at at.bitfire.dav4jvm.DavResource.checkStatus(DavResource.kt:3)
at at.bitfire.dav4jvm.DavResource.checkStatus(DavResource.kt:1)
at at.bitfire.dav4jvm.DavResource.processMultiStatus(DavResource.kt:2)
at at.bitfire.dav4jvm.DavResource.propfind(DavResource.kt:76)
at at.bitfire.davdroid.servicedetection.DavResourceFinder.getCurrentUserPrincipal(DavResourceFinder.kt:37)
at at.bitfire.davdroid.servicedetection.DavResourceFinder.discoverPrincipalUrl(DavResourceFinder.kt:301)
at at.bitfire.davdroid.servicedetection.DavResourceFinder.findInitialConfiguration(DavResourceFinder.kt:29)
at at.bitfire.davdroid.servicedetection.DavResourceFinder.findInitialConfiguration(DavResourceFinder.kt:4)
at at.bitfire.davdroid.ui.setup.LoginModel$detectResources$job$1$configuration$1.invoke(LoginModel.kt:3)
at at.bitfire.davdroid.ui.setup.LoginModel$detectResources$job$1$configuration$1.invoke(LoginModel.kt:1)
at kotlinx.coroutines.InterruptibleKt$runInterruptible$2.invokeSuspend(Interruptible.kt:59)
at kotlinx.coroutines.InterruptibleKt$runInterruptible$2.invoke(Interruptible.kt:13)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:16)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:41)
at kotlinx.coroutines.InterruptibleKt.runInterruptible$default(Interruptible.kt:9)
at at.bitfire.davdroid.ui.setup.LoginModel$detectResources$job$1.invokeSuspend(LoginModel.kt:38)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:9)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:111)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:4)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:3)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:98) The most important parts of the log are: 2024-06-03 11:58:49 51 [network.HttpClient] <-- 405 https://nextcloud.example.com/ (12ms)
2024-06-03 11:58:49 51 [network.HttpClient] date: Mon, 03 Jun 2024 09:58:47 GMT
2024-06-03 11:58:49 51 [network.HttpClient] content-type: text/html
2024-06-03 11:58:49 51 [network.HttpClient] content-length: 157
2024-06-03 11:58:49 51 [network.HttpClient] referrer-policy: no-referrer
2024-06-03 11:58:49 51 [network.HttpClient] x-content-type-options: nosniff
2024-06-03 11:58:49 51 [network.HttpClient] x-download-options: noopen
2024-06-03 11:58:49 51 [network.HttpClient] x-frame-options: SAMEORIGIN
2024-06-03 11:58:49 51 [network.HttpClient] x-permitted-cross-domain-policies: none
2024-06-03 11:58:49 51 [network.HttpClient] x-robots-tag: noindex, nofollow
2024-06-03 11:58:49 51 [network.HttpClient] x-xss-protection: 1; mode=block
2024-06-03 11:58:49 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 11:58:49 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 11:58:49 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 11:58:49 51 [network.HttpClient]
2024-06-03 11:58:49 51 [network.HttpClient] <html>
<head><title>405 Not Allowed</title></head>
<body>
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx/1.25.4</center>
</body>
</html> Nginx ingress pod logs (ignore the time, the timezone on this pod is just wrong 🤷 : 10.42.0.1 - jessebot [03/Jun/2024:09:57:08 +0000] "PROPFIND /remote.php/dav/files/jessebot/ HTTP/1.1" 207 1339 "-" "Mozilla/5.0 (Android) Nextcloud-android/3.29.0" 2013 0.084 [nextcloud-nextcloud-web-app-8080] [] 10.42.0.45:80 1339 0.084 207 95d3af61bbfb1f135ff9927d72f446af
10.42.0.1 - jessebot [03/Jun/2024:09:57:08 +0000] "PROPFIND /remote.php/dav/files/jessebot/ HTTP/1.1" 207 1339 "-" "Mozilla/5.0 (Android) Nextcloud-android/3.29.0" 2013 0.084 [nextcloud-nextcloud-web-app-8080] [] 10.42.0.45:80 1339 0.084 207 f7d6ab62a7d8f55e5cf8300556052089 here's the logs from the nginx container in the nextcloud pod (again, time is off, but you can see at 9:58-ish where I've cleared my local DAVx5 client and tried again):
|
…in nextcloud with CORS enabled set to true
oh wait, maybe I need to enable cors on the nginx container in the nextcloud pod side of things? I re-found this doc (can't remember who posted it, sorry!), but I will try to add a config for nginx in the container and see how that goes. Will update this comment after testing. |
Im using the official FPM image with the nextcloud recommended way to add extra packages, but nothing that modifies proxies. I did have issues with real ips, but that was because i originally had my MetalLB configured for BGP peering with my Unifi Gateway. I switched to L2 advertisements and then the real ip showed as it was being routed directly to the LB ip via port forwarding. |
@jessebot im not seeing the proxy config in what you shared: proxy.config.php: |- <?php $CONFIG = array ( 'trusted_proxies' => array( 0 => '127.0.0.1', 1 => '10.0.0.0/8', 2 => '192.168.0.1/32', ), 'forwarded_for_headers' => array('HTTP_X_FORWARDED_FOR'), ); This whitelists traffic from the nginx container in the pod and ensures it uses the xforwarded for. Depending on the nextcloud request, the FPM container will see traffic as coming from the local nextcloud container (127.0.0.1) or the Ingress-nginx pods (10.0.0.0/8 for my cluster) or the Firewall if nat kicks in due to nat reflection (hence the 192.168.0.1/32) Without this, its php FPM that will throw the 405 but it will look like it comes from Nginx. |
Ok, I am also using L2 advertisements 🤔 That's at least something!
I didn't have anything for However, after pushing that change out, I got the same error in nginx container in nextcloud pod: 10.42.0.61 - jessebot [03/Jun/2024:12:57:29 +0000] "PROPFIND / HTTP/1.1" 405 157 "-" "DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14" "10.42.0.1" And same error in DAVx5 logs as well: DAVx5 logs2024-06-03 14:57:31 51 [network.HttpClient] <-- END HTTP (419-byte, 231-gzipped-byte body)
2024-06-03 14:57:31 51 [servicedetection.DavResourceFinder] Found current-user-principal: https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/
2024-06-03 14:57:31 51 [network.HttpClient] --> OPTIONS https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ h2
2024-06-03 14:57:31 51 [network.HttpClient] Content-Length: 0
2024-06-03 14:57:31 51 [network.HttpClient] Accept-Encoding: identity
2024-06-03 14:57:31 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 14:57:31 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 14:57:31 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 14:57:31 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 14:57:31 51 [network.HttpClient] Cookie: oc_sessionPassphrase=paMRdHxTc8RIUPKGqdei0TUdCxW9Qo4ucbLK0uDbwdfmFMugPwmWMdLaR2vQpVq8RI%2Ba6hemkXn3uRqsbsZ75E5FmqdrqIE4e%2FQvDtc89BmWVg67vo3W8b151uXGM5h0; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=af929240655ce1cee160fe846f709b34; __Host-nc_sameSiteCookiestrict=true
2024-06-03 14:57:31 51 [network.HttpClient] --> END OPTIONS
2024-06-03 14:57:31 51 [network.HttpClient] <-- 204 https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ (7ms)
2024-06-03 14:57:31 51 [network.HttpClient] date: Mon, 03 Jun 2024 12:57:29 GMT
2024-06-03 14:57:31 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 14:57:31 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 14:57:31 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 14:57:31 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 14:57:31 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 14:57:31 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 14:57:31 51 [network.HttpClient] content-length: 0
2024-06-03 14:57:31 51 [network.HttpClient] <-- END HTTP (0-byte body)
2024-06-03 14:57:31 51 [servicedetection.DavResourceFinder] Principal https://nextcloud.example.com/remote.php/dav/principals/users/jessebot/ doesn't provide caldav service
2024-06-03 14:57:31 51 [servicedetection.DavResourceFinder] Trying to determine principal from initial context path=https://nextcloud.example.com/
2024-06-03 14:57:31 51 [network.HttpClient] --> PROPFIND https://nextcloud.example.com/ h2
2024-06-03 14:57:31 51 [network.HttpClient] Depth: 0
2024-06-03 14:57:31 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 14:57:31 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 14:57:31 51 [network.HttpClient] Content-Type: application/xml; charset=utf-8
2024-06-03 14:57:31 51 [network.HttpClient] Content-Length: 198
2024-06-03 14:57:31 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 14:57:31 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 14:57:31 51 [network.HttpClient] Accept-Encoding: gzip
2024-06-03 14:57:31 51 [network.HttpClient] Cookie: oc_sessionPassphrase=paMRdHxTc8RIUPKGqdei0TUdCxW9Qo4ucbLK0uDbwdfmFMugPwmWMdLaR2vQpVq8RI%2Ba6hemkXn3uRqsbsZ75E5FmqdrqIE4e%2FQvDtc89BmWVg67vo3W8b151uXGM5h0; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=af929240655ce1cee160fe846f709b34; __Host-nc_sameSiteCookiestrict=true
2024-06-03 14:57:31 51 [network.HttpClient]
2024-06-03 14:57:31 51 [network.HttpClient] <?xml version='1.0' encoding='UTF-8' ?><propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><current-user-principal /></prop></propfind>
2024-06-03 14:57:31 51 [network.HttpClient] --> END PROPFIND (198-byte body)
2024-06-03 14:57:31 51 [network.HttpClient] <-- 405 https://nextcloud.example.com/ (11ms)
2024-06-03 14:57:31 51 [network.HttpClient] date: Mon, 03 Jun 2024 12:57:29 GMT
2024-06-03 14:57:31 51 [network.HttpClient] content-type: text/html
2024-06-03 14:57:31 51 [network.HttpClient] content-length: 157
2024-06-03 14:57:31 51 [network.HttpClient] referrer-policy: no-referrer
2024-06-03 14:57:31 51 [network.HttpClient] x-content-type-options: nosniff
2024-06-03 14:57:31 51 [network.HttpClient] x-download-options: noopen
2024-06-03 14:57:31 51 [network.HttpClient] x-frame-options: SAMEORIGIN
2024-06-03 14:57:31 51 [network.HttpClient] x-permitted-cross-domain-policies: none
2024-06-03 14:57:31 51 [network.HttpClient] x-robots-tag: noindex, nofollow
2024-06-03 14:57:31 51 [network.HttpClient] x-xss-protection: 1; mode=block
2024-06-03 14:57:31 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 14:57:31 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 14:57:31 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 14:57:31 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 14:57:31 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 14:57:31 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 14:57:31 51 [network.HttpClient]
2024-06-03 14:57:31 51 [network.HttpClient] <html>
<head><title>405 Not Allowed</title></head>
<body>
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx/1.25.4</center>
</body>
</html>
2024-06-03 14:57:31 51 [network.HttpClient] <-- END HTTP (157-byte body)
2024-06-03 14:57:31 51 [servicedetection.DavResourceFinder] No resource found
EXCEPTION at.bitfire.dav4jvm.exception.HttpException: HTTP 405
at at.bitfire.dav4jvm.DavResource.checkStatus(DavResource.kt:3)
at at.bitfire.dav4jvm.DavResource.checkStatus(DavResource.kt:1)
at at.bitfire.dav4jvm.DavResource.processMultiStatus(DavResource.kt:2)
at at.bitfire.dav4jvm.DavResource.propfind(DavResource.kt:76)
at at.bitfire.davdroid.servicedetection.DavResourceFinder.getCurrentUserPrincipal(DavResourceFinder.kt:37)
at at.bitfire.davdroid.servicedetection.DavResourceFinder.discoverPrincipalUrl(DavResourceFinder.kt:301)
at at.bitfire.davdroid.servicedetection.DavResourceFinder.findInitialConfiguration(DavResourceFinder.kt:29)
at at.bitfire.davdroid.servicedetection.DavResourceFinder.findInitialConfiguration(DavResourceFinder.kt:4)
at at.bitfire.davdroid.ui.setup.LoginModel$detectResources$job$1$configuration$1.invoke(LoginModel.kt:3)
at at.bitfire.davdroid.ui.setup.LoginModel$detectResources$job$1$configuration$1.invoke(LoginModel.kt:1)
at kotlinx.coroutines.InterruptibleKt$runInterruptible$2.invokeSuspend(Interruptible.kt:59)
at kotlinx.coroutines.InterruptibleKt$runInterruptible$2.invoke(Interruptible.kt:13)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:16)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:41)
at kotlinx.coroutines.InterruptibleKt.runInterruptible$default(Interruptible.kt:9)
at at.bitfire.davdroid.ui.setup.LoginModel$detectResources$job$1.invokeSuspend(LoginModel.kt:38)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:9)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:111)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:4)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:3)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:98) Also, no real IPs are shown in any logs in the nginx container OR the ingress-nginx pod. Have you recently tried to completely delete your DAVx5 account on your phone, clear the cache, clear the data, and try to set this up from scratch with nextcloud 29? 🤔 |
@jessebot yes, CORS is not enabled on nextcloud nginx container level ( not ingress ). I have the same log and other posted in different issue it's 100000% not on ingress side, cause I am getting nginx version: <body>
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx/1.25.5</center>
</body>
</html> |
@tenhishadow This sentence is a little confusing. You're just confirming you have the same issue still, right? I tried a bit with playing with the nginx container config as well, but did not have any success. You can see all of those attempts here: I haven't found anyway at all to make this work so far, except for turning off cors at the nginx ingress level. You did bring up a good point that I hadn't been updating the nginx container though. I set <html>
<head><title>405 Not Allowed</title></head>
<body>
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx/1.27.0</center>
</body>
</html> always good to be up to date 🤷 full DAVx5 logs2024-06-03 15:33:41 51 [network.HttpClient] --> PROPFIND https://nextcloud.example.com/ h2
2024-06-03 15:33:41 51 [network.HttpClient] Depth: 0
2024-06-03 15:33:41 51 [network.HttpClient] User-Agent: DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14
2024-06-03 15:33:41 51 [network.HttpClient] Accept-Language: en-NL, en;q=0.7, *;q=0.5
2024-06-03 15:33:41 51 [network.HttpClient] Content-Type: application/xml; charset=utf-8
2024-06-03 15:33:41 51 [network.HttpClient] Content-Length: 198
2024-06-03 15:33:41 51 [network.HttpClient] Host: nextcloud.example.com
2024-06-03 15:33:41 51 [network.HttpClient] Connection: Keep-Alive
2024-06-03 15:33:41 51 [network.HttpClient] Accept-Encoding: gzip
2024-06-03 15:33:41 51 [network.HttpClient] Cookie: oc_sessionPassphrase=w7%2BuiCA9wayS8ZbMDz5fQWFbDCKDpsUFncNPt6kVV6L2lx05Mv%2F0kQOTW7B8QKu01Wjyrk1LMaROQ2bahYXqfDx5uOIfcxHEClXhF%2FFjxCEiwcgj8XJyzLfrkewl4wll; __Host-nc_sameSiteCookielax=true; ocrkhwrly2jb=458279c2e6ef54fcb7d20200df74aecf; __Host-nc_sameSiteCookiestrict=true
2024-06-03 15:33:41 51 [network.HttpClient]
2024-06-03 15:33:41 51 [network.HttpClient] <?xml version='1.0' encoding='UTF-8' ?><propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><current-user-principal /></prop></propfind>
2024-06-03 15:33:41 51 [network.HttpClient] --> END PROPFIND (198-byte body)
2024-06-03 15:33:41 51 [network.HttpClient] <-- 405 https://nextcloud.example.com/ (22ms)
2024-06-03 15:33:41 51 [network.HttpClient] date: Mon, 03 Jun 2024 13:33:39 GMT
2024-06-03 15:33:41 51 [network.HttpClient] content-type: text/html
2024-06-03 15:33:41 51 [network.HttpClient] content-length: 157
2024-06-03 15:33:41 51 [network.HttpClient] referrer-policy: no-referrer
2024-06-03 15:33:41 51 [network.HttpClient] x-content-type-options: nosniff
2024-06-03 15:33:41 51 [network.HttpClient] x-download-options: noopen
2024-06-03 15:33:41 51 [network.HttpClient] x-frame-options: SAMEORIGIN
2024-06-03 15:33:41 51 [network.HttpClient] x-permitted-cross-domain-policies: none
2024-06-03 15:33:41 51 [network.HttpClient] x-robots-tag: noindex, nofollow
2024-06-03 15:33:41 51 [network.HttpClient] x-xss-protection: 1; mode=block
2024-06-03 15:33:41 51 [network.HttpClient] strict-transport-security: max-age=31536000; includeSubDomains
2024-06-03 15:33:41 51 [network.HttpClient] access-control-allow-origin: *
2024-06-03 15:33:41 51 [network.HttpClient] access-control-allow-credentials: true
2024-06-03 15:33:41 51 [network.HttpClient] access-control-allow-methods: GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE, PROPFIND, MKCOL, REPORT
2024-06-03 15:33:41 51 [network.HttpClient] access-control-allow-headers: DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,X-Forwarded-For
2024-06-03 15:33:41 51 [network.HttpClient] access-control-max-age: 1728000
2024-06-03 15:33:41 51 [network.HttpClient]
2024-06-03 15:33:41 51 [network.HttpClient] <html>
<head><title>405 Not Allowed</title></head>
<body>
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx/1.27.0</center>
</body>
</html>
2024-06-03 15:33:41 51 [network.HttpClient] <-- END HTTP (157-byte body)
2024-06-03 15:33:41 51 [servicedetection.DavResourceFinder] No resource found
EXCEPTION at.bitfire.dav4jvm.exception.HttpException: HTTP 405
at at.bitfire.dav4jvm.DavResource.checkStatus(DavResource.kt:3)
at at.bitfire.dav4jvm.DavResource.checkStatus(DavResource.kt:1)
at at.bitfire.dav4jvm.DavResource.processMultiStatus(DavResource.kt:2)
at at.bitfire.dav4jvm.DavResource.propfind(DavResource.kt:76)
at at.bitfire.davdroid.servicedetection.DavResourceFinder.getCurrentUserPrincipal(DavResourceFinder.kt:37)
at at.bitfire.davdroid.servicedetection.DavResourceFinder.discoverPrincipalUrl(DavResourceFinder.kt:301)
at at.bitfire.davdroid.servicedetection.DavResourceFinder.findInitialConfiguration(DavResourceFinder.kt:29)
at at.bitfire.davdroid.servicedetection.DavResourceFinder.findInitialConfiguration(DavResourceFinder.kt:4)
at at.bitfire.davdroid.ui.setup.LoginModel$detectResources$job$1$configuration$1.invoke(LoginModel.kt:3)
at at.bitfire.davdroid.ui.setup.LoginModel$detectResources$job$1$configuration$1.invoke(LoginModel.kt:1)
at kotlinx.coroutines.InterruptibleKt$runInterruptible$2.invokeSuspend(Interruptible.kt:59)
at kotlinx.coroutines.InterruptibleKt$runInterruptible$2.invoke(Interruptible.kt:13)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:16)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:41)
at kotlinx.coroutines.InterruptibleKt.runInterruptible$default(Interruptible.kt:9)
at at.bitfire.davdroid.ui.setup.LoginModel$detectResources$job$1.invokeSuspend(LoginModel.kt:38)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:9)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:111)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:4)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:3)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:98) Log from nextcloud container in nextcloud pod: 127.0.0.1 - jessebot 03/Jun/2024:13:33:07 +0000 "PROPFIND /remote.php" 207
127.0.0.1 - 03/Jun/2024:13:33:30 +0000 "POST /index.php" 200
127.0.0.1 - 03/Jun/2024:13:33:30 +0000 "GET /index.php" 200
127.0.0.1 - 03/Jun/2024:13:33:30 +0000 "GET /index.php" 200
127.0.0.1 - 03/Jun/2024:13:33:30 +0000 "GET /index.php" 200
127.0.0.1 - 03/Jun/2024:13:33:31 +0000 "GET /index.php" 200
127.0.0.1 - 03/Jun/2024:13:33:31 +0000 "GET /index.php" 200
127.0.0.1 - 03/Jun/2024:13:33:37 +0000 "POST /index.php" 200
127.0.0.1 - jessebot 03/Jun/2024:13:33:37 +0000 "GET /ocs/v2.php" 200
127.0.0.1 - jessebot 03/Jun/2024:13:33:37 +0000 "GET /ocs/v2.php" 304
127.0.0.1 - jessebot 03/Jun/2024:13:33:37 +0000 "PROPFIND /remote.php" 207
127.0.0.1 - jessebot 03/Jun/2024:13:33:37 +0000 "PROPFIND /remote.php" 207
127.0.0.1 - jessebot 03/Jun/2024:13:33:38 +0000 "PROPFIND /remote.php" 207
127.0.0.1 - jessebot 03/Jun/2024:13:33:38 +0000 "PROPFIND /remote.php" 207
127.0.0.1 - jessebot 03/Jun/2024:13:33:38 +0000 "PROPFIND /remote.php" 207
127.0.0.1 - jessebot 03/Jun/2024:13:33:38 +0000 "PROPFIND /remote.php" 207
127.0.0.1 - jessebot 03/Jun/2024:13:33:39 +0000 "PROPFIND /remote.php" 207
127.0.0.1 - jessebot 03/Jun/2024:13:34:07 +0000 "PROPFIND /remote.php" 207 Log from nginx container in nextcloud pod: 10.42.0.61 - - [03/Jun/2024:13:33:30 +0000] "POST /login/v2/apptoken HTTP/1.1" 200 6013 "-" "Mozilla/5.0 (Android 14; Mobile; rv:126.0) Gecko/126.0 Firefox/126.0" "10.42.0.1"
10.42.0.61 - - [03/Jun/2024:13:33:37 +0000] "POST /login/v2/poll HTTP/1.1" 200 128 "-" "DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14" "10.42.0.1"
10.42.0.61 - jessebot [03/Jun/2024:13:33:38 +0000] "PROPFIND /remote.php/dav HTTP/1.1" 207 342 "-" "DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14" "10.42.0.1"
10.42.0.61 - jessebot [03/Jun/2024:13:33:38 +0000] "PROPFIND /remote.php/dav HTTP/1.1" 207 242 "-" "DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14" "10.42.0.1"
10.42.0.61 - jessebot [03/Jun/2024:13:33:38 +0000] "PROPFIND /remote.php/dav HTTP/1.1" 207 242 "-" "DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14" "10.42.0.1"
10.42.0.61 - jessebot [03/Jun/2024:13:33:38 +0000] "PROPFIND / HTTP/1.1" 405 157 "-" "DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14" "10.42.0.1"
10.42.0.61 - jessebot [03/Jun/2024:13:33:38 +0000] "PROPFIND /remote.php/dav HTTP/1.1" 207 470 "-" "DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14" "10.42.0.1"
10.42.0.61 - jessebot [03/Jun/2024:13:33:39 +0000] "PROPFIND /remote.php/dav HTTP/1.1" 207 242 "-" "DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14" "10.42.0.1"
10.42.0.61 - jessebot [03/Jun/2024:13:33:39 +0000] "PROPFIND /remote.php/dav HTTP/1.1" 207 242 "-" "DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14" "10.42.0.1"
10.42.0.61 - jessebot [03/Jun/2024:13:33:39 +0000] "PROPFIND / HTTP/1.1" 405 157 "-" "DAVx5/4.3.16.1-ose (2024/04/20; dav4jvm; okhttp/4.12.0) Android/14" "10.42.0.1" |
Ive been overloaded with personal life things lately, however I will take a re-review of all settings and update from 28>29 sometime this week and get back to this thread. FWIW i have this working on 3 android devices, and thunderbird on windows and Linux across three PCs. So Im confident this is working for all devices and not a cached thing. I've also recently reconfigured some devices. I did a lot with my nextcloud to add extra apps and features so ill try and square off some resources for a test install. |
I hope everything is ok and you get some time back!
I have now spent months on this. (this issue is almost a year old) I've never seen it work with cors on. I've tested every fix in this thread with detailed write ups of everything I've tried and links to all the exact yaml I've used, but it's not lookin' great for cors right now. :( I hope your confidence prevails. I'd love to be proven wrong, like honestly, no sarcasm, I actually want to see this working. 🙏 |
What I don't understand: Where does it come from that anyone actually wants to enable CORS in the ingress? Assuming for a second that it doesn't cause issues: Which feature doesn't currently work in nextcloud when CORS is not being handled by a reverse proxy? I know that nextcloud's PHP infrastructure offers ready-made functionality to generate appropriate CORS headers for those endpoints that actually need it. So if some app requires CORS for its functionality (I'd prefer they wouldn't), but doesn't actually send the headers itself, then that should be a bug report in that particular app. The reverse proxy does not have the knowledge which endpoints actually need CORS handling, only the application as the knowledge, so why not let the application handle this? As I mentioned earlier, the options where initially put to fix "source IP preservation", but CORS doesn't help with that (my setup disables CORS and has no issues with source IPs). Someone could assume malintent in this commit as it is a change that weakens defenses done as part of something harmless. This alone should be reason enough to disable CORS here, especially nobody knows what it is needed for, and remove the documentation that recommends it. |
There's a lot of issues about cors here (I think it's just supposed to be a thing you do if you're an app developer as per docs). Again, I can't find the original screenshot that suggested enabling cors in an ancient version of nextcloud, but it used to suggest it in the admin panel. You'll have to trust me, or install every version of nextcloud to prove me wrong haha (Don't do that. I'd rather you just think I'm wrong than know you installed 29 versions of Nextcloud. You still have so much more to live for.)
I actually just wanted to have cors on and have source IPs, but I have neither. The source IP for me doesn't work without CORS either btw. You're right though, CORS doesn't actually affect source IPs though. I was just hopeful it did, because I'm young and still bright eyed. The source IP thing should be its own discussion or issue though, because here is not the place. This is the place of caldav, for all of eternity. For me personally, I like the idea of having CORS on and then specifically allowing just the apps I want to use, and the other servers I want to federate with. Nextcloud has been a hobby project for me for a few years now, but it's never felt truly secure, because I couldn't close off all the gaps. I was hoping CORS would be one more thing I could enable to feel a little safer, but it's not lookin' good. Eventually I want to federate with some friends, and I want to limit that federation in part via CORS. |
@pschichtel CORS enforcement not being enabled means that someone can setup a webpage that claims to be your nextcloud, and proxy the auth request to your nextcloud instance. By doing this they can intercept or capture the auth credentials for any user on your instance and then gain access to your instance. If your instance is only used by IT experts that can detect every possible phishing link in existence and you never have to worry about your users getting hacked by phishing sites attempting to gain access to your instance, Great! No need to turn on CORS enforcement. If any of the above is untrue, then not enabling CORS means needing to worry about a lot of other problems with safeguarding your instance and its data. To be clear, you are not "enabling CORS" with this setup. CORS is always supported, but without headers turned on it is implicitly allowed and not explicitly allowed. |
what do you mean? if you have no cors headers set the browsers will simply not allow anything and not let everything through like your message suggests |
Browsers are not involved in the connection between the server and a faked server in the attack i described. The browser will think its not doing CORS because its talking to https://spoofeddomain.com for all of its requests, and the server behind https://spoofeddomain.com is making calls to https://youractualdomain.com without your browser being aware of them, and without CORS enforcement configured on the NGINX side, your Nextcloud setup will see this as fine and allow it. |
@Routhinator What are you talking about? this has nothing to do with CORS... at all. Please read up on CORS, because you are fundamentally misunderstanding it or confusing it with something else. CORS enforcements happens in the browser (or more generally in client applications performing requests on behave of a 3rd party). CORS means nothing to clients that won't enforce it. So me running CORS might prevent that specific access and that is part of why it exists, but most phishing attacks you seem to be concerned with will use a backend that performs the proxying, just for keeping the logic secret. There is little you can do against such phishing attacks aside from user education and to some degree delegated authentication. Even if your nextcloud instance somehow magically detected the request from spoofeddomain.com and blocked it, the damage is already done: The users credentials have been leaked to the attacker.
Yes, but neither is CORS
No the browser will not "think its not doing CORS", it will actually really not do CORS at all, because the CO (Cross-Origin) part or CORS doesn't apply. to get back on topic:
honestly I don't see actual CORS issues there except for @provokateurin's refactoring proposal
yes, application developers have to decide whether Cross-Origin requests are something their sites/endpoints need to support. It's a developer concern, not an operations concern for the most part. There is certain applications that just willy-nilly accept any cross origin requests that really shouldn't and in those cases it would be fine for operations ("someone that manages ingress resources") to restrict the OPTIONS requests.
I've no doubt that there was a point, at which certain apps in nextcloud needed CORS but no built-in mechanisms existed in nextcloud to properly handle CORS requests. That's exactly why this nginx feature exists: Legacy applications that need to be exposed cross-origin, but can't themselves handle CORS requests. I think nextcloud is no such application anymore. Even for such legacy applications, having this generic solution in nginx just seems wrong.
Yes CORS and source IPs are completely unrelated. I needed only a few tweaks to the helm defaults to get proper source IPs through to my nextcloud. If you'd start that source IP discussion somewhere I'd be happy to share my configuration there! Just tag me.
I haven't really looked into federation of nextcloud instances, but I assume CORS wouldn't be involved there either, as the peer interactions are probably server-side. tl;dr: Drop the CORS options from the documentation, they don't make sense for what they where added and they don't make sense for modern nextcloud in general. |
This can be frustrating topic, but like it takes a village to build an open source product, even the helm chart. Be kind to your village. Also, as someone who frequently has to get audited for security cert purposes, CORS comes up a lot. I think a good compromise would be to submit a PR to remove the bit about CORS helping with preserving the source IP from the docs, and then if @Routhinator can find a way to make CORS settings work with caldav/carddav (and I can test and validate it), we can add a separate docs section about CORS, unrelated to the source IP. The source IP is still an interesting topic, and I'd still like to include some info on how to do it, but as mentioned several times, it's got nothing to do with CORS. Allowing people to have CORS enabled and find a workable solution for it being on, is still a fine thing to do. |
Describe your Issue
I can't seem to get my calendar and contacts synced on Android (but I also tried on my m1 macbook running macOS 13.4.1). This has never worked for me, but only now am I looking into it. The logs seem to suggest it starts to work with:
But then I see this:
Principal https://cloud.example.com/remote.php/dav/principals/users/jessebot/ doesn't provide caldav service
folllowed by it seemingly trying the base domain again and returning this:
(full verbosity logs in the next section)
I know there's kind of a lot of caldav/carddav forum posts already, but none of them cover using an nginx container and the ingress-nginx controller on k8s. The closest we have is a few issues referencing docker, but my current configs are fairly, if not fully, aligned with what seem to be all the docs across the nextcloud/server, nextcloud/docker, and nextcloud/helm repos. The other issue is that many of the forum posts are ancient referencing nextcloud versions 13-17ish.
Logs and Errors
So this log is actually from the DAVx5 app after following the guide in the server docs here (note: I've tried both with my personal username and password and also an app password I generated from my security settings and both fail with
...doesn't provide caldav service
):DAVx5 verbose logging
Describe your Environment
Kubernetes distribution: k3s
Helm Version (or App that manages helm): ArgoCD version 2.6.7
Helm Chart Version: 3.5.15 which uses the nextcloud 27.0.0 image
values.yaml:
image
ingress
nginx
Additional context, if any
screenshot of admin overview page
screenshot of Mobile & Desktop setting
but it also throw errors when the profile is imported:
macOS error example
The text was updated successfully, but these errors were encountered: