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
dsl
8317fe1276
Add an option --chroot to tar. Causes it to chroot(".") before doing
...
an extract. With -h this will cause existing absolute symlinks to be treated
as relative to the current directory.
Helps sysinst handle existing symlinks in the target system.
Remove 'L' from the usage (got spilt into 'h' and 'H' many moons ago)
Add 'S' to usage, and put into correct place in options list.
2004-10-17 18:49:55 +00:00
christos
4fbd9df224
PR/27212: Greg A. Woods: Accept "-C <dirname>" inside filelists in addition
...
to "-C\n<dirname>".
But we are not making it the default output option as the patch suggests.
2004-10-10 22:05:26 +00:00
christos
1faaf9a7c2
PR/27213: Greg A. Woods: pax doesn't honour SIGPIPE when listing
...
But always exit, not just on SIGPIPE.
2004-10-10 22:03:08 +00:00
christos
d8cc5bab94
PR/27209: Greg A. Woods: typo in comment in pax/tty_subs.c
2004-10-10 21:54:24 +00:00
christos
37fed2119d
PR/27208: Greg A. Woods: pax must call options() before using syswarn()
...
or tty_warn()
2004-10-10 21:53:23 +00:00
wiz
5107d92cf0
Bump date for -S support.
2004-09-27 07:41:54 +00:00
christos
60cf19985c
PR/19490: Julio Merino: Teach tar about --sparse, -S option.
...
Do it for cpio too.
2004-09-26 23:46:00 +00:00
christos
6885f6ba28
In GNU-tar mode, don't split filenames to prefix+name because GNU tar does
...
not honor it.
2004-09-26 22:49:05 +00:00
christos
d980bf3418
Keep track of the length of the gnu long name/link hack, so that
...
we can append to it. Modify the code so that file_write is re-entrant,
even in the gnu long name/link hack.
The old code assumed that the buffer already contained the necessary
blocks to satisfy the read file request that contained the long
filename. This is not always the case, specially when we are dealing
with pipes which do shorter reads, thus having more probability
that a long file name will fall across a buffer boundary.
To reproduce, create a tar archive with a lot of gnu-long-names
(pkgsrc/devel/libsigc++2 is a good example), do a tar -tf to get
a list of filenames, compress it and do a tar -tzf to get another
list of the filenames. Notice that the two lists differ.
2004-09-22 15:03:18 +00:00
christos
d6bc453dfc
update the comment that documents the fields initialized in the array below.
2004-09-22 14:52:00 +00:00
christos
448fdb0c85
fd can be -1 or -2 for the gnu long name/link hack. So check for >= 0
...
instead of -1 if we need to flush.
2004-09-22 14:51:12 +00:00
hubertf
2fa09966de
Change copyright to 2-clause BSD-copyright.
...
Changed with explicit permission of Thorsten Lockert (tholo sigmasoft com)
2004-09-15 19:45:17 +00:00
tron
ed868bc7f4
Propery handle "cpio" archives where the last hardlink includes the
...
data of a file. This fixes PR bin/26514.
2004-08-22 16:46:18 +00:00
yamt
401d92a0c0
indent fix for the previous (ar_io.c rev.1.43)
2004-08-02 10:20:48 +00:00
yamt
42ad308b8b
for copy mode, show more meaningful infomation on SIGINFO.
2004-07-18 20:58:36 +00:00
christos
71f73d1673
- Grr! unterminated buffer string in exclude destination buffer
...
- fix isfoo() ctype macros to take unsigned char.
2004-07-14 12:41:36 +00:00
christos
0dd4809fb6
remove stray debugging left from last commit.
2004-07-02 16:26:53 +00:00
enami
467ca7e2c8
Salvage the `create parent directories and try again' path which is
...
removed by the previous commit.
2004-07-02 07:17:17 +00:00