Age | Commit message (Collapse) | Author |
|
Adjust the conditions to correct that.
ok millert@
|
|
and a basis for support of mtime and atime values in pax-format extended
header records.
ok millert@
|
|
ok millert@
|
|
|
|
pax-like -o write_opt=nodir.
ok millert@ otto@
|
|
but if you *did* succeed anyway, truncate it?
|
|
|
|
What's worse, the tzfile.h that gets installed is over 20 years old
and doesn't match the real tzfile.h in libc/time. This makes the
tree safe for /usr/include/tzfile.h removal. The TM_YEAR_BASE
define has been moved to time.h temporarily until its usage is
replaced by 1900 in the tree. Actual removal of tzfile.h is pending
a ports build. Based on a diff from deraadt@
|
|
like compress, gzip, bzip2, or xz output. If so then error out with
a useful message directing the user to the correct option and error
out instead of scanning forward for an embedded tar/cpio header.
wording help from sobrado@
ok millert@ deraadt@
|
|
|
|
* Prevent an archive from esacaping the current directory by itself:
when extracting a symlink whose value is absolute or contains ".."
components, just create a zero-length normal file (with additional
tracking of the mode and hardlinks to the symlink) until everything
else is extracted, then go back and replace it with the requested
link (if it's still that zero-length placeholder).
* For tar without -P, if a path in the archive has any ".." components
then strip everything up to and including the last of them (if
it ends in ".." then it becomes ".")
This mostly follows GNU tar's behavior, except for 'tar tf' and
'tar xvf' we report the modified path that would be/was actually
created instead of the raw path from the archive
Above two fixes prompted by a report from Daniel Cegielka
(daniel.cegielka (at) gmail.com)
* For directories whose times or mode will be fixed up in the
clean-up pass, 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().
* Correct buffer overflow in handling of pax extension headers,
caught by the memcpy() overlap check.
previously ok millert@ deraadt@
|
|
requested by deraadt@
|
|
directory listed twice with nothing created inside the directory
in between the two instances of the directory. The other fixes
extracting symlinks when the -C option is used. From guenther@
OK krw@
|
|
when extracting a symlink whose value is absolute or contains ".."
components, just create a zero-length normal file (with additional
tracking of the mode and hardlinks to the symlink) until everything
else is extracted, then go back and replace it with the requested
link (if its still that zero-length placeholder).
This and previous symlink and ".." path fixes prompted by a report
from Daniel Cegielka (daniel.cegielka (at) gmail.com)
ok millert@
|
|
strip everything up to and including the last of them (if it ends in ".."
then it becomes ".")
This mostly follows GNU tar's behavior, except for 'tar tf' and 'tar xvf'
we report the modified path that was actually created instead of the raw
path from the archive
ok w/tweak millert@, deraadt@
|
|
ok millert@ deraadt@
|
|
For directories whose times or mode will be fixed up in the clean-up pass,
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 sthen@ millert@
|
|
restoring mode and times: ..." (and an error exit code, which breaks at least
building ports). krw@ agrees.
|
|
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@
|
|
by the memcpy() overlap check.
ok millert@ deraadt@
|
|
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)
|
|
|
|
|
|
|
|
Eliminate a couple unneeded #includes
|
|
|
|
found with the new mandoc(1) MANDOCERR_AN_MISSING warning;
no text changes
|
|
|
|
|
|
|
|
|
|
ok 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@
|
|
|
|
ignoring signals when they were already ignored
ok millert@
|
|
truncated reads. Until better detection of that case can is implemented,
back out that part of rev 1.45
problem noted by sthen@
|
|
that are walked by routines called from the signal handler and use
dprintf() instead fprintf() in ar_close().
ok millert@
|
|
program was used but it didn't exit successfully.
Original diff by mpf@
|
|
|
|
|
|
whack a dose of unneccessary Em;
ok millert
|
|
|
|
problem noted by miod@
ok krw@ millert@
|
|
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@
|
|
Add 'break' accidentally removed by previous commit and future-proof
format listing by cpio -H
problem noted by naddy@
ok halex@ naddy@
|
|
with -DNOCPIO
- ignore empty entries (millert@, halex@)
- replace bsort with linear scan (guenther@)
ok millert@ guenther@
|
|
zap extra func pointer going to the same routines for all formats.
okay millert@
|
|
|
|
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@
|
|
ok guenther tedu
|