Commit Graph

46 Commits

Author SHA1 Message Date
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
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
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
6b1f699323 don't keep going if -C failed to chdir(); from OpenBSD 2004-06-21 13:38:51 +00:00
jmc
b2f782612f Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')

Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).

Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.

Fixes PR's: PR#17762 PR#25944
2004-06-20 22:20:14 +00:00
christos
5820cbfaf6 Welcome to WARNS=3 2004-05-11 17:12:26 +00:00
lukem
171d653219 Overhaul how `build.sh tools' are used:
*	Rename "config.h" to "nbtool_config.h" and
	HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
	This makes in more obvious in the source when we're using
	tools/compat/config.h versus "standard autoconf" config.h

    *	Consistently move the inclusion of nbtool_config.h to before
    	<sys/cdefs.h> so that the former can provide __RCSID() (et al),
    	and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
	#if HAVE_NBTOOL_CONFIG_H
	#include "nbtool_config.h"
	#endif
to the top of the source files (for the general case).
2003-10-27 00:12:41 +00:00
agc
ed6ed8e698 Move Keith Muller's code from a 4-clause to a 3-clause licence by removing
the advertising clause. Diffs provided in PR 22397 by Joel Baker, confirmed
to the board by Keith Muller.
2003-10-13 07:41:22 +00:00
grant
0faf575771 wait for compression program to finish before exiting.
fix races condition resulting in a zero length archive after pax
exits.

patch from OpenBSD, provided by Joerg Sonnenberger in PR bin/22740.
2003-09-18 09:18:24 +00:00
agc
b5b2954259 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22249, verified by myself.
2003-08-07 09:05:01 +00:00
christos
00e1c042e9 Detect and report end of archive properly ala' gnu tar. 2003-03-31 20:24:52 +00:00
christos
2cdcd6cab2 RP/8227: Peter Seeback: Emulate old gnu tar better. 2003-03-31 20:06:33 +00:00
wiz
e04df3a3d6 Add support for '-j' to create (and extract, but -z already did that)
bzip2 compressed tar files, for GNU tar compatibility.
Patch from Soren Jacobsen in PR 19467, okayed by christos.
Sync usage with options while here.
2003-02-25 13:36:59 +00:00
grant
d1391f9f9d cosmetic error condition improvements.
- sprinkle some fflush() to print filenames correctly.
- print a \n to stdout to fix formatting.
- English, consistently use "Cannot" in error messages.

some whitespace cleanup.
2003-02-09 18:27:10 +00:00
wiz
3ac7ce187d Fix various spelling, grammar, and punctuation problems in comments, from Sergey Svishchev in PR 20164. 2003-02-02 10:21:13 +00:00
christos
d4ba6227bf fix horrible side effect introduced by changing the append mode into archive.
The append mode already did that, so we always ended up overwriting the archive.
2002-12-12 05:00:42 +00:00
christos
8461b5b85f PR/19339: Martin Weber: Tar fails to append on empty files and exits with
0. Revert previous change for PR/18689. We always want to exit with
an error if we could not determine the archive format. Instead,
treat empty files specially. On list/extract we turn into no/op.
On append, we turn into archive.
2002-12-10 18:33:26 +00:00
grant
de04ce3463 don't print archive summary twice. 2002-12-05 01:38:05 +00:00
christos
f70dfaaf73 Support gnu long filename extensions by default for tar on create, list, and
extract. We now generate GNU tar archives by default ("ustar  ^@" instead of
"ustar^@00"). GNU extensions can be disabled with --strict.

XXX: long symlinks untested.
2002-10-16 03:46:07 +00:00
christos
cd1f9fe466 If the archive refers to stdin, the archive's name is null. Check for
null when we see if it refers to a remote file. From Eric Gillespie, thanks!
2002-10-13 17:19:33 +00:00
thorpej
6fe78b30af Only include <rmt.h> if SUPPORT_RMT. 2002-10-12 19:21:12 +00:00
thorpej
32c48247e8 It doesn't help much to skip linking librmt if HOSTPROG but leave
all the librmt calls in the program.  So, make librmt support conditional
on #ifdef SUPPORT_RMT, and define that when NOT building as a HOSTPROG.
2002-10-12 18:49:28 +00:00
christos
0c61202168 merge OpenBSD changes:
- correct -C processing
    - add ability to read filenames and flags from a file
    - don't print dangerous escape sequences to the terminal
    - use strlcpy/strncpy properly.
    - handle tmpfile creation better.
    - improve documentation of options.
    - handle stdout/stderr list selection correctly.
    - kill gzip when we get interrupted.
    - simplify gzip setup.
    - add more flags to programs.

additional changes:
    - librmt processing.
    - set POSIXLY_CORRECT in options parsing.
    - prevent more string overruns.
    - support -T

we don't turn the switch on to replace tar and cpio yet.
2002-10-12 15:39:29 +00:00
tv
47b0d14e39 Protect __RCSID and __COPYRIGHT from being invoked if not defined. 2002-01-31 19:27:53 +00:00
tv
a328e34106 Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
2002-01-29 10:20:28 +00:00
lukem
c1bd745ccb - ansi KNF (just remove all the #ifndef __STDC__ prototype junk,
leaving the ansi stuff)
- use longlong_t instead of quad_t (etc), and rename *uqd*() -> *ull*()
- clean up the NET2_STAT stuff similar to ftpd; provide #defines and
  macros which select which cast to use, etc
- clean up the NET2_FTS and NET2_REGEX #define use
2001-10-25 05:33:32 +00:00
wiz
456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
thorpej
d0666190e1 Add a -O option: force one volume. This causes pax to not prompt for
a new volume upon premature end-of-volume (e.g. broken pipe).  This is
especially useful in automated environments where error recovery cannot
be performed by a human.
2000-03-30 17:53:04 +00:00
itohy
f8adf56da0 Cleanup and fix typos.
Partially from FreeBSD.
2000-02-17 03:12:22 +00:00
itohy
fae63d9627 Use lseek(2) on devices if not tape drives.
This makes listing on raw disk device much faster.
Reviewed and discussed in tech-kern and tech-userlevel lists.
2000-02-17 03:08:40 +00:00
itohy
ba0ae447ef Fix SIGINFO botch (PR #8868).
Continue partial write(2) on signals (xwrite()).
Partial read(2) at a few places are also continued (xread()).

Add {read,write}_with_restart() hooks for porting on systems
which don't restart interrupted read()/write() calls.

Reviewed and discussed in tech-kern and tech-userlevel lists.
2000-02-17 03:06:12 +00:00
is
e413a4ff50 Implement positional -C argument to tar. 1999-10-22 20:59:08 +00:00
christos
789b715904 Add SIGINFO support. 1999-03-03 18:06:52 +00:00
christos
f07f96ffab Fix problem compiling when NET2_STAT is defined. 1998-11-04 19:40:13 +00:00
christos
7bd45f99ac make printf formats conservative 1998-11-04 19:37:56 +00:00
tv
af575980ab Transparently handle old-style GNU tar archives that may have garbage in
the trailing block and do not have an end-of-archive marker.  (Does this
handling based on whether the ustar id is "ustar" or "ustar  ".)
1998-08-10 22:34:59 +00:00
mycroft
dbfa4f81b0 __AUDIT__ cleanup. 1998-07-27 16:43:25 +00:00
mrg
51fc9487fd - implement -C and -l for pax-as-tar, as inspried by GNU tar.
- minor cleanups to the options parsing code.
- add a cpio frontend.

note:  a few GNU/svr4 cpio options are not supported yet (#ifdef
notyet), however all x/open ones are.
1998-03-06 09:13:01 +00:00
christos
f3cd602281 - Rename local warn so tty_warn that we can include <err.h> since this program
uses err() and errx().
- Fix printf format strings.
- Added WARNS=1; note
- Added missing prototypes.
- Split overloaded trail function into trail() and subtrail().
1997-07-20 20:32:15 +00:00
tls
48250187e6 kill 'register' 1997-01-11 02:04:27 +00:00
mrg
7f64ea0365 impliment -z (gzip) in pax and tar, and -Z (compress) in tar. 1996-03-26 23:54:13 +00:00
cgd
49f0ad8601 convert to new RCS id conventions. 1995-03-21 09:01:59 +00:00
mycroft
8c95c5f91f Fix up RCS ids. 1994-06-14 00:40:58 +00:00
jtc
7d76b00baf Add RCS ID's 1994-06-13 16:33:34 +00:00
jtc
8b35abe2bf From 4.4 lite 1994-06-13 16:13:35 +00:00