Skip to content

[Bug]: Caldav limit tag on initial sync causes incorrect Caldav error response. #48678

@JeroenBer

Description

@JeroenBer

⚠️ This issue respects the following points: ⚠️

Bug description

OneCalendar users are experiencing errors when syncing caldav calendars with Nextcloud. This used to be working.

As OneCalendar developer I tried to reproduce the problem and for the latest versions of 28,29 and 30 the Caldav response is no longer working correctly when
doing a initial sync.

Hereby an overview of which versions are working correct/incorrect:

  • 28.0.9 Correct
  • 28.0.10 Incorrect
  • 28.0.11 Incorrect
  • 29.0.6 Correct
  • 29.0.7 Incorrect
  • 29.0.8 Incorrect
  • 30.0.0 Incorrect

Steps to reproduce

Sync caldav calendar data:

Request data

<sync-collection xmlns="DAV:">
  <sync-token />
  <sync-level>1</sync-level>
  <limit>
    <nresults>100</nresults>
  </limit>
  <prop>
    <getetag />
  </prop>
</sync-collection>

Actual response data (507):

<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
	<s:exception>Interne serverfout</s:exception>
	<s:message>
		De server was niet in staat je aanvraag te verwerken.		Stuur de hieronder afgebeelde technische details naar de serverbeheerder wanneer dit opnieuw gebeurt.		Meer details in de serverlogging,			</s:message>

	<s:technical-details>
		<s:remote-address>172.17.0.1</s:remote-address>
		<s:request-id>du8YMujFjQr6HIRmBFm1</s:request-id>

		</s:technical-details>
</d:error>

Expected behavior

According to https://tools.ietf.org/html/rfc6578#section-3.11 the caldav server does not need to support limit tag but in that case the following 507 response data is expected:

<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
  <s:exception>OCA\DAV\Exception\UnsupportedLimitOnInitialSyncException</s:exception>
  <s:message/>
  <d:number-of-matches-within-limits/>
</d:error>

Nextcloud Server version

28

Operating system

None

PHP engine version

None

Web server

None

Database engine version

None

Is this bug present after an update or on a fresh install?

None

Are you using the Nextcloud Server Encryption module?

None

What user-backends are you using?

  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other

Configuration report

No response

List of activated Apps

No response

Nextcloud Signing status

No response

Nextcloud Logs

No response

Additional info

Perhaps there has been a minor update/fix of SabreDav that caused this problem in the newer 28/29/30 versions ?

Metadata

Metadata

Assignees

Type

No type

Projects

Status

☑️ Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions