Commit Graph

58 Commits

Author SHA1 Message Date
joerg 481188eabd Include time.h for time(2). Sort. 2017-10-02 21:55:35 +00:00
dholland 07c23da28f Don't use the length return from snprintf to write out the result
buffer. If snprintf truncated the output, the length returned will be
greater and we'll write trash. Just call strlen instead. (And since
what we're doing is writing progress messages to the user, checking
carefully for truncation isn't really worthwhile either.)

Spotted when attending to PR 50998 from David Binderman; the issue
there (computation of an unused value) popped up because one of the
prints was already calling strlen.
2016-05-31 03:32:36 +00:00
sevan 7c1a019ea3 From OpenBSD r1.49
Fix comment grammar
2015-03-09 23:38:08 +00:00
joerg 694cb36aee Fix RCS ID. 2014-08-08 14:48:55 +00:00
matt da4f7877a7 Use C89 function definitions 2012-03-20 18:42:28 +00:00
plunky 9f61b80465 NULL does not need a cast 2011-08-31 16:24:54 +00:00
enami 0d5166c3ab Backout previous; it was wrong fix. 2010-08-31 05:07:09 +00:00
enami 15ae718747 Fix build as tools. 2010-08-31 04:50:07 +00:00
enami 6953635557 - Raise an error rather than silently creating broken archive
if user don't specify --force-local but opened file is actually
  a local file.
- Make cpio to accept -F option as described in manpage.
- Make pax to set forcelocal flag if requested to do so.
- Add missing break statement.
2010-08-31 03:16:06 +00:00
dbj 5ae3d13a2f do not require sys/mtio.h for a tools build of pax 2009-02-03 05:22:40 +00:00
christos 702d1ca548 PR/36194: Greg A. Woods: add a '-V' flag to pax for verbose summary without
listing (and other minor fixes)
2007-04-23 18:40:22 +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
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