[CalendarServer-users] Debugging caldavd on Linux

David Szego david.szego at gmail.com
Thu Nov 1 16:49:31 PDT 2007


Hi all,

I'm getting various strange results with CalendarServer on Linux and  
an iCal 3.0 client. Aside from a LOT of iCal bugs, I suspect the  
primary problem is a lack of documentation in accounts.xml and  
caldavd.plist causing me to misconfigure things on my own.

I'd like to post a few bugs here, and see if Mr. Sanchez and any  
willing volunteers could help me debug things. In return, I'd be happy  
to make my Linux CalendarServer install publicly available for the  
task, and volunteer it for future testing. Server details at bottom of  
this message (to tempt you to read it all!)

Bugs:

1. User names are case sensitive. Not so much a bug, as counter- 
intuitive.

--------

2. Every login (i.e. open up iCal) generates the following in caldavd,  
as do any edits to events:

'No principal found for UID: david'
  "Attempt to create clone '/var/cache/CalendarServer/principals/ 
__uids__/david' of resource  
<DirectoryPrincipalUIDProvisioningResource: /var/cache/CalendarServer/ 
principals/__uids__>"

followed by an iCal dialog box stating:

Request Error
Access to "New Event" in "calendar" in account "Home Calendars" is not  
permitted.
The server responded:
"HTTP/1.1 403 Forbidden"
to operation CalDAVScheduleEventQueueableOperation.

I can, however, successfully log in, post an event to my calendar,  
close and re-open iCal, and see the event again.

--------

3. iCal is unable to look up users or resources when entering meeting  
data. Resources show up just fine in "Accounts:Delegation" preference  
pane, as described in <proxy> lines of accounts.xml, but adding users  
in the "Manage access to my account" dialog does not let me look up or  
enter any users. An error dialog is generated stating:

Cannot enable access to your account. "test" was not found.
Search again for the user you want to add by typing their name, and  
selecting one of the resulting choices.

I have two users, david and sonja, one room, testroom, and one  
resource, car. When I "Add Attendees" in iCal, slowly typing a name  
gives me a flicker of a spinning cursor, indicating it is looking up a  
name, but no response from the server in either the log or the ./run - 
v shell.
However, leaving the name incomplete will (within seconds) give a  
spinner to the left of the name, then put a checkmark on the name.
Yet, double-clicking on the name will put "sonj <invalid:nomail>"  
until I click elsewhere.
The same behaviour can be seen if I put a correct user name ("sonja")

My users and resources are set up in accounts.xml as follows:

  <user>
     <uid>david</uid>
     <password>password</password>
     <name>David Szego</name>
     <cuaddr>mailto:david.szego at gmail.com</cuaddr>
   </user>
(and for Sonja)

<location>
     <uid>testroom</uid>
     <password>testroom</password>
     <name>Test Room</name>
     <auto-schedule/>
     <proxies>
       <member type="users">david</member>
       <member type="users">sonja</member>
     </proxies>
   </location>

   <resource>
      <uid>Car</uid>
      <guid>Car</guid>
      <password>car</password>
      <name>Car</name>
      <auto-schedule/>
      <proxies>
         <member type="users">david</member>
         <member type="users">sonja</member>
      </proxies>
   </resource>

I have tried variations on <cuaddr>, including user%20d at server.com,  
etc. as taken from the various included accounts-*.plist files.

I have also tried various permissions on the caldavd directories, but  
settled on R/W root:root with ./run running as root, to eliminate  
permissions hassles while testing.

For reference, my caldavd directories end up looking like the following
(if a directory is omitted, it has no contents):

/var/cache/CalendarServer/:
calendars  principals

/var/cache/CalendarServer/calendars:
locations  resources  users

/var/cache/CalendarServer/calendars/users:
admin  david

/var/cache/CalendarServer/calendars/users/david:
calendar  inbox  outbox

/var/cache/CalendarServer/calendars/users/david/calendar:
7CA20DE2-8005-4C9E-9290-485AA3820F2A.ics  BE595426-CC09-420D- 
B720-6A5B817DF0EF.ics

/var/cache/CalendarServer/principals:
__uids__  users

/var/cache/CalendarServer/principals/__uids__:
16f524a3-356e-54ab-9267-e51ce008e511
16f524a3-356e-54ab-9267-e51ce008e511#calendar-proxy-read
16f524a3-356e-54ab-9267-e51ce008e511#calendar-proxy-write
263dfdea-e764-5da9-bd69-ea8661b468be
29145634-e562-5e17-b9dd-fd5040278f27
29145634-e562-5e17-b9dd-fd5040278f27#calendar-proxy-read
29145634-e562-5e17-b9dd-fd5040278f27#calendar-proxy-write
3792b185-fa5a-5e6a-92ac-3e9d4c4b07a1

/var/cache/CalendarServer/principals/__uids__/16f524a3-356e-54ab-9267- 
e51ce008e511:
calendar-proxy-read  calendar-proxy-write

/var/cache/CalendarServer/principals/__uids__/16f524a3-356e-54ab-9267- 
e51ce008e511#calendar-proxy-read:
calendar-proxy-read

/var/cache/CalendarServer/principals/users:

--------

The server is available at https://www.thinkcreatesolve.com/principals/users/XXXX 
  where XXXX is test or admin, password same as user.

Please feel free to play, I can chat on iChat/MSN live while you do if  
you'd like me to try things or send logs, etc.

Any help would be welcome, and if I can contribute to the project in  
any way, I would be more than happy to do so.

Cheers,
David Szego.


More information about the calendarserver-users mailing list