Package: calendarserver
Version: 2.4.dfsg-6
Severity: important

Detailed reports both from client machine, access.log and error.log are added.

Did a fresh install of calendarserver on the below system. Edited the config 
files and started the service (no errors logged). Added the server config in 
iCal and imported some data from an .ics file. After about 10 minutes, iCal 
displays popups with Error 404 (The resource 
/principals/__uids__/88514e0f-f147-5680-977c-0e7437eff6e8/ cannot be found.). I 
enabled debugging in iCal, this comes from console.app:

07/11/11 19:59:23,527 iCal: 
>>>>>
07/11/11 19:59:23,528 iCal: PROPFIND 
http://*:8444/principals/__uids__/88514e0f-f147-5680-977c-0e7437eff6e8/
07/11/11 19:59:23,528 iCal: User-Agent: CalendarStore/5.0.1 (1139.14); 
iCal/5.0.1 (1547.4); Mac OS X/10.7.2 (11C74)
07/11/11 19:59:23,528 iCal: Content-Type: text/xml
07/11/11 19:59:23,529 iCal: Depth: 0
07/11/11 19:59:23,529 iCal: Content-Length: 823
07/11/11 19:59:23,530 iCal: <?xml version="1.0" encoding="UTF-8"?>
<A:propfind xmlns:A="DAV:">
  <A:prop>
    <B:allowed-calendar-component-set xmlns:B="http://calendarserver.org/ns/"/>
    <C:calendar-home-set xmlns:C="urn:ietf:params:xml:ns:caldav"/>
    <C:calendar-user-address-set xmlns:C="urn:ietf:params:xml:ns:caldav"/>
    <A:current-user-principal/>
    <A:displayname/>
    <B:dropbox-home-URL xmlns:B="http://calendarserver.org/ns/"/>
    <B:email-address-set xmlns:B="http://calendarserver.org/ns/"/>
    <B:notification-URL xmlns:B="http://calendarserver.org/ns/"/>
    <A:principal-collection-set/>
    <A:principal-URL/>
    <A:resource-id/>
    <C:schedule-inbox-URL xmlns:C="urn:ietf:params:xml:ns:caldav"/>
    <C:schedule-outbox-URL xmlns:C="urn:ietf:params:xml:ns:caldav"/>
    <A:supported-report-set/>
  </A:prop>
</A:propfind>
07/11/11 19:59:23,531 iCal: >>>>>
07/11/11 19:59:23,552 iCal: 
<<<<<
07/11/11 19:59:23,552 iCal: HTTP/1.1 404 (Not Found)
07/11/11 19:59:23,552 iCal: Content-Length: 173
07/11/11 19:59:23,552 iCal: Content-Type: text/html;charset=utf-8
07/11/11 19:59:23,552 iCal: Date: Mon, 07 Nov 2011 18:59:21 GMT
07/11/11 19:59:23,552 iCal: Server: Twisted/8.2.0 TwistedWeb/8.2.0
07/11/11 19:59:23,552 iCal: <html><head><title>404 Not 
Found</title></head><body><h1>Not Found</h1>The resource 
/principals/__uids__/88514e0f-f147-5680-977c-0e7437eff6e8/ cannot be 
found.</body></html>
07/11/11 19:59:23,553 iCal: 
<<<<<
07/11/11 19:59:23,554 iCal: 
>>>>>
07/11/11 19:59:23,554 iCal: PROPFIND 
http://*:8444/principals/__uids__/88514e0f-f147-5680-977c-0e7437eff6e8/
07/11/11 19:59:23,554 iCal: User-Agent: CalendarStore/5.0.1 (1139.14); 
iCal/5.0.1 (1547.4); Mac OS X/10.7.2 (11C74)
07/11/11 19:59:23,555 iCal: Content-Type: text/xml
07/11/11 19:59:23,555 iCal: Depth: 0
07/11/11 19:59:23,555 iCal: Content-Length: 170
07/11/11 19:59:23,555 iCal: <?xml version="1.0" encoding="UTF-8"?>
<A:propfind xmlns:A="DAV:">
  <A:prop>
    <A:current-user-principal/>
    <A:principal-collection-set/>
  </A:prop>
</A:propfind>
07/11/11 19:59:23,555 iCal: >>>>>
07/11/11 19:59:23,570 iCal: 
<<<<<
07/11/11 19:59:23,570 iCal: HTTP/1.1 404 (Not Found)
07/11/11 19:59:23,570 iCal: Content-Length: 173
07/11/11 19:59:23,571 iCal: Content-Type: text/html;charset=utf-8
07/11/11 19:59:23,571 iCal: Date: Mon, 07 Nov 2011 18:59:21 GMT
07/11/11 19:59:23,571 iCal: Server: Twisted/8.2.0 TwistedWeb/8.2.0
07/11/11 19:59:23,571 iCal: <html><head><title>404 Not 
Found</title></head><body><h1>Not Found</h1>The resource 
/principals/__uids__/88514e0f-f147-5680-977c-0e7437eff6e8/ cannot be 
found.</body></html>
07/11/11 19:59:23,571 iCal: 
<<<<<
07/11/11 19:59:23,572 iCal: 
>>>>>
07/11/11 19:59:23,572 iCal: PROPFIND http://*:8444/
07/11/11 19:59:23,572 iCal: User-Agent: CalendarStore/5.0.1 (1139.14); 
iCal/5.0.1 (1547.4); Mac OS X/10.7.2 (11C74)
07/11/11 19:59:23,572 iCal: Content-Type: text/xml
07/11/11 19:59:23,572 iCal: Depth: 0
07/11/11 19:59:23,572 iCal: Content-Length: 170
07/11/11 19:59:23,572 iCal: <?xml version="1.0" encoding="UTF-8"?>
<A:propfind xmlns:A="DAV:">
  <A:prop>
    <A:current-user-principal/>
    <A:principal-collection-set/>
  </A:prop>
</A:propfind>
07/11/11 19:59:23,573 iCal: >>>>>
07/11/11 19:59:23,588 iCal: 
<<<<<
07/11/11 19:59:23,588 iCal: HTTP/1.1 207 (Multi-Status)
07/11/11 19:59:23,588 iCal: Accept-Ranges: bytes
07/11/11 19:59:23,588 iCal: Content-Encoding: gzip
07/11/11 19:59:23,588 iCal: Content-Type: text/xml
07/11/11 19:59:23,588 iCal: Date: Mon, 07 Nov 2011 18:59:21 GMT
07/11/11 19:59:23,588 iCal: DAV: 1, access-control
07/11/11 19:59:23,588 iCal: Etag: "3D0085-1000-4EB66667"
07/11/11 19:59:23,588 iCal: Last-Modified: Sun, 06 Nov 2011 10:50:15 GMT
07/11/11 19:59:23,588 iCal: Server: Twisted/8.2.0 TwistedWeb/8.2.0
07/11/11 19:59:23,589 iCal: Transfer-Encoding: Identity
07/11/11 19:59:23,589 iCal: Vary: accept-encoding
07/11/11 19:59:23,589 iCal: <?xml version='1.0' encoding='UTF-8'?><multistatus 
xmlns='DAV:'>

  <response>

    <href>/</href>

    <propstat>

      <prop>

        <current-user-principal>

          <unauthenticated/>

        </current-user-principal>

        <principal-collection-set>

          <href>/principals/</href>

        </principal-collection-set>

      </prop>

      <status>HTTP/1.1 200 OK</status>

    </propstat>

  </response>

</multistatus>
07/11/11 19:59:23,590 iCal: 
<<<<<
07/11/11 19:59:23,590 iCal: 
>>>>>
07/11/11 19:59:23,590 iCal: PROPFIND http://*:8444/principals/
07/11/11 19:59:23,590 iCal: User-Agent: CalendarStore/5.0.1 (1139.14); 
iCal/5.0.1 (1547.4); Mac OS X/10.7.2 (11C74)
07/11/11 19:59:23,590 iCal: Content-Type: text/xml
07/11/11 19:59:23,590 iCal: Depth: 0
07/11/11 19:59:23,590 iCal: Content-Length: 170
07/11/11 19:59:23,591 iCal: <?xml version="1.0" encoding="UTF-8"?>
<A:propfind xmlns:A="DAV:">
  <A:prop>
    <A:current-user-principal/>
    <A:principal-collection-set/>
  </A:prop>
</A:propfind>
07/11/11 19:59:23,591 iCal: >>>>>
07/11/11 19:59:23,779 iCal: 
<<<<<
07/11/11 19:59:23,779 iCal: HTTP/1.1 207 (Multi-Status)
07/11/11 19:59:23,779 iCal: Accept-Ranges: bytes
07/11/11 19:59:23,779 iCal: Content-Encoding: gzip
07/11/11 19:59:23,779 iCal: Content-Type: text/xml
07/11/11 19:59:23,779 iCal: Date: Mon, 07 Nov 2011 18:59:21 GMT
07/11/11 19:59:23,779 iCal: DAV: 1, access-control, calendar-access, 
calendar-schedule, calendar-auto-schedule, calendar-availability, 
inbox-availability, calendar-proxy, calendarserver-private-events, 
calendarserver-private-comments, calendarserver-principal-property-search
07/11/11 19:59:23,779 iCal: Last-Modified: Sun, 06 Nov 2011 16:12:07 GMT
07/11/11 19:59:23,779 iCal: Server: Twisted/8.2.0 TwistedWeb/8.2.0 
TwistedCalDAV/2.4 (r)
07/11/11 19:59:23,780 iCal: Transfer-Encoding: Identity
07/11/11 19:59:23,780 iCal: Vary: accept-encoding
07/11/11 19:59:23,780 iCal: <?xml version='1.0' encoding='UTF-8'?><multistatus 
xmlns='DAV:'>

  <response>

    <href>/principals/</href>

    <propstat>

      <prop>

        <current-user-principal>

          
<href>/principals/__uids__/88514e0f-f147-5680-977c-0e7437eff6e8/</href>

        </current-user-principal>

        <principal-collection-set>

          <href>/principals/</href>

        </principal-collection-set>

      </prop>

      <status>HTTP/1.1 200 OK</status>

    </propstat>

  </response>

</multistatus>
07/11/11 19:59:23,780 iCal: 
<<<<<
07/11/11 19:59:23,781 iCal: Account refresh failed with error: Error 
Domain=CoreDAVHTTPStatusErrorDomain Code=404 "The operation couldn’t be 
completed. (CoreDAVHTTPStatusErrorDomain error 404.)" UserInfo=0x7f96df556080 
{CalDAVErrFromRefresh=YES, CoreDAVHTTPHeaders=<CFBasicHash 0x7f96dd518440 
[0x7fff72a67f40]>{type = immutable dict, count = 4,
entries =>
        3 : Case Insensitive Key: Content-Type = <CFString 0x7f96dd516d00 
[0x7fff72a67f40]>{contents = "text/html;charset=utf-8"}
        4 : Case Insensitive Key: Content-Length = <CFString 0x7f96dbd314f0 
[0x7fff72a67f40]>{contents = "173"}
        5 : Case Insensitive Key: Server = <CFString 0x7f96dd517c60 
[0x7fff72a67f40]>{contents = "Twisted/8.2.0 TwistedWeb/8.2.0"}
        6 : Case Insensitive Key: Date = <CFString 0x7f96dd516cd0 
[0x7fff72a67f40]>{contents = "Mon, 07 Nov 2011 18:59:21 GMT"}
}
, AccountName=*}
07/11/11 19:59:23,781 iCal: CoreDAVHTTPStatusError 404 for account 
“*”  Error Domain=CoreDAVHTTPStatusErrorDomain Code=404 "The 
operation couldn’t be completed. (CoreDAVHTTPStatusErrorDomain error 
404.)" UserInfo=0x7f96dd51e630 {AccountName=*, CoreDAVHTTPHeaders=<CFBasicHash 
0x7f96dd518440 [0x7fff72a67f40]>{type = immutable dict, count = 4,
entries =>
        3 : Case Insensitive Key: Content-Type = <CFString 0x7f96dd516d00 
[0x7fff72a67f40]>{contents = "text/html;charset=utf-8"}
        4 : Case Insensitive Key: Content-Length = <CFString 0x7f96dbd314f0 
[0x7fff72a67f40]>{contents = "173"}
        5 : Case Insensitive Key: Server = <CFString 0x7f96dd517c60 
[0x7fff72a67f40]>{contents = "Twisted/8.2.0 TwistedWeb/8.2.0"}
        6 : Case Insensitive Key: Date = <CFString 0x7f96dd516cd0 
[0x7fff72a67f40]>{contents = "Mon, 07 Nov 2011 18:59:21 GMT"}
}
, CalDAVErrFromRefresh=YES, 
OperationName=CalDAVAccountRefreshQueueableOperation} {
    AccountName = "*";
    CalDAVErrFromRefresh = YES;
    CoreDAVHTTPHeaders =     {
        "Content-Length" = 173;
        "Content-Type" = "text/html;charset=utf-8";
        Date = "Mon, 07 Nov 2011 18:59:21 GMT";
        Server = "Twisted/8.2.0 TwistedWeb/8.2.0";
    };
    OperationName = CalDAVAccountRefreshQueueableOperation;
}

-- This comes from the error.log from the server machine:
2011-11-07 19:59:21+0100 [-] [caldav-8444]  [PooledMemCacheProtocol,client] 
[twistedcaldav.directory.principal#error] No principal found for UID: 
88514e0f-f147-5680-977c-0e7437eff6e8
2011-11-07 19:59:21+0100 [-] [caldav-8444]  [PooledMemCacheProtocol,client] 
[twistedcaldav.directory.principal#error] No principal found for UID: 
88514e0f-f147-5680-977c-0e7437eff6e8

-- This comes from access.log from the server machine:
[07/Nov/2011:19:59:21 +0200] "PROPFIND 
/principals/__uids__/88514e0f-f147-5680-977c-0e7437eff6e8/ HTTP/1.1" 404 173 
"-" "CalendarStore/5.0.1 (1139.14); iCal/5.0.1 (1547.4); Mac OS X/10.7.2 
(11C74)" i=8444 t=9.1 or=1
[07/Nov/2011:19:59:21 +0200] "PROPFIND 
/principals/__uids__/88514e0f-f147-5680-977c-0e7437eff6e8/ HTTP/1.1" 404 173 
"-" "CalendarStore/5.0.1 (1139.14); iCal/5.0.1 (1547.4); Mac OS X/10.7.2 
(11C74)" i=8444 t=9.1 or=1
[07/Nov/2011:19:59:21 +0200] "PROPFIND / HTTP/1.1" 207 440 "-" 
"CalendarStore/5.0.1 (1139.14); iCal/5.0.1 (1547.4); Mac OS X/10.7.2 (11C74)" 
i=8444 t=9.6 or=1
[07/Nov/2011:19:59:21 +0200] "PROPFIND /principals/ HTTP/1.1" 207 504 "-" 
"CalendarStore/5.0.1 (1139.14); iCal/5.0.1 (1547.4); Mac OS X/10.7.2 (11C74)" 
i=8444 t=21.6 or=1


-- System Information:
Debian Release: 6.0.3
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages calendarserver depends on:
ii  adduser                 3.112+nmu2       add and remove users and groups
ii  lsb-base                3.2-23.2squeeze1 Linux Standard Base 3.2 init scrip
ii  memcached               1.4.5-1          A high-performance memory object c
ii  python                  2.6.6-3+squeeze6 interactive high-level object-orie
ii  python-central          0.6.16+nmu1      register and build utility for Pyt
ii  python-dateutil         1.4.1-3          powerful extensions to the standar
ii  python-kerberos         1.1+svn4895-1+b1 A GSSAPI interface module for Pyth
ii  python-openssl          0.10-1           Python wrapper around the OpenSSL 
ii  python-plist            1.3-2            Library for handling Apple binary 
ii  python-pysqlite2        2.6.0-1          Python interface to SQLite 3
ii  python-twisted-calendar 8.2.0.svn27622-2 Twisted components for Apple's Cal
ii  python-vobject          0.8.1c-3         parse iCalendar and VCards in Pyth
ii  python-xattr            0.4-5+squeeze1   module for manipulating filesystem
ii  ssl-cert                1.0.28           simple debconf wrapper for OpenSSL

Versions of packages calendarserver recommends:
ii  python-ldap                   2.3.11-1   LDAP interface module for Python
ii  python-pydirector             1.0.0-1    pure Python TCP load balancer

calendarserver suggests no packages.

-- Configuration Files:
/etc/caldavd/accounts.xml changed:
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2006-2007 Apple Inc. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
 -->
<!DOCTYPE accounts SYSTEM "accounts.dtd">
<accounts realm="Atom">
  <user>
    <uid>admin</uid>
    <password>admin</password>
    <name>Super User</name>
  </user>
  <user>
    <uid>david</uid>
    <password>david</password>
    <name>David calendar</name>
    <cuaddr>mailto:[email protected]</cuaddr>
  </user>
  <group>
    <uid>users</uid>
    <password>users</password>
    <name>Users Group</name>
    <members>
      <member type="users">david</member>
    </members>
  </group>
  <location>
    <uid>gent</uid>
    <password>g3nt</password>
    <name>Gent</name>
    <auto-schedule/>
    <proxies>
      <member type="users">david</member>
    </proxies>
  </location>
</accounts>

/etc/caldavd/caldavd.plist changed:
<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2006-2007 Apple Inc. All rights reserved.
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
  -->
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
<plist version="1.0">
  <dict>
    <!--
        Public network address information
        This is the server's public network address, which is provided to
        clients in URLs and the like.  It may or may not be the network
        address that the server is listening to directly, though it is by
        default.  For example, it may be the address of a load balancer or
        proxy which forwards connections to the server.
      -->
    <!-- Network host name [empty = system host name] -->
    <key>ServerHostName</key>
    <string></string> <!-- The hostname clients use when connecting -->
    <!-- HTTP port [0 = disable HTTP] -->
    <key>HTTPPort</key>
    <integer>8444</integer>
    <!-- SSL port [0 = disable HTTPS] -->
    <!-- (Must also configure SSLCertificate and SSLPrivateKey below) -->
    <!--
    <key>SSLPort</key>
    <integer>8444</integer>
    -->
    <!-- Redirect non-SSL ports to an SSL port (if configured for SSL) -->
    <key>RedirectHTTPToHTTPS</key>
    <false/>
    <!--
        Network address configuration information
        This configures the actual network address that the server binds to.
      -->
    <!-- List of IP addresses to bind to [empty = all] -->
    <key>BindAddresses</key>
    <array>
    </array>
    <!-- List of port numbers to bind to for HTTP [empty = same as "Port"] -->
    <key>BindHTTPPorts</key>
    <array>
    </array>
    <!-- List of port numbers to bind to for SSL [empty = same as "SSLPort"] -->
    <key>BindSSLPorts</key>
    <array>
    </array>
    <!--
        Data Store
      -->
    <!-- Data root -->
    <key>DataRoot</key>
    <string>/var/lib/caldavd/</string>
    <!-- Document root -->
    <key>DocumentRoot</key>
    <string>/var/spool/caldavd/</string>
    <!-- Child aliases -->
    <key>Aliases</key>
    <dict>
      <!--
      <key>foo</key>
      <dict>
        <key>path</key>
        <string>/path/to/foo</string>
      </dict>
       -->
    </dict>
    <!-- User quota (in bytes) -->
    <key>UserQuota</key>
    <integer>104857600</integer><!-- 100Mb -->
    <!-- Attachment size limit (in bytes) -->
    <key>MaximumAttachmentSize</key>
    <integer>1048576</integer><!-- 1Mb -->
    <!-- Maximum number of unique attendees per entire event -->
    <!-- 0 for no limit -->
    <key>MaxAttendeesPerInstance</key>
    <integer>100</integer>
    <!-- Maximum number of instances allowed for a single RRULE -->
    <!-- 0 for no limit -->
    <key>MaxInstancesForRRULE</key>
    <integer>400</integer>
    <!--
        Directory service
        A directory service provides information about principals (eg.
        users, groups, locations and resources) to the server.
        A variety of directory services are available for use.
      -->
    <!-- XML File Directory Service -->
    <key>DirectoryService</key>
    <dict>
      <key>type</key>
      <string>twistedcaldav.directory.xmlfile.XMLDirectoryService</string>
      
      <key>params</key>
      <dict>
        <key>xmlFile</key>
        <string>/etc/caldavd/accounts.xml</string>
      </dict>
    </dict>
    
    <!-- Open Directory Service (Mac OS X) -->
    <!--
    <key>DirectoryService</key>
    <dict>
      <key>type</key>
      
<string>twistedcaldav.directory.appleopendirectory.OpenDirectoryService</string>
      
      <key>params</key>
      <dict>
        <key>node</key>
        <string>/Search</string>
        <key>restrictEnabledRecords</key>
        <false/>
        <key>restrictToGroup</key>
        <string></string>
        <key>cacheTimeout</key>
        <integer>30</integer>
      </dict>
    </dict>
     -->
    <!-- NSS Directory Service -->
    <!-- Groups starting with groupPrefix are considered calendarserver groups 
-->
    <!-- Don't treat user id's smaller than firstValidUid as calendarserver 
users -->
    <!-- Don't treat group id's smaller than firstValidGid as calendarserver 
groups -->
    <!-- use shortName@mailDomain as calender user mail addresses -->
    <!--
    <key>DirectoryService</key>
    <dict>
      <key>type</key>
      <string>twistedcaldav.directory.nss.NssDirectoryService</string>
      <key>params</key>
      <dict>
        <key>realmName</key>
        <string>Test Realm</string>
        <key>groupPrefix</key>
        <string>caldavd-</string>
        <key>firstValidUid</key>
        <integer>1000</integer>
        <key>lastValidUid</key>
        <integer>65533</integer>
        <key>firstValidGid</key>
        <integer>1000</integer>
        <key>lastValidGid</key>
        <integer>65533</integer>
        <key>mailDomain</key>
        <string>example.com</string>
        <key>cacheTimeout</key>
        <integer>30</integer>
      </dict>
    </dict>
     -->
    <!--  OpenLDAP Directory Service -->
    <!--
    <key>DirectoryService</key>
    <dict>
      <key>type</key>
      
<string>twistedcaldav.directory.ldapdirectory.LdapDirectoryService</string>
      <key>params</key>
      <dict>
        <key>cacheTimeout</key>
        <integer>30</integer>
        <key>realmName</key>
        <string>Test Realm</string>
        <key>uri</key>
        <string>ldap://localhost:389/</string>
        <key>tls</key>
        <false/>
        <key>tlsCACertFile</key>
        <string></string>
        <key>tlsCACertDir</key>
        <string></string>
        <key>tlsRequireCert</key>
        <string>demand</string>
        <key>credentials</key>
        <dict>
          <key>dn</key>
          <string></string>
          <key>password</key>
          <string></string>
        </dict>
        <key>authMethod</key>
        <string>PAM</string>
        <key>rdnSchema</key>
        <dict>
          <key>base</key>
          <string>dc=example,dc=com</string>
          <key>guidAttr</key>
          <string>entryUUID</string>
          <key>users</key>
          <dict>
            <key>rdn</key>
            <string>ou=People</string>
            <key>attr</key>
            <string>uid</string>
            <key>emailSuffix</key>
            <string></string>
            <key>filter</key>
            <string>(objectClass=inetOrgPerson)</string>
          </dict>
          <key>groups</key>
          <dict>
            <key>rdn</key>
            <string>ou=Group</string>
            <key>attr</key>
            <string>cn</string>
            <key>emailSuffix</key>
            <string></string>
            <key>filter</key>
            <string></string>
          </dict>
          <key>locations</key>
          <dict>
            <key>rdn</key>
            <string>ou=Locations</string>
            <key>attr</key>
            <string>cn</string>
            <key>emailSuffix</key>
            <string></string>
            <key>filter</key>
            <string></string>
          </dict>
          <key>resources</key>
          <dict>
            <key>rdn</key>
            <string>ou=Resources</string>
            <key>attr</key>
            <string>cn</string>
            <key>emailSuffix</key>
            <string></string>
            <key>filter</key>
            <string></string>
          </dict>
        </dict>
        <key>groupSchema</key>
        <dict>
          <key>membersAttr</key>
          <string>member</string>
          <key>memberIdAttr</key>
          <string></string>
        </dict>
      </dict>
    </dict>
     -->
    <!--
        Special principals
        These principals are granted special access and/or perform
        special roles on the server.
      -->
    <!-- Principals with "DAV:all" access (relative URLs) -->
    <key>AdminPrincipals</key>
    <array>
      <!-- 
<string>/principals/__uids__/AEB68DD7-D2B8-4D4D-A574-2A4533DF36A4/</string> -->
    </array>
    <!-- Principals with "DAV:read" access (relative URLs) -->
    <key>ReadPrincipals</key>
    <array>
      <!-- 
<string>/principals/__uids__/983C8238-FB6B-4D92-9242-89C0A39E5F81/</string> -->
    </array>
    <!-- Principals that can pose as other principals -->
    <key>SudoersFile</key>
    <string>/etc/caldavd/sudoers.plist</string>
    <!-- Create "proxy access" principals -->
    <key>EnableProxyPrincipals</key>
    <true/>
    <!--
        Permissions
      -->
    <!-- Anonymous read access for root resource -->
    <key>EnableAnonymousReadRoot</key>
    <true/>
    <!-- Anonymous read access for resource hierarchy -->
    <key>EnableAnonymousReadNav</key>
    <false/>
    <!-- Enables directory listings for principals -->
    <key>EnablePrincipalListings</key>
    <false/>
    <!-- Render calendar collections as a monolithic iCalendar object -->
    <key>EnableMonolithicCalendars</key>
    <true/>
    <!--
        Authentication
      -->
    <key>Authentication</key>
    <dict>
      <!-- Clear text; best avoided -->
      <key>Basic</key>
      <dict>
        <key>Enabled</key>
        <false/>
      </dict>
      <!-- Digest challenge/response -->
      <key>Digest</key>
      <dict>
        <key>Enabled</key>
        <true/>
        <key>Algorithm</key>
        <string>md5</string>
        <key>Qop</key>
        <string></string>
      </dict>
      <!-- Kerberos/SPNEGO -->
      <key>Kerberos</key>
      <dict>
        <key>Enabled</key>
        <false/>
        <key>ServicePrincipal</key>
        <string></string>
      </dict>
    </dict>
    <!--
        Logging
      -->
    <!-- Apache-style access log -->
    <key>AccessLogFile</key>
    <string>/var/log/caldavd/access.log</string>
    <key>RotateAccessLog</key>
    <true/>
    <!-- Server activity log -->
    <key>ErrorLogFile</key>
    <string>/var/log/caldavd/error.log</string>
    <!-- Log levels -->
    <key>DefaultLogLevel</key>
    <string>warn</string> <!-- debug, info, warn, error -->
    <!-- Global server stats --> 
    <key>GlobalStatsSocket</key> 
    <string>/var/run/caldavd/caldavd-stats.sock</string> 
    <!-- Server statistics file -->
    <key>ServerStatsFile</key>
    <string>/var/run/caldavd/stats.plist</string>
    <!-- Server process ID file -->
    <key>PIDFile</key>
    <string>/var/run/caldavd/caldavd.pid</string>
    <!--
        SSL/TLS
      -->
    <!-- Public key -->
    <key>SSLCertificate</key>
    <string></string>
    <!-- Private key -->
    <key>SSLPrivateKey</key>
    <string></string>
    <!--
        Process management
      -->
    <key>UserName</key>
    <string>caldavd</string>
    <key>GroupName</key>
    <string>caldavd</string>
    <key>ProcessType</key>
    <string>Combined</string>
    <key>MultiProcess</key>
    <dict>
      <key>ProcessCount</key>
      <integer>1</integer> <!-- 0 = larger of: 4 or (2 * CPU count) -->
    </dict>
    <!--
        Notifications
      -->
    <key>Notifications</key>
    <dict>
      <!-- Time spent coalescing notifications before delivery -->
      <key>CoalesceSeconds</key>
      <integer>3</integer>
      <key>Services</key>
      <dict>
        <key>XMPPNotifier</key>
        <dict>
          <!-- XMPP notification service -->
          <key>Service</key>
          <string>twistedcaldav.notify.XMPPNotifierService</string>
          <key>Enabled</key>
          <false/>
          <!-- XMPP host and port to contact -->
          <key>Host</key>
          <string>xmpp.host.name</string>
          <key>Port</key>
          <integer>5222</integer>
          <!-- Jabber ID and password for the server -->
          <key>JID</key>
          <string>[email protected]/resource</string>
          <key>Password</key>
          <string>password_goes_here</string>
          <!-- PubSub service address -->
          <key>ServiceAddress</key>
          <string>pubsub.xmpp.host.name</string>
        </dict>
      </dict>
    </dict>
    <!--
        Server-to-server protocol
      -->
    <key>Scheduling</key>
    <dict>
      <!-- CalDAV protocol options -->
      <key>CalDAV</key>
      <dict>
        <key>EmailDomain</key>
        <string></string>
        <key>HTTPDomain</key>
        <string></string>
        <key>AddressPatterns</key>
        <array>
        </array>
      </dict>
      <!-- iSchedule protocol options -->
      <key>iSchedule</key>
      <dict>
        <key>Enabled</key>
        <false/>
        <key>AddressPatterns</key>
        <array>
        </array>
        <key>Servers</key>
        <string>/etc/caldavd/servertoserver.xml</string>
      </dict>
      <!-- iMIP protocol options -->
      <key>iMIP</key>
      <dict>
        <key>Enabled</key>
        <false/>
        <key>MailGatewayServer</key>
        <string>localhost</string>
        <key>MailGatewayPort</key>
        <integer>62310</integer>
        <key>Sending</key>
        <dict>
          <key>Server</key>
          <string></string>
          <key>Port</key>
          <integer>587</integer>
          <key>UseSSL</key>
          <true/>
          <key>Username</key>
          <string></string>
          <key>Password</key>
          <string></string>
          <key>Address</key>
          <string></string> <!-- Address email will be sent from -->
        </dict>
        <key>Receiving</key>
        <dict>
          <key>Server</key>
          <string></string>
          <key>Port</key>
          <integer>995</integer>
          <key>Type</key>
          <string></string> <!-- Either "pop" or "imap" -->
          <key>UseSSL</key>
          <true/>
          <key>Username</key>
          <string></string>
          <key>Password</key>
          <string></string>
          <key>PollingSeconds</key>
          <integer>30</integer>
        </dict>
        <key>AddressPatterns</key>
        <array>
          <string>mailto:.*</string>
        </array>
      </dict>
    </dict>
    <!--
        Free-busy URL protocol
      -->
    <key>FreeBusyURL</key>
    <dict>
      <key>Enabled</key>
      <true/>
      <key>TimePeriod</key>
      <integer>14</integer>
      <key>AnonymousAccess</key>
      <false/>
    </dict>
    <!--
        Non-standard CalDAV extensions
      -->
    <!-- Private Events -->
    <key>EnablePrivateEvents</key>
    <true/>
    <!--
        Miscellaneous items
      -->
    <!-- Web-based administration -->
    <key>EnableWebAdmin</key>
    <true/>
    <!-- Twisted -->
    <key>Twisted</key>
    <dict>
      <key>twistd</key>
      <string>/usr/lib/twisted-calendarserver/bin/twistd</string>
    </dict>
    <!-- Python Director -->
    <key>PythonDirector</key>
    <dict>
      <key>pydir</key>
      <string>/usr/share/pydirector/pydir.py</string>
      <key>ControlSocket</key>
      <string>/var/run/caldavd/caldavd-pydir.sock</string>
    </dict>
    <!-- Control Socket -->
    <key>ControlSocket</key>
    <string>/var/run/caldavd/caldavd.sock</string>
    <!-- Memcached -->
    <key>Memcached</key>
    <dict>
      <key>ServerEnabled</key>
      <true/>
    </dict>
  </dict>
</plist>

/etc/caldavd/sudoers.plist changed:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
<plist version="1.0">
<dict>
<key>users</key>
<array>
<!-- Sudo user definitions -->
<!-- With the exception of username and password none of the following
     elements are used in the current implementation. -->
<!--
  <dict>
    <key>authorize-as</key>
    <dict>
      <key>allow</key>
      <true/>
      <key>principals</key>
      <array>
        <string>all</string>
        <string>/principals/user/wsanchez</string>
      </array>
    </dict>
    <key>authorize-from</key>
    <array>
      <string>127.0.0.1</string>
    </array>
    <key>username</key>
    <string></string>
    <key>password</key>
    <string></string>
  </dict>
-->
  <dict>
    <key>username</key>
    <string>admin</string>
    <key>password</key>
    <string>admin</string>
  </dict>
</array>
</dict>
</plist>

/etc/default/calendarserver changed:
start_calendarserver=yes


-- no debconf information


--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to