History log of /freebsd-10.0-release/bin/pax/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
259065 07-Dec-2013 gjb

- Copy stable/10 (r259064) to releng/10.0 as part of the
10.0-RELEASE cycle.
- Update __FreeBSD_version [1]
- Set branch name to -RC1

[1] 10.0-CURRENT __FreeBSD_version value ended at '55', so
start releng/10.0 at '100' so the branch is started with
a value ending in zero.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


241720 19-Oct-2012 ed

Fix warnings found by -Wmising-variable-declarations.

This self-written compiler warning, which is hopefully going to be
committed into LLVM sources soon, warns about potentially missing
`static' keywords, similar to -Wmissing-prototypes.

- bin/pax: Move external declaration of chdname and s_mask into extern.h.
- bin/setfacl: Move setfacl.c-specific stuff out of setfacl.h.
- sbin/mount_fusefs: Remove char *progname; use getprogname().
- others: add `static' where possible.


222177 22-May-2011 uqs

Fix a bunch of typos and a couple of whitespace nits.

Helped by: codespell and vim's spellchecker


211965 29-Aug-2010 brian

Touch the man page date after updating the ustar limitations.

MFC after: 3 weeks


211963 29-Aug-2010 brian

Correct an out-by-one error when earlying out ustar filenames that
are too long. Filenames escaping this test are caught later on,
so the bug doesn't cause any breakage.

Document the correct ustar limitations in pax. As I have no access
to the IEEE 1003.2 spec, I can only assume that the limitations
imposed are in fact correct.

Add regression tests for the filename limitations imposed by pax.

MFC after: 3 weeks


211864 27-Aug-2010 brian

Fix an off-by-one error where we try to split a path name that's
more than 100 characters long and the 101th last character is a
'/'.

MFC after: 3 weeks


208484 24-May-2010 uqs

Fix back references in substitute command for pax(1)

pax(1) was trying to copy the back-referenced data from
the match pattern, not the matched data.

PR: bin/118132
Obtained from: Debian bug #451361
Reviewed by: jilles
MFC after: 3 weeks


205942 30-Mar-2010 delphij

Merge OpenBSD revisions 1.4 through 1.9, mostly style cleanups.

Obtained from: OpenBSD
MFC after: 3 month


205940 30-Mar-2010 delphij

Remove unused files.


203613 07-Feb-2010 imp

Tell the compiler these structures are aligned to a byte boundary.
All the elements of these structs are char anyway, so it won't hurt
performance.

Bump warns back up to the default.

# we likely should have CTASSERTS to make sure they are the right size.
# but with libarchive based tar maybe we shouldn't bother.


203480 04-Feb-2010 imp

Arm doesn't seem to need such kit gloves. Bump the warnings to 3 here
as well.


202193 13-Jan-2010 ed

Port everything in bin/ from utmp to utmpx.

date: use libc utmpx routines instead of the ones provided by libulog.
pax: don't depend on <utmp.h>


201179 29-Dec-2009 ed

Add missing `void' for function without arguments.


200794 21-Dec-2009 delphij

Plug a memory leak.

PR: bin/141835
Submitted by: Henning Petersen <henning.petersen t-online.de>
MFC after: 2 weeks


187976 01-Feb-2009 kientzle

Before this fix, pax would stop the restore sequence for
symlinks after setting the owner. As a result, mode
and timestamp were not restored. This patch corrects the
problem by simply removing the short-circuit for symlinks
and using lchown()/lchmod()/lutimes() always for restoring
metadata.

PR: bin/91316
Submitted by: Jaakko Heinonen
Reviewed by: Joerg Sonnenberger
MFC after: 14 days


169993 25-May-2007 brian

Remove unnecessary free argument casts.
Don't abuse arcname's constness.


169926 24-May-2007 rse

Cleanup pax(1) sources a little bit while I poked around in them:
- remove a superfluous doubled trailing semicolon.
- remove the extra void casts on calls to void-function free(3).


164699 27-Nov-2006 ru

Fix some of the alignment warnings on ARM.


162379 17-Sep-2006 ru

Markup fixes.


158414 10-May-2006 cokane

Fix the wording about the blocksize (-b) parameter. The existing
wording makes it look like pax archives > 32256 bytes are not
POSIX-compliant! Correct this to state that pax archives with
block sizes > 32256 are not POSIX compliant...and settle our fears.

PR: docs/97059
Reviewed by: Giorgos Keramidas <keramida>


143447 12-Mar-2005 obrien

Fix bin/pax doesn't wait for compress/gzip before exiting.

Submitted by: Joerg Sonnenberger <joerg@britannica.bec.de>
Obtained from: OpenBSD (commited fix to PR 3455)


141846 13-Feb-2005 ru

Expand *n't contractions.


141580 09-Feb-2005 ru

Fixed the misplaced $FreeBSD$.


140353 16-Jan-2005 ru

Add the new standard EXIT STATUS section where appropriate.
Sort standard sections in the (documented) preferred order.


140097 12-Jan-2005 brian

Don't decend into directories when -d is set and the directory itself doesn't
match.

PR: 28095
Submitted by: bill at twwells dot com
MFC after: 7 days


139969 10-Jan-2005 imp

/*- or .\"- or #- to begin license clauses.


137645 13-Nov-2004 yar

Fix off-by-one errors and potential buffer overruns
WRT handling file and link names that reach the allowed
maximum for old tar and ustar archive formats.

PR: bin/40466
Submitted by: Cyrille Lefevre <email in the PR> (portions)
Reviewed by: freebsd-arch (silence)
MFC after: 1 month


131513 03-Jul-2004 tjr

Document missing multibyte character handling in utilities specified
by POSIX.


131505 03-Jul-2004 ru

Deal with double whitespace.


131484 02-Jul-2004 ru

Mechanically kill hard sentence breaks.


131085 25-Jun-2004 obrien

Don't continue if the '-C' option (a-la GNUtar; commited in options.c
rev 1.18, but not documented in the man page) caused a failed chdir.
Otherwise, one can easily overwrite files.

Submitted by: Robert Nagy <robert@openbsd.org>
Obtained from: OpenBSD


129215 14-May-2004 cognet

Use WARNS?=3 for these in the arm case for now, due to toolchain issues.


127958 06-Apr-2004 markm

Remove clause 3 from the UCB licenses.

OK'ed by: imp, core


127055 16-Mar-2004 cperciva

Fix memory leak

PR: bin/64321
Submitted by: Rodney Ruddock <rodney@interopsystems.com>
MFOpenBSD: rev 1.17
MFC after: 3 days


126643 05-Mar-2004 markm

Make NULL a (void*)0 whereever possible, and fix the warnings(-Werror)
that this provokes. "Wherever possible" means "In the kernel OR NOT
C++" (implying C).

There are places where (void *) pointers are not valid, such as for
function pointers, but in the special case of (void *)0, agreement
settles on it being OK.

Most of the fixes were NULL where an integer zero was needed; many
of the fixes were NULL where ascii <nul> ('\0') was needed, and a
few were just "other".

Tested on: i386 sparc64


116282 13-Jun-2003 markm

Get this area compiling with the highest WARNS= that it works with.
Obsolete WFORMAT= junk also removed where possible.

OK'ed by: obrien
Tested on: sparc64, alpha, i386


114583 03-May-2003 markm

Fix a bazillion warnings. This makes almost the whole of src/bin/*
WARNS=6, std=c99 clean.

Tested on: i386, alpha


114470 02-May-2003 obrien

Quiet warnings about copyright[].


114469 02-May-2003 obrien

Fix signed/unsigned mix comparisons involving sizeof.


114369 01-May-2003 tjr

Add the -j and -y options to the synopsis.


109075 10-Jan-2003 obrien

Make the "tarcp" example more direct.


108533 01-Jan-2003 schweikh

Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,
especially in troff files.


104560 06-Oct-2002 tjr

Ensure all va_starts have a matching va_end.

Obtained from: NetBSD


104556 06-Oct-2002 tjr

/dev/sa0 is the default tape device, not /dev/rst0.


104548 06-Oct-2002 tjr

Fix format string errors relating mainly to the use of %qu to print off_t's.
Instead use %ju and cast the argument.

WFORMAT=0 is still required in the Makefile because gcc warns about
some strftime() calls (I don't think this behaviour is useful.)

Tested on: sparc64, alpha, i386


102245 22-Aug-2002 bde

Removed extra $FreeBSD$. Moved #if 0 for the vendor id to the correct
place. Restored indent protection of copyright comment.


102230 21-Aug-2002 trhodes

s/filesystem/file system/ as discussed on -developers


100012 15-Jul-2002 keramida

Fix a couple of typos in a comment.

PR: docs/33559
Submitted by: Marc Olzheim <marcolz@ilse.nl>


99110 30-Jun-2002 obrien

Consistently use FBSDID


96706 16-May-2002 trhodes

more file system > filesystem


96702 16-May-2002 trhodes

Consistancy check s/file system/filesystem/

Reviewed by: brian


95204 21-Apr-2002 charnier

Use `The .Nm utility'


95122 20-Apr-2002 charnier

Use `The .Nm utility'


94553 12-Apr-2002 charnier

Do not return(f_returning_void());. Spell FALLTHROUGH to make it lint()able.


92956 22-Mar-2002 markm

No need to cast; ().gr_gid is already the correct type.


90167 04-Feb-2002 kris

Correct inadvertent style botches in previous commit.


90166 04-Feb-2002 kris

Lock down with WFORMAT=1 except those directories with unfixed warnings.
Tested on i386 and alpha.


90113 02-Feb-2002 imp

Ooops, forgot to remove the registers here.


90110 02-Feb-2002 imp

o __P has been reoved
o Old-style K&R declarations have been converted to new C89 style
o register has been removed
o prototype for main() has been removed (gcc3 makes it an error)
o int main(int argc, char *argv[]) is the preferred main definition.
o Attempt to not break style(9) conformance for declarations more than
they already are.


87323 04-Dec-2001 obrien

Default to WARNS=2. Binary builds that cannot handle this must explicitly
set WARNS=0.

Reviewed by: mike


85618 28-Oct-2001 dillon

Use a quad int conversion routine for time_t instead of ulong, capable of
decoding tar's full time buffer (12 digits).


85617 28-Oct-2001 dillon

Various string fields for certain cpio types are 11 rather then 8
characters. Use quad conversion functions rather then long conversion
where appropriate to handle the available range. Mainly fixes time_t
but there was also a st_size ulong conversion in there that has to be
quad or cpio cannot be used to copy files > 2G.

MFC after: 1 day


85616 28-Oct-2001 dillon

Remove unnecessary casts in timeval.tv_sec load from st_*time


81622 14-Aug-2001 ru

mdoc(7) police: s/BSD/.Bx/ where appropriate.


81601 13-Aug-2001 peter

Initialize listf at main()


81462 10-Aug-2001 ru

mdoc(7) police: join split punctuation to macro calls.


79754 15-Jul-2001 dd

Remove whitespace at EOL.


79526 10-Jul-2001 ru

mdoc(7) police: removed HISTORY info from the .Os call.


79454 09-Jul-2001 dd

mdoc(7) police: remove extraneous .Pp before and/or after .Sh.


79452 09-Jul-2001 brian

Fix the type of the NULL arg to execl()

Idea from: Theo de Raadt <deraadt@openbsd.org>


78732 24-Jun-2001 dd

Include missing header files which define functions for which gcc has
builtins (e.g., exit, strcmp).


77458 30-May-2001 imp

Minor comment fix


76360 08-May-2001 ru

mdoc(7) police: fix markup, rename and reorder some sections.


76355 08-May-2001 ru

mdoc(7) police: sort xrefs.


76351 08-May-2001 kris

Sync up with OpenBSD. Too many changes to note, but the major features
are:
* Implement cpio compatibility mode when pax is invoked as cpio
* Extend tar compatibility mode to cover many of the GNU tar single-letter
options (bzip2 mode, aka -y/-j is not present in OpenBSD). When
invoked as tar, pax is now full-featured enough for use by the ports
collection to extract distfiles and create packages.
* Many bug fixes to the operation of pax and the tar compatibility modes
* Code fixes for things like correct string buffer termination.

I tried to preserve existing FreeBSD fixes to this utility; please let me
know if I have inadvertently spammed something.


76286 05-May-2001 kris

Add -z flag to pax to allow gzipping of archive output. Add -z and -Z (gzip
and compress) to pax when used in tar mode (invoked as 'tar') for
compatibility with GNU tar.

bzip2 functionality for further GNU tar compatibility will be added at a
later date.

Note in the manpage that -z is non-standard.

Obtained from: OpenBSD
Reviewed by: -hackers
MFC after: 2 weeks


76019 26-Apr-2001 kris

Whitespace cleanup pass; reduce diffs with OpenBSD. No functional changes.


76017 26-Apr-2001 kris

Reduce diffs with OpenBSD:
#if __STDC__ -> #ifdef __STDC__
pax_warn() -> paxwarn()
sys_warn() -> syswarn()
(foo *)NULL -> NULL
bcopy -> memmove()/memcpy()
bzero -> memset()
Typo fixes
sprintf() -> snprintf()
rindex() -> strrchr()
index() -> strchr()
sys_errlist[] -> strerror()

Obtained from: OpenBSD


76016 26-Apr-2001 kris

Use mkstemp() for secure tempfile creation instead of tempnam()

Obtained from: OpenBSD
Reviewed by: mikeh


75577 17-Apr-2001 kris

-Wnon-const-format sweep: make format strings const char *'s, add
__printflike()/__printf0like() to function prototypes, as appropriate.

Reviewed by: bde, -audit


74567 21-Mar-2001 ache

Use nl_langinfo instead of %Ef


73345 02-Mar-2001 ru

POSIX wrote:

: LC_TIME This variable shall determine the format and
: contents of date and time strings when the -v
: option is specified.

Developers took this wrong. LC_TIME specifies the locale
name, not the ``format'' argument of strftime().

Oops:
pax -w -f /tmp/foo /dev/null
LC_TIME=de_DE.ISO_8859-1 pax -v -f /tmp/foo


72432 13-Feb-2001 ru

mdoc(7) police: use the default ``file ...'' feature of the .Ar macro.


72089 06-Feb-2001 asmodai

Fix typo: seperate -> separate.

Seperate does not exist in the english language.

Submitted to look at by: kris


71895 01-Feb-2001 ru

mdoc(7) police: split punctuation characters + misc fixes.


70150 18-Dec-2000 ru

Prepare for mdoc(7)NG.


68935 20-Nov-2000 ru

mdoc(7) police: use the new features of the Nm macro.


64692 16-Aug-2000 imp

Don't explicitly declare optarg and optind. These are declared in
unistd.h, which is already included.


61960 22-Jun-2000 ache

Use %Ef


57695 02-Mar-2000 sheldonh

Remove more single-space hard sentence breaks.


57663 01-Mar-2000 sheldonh

Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.


50471 27-Aug-1999 peter

$Id$ -> $FreeBSD$


46684 08-May-1999 kris

Various spelling/formatting changes.

Submitted by: Philippe Charnier <charnier@xp11.frmug.org>


41553 06-Dec-1998 obrien

Rev 1.13 fixes PR bin/8958


41539 05-Dec-1998 obrien

There is a bug in /bin/pax -s option processing. The code assumes that all
pattern matches will occur at offset zero of the source string. The bug causes
the input source string pointer to be incremented by the offset of the end of
the match, instead of it's length. The fix is to only increment the pointer by
the length of the pattern match (eo-so).

Of course, the one example in the man page shows a situation where the match
occurs at offset 0.

Submitted by: John W. DeBoskey <jwd@unx.sas.com>
Obtained from: freebsd-current@freebsd.org


40533 20-Oct-1998 msmith

- Fix off-by-one problem in tar where filenames of length 100
and dirnames of length 99 don't archive.

Submitted by: Wilfredo Sanchez <wsanchez@apple.com>
Obtained from: OpenBSD


36784 09-Jun-1998 imp

Make sure we pass the length - 1 to readlink, since it adds its own
NUL at the end of the path.
Inspired by: OpenBSD's changes in this area by theo de raadt


36546 31-May-1998 steve

Clarify the example a bit.

PR: 6801
Reviewed by: David Kelly <dkelly@hiwaay.net>


36049 15-May-1998 charnier

Correct use of .Nm. Add rcsid.


34668 19-Mar-1998 charnier

.Sh AUTHOR -> .Sh AUTHORS
Use .An/.Aq


31688 12-Dec-1997 eivind

Make code slightly more robust towards change by calculating size
in-place.

Obtained from: OpenBSD ar_subs.c rev 1.7 by Tood Miller <millert@openbsd.org)


31666 10-Dec-1997 eivind

Remove simultaneous include of <sys/param.h> and <sys/types.h>.
Reorder includes to be alphabetical some places since I already was in
here.


28904 29-Aug-1997 sos

Dont have an internal function named "warn" it clashes with libc..
Needed for ELF.


26363 02-Jun-1997 charnier

Off by 1 adjustment. Properly NUL terminate after strncpy.
Obtained from: {Net|Open}BSD


24348 28-Mar-1997 imp

compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.


22988 22-Feb-1997 peter

Revert $FreeBSD$ to $Id$


21673 14-Jan-1997 jkh

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


20420 14-Dec-1996 steve

-Wall cleaning.


17517 11-Aug-1996 ache

Pick collate info for RE character ranges


11746 23-Oct-1995 ache

Remove unneded ctype.h everywhere
Add setlocale LC_TIME


10083 16-Aug-1995 nate

Fix possible FS corruption caused by extra parameter to pax.
oo
Turns out, it's pretty important if you use PAX for backup. In the man
page for PAX, there is an error (OK, we could call it a "potentially
catastrophic incompleteness"). It reads:

> The command:
>
> pax -r -v -f filename
>
> gives the verbose table of contents for an archive stored in filename.

Yup, it does do that. With a side effect: it also _replaces_ all the
files that come in from the archive. As is my custom, I did my
backup-validation real soon after the backup was written. Precisely
because I've seen the same sort of thing happen on other systems. So all
that file-restoring didn't do a lot of damage. Probably helped my
fragmentation somewhat (aha, an online defragger?) It did confuse one
hapless user, who lost an email message he _knew_ he hadn't deleted.
Apparently the system restored the file as of just before that critical
message came in.

The correct entry should read:

> The command:
>
> pax -v -f filename
>




> gives the verbose table of contents for an archive stored in filename.


Submitted by: John Beckett <jbeckett@southern.edu> via the BSDI mailing list


9987 07-Aug-1995 wollman

Delete bogus referneces to timezone code internal header file `tzfile.h',
which is no longer bogusly installed in /usr/include.


9322 26-Jun-1995 bde

Improve the handling of large minor numbers:

cpio/copyout.c:
Don't output a file if the major, minor or totality of its rdev would be
truncated. Print a message about the skipped files to stderr but don't
report the error in the exit status. cpio's abysmal error handling doesn't
allow continuing after an error, and the rdev checks had to be misplaced
to avoid the problem of returning an error code from routines that return
void.

pax/pax.h:
Use the system macros for major(), minor() and makedev().

pax already checks _all_ output conversions for overflow. This has the
undesirable effect that failure to convert relatively useless fields
such as st_dev for regular files causes files not to be output. pax
doesn't report exactly which fields couldn't be converted.

tar/create.c:
Don't output a file if the major or minor its rdev would be truncated.
Print a message about the skipped files to stderr and report the error
in the exit status.

tar/tar.c:
For not immediately fatal errors, exit with status 1, not the error count
(mod 256).

All:
Minor numbers are limited to 21 bits in pax's ustar format and to 18
bits in archives created by gnu tar (gnu tar wastes 3 bits for padding).
pax's and cpio's ustar format is incompatible with gnu tar's ustar
format for other reasons (see cpio/README).


8855 30-May-1995 rgrimes

Remove trailing whitespace.

Reviewed by: phk


7165 19-Mar-1995 joerg

You will find enclosed some changes to make gcc -Wall more happy in
/usr/src/bin. Note that some patches are still needed in that directory.

I (Joerg) finished most of Philippe's cleanup. /bin/sh will still
need *allot* of work, however.

Submitted by: charnier@lirmm.fr (Philippe Charnier)


3044 24-Sep-1994 dg

Added $Id$


1557 26-May-1994 rgrimes

This commit was generated by cvs2svn to compensate for changes in r1556,
which included commits to RCS files with non-trunk default branches.