summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDale Rahn <drahn@cvs.openbsd.org>2002-02-22 21:13:19 +0000
committerDale Rahn <drahn@cvs.openbsd.org>2002-02-22 21:13:19 +0000
commit771a7452a0e2a3099666730bc6c216519660fbf8 (patch)
tree4ed9695e3eb8dff6c838af19eec7e6859a0bdad1
parent0688dac79a63b54c64da716b7c719934f27f988e (diff)
Extended Attribute support, from FreeBSD/TrustedBSD. ok art@ deraadt@
-rw-r--r--share/man/man4/options.44
-rw-r--r--share/man/man9/Makefile3
-rw-r--r--share/man/man9/extattr.988
3 files changed, 93 insertions, 2 deletions
diff --git a/share/man/man4/options.4 b/share/man/man4/options.4
index 9a60c37c26d..f95e0c8cda1 100644
--- a/share/man/man4/options.4
+++ b/share/man/man4/options.4
@@ -1,4 +1,4 @@
-.\" $OpenBSD: options.4,v 1.93 2002/02/14 22:57:46 art Exp $
+.\" $OpenBSD: options.4,v 1.94 2002/02/22 21:13:18 drahn Exp $
.\" $NetBSD: options.4,v 1.21 1997/06/25 03:13:00 thorpej Exp $
.\"
.\" Copyright (c) 1998 Theo de Raadt
@@ -514,6 +514,8 @@ With this option, only the superuser can set them, and they can't be cleared
if the securelevel is greater than 0.
See also
.Xr chflags 1 .
+.It Cd option UFS_EXTATTR
+This option enables Extended Attribute support for UFS filesystems.
.El
.Ss Miscellaneous Options
.Bl -ohang
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile
index cf55472dd97..e2269294371 100644
--- a/share/man/man9/Makefile
+++ b/share/man/man9/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.46 2002/02/15 02:01:01 art Exp $
+# $OpenBSD: Makefile,v 1.47 2002/02/22 21:13:18 drahn Exp $
# $NetBSD: Makefile,v 1.4 1996/01/09 03:23:01 thorpej Exp $
# Makefile for section 9 (kernel function and variable) manual pages.
@@ -6,6 +6,7 @@
MAN= altq.9 audio.9 boot.9 bus_dma.9 bus_space.9 copy.9 crypto.9 ctxsw.9 \
disk.9 disklabel.9 \
dohooks.9 dopowerhooks.9 doshutdownhooks.9 dostartuphooks.9 \
+ extattr.9 \
fetch.9 fork1.9 extent.9 \
hardclock.9 hook_establish.9 hz.9 hzto.9 intro.9 inittodr.9 log.9 \
kthread.9 malloc.9 mbuf.9 mbuf_tags.9 md5.9 microtime.9 \
diff --git a/share/man/man9/extattr.9 b/share/man/man9/extattr.9
new file mode 100644
index 00000000000..f8e59fce780
--- /dev/null
+++ b/share/man/man9/extattr.9
@@ -0,0 +1,88 @@
+.\"-
+.\" Copyright (c) 1999, 2000, 2001 Robert N. M. Watson
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD: extattr.9,v 1.9 2001/10/01 16:09:24 ru Exp $
+.\"
+.Dd December 23, 1999
+.Os
+.Dt EXTATTR 9
+.Sh NAME
+.Nm extattr
+.Nd virtual file system named extended attributes
+.Sh SYNOPSIS
+.In sys/param.h
+.In sys/vnode.h
+.In sys/extattr.h
+.Sh DESCRIPTION
+Named extended attributes allow additional meta-data to be associated
+with vnodes representing files and directories.
+The semantics of this additional data is that of a "name=value" pair, where
+a name may be defined or undefined, and if defined, associated with zero or
+more bytes of arbitrary binary data.
+Extended attribute names exist within a set of namespaces; each operation
+on an extended attribute is required to provide the namespace to which to
+operation refers.
+If the same name is present in multiple namespaces, the extended attributes
+associated with the names are stored and manipulated independently.
+The following two namespaces are defined universally, although individual
+file systems may implement additional namespaces, or not implement
+these namespaces:
+.Dv EXTATTR_NAMESPACE_USER ,
+.Dv EXTATTR_NAMESPACE_SYSTEM .
+The semantics of these attributes are intended to be as follows: user
+attribute data is protected according the normal discretionary
+and mandatory protections associated with the data in the file or
+directory; system attribute data is protected such that appropriate
+privilege is required to directly access or manipulate these attributes.
+.Pp
+Reads of extended attribute data may return specific contiguous regions of
+the meta-data, in the style of
+.Xr VOP_READ 9 ,
+but writes will replace the entire current "value" associated with
+a given name.
+As there are a plethora of file systems with differing extended attributes,
+availability and functionality of these functions may be limited, and they
+should be used with awareness of the underlying semantics of the supporting
+file system.
+Authorization schemes for extended attribute data may also vary by file
+system, as well as maximum attribute size, and whether or not any or
+specific new attributes may be defined.
+.Pp
+Extended attributes are named using a null-terminated character string.
+Depending on underlying file system semantics, this name may or may not be
+case-sensitive. Appropriate vnode extended attribute calls are:
+.Xr VOP_GETEXTATTR 9
+and
+.Xr VOP_SETEXTATTR 9 .
+.Sh AUTHORS
+This man page was written by
+.An Robert Watson .
+.Sh BUGS
+In addition, the interface does not provide a mechanism to retrieve
+the current set of available attributes; it has been suggested that
+providing a
+.Dv NULL
+attribute name should cause a list of defined attributes for the passed file
+or directory, but this is not currently implemented.