mod_privsep
Privilege Separation for Apache httpd

Extended Attributes Support for APR

A portable extended attributes implementation for APR.

This interface is designed to allow adding a property provider to mod_dav_fs that uses extended attributes instead of a db per file (TwistedDAV on Mac OS X uses extended attributes for this reason) - although it is a general purpose extended attribute interface.

Extended attributes could also be used for setting mime-types on files (mod_mime_xattr uses the native Linux API so this could be ported to use portable extended attributes and work on more platforms). Another use case would be setting file listing 'description' attributes and modifying mod_autoindex to use these instead of .htaccess directives.

The API proposal currently addresses:

It does not address:

The sample implementation is working for Linux, Mac OS X, FreeBSD 6 and Solaris 10:

Not implemented:

Headers, build infrastructure and test cases:

Mac OS X, FreeBSD, Linux and Solaris implementations plus ENOTIMPL stubs for unsupported platforms

All-in-one patch (should cleanly to apr trunk):

apxattr - Utility to view/modify extended attributes on files