History log of /freebsd-current/usr.sbin/extattrctl/extattrctl.c
Revision Date Author Comments
# b3e76948 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


# 4d846d26 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix


# 1de7b4b8 27-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

various: general adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

No functional change intended.


# c10bc053 08-Dec-2010 Kevin Lo <kevlo@FreeBSD.org>

Close fd in initattr() and showattr().

Reviewed by: rwatson


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# 9a958de5 02-Jan-2010 Ed Schouten <ed@FreeBSD.org>

ANSIfy some more tools in usr.sbin/.

Most of these tools build with WARNS=6, except for their use of K&R
function declarations.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 0a371dd9 18-Apr-2002 Robert Watson <rwatson@FreeBSD.org>

Clean up usage message: don't put optional parameter's in brackets.
Update copyright date.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs
Extracted from: green


# 65528d17 05-Apr-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Simplify and optimize. This speeds up 'initattr' enormously for small
attribute sizes (up to two orders of magnitude!)


# 566726db 31-Dec-2001 Robert Watson <rwatson@FreeBSD.org>

o Add a 'showattr' function the extattrctl, allowing a backing file to
be inspected to show the maximum attribute size and file.


# f2dd987c 27-Nov-2001 Chris D. Faulhaber <jedgar@FreeBSD.org>

Make extattrctl WARNS?=2-safe:
o remove extraneous extern's
o prototype functions
o combine multiple return (0)'s into a single return (0) at the
end of main()

Approved by: rwatson
Obtained from: TrustedBSD Project


# a8843add 15-Nov-2001 Robert Watson <rwatson@FreeBSD.org>

o Update copyright dates, comments...

Obtained from: TrustedBSD Project


# 8970738b 15-Nov-2001 Robert Watson <rwatson@FreeBSD.org>

o extattrctl initattr, when pre-allocating store for extended attributes,
computed a a chunksize that didn't include the extended attribute
header. This was a non-fatal error, in that it was just writing out
zeros anyway, but did have the effect of not pre-allocating the
right amount of disk space. This fix calculates chunksize to include
the attribute header.

Submitted by: Dale Rahn
Sponsored by: DARPA, UPenn POSSE Project
Obtained from: OpenBSD


# de5660b0 18-Mar-2001 Robert Watson <rwatson@FreeBSD.org>

o Rename "namespace" argument to "attrnamespace" as namespace is a C++
reserved word.

Submitted by: jkh
Obtained from: TrustedBSD Project


# fccc713c 17-Mar-2001 Thomas Moestl <tmm@FreeBSD.org>

Correct the arguments to the extattrct()l call so that the enable and
disable commands work as documented.

Approved by: rwatson


# bf6afea7 14-Mar-2001 Robert Watson <rwatson@FreeBSD.org>

o Update extattrctl to take into account the updated EA interface with
explicit namespaces. Modify it to use libutil for string/constant
namespace conversions. Update the documentation to take into account
the new interface.

Obtained from: TrustedBSD Project


# 58ef75f0 13-Dec-2000 Robert Watson <rwatson@FreeBSD.org>

o Check return of strdup() for NULL, abort if so.

Submitted by: jedgar


# 8f0dcdab 12-Sep-2000 Robert Watson <rwatson@FreeBSD.org>

o What a good idea, ``-o'' should be a ``-f'' like in every other
utility that is cautious but sometimes you want to be less
cautious. Go figure.

Submitted by: sheldonh


# 1fec210a 11-Sep-2000 Robert Watson <rwatson@FreeBSD.org>

o Add a ``-o'' argument to initattr, which causes extattrctl to overwrite
the existing attribute file rather than aborting with an error.
o Useful if you want to reset the state of attributes on the system without
allocating different disk blocks through deletion and recreation,
for example, if you're doing benchmarks of extended attribute code. :-)

Obtained from: TrustedBSD Project


# 6af96218 07-Sep-2000 Robert Watson <rwatson@FreeBSD.org>

o When pre-allocating attribute storage space, also allocate space for
attribute instance headers, or higher inode numbers will require
additional disk blocks to be allocated later.

Obtained from: TrustedBSD Project


# bbf06077 02-Sep-2000 Robert Watson <rwatson@FreeBSD.org>

Modify extended attribute protection model to authorize based on
attribute namespace and DAC protection on file:
- Attribute names beginning with '$' are in the system namespace
- The attribute name "$" is reserved
- System namespace attributes may only be read/set by suser()
or by kernel (cred == NULL)
- Other attribute names are in the application namespace
- The attribute name "" is reserved
- Application namespace attributes are protected in the manner
of the target file permission

o Kernel changes
- Add ufs_extattr_valid_attrname() to check whether the requested
attribute "set" or "enable" is appropriate (i.e., non-reserved)
- Modify ufs_extattr_credcheck() to accept target file vnode, not
to take inode uid
- Modify ufs_extattr_credcheck() to check namespace, then enforce
either kernel/suser for system namespace, or vaccess() for
application namespace
o EA backing file format changes
- Remove permission fields from extended attribute backing file
header
- Bump extended attribute backing file header version to 3
o Update extattrctl.c and extattrctl.8
- Remove now deprecated -r and -w arguments to initattr, as
permissions are now implicit
- (unrelated) fix error reporting and unlinking during failed
initattr to remove duplicate/inaccurate error messages, and to
only unlink if the failure wasn't in the backing file open()

Obtained from: TrustedBSD Project


# 3b88d279 11-Jul-2000 Robert Watson <rwatson@FreeBSD.org>

o Correct getopt() argument so that initattr -r and -w take an additional
argument via optarg. This corrects a segfault when initattr is invoked
with either of these two arguments. Not sure how this got broken given
that in the original patches it was fine -- presumably a merging
mistake.

Obtained from: TrustedBSD Project


# 6c50ada1 20-Apr-2000 Robert Watson <rwatson@FreeBSD.org>

o Update extattrctl.8 to reflect new initattr -p, -r, and -w options.
o Update extattrctl.c to default new attributes to readable and writable
only by the kernel and root user. Previously the default was to allow
the file owner to directory view and manipulate the attributes, which
is probably an inappropriate default.


# 2a60effd 20-Apr-2000 Robert Watson <rwatson@FreeBSD.org>

o Allow the ``-p'' argument to be specified to initattr, which indicates
that space for extended attributes should be preallocated, instead of
using a sparse attribute file. NOTE: This can result in a really
large file full of zeros. However, it can prevent a low disk condition
from causing an attribute write to fail, which is good for security and
consistency attributes.

o Unlink the attribute file during initattr if an error occurs -- this is
alright, as we specify O_CREAT when opening the file.


# 7036b7cd 19-Apr-2000 Robert Watson <rwatson@FreeBSD.org>

o Update initattr to add magic numbers and version number


# 9754f5b6 14-Apr-2000 Robert Watson <rwatson@FreeBSD.org>

Introduced /usr/sbin/extattrctl, a utility for managing UFS/FFS extended
attributes (recently committed). Using extattrctl, the extended attribute
service may be started and stopped for specific file systems; specific
attributes may be enabled or disabled, and the backing file for each
attribute configured. Also, backing files may be initialized.

Reviewed by: adrian, bp, freebsd-fs, the unthanked masses
Obtained from: TrustedBSD