Projects
Wiki     Timeline     Roadmap     Browse Source     View Tickets     New Ticket     Search

Ticket #337 (new Defect)

Opened 16 months ago

Last modified 4 weeks ago

Hardcoded "WebDAV:" xattr prefix breaks Linux compatibility

Reported by: christoph_apple@… Owned by: wsanchez@…
Priority: 5: Not set Milestone: Linux Port
Component: Calendar Server Severity: Other
Keywords: Cc: alexis@…

Description

Linux requires a "user." prefix when setting extended attributes but CalendarServer uses a hardcoded "WebDAV:" prefix on various occasions. At least the following files seem to be affected:

calendarserver/tools/fixcalendardata.py
calendarserver/tools/doublequotefix.py
contrib/tools/fix_calendar
twistedcaldav/test/test_upgrade.py
twistedcaldav/test/data/makelargefbset.py
twistedcaldav/upgrade.py
twistedcaldav/admin/util.py

The attached patch fixes this problem for fix_calendar but has not been tested on non-Linux platforms.

Attachments

fix_calendar-linux-xattr-fix.patch Download (1.7 KB) - added by christoph_apple@… 16 months ago.
fix_calendar Linux xattr Fix
upgrade-linux-xattr-fix.patch Download (2.4 KB) - added by sammys@… 5 months ago.
Fixes xattr incompatibility in linux (twistedcaldav/upgrade.py)
__init__.py Download (1.1 KB) - added by apm@… 5 months ago.
a linuxxattr/init.py class

Change History

Changed 16 months ago by christoph_apple@…

fix_calendar Linux xattr Fix

Changed 5 months ago by sammys@…

Fixes xattr incompatibility in linux (twistedcaldav/upgrade.py)

Changed 5 months ago by sammys@…

I have attached a patch to fix the incompatibility when upgrading calendars from the old format to the new format (e.g calendarserver 1.2 to calendarserver 2.4).

Changed 5 months ago by apm@…

bin/xattr is affected as well.

Maybe the correct solution is to override the whole xattr class for Linux and import linuxxattr as xattr. I've attached a linuxxattr/init.py

Changed 5 months ago by apm@…

a linuxxattr/init.py class

Changed 4 weeks ago by alexis@…

  • cc alexis@… added

Cc Me!

Changed 4 weeks ago by alexis@…

  • cc alexis@… removed

Cc Me!

Changed 4 weeks ago by alexis@…

  • cc alexis@… added

Cc Me!

Note: See TracTickets for help on using tickets.