View Issue Details

IDProjectCategoryView StatusLast Update
0001303SOGoBackend Calendarpublic2011-05-18 00:45
Reporteradi Assigned Toludovic  
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionno change required 
Product Version1.3.7 
Fixed in Version1.3.8 
Summary0001303: resources auto-accept invitations even with conflicts
Description

Resources should auto-accept invitations following the "first come - first serve" principle until "MultipleBookings" value is reached.
The web interface accomplishes this by not letting the user save an event in case of a conflict.

Lightning (and probably other CalDAV clients) issue a warning about a conflict, but in case the user chooses to ignore this conflict, the resource happily accepts the invitation.
Expected behaviour would be that the resource then rejects the invitation.

TagsNo tags attached.

Activities

ludovic

ludovic

2011-05-13 14:12

administrator   ~0002472

Show a sample output of your sogod.log file when that happens because we return a 403 and the modification MUST not happen.

adi

adi

2011-05-13 15:14

reporter   ~0002473

(I removed the Postgres log lines)
first invitation created in the webinterface by me:
127.0.0.1 - - [09/May/2011:14:23:13 GMT] "GET /SOGo/so/adi/Calendar/personal//422F-4DC7DC80-55-70B81F00.ics/editAsAppointment?day=20110509&hm=1500 HTTP/1.1" 200 9509/0 0.611 34144 72% 0
2011-05-09 14:23:17.663 sogod[16943] WARNING(-[NSNull(misc) count]): called NSNull -count (returns 0) !!!
127.0.0.1 - - [09/May/2011:14:23:17 GMT] "GET /SOGo/so/adi/Calendar//editAttendees HTTP/1.1" 200 7783/0 0.024 26287 70% 0
127.0.0.1 - - [09/May/2011:14:23:17 GMT] "POST /SOGo/so/adi/freebusy.ifb/ajaxRead?sday=20110502&eday=20110516 HTTP/1.1" 200 103/0 0.027 2879 96% 0
May 09 14:23:21 sogod [16943]: <<0x09B8E298[SOGoContactGCSFolder]:personal>>D fetched 0 records.
127.0.0.1 - - [09/May/2011:14:23:21 GMT] "POST /SOGo/so/adi/Contacts/allContactSearch?excludeGroups=1&search=meetingroom HTTP/1.1" 200 360/0 0.124 - - 0
127.0.0.1 - - [09/May/2011:14:23:23 GMT] "POST /SOGo/so/meetingroom/freebusy.ifb/ajaxRead?sday=20110502&eday=20110516 HTTP/1.1" 200 60/0 0.013 2879 97% 0
127.0.0.1 - - [09/May/2011:14:23:33 GMT] "POST /SOGo/so/adi/Calendar/personal/422F-4DC7DC80-55-70B81F00.ics/saveAsAppointment HTTP/1.1" 200 21/1233 0.160 - - 0

second invitation of a resource from lightning:
127.0.0.1 - - [09/May/2011:14:25:31 GMT] "POST /SOGo/so/user/Calendar/dateselector?day=20110509 HTTP/1.1" 200 795/0 0.013 11049 92% 0
127.0.0.1 - - [09/May/2011:14:25:31 GMT] "GET /SOGo/so/user/Calendar//personal/newevent?day=20110509 HTTP/1.1" 302 0/0 0.008 - - 0
127.0.0.1 - - [09/May/2011:14:25:31 GMT] "GET /SOGo/so/user/Calendar/personal//422F-4DC7DD00-5B-70B81F00.ics/editAsAppointment?day=20110509 HTTP/1.1" 200 8869/0 0.036 31293 71% 0
127.0.0.1 - - [09/May/2011:14:25:43 GMT] "GET /SOGo/so/user/Calendar//editAttendees HTTP/1.1" 200 7782/0 0.026 26291 70% 0
127.0.0.1 - - [09/May/2011:14:25:43 GMT] "POST /SOGo/so/user/freebusy.ifb/ajaxRead?sday=20110502&eday=20110516 HTTP/1.1" 200 79/0 0.026 2879 97% 0
127.0.0.1 - - [09/May/2011:14:25:51 GMT] "POST /SOGo/so/user/Contacts/allContactSearch?excludeGroups=1&search=meetingroom HTTP/1.1" 200 198/0 0.146 - - 0
127.0.0.1 - - [09/May/2011:14:25:57 GMT] "POST /SOGo/so/meetingroom/freebusy.ifb/ajaxRead?sday=20110502&eday=20110516 HTTP/1.1" 200 63/0 0.015 2879 97% 0
127.0.0.1 - - [09/May/2011:14:26:23 GMT] "POST /SOGo/so/user/Calendar/personal/422F-4DC7DD00-5B-70B81F00.ics/saveAsAppointment HTTP/1.1" 200 21/978 0.223 - - 0
127.0.0.1 - - [09/May/2011:14:26:23 GMT] "POST /SOGo/so/user/Calendar/alarmslist?browserTime=1304944087 HTTP/1.1" 200 2/0 0.014 - - 0

Hope that helps.

ludovic

ludovic

2011-05-13 15:18

administrator   ~0002474

I don't understand the "second invitation of a resource from lightning:".

This is using "/SOGo/so/" and NOT "/SOGo/dav/" so it's still from the SOGO's web UI.

adi

adi

2011-05-13 15:51

reporter   ~0002475

sorry, my fault: A fresh event created from the web interface:
127.0.0.1 - - [13/May/2011:17:26:03 GMT] "GET /SOGo/so/hmuster/Calendar//personal/newevent?day=20110513&hm=1800 HTTP/1.1" 302 0/0 0.006 - - 4K
127.0.0.1 - - [13/May/2011:17:26:03 GMT] "GET /SOGo/so/hmuster/Calendar/personal//6B6E-4DCD4D80-1-325F9800.ics/editAsAppointment?day=20110513&hm=1800 HTTP/1.1" 200 8855/0 0.070 31309 71% 48K
2011-05-13 17:26:09.202 sogod[27502] WARNING(-[NSNull(misc) count]): called NSNull -count (returns 0) !!!
127.0.0.1 - - [13/May/2011:17:26:09 GMT] "GET /SOGo/so/hmuster/Calendar//editAttendees HTTP/1.1" 200 7781/0 0.033 26300 70% 0
127.0.0.1 - - [13/May/2011:17:26:09 GMT] "POST /SOGo/so/hmuster/freebusy.ifb/ajaxRead?sday=20110506&eday=20110520 HTTP/1.1" 200 52/0 0.013 2879 98% 0
localhost - - [13/May/2011:17:26:12 GMT] "GET /SOGo/dav/georgr/freebusy.ifb HTTP/1.1" 200 898/0 0.207 - - 0
May 13 17:26:14 sogod [27502]: <<0x09391600[SOGoContactGCSFolder]:personal>>D fetched 0 records.
127.0.0.1 - - [13/May/2011:17:26:14 GMT] "POST /SOGo/so/hmuster/Contacts/allContactSearch?excludeGroups=1&search=meetingroom HTTP/1.1" 200 198/0 0.169 - - 24K
127.0.0.1 - - [13/May/2011:17:26:15 GMT] "POST /SOGo/so/meetingroom/freebusy.ifb/ajaxRead?sday=20110506&eday=20110520 HTTP/1.1" 200 88/0 0.155 2879 96% 0
127.0.0.1 - - [13/May/2011:17:26:22 GMT] "POST /SOGo/so/hmuster/Calendar/personal/6B6E-4DCD4D80-1-325F9800.ics/saveAsAppointment HTTP/1.1" 200 21/970 0.166 - - 44K

now I invite "meetingroom" for another event:
May 13 17:27:46 sogod [27501]: <0x09216108[SOGoAppointmentObject]:aeae04ef-7bb6-4592-
bd1c-f33397df2fef.ics> TODO: implement if-none-match for etag: '*'
127.0.0.1 - - [13/May/2011:17:27:46 GMT] "PUT /SOGo/dav/adi/Calendar/personal/aeae04ef-7bb6-4592-bd1c-f33397df2fef.ics HTTP/1.1" 201 0/957 0.165 - - 16K

the event lightning uploaded looks like an ordinary event with:
ORGANIZER;[SNIP];PARTSTAT=ACCEPTED;[SNAP]
ATTENDEE;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT:mailto:meetingroom@...

whereas the other event contains:
ATTENDEE;PARTSTAT=ACCEPTED;RSVP=TRUE;ROLE=REQ-PARTICIPANT;

The webinterface shows both entries in the meetingroom's calendar as accepted -- but as inspecting with cadaver revealed, they are not?

ludovic

ludovic

2011-05-13 20:52

administrator   ~0002476

Show us your LDAP source for resources and a LDIF entry.

adi

adi

2011-05-16 09:10

reporter   ~0002478

a resource:
dn: uid=demoroom,ou=SOGo,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
objectClass: CalendarResource
objectClass: calEntry
cn: Demoroom
sn: Demoroom
displayName: Example Demoroom
givenName: Demoroom
Kind: location
mail: demoroom@example.com
Multiplebookings: 1
uid: demoroom

Resources LDAP Source:
<dict>
<key>CNFieldName</key>
<string>cn</string>
<key>IDFieldName</key>
<string>uid</string>
<key>UIDFieldName</key>
<string>uid</string>
<key>baseDN</key>
<string>ou=SOGo,dc=example,dc=com</string>
<key>bindFields</key>
<array>
<string>uid</string>
</array>
<key>canAuthenticate</key>
<string>YES</string>
<key>displayName</key>
<string>Example Resources</string>
<key>encryption</key>
<string>STARTTLS</string>
<key>hostname</key>
<string>ldap.example.com</string>
<key>id</key>
<string>resources</string>
<key>isAddressBook</key>
<string>YES</string>
<key>port</key>
<string>389</string>
<key>scope</key>
<string>ONE</string>
</dict>
hope this helps. Up to now I did not merge the resources into my main ldap user source. This is pending for once everything works fine. :-)

ludovic

ludovic

2011-05-17 15:17

administrator   ~0002485

euh...how is it supposed to work when you haven't defined MultipleBookingsFieldName ?

adi

adi

2011-05-17 21:42

reporter   ~0002490

Thanks for pointing me to this. I misread https://inverse.ca/sogo/lists/arc/users/2011-05/msg00096.html

Both fields are well defined in the LDAP schema; I saw no reason to specify those field names when properly using the scheme.

Sorry for wasting your time; I also updated the page in the wiki accordingly: http://wiki.sogo.nu/ResourceConfiguration

This bug can be closed!

ludovic

ludovic

2011-05-18 00:45

administrator   ~0002491

You might want to post in the mailing list to clear that up. It created un-needed confusion.

Issue History

Date Modified Username Field Change
2011-05-13 14:07 adi New Issue
2011-05-13 14:12 ludovic Note Added: 0002472
2011-05-13 15:14 adi Note Added: 0002473
2011-05-13 15:18 ludovic Note Added: 0002474
2011-05-13 15:51 adi Note Added: 0002475
2011-05-13 20:52 ludovic Note Added: 0002476
2011-05-16 09:10 adi Note Added: 0002478
2011-05-17 15:17 ludovic Note Added: 0002485
2011-05-17 21:42 adi Note Added: 0002490
2011-05-18 00:44 ludovic Status new => resolved
2011-05-18 00:44 ludovic Fixed in Version => 1.3.8
2011-05-18 00:44 ludovic Resolution open => no change required
2011-05-18 00:44 ludovic Assigned To => ludovic
2011-05-18 00:45 ludovic Note Added: 0002491