Import upstream v0.16.22, stripped
Upstream commit: 474dd0229cb20cf513036619781ed97bd8073c3f Enterprise-only files removed or emptied: 63 Enterprise-only snippets removed: 117 in 50 files Dangling module declarations removed: 5 Cargo edits turning enterprise off: 14 Verification: clean Enterprise feature gates left for rebuilt features: 19 in 18 files Produced by tools/fork/strip.py. The full report is in docs/fork/strip-reports/ on main.
This commit is contained in:
@@ -0,0 +1,752 @@
|
||||
# RFC5546 - Group Event Request
|
||||
|
||||
# A sample meeting request is sent from "A" to "B", "C", and "D".
|
||||
> put [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Example/ExampleCalendarClient//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
ORGANIZER:mailto:[email protected]
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED;CN=A:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=B:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=C:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal:mailto:[email protected]
|
||||
ATTENDEE;RSVP=FALSE;CUTYPE=ROOM:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE:mailto:[email protected]
|
||||
DTSTAMP:19970611T190000Z
|
||||
DTSTART:19970701T200000Z
|
||||
DTEND:19970701T2100000Z
|
||||
SUMMARY:Conference
|
||||
UID:[email protected]
|
||||
SEQUENCE:0
|
||||
STATUS:CONFIRMED
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
> expect
|
||||
from: [email protected]
|
||||
to: [email protected], [email protected], [email protected]
|
||||
summary: invite
|
||||
summary.attendee: Participants([ItipParticipant { email: "[email protected]", name: None, is_organizer: true }, ItipParticipant { email: "[email protected]", name: Some("B"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("C"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("Hal"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 867787200, tz_id: 32768 })
|
||||
summary.summary: Text("Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Conference
|
||||
DTEND:19970701T2100000Z
|
||||
DTSTART:19970701T200000Z
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED;CN=A:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE:mailto:[email protected]
|
||||
ATTENDEE;RSVP=FALSE;CUTYPE=ROOM:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=B;PARTSTAT=NEEDS-ACTION:mailto:b@ex
|
||||
ample.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=C;PARTSTAT=NEEDS-ACTION:mailto:c@ex
|
||||
ample.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal;PARTSTAT=NEEDS-ACTION:mailto:d@
|
||||
example.com
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:0
|
||||
SEQUENCE:0
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
# Send iTIP request to B, C, and D
|
||||
> send
|
||||
|
||||
# Make sure B receives the request
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Conference
|
||||
DTEND:19970701T2100000Z
|
||||
DTSTART:19970701T200000Z
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED;CN=A:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE:mailto:[email protected]
|
||||
ATTENDEE;RSVP=FALSE;CUTYPE=ROOM:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=B;PARTSTAT=NEEDS-ACTION:mailto:b@ex
|
||||
ample.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=C;PARTSTAT=NEEDS-ACTION:mailto:c@ex
|
||||
ample.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal;PARTSTAT=NEEDS-ACTION:mailto:d@
|
||||
example.com
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:0
|
||||
SEQUENCE:0
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
# B accepts the request
|
||||
> put [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP:19970701T200000Z
|
||||
SEQUENCE:1
|
||||
UID:[email protected]
|
||||
ORGANIZER:mailto:[email protected]
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED;CN=A:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=B;PARTSTAT=ACCEPTED:mailto:b@exa
|
||||
mple.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=C;PARTSTAT=NEEDS-ACTION:mailto:c@ex
|
||||
ample.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal;PARTSTAT=NEEDS-ACTION:mailto:d@
|
||||
example.com
|
||||
ATTENDEE;RSVP=FALSE;CUTYPE=ROOM:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE:mailto:[email protected]
|
||||
DTSTART:19970701T200000Z
|
||||
DTEND:19970701T2100000Z
|
||||
SUMMARY:Conference
|
||||
STATUS:CONFIRMED
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
> expect
|
||||
from: [email protected]
|
||||
to: [email protected]
|
||||
summary: rsvp ACCEPTED
|
||||
summary.attendee: Participants([ItipParticipant { email: "[email protected]", name: None, is_organizer: true }, ItipParticipant { email: "[email protected]", name: Some("B"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("C"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("Hal"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 867787200, tz_id: 32768 })
|
||||
summary.summary: Text("Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Conference
|
||||
DTEND:19970701T2100000Z
|
||||
DTSTART:19970701T200000Z
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=B;PARTSTAT=ACCEPTED:mailto:b@exampl
|
||||
e.com
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:0
|
||||
SEQUENCE:1
|
||||
REQUEST-STATUS:2.0;Success
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
# Send iTIP reply to A
|
||||
> send
|
||||
|
||||
# Make sure A receives the reply
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Example/ExampleCalendarClient//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Conference
|
||||
DTEND:19970701T2100000Z
|
||||
DTSTART:19970701T200000Z
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED;CN=A:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE:mailto:[email protected]
|
||||
ATTENDEE;RSVP=FALSE;CUTYPE=ROOM:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=B;PARTSTAT=ACCEPTED;SCHEDULE-STATUS
|
||||
=2.0:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=C:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal:mailto:[email protected]
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:1
|
||||
SEQUENCE:0
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
# A moved the event to a new time
|
||||
> put [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Example/ExampleCalendarClient//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
ORGANIZER:mailto:[email protected]
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:[email protected]
|
||||
m
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE:mailto:[email protected]
|
||||
DTSTART:19970701T180000Z
|
||||
DTEND:19970701T190000Z
|
||||
SUMMARY:Phone Conference
|
||||
UID:[email protected]
|
||||
SEQUENCE:1
|
||||
DTSTAMP:19970613T190000Z
|
||||
STATUS:CONFIRMED
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
> expect
|
||||
from: [email protected]
|
||||
to: [email protected], [email protected], [email protected]
|
||||
summary: update REQUEST
|
||||
summary.attendee: Participants([ItipParticipant { email: "[email protected]", name: None, is_organizer: true }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("Hal"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 })
|
||||
summary.summary: Text("Phone Conference")
|
||||
~summary.attendee: Participants([ItipParticipant { email: "[email protected]", name: None, is_organizer: true }, ItipParticipant { email: "[email protected]", name: Some("B"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("C"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("Hal"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }])
|
||||
~summary.dtstart: Time(ItipTime { start: 867787200, tz_id: 32768 })
|
||||
~summary.summary: Text("Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:[email protected]
|
||||
m
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal;PARTSTAT=NEEDS-ACTION:mailto:d@
|
||||
example.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION:mailto:b@example
|
||||
.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION:mailto:c@example
|
||||
.com
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:0
|
||||
SEQUENCE:2
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
# Send iTIP request to B, C, and D
|
||||
> send
|
||||
|
||||
# Make sure C receives the request
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:[email protected]
|
||||
m
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal;PARTSTAT=NEEDS-ACTION:mailto:d@
|
||||
example.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION:mailto:b@example
|
||||
.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION:mailto:c@example
|
||||
.com
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:0
|
||||
SEQUENCE:2
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
# "C" delegates presence at the meeting to "E".
|
||||
> put [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP:19970701T180000Z
|
||||
UID:[email protected]
|
||||
ORGANIZER:mailto:[email protected]
|
||||
STATUS:CONFIRMED
|
||||
SEQUENCE:2
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION:mailto:b@example
|
||||
.com
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:[email protected]":mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:[email protected]":mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal;PARTSTAT=NEEDS-ACTION:mailto:d@
|
||||
example.com
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:[email protected]
|
||||
m
|
||||
DTSTART:19970701T180000Z
|
||||
DTEND:19970701T190000Z
|
||||
SUMMARY:Phone Conference
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
> expect
|
||||
from: [email protected]
|
||||
to: [email protected]
|
||||
summary: rsvp DELEGATED
|
||||
summary.attendee: Participants([ItipParticipant { email: "[email protected]", name: None, is_organizer: true }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("Hal"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 })
|
||||
summary.summary: Text("Phone Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:[email protected]":mailto:c@ex
|
||||
ample.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:[email protected]":mailto:[email protected]
|
||||
om
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:0
|
||||
SEQUENCE:2
|
||||
REQUEST-STATUS:2.0;Success
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
================================
|
||||
from: [email protected]
|
||||
to: [email protected]
|
||||
summary: invite
|
||||
summary.attendee: Participants([ItipParticipant { email: "[email protected]", name: None, is_organizer: true }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("Hal"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 })
|
||||
summary.summary: Text("Phone Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:[email protected]":mailto:c@ex
|
||||
ample.com
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:[email protected]
|
||||
m
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal;PARTSTAT=NEEDS-ACTION:mailto:d@
|
||||
example.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION:mailto:b@example
|
||||
.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:[email protected]";PARTSTAT=NEEDS-ACT
|
||||
ION:mailto:[email protected]
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:0
|
||||
SEQUENCE:2
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
> send
|
||||
|
||||
# Make sure E receives the request
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:[email protected]":mailto:c@ex
|
||||
ample.com
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:[email protected]
|
||||
m
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal;PARTSTAT=NEEDS-ACTION:mailto:d@
|
||||
example.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION:mailto:b@example
|
||||
.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:[email protected]";PARTSTAT=NEEDS-ACT
|
||||
ION:mailto:[email protected]
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:0
|
||||
SEQUENCE:2
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
# Make sure A receives the request
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Example/ExampleCalendarClient//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@exampl
|
||||
e.com";SCHEDULE-STATUS=2.0:mailto:[email protected]
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:[email protected]
|
||||
m
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:[email protected]":mailto:[email protected]
|
||||
om
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:2
|
||||
SEQUENCE:2
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
# Delegate E accepts the request
|
||||
> put [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP:19970701T180000Z
|
||||
SEQUENCE:2
|
||||
UID:[email protected]
|
||||
ORGANIZER:mailto:[email protected]
|
||||
STATUS:CONFIRMED
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION:mailto:b@example
|
||||
.com
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:[email protected]":mailto:c@ex
|
||||
ample.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:[email protected]";PARTSTAT=ACCEPTED:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal;PARTSTAT=NEEDS-ACTION:mailto:d@
|
||||
example.com
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:[email protected]
|
||||
m
|
||||
DTSTART:19970701T180000Z
|
||||
DTEND:19970701T190000Z
|
||||
SUMMARY:Phone Conference
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
> expect
|
||||
from: [email protected]
|
||||
to: [email protected], [email protected]
|
||||
summary: rsvp ACCEPTED
|
||||
summary.attendee: Participants([ItipParticipant { email: "[email protected]", name: None, is_organizer: true }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("Hal"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 })
|
||||
summary.summary: Text("Phone Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:[email protected]":mailto:c@ex
|
||||
ample.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:[email protected]";PARTSTAT=ACCEPTED:
|
||||
mailto:[email protected]
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:0
|
||||
SEQUENCE:2
|
||||
REQUEST-STATUS:2.0;Success
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
> send
|
||||
|
||||
# Make sure A receives the reply
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Example/ExampleCalendarClient//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@exampl
|
||||
e.com";SCHEDULE-STATUS=2.0:mailto:[email protected]
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:[email protected]
|
||||
m
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:[email protected]";PARTSTAT=ACCEPTED;
|
||||
SCHEDULE-STATUS=2.0:mailto:[email protected]
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:2
|
||||
SEQUENCE:2
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
# Make sure C receives the reply
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:[email protected]":mailto:c@ex
|
||||
ample.com
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:[email protected]
|
||||
m
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal;PARTSTAT=NEEDS-ACTION:mailto:d@
|
||||
example.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION:mailto:b@example
|
||||
.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:[email protected]";PARTSTAT=ACCEPTED;
|
||||
SCHEDULE-STATUS=2.0:mailto:[email protected]
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:3
|
||||
SEQUENCE:2
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
# Delegate E declines the request
|
||||
> put [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP:19970701T180000Z
|
||||
SEQUENCE:2
|
||||
UID:[email protected]
|
||||
ORGANIZER:mailto:[email protected]
|
||||
STATUS:CONFIRMED
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION:mailto:b@example
|
||||
.com
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:[email protected]":mailto:c@ex
|
||||
ample.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:[email protected]";PARTSTAT=DECLINED:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal;PARTSTAT=NEEDS-ACTION:mailto:d@
|
||||
example.com
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:[email protected]
|
||||
m
|
||||
DTSTART:19970701T180000Z
|
||||
DTEND:19970701T190000Z
|
||||
SUMMARY:Phone Conference
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
> expect
|
||||
from: [email protected]
|
||||
to: [email protected], [email protected]
|
||||
summary: rsvp DECLINED
|
||||
summary.attendee: Participants([ItipParticipant { email: "[email protected]", name: None, is_organizer: true }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("Hal"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 })
|
||||
summary.summary: Text("Phone Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:[email protected]":mailto:c@ex
|
||||
ample.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:[email protected]";PARTSTAT=DECLINED:
|
||||
mailto:[email protected]
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:0
|
||||
SEQUENCE:2
|
||||
REQUEST-STATUS:2.0;Success
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
# Send iTIP reply to A and C
|
||||
> send
|
||||
|
||||
# Make sure C receives the reply
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:[email protected]":mailto:c@ex
|
||||
ample.com
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:[email protected]
|
||||
m
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal;PARTSTAT=NEEDS-ACTION:mailto:d@
|
||||
example.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION:mailto:b@example
|
||||
.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:[email protected]";PARTSTAT=DECLINED;
|
||||
SCHEDULE-STATUS=2.0:mailto:[email protected]
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:3
|
||||
SEQUENCE:2
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
# Make sure A receives the reply
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Example/ExampleCalendarClient//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@exampl
|
||||
e.com";SCHEDULE-STATUS=2.0:mailto:[email protected]
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:[email protected]
|
||||
m
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:[email protected]";PARTSTAT=DECLINED;
|
||||
SCHEDULE-STATUS=2.0:mailto:[email protected]
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:2
|
||||
SEQUENCE:2
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
# Remove B and expect an iTIP cancelation
|
||||
> put [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Example/ExampleCalendarClient//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
ORGANIZER:mailto:[email protected]
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:[email protected]
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@exam
|
||||
ple.com";SCHEDULE-STATUS=2.0:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:[email protected]
|
||||
m
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:[email protected]";PARTSTAT=DECLINED;
|
||||
SCHEDULE-STATUS=2.0:mailto:[email protected]
|
||||
DTSTART:19970701T180000Z
|
||||
DTEND:19970701T190000Z
|
||||
SUMMARY:Phone Conference
|
||||
UID:[email protected]
|
||||
SEQUENCE:2
|
||||
DTSTAMP:19970701T180000Z
|
||||
STATUS:CONFIRMED
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
> expect
|
||||
from: [email protected]
|
||||
to: [email protected], [email protected]
|
||||
summary: update REQUEST
|
||||
summary.attendee: Participants([ItipParticipant { email: "[email protected]", name: None, is_organizer: true }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("Hal"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 })
|
||||
summary.summary: Text("Phone Conference")
|
||||
~summary.attendee: Participants([ItipParticipant { email: "[email protected]", name: None, is_organizer: true }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("Hal"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }])
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@exampl
|
||||
e.com":mailto:[email protected]
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:[email protected]
|
||||
m
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal;PARTSTAT=NEEDS-ACTION:mailto:d@
|
||||
example.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:[email protected]";PARTSTAT=DECLINED:
|
||||
mailto:[email protected]
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:0
|
||||
SEQUENCE:3
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
================================
|
||||
from: [email protected]
|
||||
to: [email protected]
|
||||
summary: cancel
|
||||
summary.attendee: Participants([ItipParticipant { email: "[email protected]", name: None, is_organizer: true }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("Hal"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 })
|
||||
summary.summary: Text("Phone Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:CANCEL
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CANCELLED
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL:mailto:[email protected]
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:0
|
||||
SEQUENCE:3
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
# Send iTIP cancelation
|
||||
> send
|
||||
|
||||
# Make sure B receives the cancelation
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CANCELLED
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL:mailto:[email protected]
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:0
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
# Delete the event from A's calendar and expect an iTIP cancelation
|
||||
> delete [email protected] [email protected]
|
||||
|
||||
> expect
|
||||
from: [email protected]
|
||||
to: [email protected], [email protected]
|
||||
summary: cancel
|
||||
summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 })
|
||||
summary.summary: Text("Phone Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:CANCEL
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CANCELLED
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@exampl
|
||||
e.com";SCHEDULE-STATUS=2.0:mailto:[email protected]
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:[email protected]
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:[email protected]
|
||||
m
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal:mailto:[email protected]
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:[email protected]";PARTSTAT=DECLINED;
|
||||
SCHEDULE-STATUS=2.0:mailto:[email protected]
|
||||
ORGANIZER:mailto:[email protected]
|
||||
UID:[email protected]
|
||||
DTSTAMP:0
|
||||
SEQUENCE:4
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
||||
|
||||
Reference in New Issue
Block a user