Commit Graph

40 Commits

Author SHA1 Message Date
delphij
457a4abaaa Do not emit size for non-regular files. There is nothing that
mtree(1) can do in this situation and would cause confusion.

MFC candidate.

Approved by:	re (hrs)
2013-09-12 00:14:25 +00:00
ed
543b5e901b 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
kientzle
1f959f94f1 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
tobez
33bcab2805 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
phk
3208862660 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
phk
acdc44bfa7 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
phk
142640c5de Do not emit comments when -n is specified. 2004-01-08 22:21:45 +00:00
phk
a88a9d9e80 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
phk
039259050d 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
phk
d17fa4e775 Remove clause 3 in the copyrights (according to permission in src/COPYRIGHT)
Remove trailing whitespace.
2003-10-21 08:27:05 +00:00
phk
b8f582b886 Remove "register" keywords.
Use newspeak functions definitions.
2003-10-21 07:58:52 +00:00
obrien
7293a24a2b Use __FBSDID over rcsid[]. Protect copyright[] where needed. 2003-05-03 21:06:42 +00:00
robert
f0edd7ef8f - 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
wollman
aa09d8b564 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
des
e0ecf9a222 Get rid of %qd, and unbreak Alpha build. 2002-07-15 12:17:31 +00:00
alfred
5071cb67d9 fixup for WARNS=4. 2002-07-11 18:42:53 +00:00
alfred
c40ae61c8c de-__P() 2002-07-11 18:31:16 +00:00
alfred
197cf7d2ba Assume __STDC__, remove non-__STDC__ code. 2002-05-28 19:23:47 +00:00
kris
38cc36696a Mark a static function as __printflike()
MFC After:	1 week
2001-07-05 07:52:56 +00:00
phk
42e3d092ba 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
joe
8de98cc2fa Switch over to using the new fflagstostr and strtofflags library calls. 2000-06-17 14:19:33 +00:00
wollman
198f09c649 Give mtree the ability to exclude files and directories from its traversal.
PR:		16944
2000-05-12 03:03:00 +00:00
joe
f1a9497df5 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
joe
2d2f34a6b0 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
billf
f3e2a0e313 -Wall fixes.
Submitted by:	nrahlstr
1999-09-27 00:36:03 +00:00
peter
efabb9ccb1 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
wollman
2c2e09fe90 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
jkoshy
6d86b58d3a 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
jkoshy
c93a7d05cf 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
bde
aaeb261fcc Fixed printf format errors. 1998-08-02 14:41:34 +00:00
peter
00b7e773c5 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
charnier
c8ef4a7a48 Use err(3) instead of local redefinition. 1997-10-01 06:30:02 +00:00
nate
c6c987075a ts_sec -> tv_sec
ts_nsec -> tv_nsec

Pointed out by:	bde
1996-09-20 04:13:44 +00:00
bde
7eb5058726 Report fts_errno' instead of errno' when the former applies. 1995-07-24 02:50:50 +00:00
phk
1b1b92f5a7 Fix to match new MD5 api, faster. 1995-07-12 09:15:15 +00:00
rgrimes
4f960dd75f Remove trailing whitespace. 1995-05-30 03:57:47 +00:00
wollman
f56d4ade79 mtree * MD5 = better security
Idea from: Dr. John T. Wroclawski
1995-02-10 03:12:42 +00:00
rgrimes
7be4a7b142 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
rgrimes
b98c90be2e 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
rgrimes
862fdf11a2 BSD 4.4 Lite usr.sbin Sources 1994-05-26 05:23:31 +00:00