Hi Steve, --On June 24, 2008 9:14:59 AM -0500 Steve Roemen <stever@carlislefsp.com> wrote:
Cyrus Daboo wrote:
Hi Steve,
--On June 24, 2008 8:32:57 AM -0500 Steve Roemen <stever@carlislefsp.com> wrote:
/ Is there a tool that will rebuild the attrs for the calendar data directory in Linux?
trunk/contrib/tools/fix_calendar
You run that and pass in the path to directories that should be "calendars" and it will reset the xattrs as appropriate.
I tried running that tool, here's the error:
contrib/tools/fix_calendar /home/CalData [Errno 95] Operation not supported: '/home/CalData'
You should run it on individual calendar directories not on the document root". You may also need to use "sudo".
also, here is what appears in the logs when a client tries to connect:
2008-06-24 09:10:34-0500 [-] [caldav-8009] [PooledMemCacheProtocol,client] Exception rendering: 2008-06-24 09:10:34-0500 [-] [caldav-8009] [PooledMemCacheProtocol,client] Unhandled Error 2008-06-24 09:10:34-0500 [-] [caldav-8009] Traceback (most recent call last): 2008-06-24 09:10:34-0500 [-] [caldav-8009] File "/home/Calendar/Twisted/twisted/web2/server.py", line 314, in _getChild 2008-06-24 09:10:34-0500 [-] [caldav-8009] result = res.locateChild(self, path) 2008-06-24 09:10:34-0500 [-] [caldav-8009] File "/home/Calendar/CalendarServer/twistedcaldav/directory/resource.py", line 64, in locateChild 2008-06-24 09:10:34-0500 [-] [caldav-8009] d.addCallback(lambda _: super(AutoProvisioningResourceMixIn, self).locateChild(request, segments)) 2008-06-24 09:10:34-0500 [-] [caldav-8009] File "/home/Calendar/Twisted/twisted/internet/defer.py", line 191, in addCallback 2008-06-24 09:10:34-0500 [-] [caldav-8009] callbackKeywords=kw) 2008-06-24 09:10:34-0500 [-] [caldav-8009] File "/home/Calendar/Twisted/twisted/internet/defer.py", line 182, in addCallbacks 2008-06-24 09:10:34-0500 [-] [caldav-8009] self._runCallbacks() 2008-06-24 09:10:34-0500 [-] [caldav-8009] --- <exception caught here> --- 2008-06-24 09:10:34-0500 [-] [caldav-8009] File "/home/Calendar/Twisted/twisted/internet/defer.py", line 316, in _runCallbacks 2008-06-24 09:10:34-0500 [-] [caldav-8009] self.result = callback(self.result, *args, **kw) 2008-06-24 09:10:34-0500 [-] [caldav-8009] File "/home/Calendar/CalendarServer/twistedcaldav/directory/resource.py", line 64, in <lambda> 2008-06-24 09:10:34-0500 [-] [caldav-8009] d.addCallback(lambda _: super(AutoProvisioningResourceMixIn, self).locateChild(request, segments)) 2008-06-24 09:10:34-0500 [-] [caldav-8009] File "/home/Calendar/Twisted/twisted/web2/dav/static.py", line 169, in locateChild 2008-06-24 09:10:34-0500 [-] [caldav-8009] child = self.getChild(segments[0]) 2008-06-24 09:10:34-0500 [-] [caldav-8009] File "/home/Calendar/CalendarServer/twistedcaldav/directory/calendar.py", line 163, in getChild 2008-06-24 09:10:34-0500 [-] [caldav-8009] return self._parent.homeForDirectoryRecord(record) 2008-06-24 09:10:34-0500 [-] [caldav-8009] File "/home/Calendar/CalendarServer/twistedcaldav/directory/calendar.py", line 121, in homeForDirectoryRecord 2008-06-24 09:10:34-0500 [-] [caldav-8009] return uidResource.getChild(record.guid) 2008-06-24 09:10:34-0500 [-] [caldav-8009] File "/home/Calendar/CalendarServer/twistedcaldav/directory/calendar.py", line 218, in getChild 2008-06-24 09:10:34-0500 [-] [caldav-8009] record = self.directory.recordWithGUID(name) 2008-06-24 09:10:34-0500 [-] [caldav-8009] File "/home/Calendar/CalendarServer/twistedcaldav/directory/aggregate.py", line 97, in recordWithGUID 2008-06-24 09:10:34-0500 [-] [caldav-8009] return self._queryAll("recordWithGUID", guid) 2008-06-24 09:10:34-0500 [-] [caldav-8009] File "/home/Calendar/CalendarServer/twistedcaldav/directory/aggregate.py", line 117, in _queryAll 2008-06-24 09:10:34-0500 [-] [caldav-8009] record = getattr(service, query)(*args) 2008-06-24 09:10:34-0500 [-] [caldav-8009] File "/home/Calendar/CalendarServer/twistedcaldav/directory/directory.py", line 125, in recordWithGUID 2008-06-24 09:10:34-0500 [-] [caldav-8009] for record in self.allRecords(): 2008-06-24 09:10:34-0500 [-] [caldav-8009] File "/home/Calendar/CalendarServer/twistedcaldav/directory/directory.py", line 138, in allRecords 2008-06-24 09:10:34-0500 [-] [caldav-8009] for record in self.listRecords(recordType): 2008-06-24 09:10:34-0500 [-] [caldav-8009] File "/home/Calendar/CalendarServer/twistedcaldav/directory/xmlfile.py", line 68, in listRecords 2008-06-24 09:10:34-0500 [-] [caldav-8009] xmlPrincipal = xmlPrincipal, 2008-06-24 09:10:34-0500 [-] [caldav-8009] File "/home/Calendar/CalendarServer/twistedcaldav/directory/xmlfile.py", line 113, in __init__ 2008-06-24 09:10:34-0500 [-] [caldav-8009] enabledForCalendaring = xmlPrincipal.enabledForCalendaring, 2008-06-24 09:10:34-0500 [-] [caldav-8009] File "/home/Calendar/CalendarServer/twistedcaldav/directory/directory.py", line 170, in __init__ 2008-06-24 09:10:34-0500 [-] [caldav-8009] assert len(calendarUserAddresses) == 0 2008-06-24 09:10:34-0500 [-] [caldav-8009] exceptions.AssertionError: 2008-06-24 09:10:34-0500 [-] [caldav-8009]
Check your accounts.xml file. I think you have a record with a <disable-calendar> element and also a non-empty <cuaddr> element. If your really want to disable calendaring for that user either comment out the entire <cuaddr> element or remove its content. -- Cyrus Daboo