apr-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 44127] New: - File Extended Attributes Support
Date Sat, 22 Dec 2007 05:29:15 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=44127>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=44127

           Summary: File Extended Attributes Support
           Product: APR
           Version: HEAD
          Platform: All
        OS/Version: other
            Status: NEW
          Severity: enhancement
          Priority: P3
         Component: APR
        AssignedTo: bugs@apr.apache.org
        ReportedBy: michael@metaparadigm.com


I have been doing some work on implementing extended attributes
support for apr.

I am doing this as I would like to add a property provider to
mod_dav_fs that uses extended attributes instead of a db per file
(TwistedDAV on Mac OS X also uses extended attributes for this BTW)
and I want to do this portably so it could potentially be included.

Extended attributes can 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 apr xattrs and work on more platforms). Another nice
idea is setting file listing 'description' attributes and getting
mod_autoindex to look at them.

I have looked at a few of the OS extended attributes interface and
have come up with an API proposal.

It addresses:
 * setting, getting, listing and removing of 'user' extended attributes
   on a file specified by its filepath.

It does not address:
 * system namespaces on platforms with more than one attribute namespace
   (only the user namespace is accessible on platforms with multiple
    attr namespaces, new flags could potentially be added to access
    platform specific system namespaces)
 * setting, getting, listing and removing attributes on a file
   specified by a file descriptor (apr_os_file_t)

I have working sample implementations for Linux, Mac OS X, FreeBSD 6
and Solaris 10 (which each have different APIs BTW):

* Linux impl use l?(get|set|list|remove)xattr
* Mac OS X impl use (get|set|list|remove)xattr (different args to linux)
* FreeBSD impl uses extattr_(get|set|list|delete)_(file|link)
* Solaris impl uses subfiles (attropen,unlinkat and friends)

Not implemented:

* Windows - should be able to use named :streams (similar to Solaris)
* OS/2 - it has extended attributes but that's all I know.
* Irix/HPUX/AIX/OS390/netware/... - unknown? do they have them?

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@apr.apache.org
For additional commands, e-mail: bugs-help@apr.apache.org


Mime
View raw message