Commit Graph

39 Commits

Author SHA1 Message Date
Ed Schouten
99742a231f Change all our own code to use st_*tim instead of st_*timespec.
Also remove some local patches to diff(1) which are now unneeded.
2010-03-28 13:16:08 +00:00
Tim Kientzle
9feaf24750 Write timestamps with exactly 9 digits after the period.
This ensures that the value written is both compatible with
older mtree versions (which expect the value after the period
to be an integer count of nanoseconds after the whole second)
and is a correct floating-point value.

Leave the parsing code unchanged so it will continue to read
older files.
2009-01-31 05:17:28 +00:00
Anton Berezin
b6a9d20adc Adds sha256 support. While it is a good idea to also add sha384 and
sha512, I did not do that since it is not entirely clear where "the one
true place" to hold their implementations is going to be.  Sha256 is
different since mtree already links against libmd.

Make recommended procedure for integrity checking in the manpage
consistent.

Fix a bug with -f spec1 -f spec2 comparison, which prevented
test/tes03.sh from running successfully.

Reviewed by:	phk, cperciva
2005-03-29 11:44:17 +00:00
Poul-Henning Kamp
5e4b861c50 Get rid of "lineno: 0" in error messages from create mode.
Add -w(arning) flag which makes failure to look up uid/gid
a nonfatal warning instead of an error.
2004-01-11 19:38:48 +00:00
Poul-Henning Kamp
d8e4c710eb collect all "extern bla" stuff in extern.h in order to get cross-file
type checking.  No bugs found.
2004-01-11 19:25:56 +00:00
Poul-Henning Kamp
ed283fb506 Do not emit comments when -n is specified. 2004-01-08 22:21:45 +00:00
Poul-Henning Kamp
11333b51ca Take advantage of the fact that we know the err(3) function does not
return to eliminate some else clauses and gain some "outdenting".
2003-11-05 20:05:05 +00:00
Poul-Henning Kamp
d474d12b52 Fix bug in mtree(8)'s create mode where files or directories with had
names containing glob(3) expressions would appear verbatim in the
output.

If such an mtree file were used by mtree in update mode, wrong things
would happen.
2003-10-30 10:48:43 +00:00
Poul-Henning Kamp
3206e56993 Remove clause 3 in the copyrights (according to permission in src/COPYRIGHT)
Remove trailing whitespace.
2003-10-21 08:27:05 +00:00
Poul-Henning Kamp
4d169ae131 Remove "register" keywords.
Use newspeak functions definitions.
2003-10-21 07:58:52 +00:00
David E. O'Brien
b728350ee6 Use __FBSDID over rcsid[]. Protect copyright[] where needed. 2003-05-03 21:06:42 +00:00
Robert Drehmel
0357726594 - Align the function prototype of the external `crc' function with
how `crc' is actually defined.
 - Remove an unnecessary `extern' variable declaration.
Data type corrections:
 - Define a variable which contains a file byte offset value as type
   off_t as required by the `crc' function.
 - Change the type of a variable carrying a CRC checksum from `u_long'
   to `uint32_t'.
 - Substitute the wrong `extern' variable declaration of `crc_total'
   by putting a correct one in the shared header extern.h.
   `crc_total' is defined as an `uint32_t', thus fixing
   incorrect mtree checksums on big-endian LP64 machines.
2003-03-13 23:35:30 +00:00
Garrett Wollman
0d3bcc2e80 Make the threatened fts(3) ABI fix. FTSENT now avoids the use of the struct
hack, thereby allowing future extensions to the structure (e.g., for extended
attributes) without rebreaking the ABI.  FTSENT now contains a pointer to the
parent stream, which fts_compar() can then take advantage of, avoiding the
undefined behavior previously warned about.  As a consequence of this change,
the prototype of the comparison function passed to fts_open() has changed
to reflect the required amount of constness for its use.  All callers in the
tree are updated to use the correct prototype.

Comparison functions can now make use of the new parent pointer to access
the new stream-specific private data pointer, which is intended to assist
creation of reentrant library routines which use fts(3) internally.

Not objected to in spirit by: -arch
2002-09-21 01:28:41 +00:00
Dag-Erling Smørgrav
b3f379f65f Get rid of %qd, and unbreak Alpha build. 2002-07-15 12:17:31 +00:00
Alfred Perlstein
67d357f89b fixup for WARNS=4. 2002-07-11 18:42:53 +00:00
Alfred Perlstein
d89167b4ea de-__P() 2002-07-11 18:31:16 +00:00
Alfred Perlstein
16d8455dcc Assume __STDC__, remove non-__STDC__ code. 2002-05-28 19:23:47 +00:00
Kris Kennaway
4567c8651d Mark a static function as __printflike()
MFC After:	1 week
2001-07-05 07:52:56 +00:00
Poul-Henning Kamp
bd39966d9b Make the output of mtree(8) more systematic and machine readable.
The new format is:

        filename        {changed,missing,extra}
                $field expected $foo found $bar
                ...

Fix various bugs along the way:
        Don't complain about directory sizes differing.
        Correctly check flags.
2000-10-03 13:13:47 +00:00
Josef Karthauser
141d77b8cb Switch over to using the new fflagstostr and strtofflags library calls. 2000-06-17 14:19:33 +00:00
Garrett Wollman
dc785636aa Give mtree the ability to exclude files and directories from its traversal.
PR:		16944
2000-05-12 03:03:00 +00:00
Josef Karthauser
18c0eeddf7 Historically file flags (schg, uschg, etc) have been converted from
string to u_long and back using two functions, flags_to_string and
string_to_flags, which co-existed with 'ls'.  As time has progressed
more and more other tools have used these private functions to
manipulate the file flags.

Recently I moved these functions from /usr/src/bin/ls to libutil,
but after some discussion with bde it's been decided that they
really ought to go in libc.

There are two already existing libc functions for manipulating file
modes:  setmode and getmode.  In keeping with these flags_to_string
has been renamed getflags and string_to_flags to setflags.

The manual page could probably be improved upon ;)
2000-01-27 21:17:01 +00:00
Josef Karthauser
68bc9a5737 Added support for file flags, mostly merged from the NetBSD version.
The way is now open to schg and sappnd key files and directories in
our tree.  There are recommendations in bin/15229.

PR:		bin/15229
Reviewed by:	imp, brian
1999-12-09 20:38:36 +00:00
Bill Fumerola
a590ad80ac -Wall fixes.
Submitted by:	nrahlstr
1999-09-27 00:36:03 +00:00
Peter Wemm
97d92980a9 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
Garrett Wollman
2c2bc092fa Add support for SHA-1 and RIPEMD160, now that libmd includes them. Make
all of the hashes (including MD5) conditionalized in case we want
to turn one of them off later.
1999-02-26 18:44:56 +00:00
Joseph Koshy
60adf819d2 Move to a uniform '\ooo' (VIS_OCTAL) encoding for special characters.
The previous commit broke mtree(8) when file names using certain 8-bit
characters ended up being encoded with '/', '*', and other shell
metacharacters.

PR:			bin/9538
Submitted by:		"Eugene M. Kim" <astralblue@usa.net>
Reviewed by:		jkoshy
Bug-missed-last-time-by: jkoshy
1999-01-18 06:58:25 +00:00
Joseph Koshy
610481bce5 Teach mtree(8) to handle whitespace in filenames. Uses strvis(3).
PR:		bin/3246
Submitted by:	Eugene M. Kim <astralblue@usa.net>
Reviewed by:	jkoshy, wollman
1999-01-12 02:58:23 +00:00
Bruce Evans
92f896a9cc Fixed printf format errors. 1998-08-02 14:41:34 +00:00
Peter Wemm
7840cfdd8b Create a new flag, "nochange", which will specify that a directory is
to be created if it's missing, otherwise completely ignore it's modes and
owners.  Primary intended targets:  /usr/src and /usr/obj.

Adjust the 'not created: File exists' message to mention that it's a
directory that's the problem, otherwise it doesn't make sense.

I had created chown-style  -L and -P flag to control logical/physical mode
(ie: whether symlinks were followed), but the nochange flag is enough to
get the blasted thing out of my hair so I took them back out.
1998-06-05 14:43:42 +00:00
Philippe Charnier
de1ef5eb94 Use err(3) instead of local redefinition. 1997-10-01 06:30:02 +00:00
Nate Williams
2514dd6975 ts_sec -> tv_sec
ts_nsec -> tv_nsec

Pointed out by:	bde
1996-09-20 04:13:44 +00:00
Bruce Evans
03aec1f65b Report fts_errno' instead of errno' when the former applies. 1995-07-24 02:50:50 +00:00
Poul-Henning Kamp
9010366de8 Fix to match new MD5 api, faster. 1995-07-12 09:15:15 +00:00
Rodney W. Grimes
709e8f9ae1 Remove trailing whitespace. 1995-05-30 03:57:47 +00:00
Garrett Wollman
8075d17ee2 mtree * MD5 = better security
Idea from: Dr. John T. Wroclawski
1995-02-10 03:12:42 +00:00
Rodney W. Grimes
5104ed9c4a My optimization to eliminate /set records was a little too aggressive, it
optimized away the first one :-(.
1994-09-19 01:32:57 +00:00
Rodney W. Grimes
10c4c64eb7 1. Remove commented out CFLAGS+=-DDEBUG from Makefile
2.  Clean up code so it compiles -Wall (except for sccsid's and copyright).
    This included fixing several printf formats that where not correct,
    and changing the data types of a few things.

3.  Implement new option -i that produces indented mtree output files.

4.  Implement new option -n that turns off directory comments.

5.  Only emit /set records if something has changed since the last one.
1994-09-18 21:17:40 +00:00
Rodney W. Grimes
dea673e932 BSD 4.4 Lite usr.sbin Sources 1994-05-26 05:23:31 +00:00