[CalendarServer-users] Cannot invite anybody

Ladislav Wartha lwartha at gmail.com
Sat Apr 2 17:16:21 PDT 2011


Hi,

I am fighting a little with calendarserver running on Debian Squeeze.
I was able to start it up following instructions on
http://wiki.debian.org/HowTo/CalendarServer

Server is running, I am able to log in as user Lwartha or Gandalf and
create calendar. However. When I add invitee in the iCal 4.0.4, I
receive error like:

The request for “Test” in “calendar” in account “Lwartha” failed.

The server responded with
“HTTP/1.1 500 Internal Server Error”
to operation CalDAVWriteEntityQueueableOperation.

I looked at the error log and it says:

2011-04-03 02:12:42+0200 [-] [caldav-8008]
[PooledMemCacheProtocol,client]
[twistedcaldav.scheduling.caldav#error] Could not store data in Inbox
: <ScheduleInboxFile (calendar inbox collection):
/var/spool/caldavd/calendars/__uids__/5e/7a/5e7a54dd-90b0-54e4-88d7-09c7eabfaa0b/inbox>
2011-04-03 02:12:42+0200 [-] [caldav-8008]
[PooledMemCacheProtocol,client]
[twistedcaldav.scheduling.scheduler.ScheduleResponseQueue#error] Error
during PUT for urn:uuid:5e7a54dd-90b0-54e4-88d7-09c7eabfaa0b: None
2011-04-03 02:12:42+0200 [-] [caldav-8008]
[PooledMemCacheProtocol,client] Exception rendering:
2011-04-03 02:12:42+0200 [-] [caldav-8008]
[PooledMemCacheProtocol,client] Unhandled Error
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	Traceback (most recent call last):
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	  File
"/usr/lib/twisted-calendarserver/lib/python2.6/site-packages/twisted/internet/defer.py",
line 267, in errback
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	    self._startRunCallbacks(fail)
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	  File
"/usr/lib/twisted-calendarserver/lib/python2.6/site-packages/twisted/internet/defer.py",
line 310, in _startRunCallbacks
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	    self._runCallbacks()
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	  File
"/usr/lib/twisted-calendarserver/lib/python2.6/site-packages/twisted/internet/defer.py",
line 326, in _runCallbacks
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	    self.result =
callback(self.result, *args, **kw)
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	  File
"/usr/lib/twisted-calendarserver/lib/python2.6/site-packages/twisted/internet/defer.py",
line 769, in gotResult
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	    _inlineCallbacks(r, g, deferred)
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	--- <exception caught here> ---
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	  File
"/usr/lib/twisted-calendarserver/lib/python2.6/site-packages/twisted/internet/defer.py",
line 747, in _inlineCallbacks
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	    result =
result.throwExceptionIntoGenerator(g)
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	  File
"/usr/lib/twisted-calendarserver/lib/python2.6/site-packages/twisted/python/failure.py",
line 338, in throwExceptionIntoGenerator
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	    return
g.throw(self.type, self.value, self.tb)
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	  File
"/usr/lib/twisted-calendarserver/lib/python2.6/site-packages/twistedcaldav/method/put.py",
line 68, in http_PUT
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	    result = (yield storer.run())
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	  File
"/usr/lib/twisted-calendarserver/lib/python2.6/site-packages/twisted/internet/defer.py",
line 749, in _inlineCallbacks
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	    result = g.send(result)
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	  File
"/usr/lib/twisted-calendarserver/lib/python2.6/site-packages/twistedcaldav/method/put_common.py",
line 1127, in run
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	    raise err
2011-04-03 02:12:42+0200 [-] [caldav-8008] 	exceptions.IOError: [Errno
28] No space left on device:
'/var/spool/caldavd/calendars/__uids__/ba/1d/ba1d171f-3ebb-5049-b8fb-bf3063e8ff58/calendar/EC72D119-33DD-47C8-BCA1-AD3085E5C6AC.ics'
2011-04-03 02:12:42+0200 [-] [caldav-8008]

I have no idea abou what space it is talking:

fuller:/var/log/caldavd# mount | grep /var/spool
/dev/mapper/debian-calendarserver on /var/spool/caldavd type ext3
(rw,user_xattr)
fuller:/var/log/caldavd# df -h /var/spool/caldavd
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/debian-calendarserver
                      1.2G  7.0M  1.1G   1% /var/spool/caldavd



==== accounts.xml =========

<?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="Test Realm">
  <user>
	<uid>com.apple.calendarserver</uid>
	<password>SECRETPASSWORD</password>	
	<name>Calendar Server iMIP injeciton</name>
	<disable-calendar />
  </user>
  <user>
    <uid>admin</uid>
    <password>admin</password>
    <name>Super User</name>
  </user>
  <user>
    <uid>Lwartha</uid>
    <password>Lwartha</password>
    <name>Ladislav Wartha</name>
    <cuaddr>mailto:REMOVED</cuaddr>
  </user>
  <user>
    <uid>Gandalf</uid>
    <password>Gandalf</password>
    <name>Gandalf</name>
    <cuaddr>mailto:REMOVED</cuaddr>
  </user>
  <group>
    <uid>test</uid>
    <password>test</password>
    <name>test</name>
    <members>
      <member type="users">Gandalf</member>
      <member type="users">Lwartha</member>
    </members>
  </group>
  <location>
    <uid>Mercury</uid>
    <password>Mercury</password>
    <name>Mecury Conference Room, Building 1, 2nd Floor</name>
    <auto-schedule/>
    <proxies>
      <member type="users">Gandalf</member>
      <member type="users">Lwartha</member>
    </proxies>
  </location>
</accounts>

==== caldavd.plist =========
<?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>testserver</string> <!-- The hostname clients use when
connecting -->

    <!-- HTTP port [0 = disable HTTP] -->
    <key>HTTPPort</key>
    <integer>8008</integer>

    <!-- SSL port [0 = disable HTTPS] -->
    <!-- (Must also configure SSLCertificate and SSLPrivateKey below) -->
    <key>SSLPort</key>
    <integer>8443</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>10485760</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 at 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>
        <true/>
        <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>/etc/ssl/private/testserver.pem</string>

    <!-- Private key -->
    <key>SSLPrivateKey</key>
    <string>/etc/ssl/private/testserver.pem</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>jid at xmpp.host.name/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>
        <true/>
        <key>MailGatewayServer</key>
        <string>localhost</string>
        <key>MailGatewayPort</key>
        <integer>62310</integer>
	<key>Password</key>
	<string>SECRETPASSWORD</string>
        <key>Sending</key>
        <dict>
          <key>Server</key>
          <string>localhost</string>
          <key>Port</key>
          <integer>25</integer>
          <key>UseSSL</key>
          <true/>
          <key>Username</key>
          <string>calendarserver at testserver</string>
          <key>Password</key>
          <string>SECRETPASSWORD</string>
          <key>Address</key>
          <string>calendarserver at testserver</string> <!-- Address
email will be sent from -->
        </dict>
        <key>Receiving</key>
        <dict>
          <key>Server</key>
          <string>localhost</string>
          <key>Port</key>
          <integer>110</integer>
          <key>Type</key>
          <string>pop</string> <!-- Either "pop" or "imap" -->
          <key>UseSSL</key>
          <false/>
          <key>Username</key>
          <string>calendarserver at testserver</string>
          <key>Password</key>
          <string>SECRETPASSWORD</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>
      <false/>
    </dict>

  </dict>
</plist>


More information about the calendarserver-users mailing list