Commit Graph

346 Commits

Author SHA1 Message Date
snj
a640fe8c43 It's "its." 2006-04-24 19:00:29 +00:00
christos
c5d25686e0 PR/22995: Sergey Svishchev: If we are cd'ing around and we have directories
with relative paths, convert the directories to absolute paths, so that
restoring timestamps does not fail.
2006-04-16 16:20:21 +00:00
christos
6236eeb27a Don't free str; it is used in pat_add. Noted by: Kouichirou Hiratsuka 2006-04-14 16:57:01 +00:00
christos
a8846ec5ac Coverity CID 2734, 2731: Use after free; resource leak 2006-03-19 19:06:39 +00:00
christos
ee17e957e3 Coverity CID 343: Rework code so that we don't write after the end of the
array. The end effect is the same though.
2006-03-18 05:43:47 +00:00
christos
2ed09657c9 Coverity CID 345: Add missing free's. 2006-03-18 05:40:28 +00:00
dsl
b419a25464 Ensure we exit with an error if we don't actually do anything.
There are a lot of tty_warn(0,...) and syswarn(0,...) which probably ought
to be tty_warn/syswarn(1,...) to force an error exit.  However some are
used in interactive parts (eg opening a continuation archive) where there
is a separate retry loop.
So we just pass a failure code out to main() - how quaint!
This should now cause the NetBSD build to fail when gzip tries to write
to a non-existant directory.
(I suspect there are still many errors that don't get reported correctly.)
2006-02-11 11:04:57 +00:00
dsl
cdec4ac10c Change all the 'return(x)' to 'return c'.
Makes some other searches I want to do a bit easier.
2006-02-11 10:43:17 +00:00
dsl
885e558785 Actually exit with error if we cannot open("."), make it more obvious that
we exit with error on signals.
2006-02-11 10:35:19 +00:00
christos
ef3fea8531 Solaris mkdir on an automounted component returns ENOSYS. Go figure.
Good choices whould have been EROFS, EEXIST, EACCES, EISDIR...
2006-01-31 19:25:20 +00:00
yamt
d2169f9f6e obey umask as it used to be before the "mkstemp and then rename" change. 2006-01-04 22:02:11 +00:00
christos
d0d28f16f5 If we get EACCES from mkdir, try to stat() it, and if it is ok, we keep going.
Fixes problem with IRIX.
2005-12-06 19:11:15 +00:00
christos
c952ef6b81 PR/31923: Sergey Svishchev: pax-as-tar ignores -k, overwrites existing files
Fix from Onno van der Linden
2005-11-01 23:43:27 +00:00
dsl
469d38dbae Don't leave arcn->org_name pointing to ftent->fts_path, if we being cpio
then ftent is freed just below.  Take a copy of the name and point org_name
at the copy.
Should fix PR/30627 (the fix in the PR will break pax and tar!)
2005-09-24 17:05:21 +00:00
christos
88ee54d8c2 Check for another race reported by chuq. 2005-09-18 12:15:41 +00:00
christos
b39d90de0c mkdir(2) can return EISDIR for / 2005-09-17 06:05:04 +00:00
christos
5b36787563 spelling fixes from Joerg Sonnenberger 2005-09-16 17:05:14 +00:00
christos
b60b306ef2 Another missing mkdir() race pointed out by chuq. Factor out the mkdir code. 2005-09-16 16:48:18 +00:00
christos
0743a9e845 use stat and not lstat to detect if we have a directory. refactor the mkpath()
code.
2005-09-13 20:09:55 +00:00
christos
929821126f when creating directories, check if the failure occured because someone
else created the directory before we did to avoid races. From chuq.
2005-09-13 15:50:17 +00:00
wiz
49c862f011 Use better section header. Sort sections. From YOMURA Masanori in private mail. 2005-09-11 23:21:17 +00:00
wiz
553e3c8477 Use better section header. From YOMURA Masanori in private mail. 2005-09-11 23:13:03 +00:00
christos
d7df71ba0e Don't compile in cpio usage, if we are SMALL. 2005-06-29 02:21:27 +00:00
christos
6310b59691 sprinkle a little const, and now everything compiles with WARNS=3 2005-06-26 19:10:48 +00:00
chs
7bbdd188e1 appease gcc -Wuninitialized on hp700. 2005-06-05 19:08:28 +00:00
lukem
aab85a0fd4 appease gcc -Wuninitialized 2005-06-01 15:25:51 +00:00
wiz
6599ec1bca Bump date for -no-recursion. 2005-05-24 00:05:01 +00:00
christos
4e0ae89b44 Don't even declare fdochroot() if we are in tool mode. 2005-05-22 17:41:50 +00:00
christos
a1484a9949 be more lenient on the comparison to argv[0] to determine our personality. 2005-05-15 02:04:30 +00:00
christos
398a081644 Allow writing symlinks that point outside our tree, but not traversing
them to write other files.
2005-05-14 18:49:51 +00:00
christos
8dcba5679e PR/30167: J.T. Conklin: NetBSD tar does not support GNU tar --no-recursion flag 2005-05-07 22:27:33 +00:00
jmc
6ae4f78197 Wrap call to fchroot in CONFIG tests so this doesn't blow up on cross-tools 2005-05-06 16:49:25 +00:00
christos
0a6f2d385f PR/30132: Juan RP: tar --chroot refuses to extract files.
fchroot() changes the effective path, so we need to call updatepath().
2005-05-05 14:54:49 +00:00
christos
33cefcde7e PR/29005: Jesse Off: nbpax requires sys/mtio.h which doesn't exist on Interix
I added an ifdef called HAVE_MTIO_H and fixed the code to use it. It is
always defined now, but you can change this for Interix.
2005-05-01 02:59:28 +00:00
christos
13d863367b Pax longopts were not empty element terminated. 2005-04-24 03:39:26 +00:00
christos
14f615efd9 If we cannot resolve a path, that probably means that we have not created
directories for that path yet. So, do the check for each component recursively
and succeed if none of the components fall outside our current working
directory.
2005-04-24 03:36:54 +00:00
christos
bc5cd54e43 PR/20228: Simon Burge: pax has problems reading a particular cpio archive
The problem here is that the archive is too short (< 512 bytes). The
buffer routines, try to read at least 512 bytes, even when we try to determine
what format file we have, which is wrong.
2005-04-24 03:26:03 +00:00
christos
15ea30eb09 PR/18759: FUKAUMI Naoki: pax/tar dot-dot handling broken
PR/18840: Frederick Bruckman:  Fix for PR/18663 incomplete pax symlink handling

This patch makes ``--insecure'' do something. Now if ``--insecure''
is not set (the default) we do a realpath(3) in all the pathnames
that we are trying to create and if either realpath fails, or the
path is outside our working directory, we print a warning and die.
This maybe too strict and might fail on valid archives that create
symlinks and directories in the wrong order.
2005-04-24 01:45:03 +00:00
christos
06a1f6e7f2 For clarity instead of using -1 and -2 use the negative of the archive type. 2005-04-24 01:24:57 +00:00
christos
71c0f67846 PR/20071: Perry Metzger: --extract handling is broken. This patch fixes
Perry's example.
2005-04-24 01:23:21 +00:00
christos
128abffcbe The quagga-0.98.2 tar archive is busted. It was created with an old tar
program, and then someone appended to it a ustar record. Detect this and
warn, but don't treat it as an error.
2005-02-20 07:35:47 +00:00
jmc
4dca8bd51e Fix from PR#29290. Properly terminate the cpio_longopts struct so an unknown
option doesn't run off the end and core dump
2005-02-10 17:48:33 +00:00
matt
f57592cd95 Don't write hardlinked file contents in sv4cpio mode. 2005-02-04 00:38:15 +00:00
jmc
94eaa31771 Apply user supplied patterns first before applying actions for -A. This way pax
behavior WRT to patterns lines up with the example in the documentation
and how other implementations do it as well since -A is a non-standard
option/behavior. Fixes items noted in PR#23776
2005-01-23 06:19:03 +00:00
dsl
3b8851c887 Check for *ptr == 0, not ptr == NULL twice when validating -s xxxxx in tar mode.
Fixes PR bin/29040
Also actually report an error to the tty if NET2_REGEX is defined.
2005-01-21 20:23:44 +00:00
tron
addf1a0f97 Fix broken cpio(1) option handling:
- "cpio -i -t" should list the contents of a file, not extract it.
- Don't extract a file when only option "-d" is given.
Patch supplied by Paul Ripke in PR bin/26513.
2004-10-26 16:11:49 +00:00
jmc
79308267d4 For HOSTTOOL builds, just exclude the chroot support as it's not needed and
avoids having to platform check for fchroot(). Fixes PR#27336
2004-10-22 21:00:18 +00:00
wiz
7faf3dc435 English improvement (remove "be"). 2004-10-20 23:48:01 +00:00
dsl
74db501288 Update date - before wiz complains 2004-10-17 18:53:59 +00:00
dsl
7404af49b7 Improve error reporting for invalid tar archives. 2004-10-17 18:51:29 +00:00