summaryrefslogtreecommitdiff
path: root/bin/pax
AgeCommit message (Collapse)Author
2015-02-05backout previous for now; issues seen with "tar: Directory vanished beforeStuart Henderson
restoring mode and times: ..." (and an error exit code, which breaks at least building ports). krw@ agrees.
2015-02-05For directories whose times or mode will be fixed up in the clean-up pass,Philip Guenther
record their dev+ino and then use open(O_DIRECTORY)+fstat() to verify that we're updating the correct directory before using futimens() and fchmod(). ok millert@
2015-01-29Correct buffer overflow in handling of pax extension headers, caughtPhilip Guenther
by the memcpy() overlap check. ok millert@ deraadt@
2015-01-16Replace <sys/param.h> with <limits.h> and other less dirty headers whereTheo de Raadt
possible. Annotate <sys/param.h> lines with their current reasons. Switch to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where sensible to avoid pulling in the pollution. These are the files confirmed through binary verification. ok guenther, millert, doug (helped with the verification protocol)
2015-01-15remove .Tn; from Jan Stary <hans at stare dot cz>Ingo Schwarze
2014-12-13Sort members by size to reduce structure paddingPhilip Guenther
2014-11-23Don't pull in <tzfile.h> just for a number that's hardcoded in the C standardPhilip Guenther
2014-11-23Use PATH_MAX from <limits.h> instead of MAXPATHLEN from <sys/param.h>Philip Guenther
Eliminate a couple unneeded #includes
2014-11-23Don't leak the fds for "." and the tty to the compression processPhilip Guenther
2014-09-08obvious cases of missing .An;Ingo Schwarze
found with the new mandoc(1) MANDOCERR_AN_MISSING warning; no text changes
2014-07-14Constipate st_hash()Philip Guenther
2014-07-14Oops: resurrect cached file that wasn't ripe for deletionPhilip Guenther
2014-07-14Delete pointless 'return;' at end of functionPhilip Guenther
2014-07-11clarify a comment about readlink. from Doug HoganTed Unangst
2014-06-04undo my "no TZ support" notes; guenther says they're wrongJason McIntyre
ok guenther
2014-05-24Delete pointless casts: free() return value to (void), free()'sPhilip Guenther
argument to (char *), and malloc/calloc's return value to the type of the variable it's being assigned to. Convert the one calloc() where the zeroing isn't needed to a reallocarray(). ok millert@
2014-05-24Missed #include <signal.h>Philip Guenther
2014-05-24Make signal setup clearer via helper function, eliminating a gap inPhilip Guenther
ignoring signals when they were already ignored ok millert@
2014-05-23Archives written with a non-standard blocksize currently show up asPhilip Guenther
truncated reads. Until better detection of that case can is implemented, back out that part of rev 1.45 problem noted by sthen@
2014-05-23Make the signal handler safe: block signals when updating data-structuresPhilip Guenther
that are walked by routines called from the signal handler and use dprintf() instead fprintf() in ar_close(). ok millert@
2014-05-21Exit with non-zero status if a read is truncated, or if a compressionPhilip Guenther
program was used but it didn't exit successfully. Original diff by mpf@
2014-05-07use reallocarray. ok guentherTed Unangst
2014-04-18tweak;Jason McIntyre
2014-04-15note some unsupported features, and clean up some macros - in particular,Jason McIntyre
whack a dose of unneccessary Em; ok millert
2014-04-15flesh out STANDARDS; ok millert sobradoJason McIntyre
2014-02-19Map negative mtimes to zero instead of skipping the affected files.Philip Guenther
problem noted by miod@ ok krw@ millert@
2014-02-13Don't use use .Tn with AND/OR/NOTPhilip Guenther
Phrase any "The _flags_ argument is the ..." line consistently, eliminating unnecessary use of 'inclusive' and saying "zero or more" or "one or more" as appropriate ok millert@ jmc@ schwarze@
2014-02-06Oops, pax -x and cpio -H need to set frmtPhilip Guenther
Add 'break' accidentally removed by previous commit and future-proof format listing by cpio -H problem noted by naddy@ ok halex@ naddy@
2014-02-05make pax cope with a stripped down format list, e.g. when compiledAlexander Hall
with -DNOCPIO - ignore empty entries (millert@, halex@) - replace bsort with linear scan (guenther@) ok millert@ guenther@
2014-01-30abstraction for the sake of abstraction is distracting.Marc Espie
zap extra func pointer going to the same routines for all formats. okay millert@
2014-01-19Forget to remove the prototype for set_lids() after removing the definitionPhilip Guenther
2014-01-14No exception is made for symlinks in the spec, so usePhilip Guenther
fchmodat(AT_SYMLINK_NOFOLLOW) to set the mode on symlinks, pass AT_SYMLINK_NOFOLLOW to utimensat(), and then let those be called on symlinks by dropping the test that skipped them. Eliminate set_lids() by changing set_ids() to use fchownat(AT_SYMLINK_NOFOLLOW) and delete a redundant conditional in each of set_ftime()/fset_ftime(). suggested by espie@ ok millert@
2014-01-11Add -DNOCPIO option for use by distrib/specialTheo de Raadt
ok guenther tedu
2014-01-09Symlinks are displayed with '->', not '=>'Philip Guenther
2014-01-09Update pax -v format to match "ls -l": display the year for datesPhilip Guenther
in the future and include a space between the major and minor numbers for devices. Eliminate bogus handling of LC_TIME environment variable. Make strftime() format selection understandable by gcc -Wformat=2. ok millert@
2014-01-08Zap leading whitespaceTheo de Raadt
2014-01-08Zap trailing whitespacePhilip Guenther
2014-01-08Replace strtoq(), QUAD_MAX, and %qu with their long long equivalentPhilip Guenther
2014-01-08Eliminate poisonous LONG_OFF_T conditionalPhilip Guenther
adjective suggested by deraadt@
2014-01-08Delete a bogus extern declaration and move around a couple othersPhilip Guenther
2014-01-08Use size_t where appropriatePhilip Guenther
ok fgsch@
2014-01-08Rename arguments to avoid shadowing global variablesPhilip Guenther
ok fgsch@
2014-01-08Mark some functions as printf-like and fix a bogus format stringPhilip Guenther
ok fgsch@
2013-11-21add unsigned char casts for specific calls to ctype.h macros.Theo de Raadt
ok guenther step
2013-10-08POSIX specifies that when the pax input file requests a hardlinkPhilip Guenther
to a symlinks, that it be exactly that and not a hardlink to the file pointed to by the symlink. Use linkat() to get what we want. ok deraadt@
2013-07-03cpio and ustar formats store times in octal fields that are 11 charactersPhilip Guenther
wide, so they support up to 33bits. Take advantage of the extra bits by no longer forcing them into 32bit ints before the time_t conversion. This gets us another 204 years of range once time_t changes type ok deraadt@ tedu@
2013-05-25Fix typo. From Caspar Schutijser via tech@.lum
2013-04-16Use utimensat() and futimens() instead of utimes() and futimes().Todd C. Miller
This lets us use UTIME_OMIT instead of having to lstat() the file when we want to preserve one of the times. Remove casts to long for tv_sec to prepare for upcoming time_t changes. OK deraadt@
2013-04-11The tweaks I suggested to the previous diff resulted in the typeflagPhilip Guenther
being checked after it was overwritten by the next block read in. Eliminate the argument aliasing that led to this being overlooked by passing rd_xheader() the size and typeflag directly. problem discovery and ok fgsch@
2013-04-09Add extended header support for ustar. Currently only path and linkpath areFederico G. Schwindt
handled. input from zhuk and guenther. tested by zhuk and sthen on a bulk. ok guenther.