Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

fix: CO-823 FreeBusy missing uid parameter in CalDav request #343

Merged
merged 4 commits into from
Oct 9, 2023

Conversation

frisonisland
Copy link
Contributor

@frisonisland frisonisland commented Sep 27, 2023

There is an open bug about the Free/Busy response missing the UID parameter.
From RFC https://www.rfc-editor.org/rfc/rfc5545 the FreeBusy component, VFREEBUSSY, is required to have the uid.

Providing a null uid will result in the UID to not be added as I don't know where to get the value in all other cases.
But for this use case (CalDAV request) and due to the current bug I have decided to answer back the same UID that was provided in the request.
Reason is while debugging with a client (Thunderbird), I saw the UID in the request was different every time, plus, quoting from the RFC:

  When used to request free/busy time information, the "ATTENDEE"
  property specifies the calendar users whose free/busy time is
  being requested; the "ORGANIZER" property specifies the calendar
  user who is requesting the free/busy time; the "DTSTART" and
  "DTEND" properties specify the window of time for which the free/
  busy time is being requested; the "UID" and "DTSTAMP" properties
  are specified to assist in proper sequencing of multiple free/busy
  time requests.

and

  When used to reply to a request for free/busy time, the "ATTENDEE"
  property specifies the calendar user responding to the free/busy
  time request; the "ORGANIZER" property specifies the calendar user
  that originally requested the free/busy time; the "FREEBUSY"
  property specifies the free/busy time information (if it exists);
  and the "UID" and "DTSTAMP" properties are specified to assist in
  proper sequencing of multiple free/busy time replies.

About the tests: I have added a test about the response (behavioral)
and a couple of UT for the FreeBusy class. I didn't opt for a refactor or adding more tests, but this class is lacking a lot of them

- adds original uid when present
- adds test for FreeBusy, specifically for uid
- explain why missing uid is still valid
@frisonisland frisonisland requested a review from a team as a code owner September 27, 2023 13:49
@frisonisland frisonisland requested review from keshavbhatt, flanciotti, a user and aheeva-yuliya and removed request for a team September 27, 2023 13:49
merge changes from devel
@frisonisland frisonisland merged commit bc11447 into devel Oct 9, 2023
@frisonisland frisonisland deleted the fix/CO-823 branch October 9, 2023 07:00
matteobaglini added a commit that referenced this pull request Oct 18, 2023
* devel: (71 commits)
  fix: [CO-861] mailbox wsdl generator uses soap 12 soap protocol wrong content type (#356)
  chore: deprecate zimbraFeatureMailEnabled attribute (#352)
  feat: follow RFC-6266 to parse extended filename from uploads (#335)
  chore: 23.11.0 devel + minor build changes (#339)
  fix:  CO-823 FreeBusy missing uid parameter in CalDav request (#343)
  test: [CO-822] add test for notification when schedule-agent=client (#350)
  feat: add ubuntu 22.04 (jammy jellyfish) support (#347)
  fix: log category does not exist (#346)
  chore: modify slogger configuration (#341)
  chore: bump 4.9.1 (#345)
  revert: "feat: zimlet code cleanup (#310)" (#344)
  feat: deprecate CSRF-related LDAP-attributes ref: CO-818
  chore: remove -SNAPSHOT (#337)
  chore: 23.10.0 + 4.9.0
  chore: bump 4.8.3 (#333)
  fix: delete CalDav appointment (#332)
  chore: IN-620: use syft and dependency-track platform for SBOM (#325)
  feat: add 127.0.0.1 to MailTrustedIP to prevent loss of OIP (#328)
  chore: wrong bump (#331)
  chore: bump rc 4.8.2 (#330)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants