History log of /src/usr.sbin/mtree |
Revision | Date | Author | Comments |
1.34 | 03-Feb-2013 |
christos | add the ability to only output paths included in a spec file when creating from a directory (-c)
|
1.33 | 05-Oct-2012 |
christos | Implement FreeBSD's -f spec1 -f spec2 spec comparision function. This is more useful than -C and diff because it highlights the keys that have changed value so for example, you can see that the size of a file has not changed but the contents have. (brooks)
|
1.32 | 22-Apr-2009 |
lukem | branches: 1.32.6; 1.32.12; Enable WARNS=4 by default, except for: cpuctl dumplfs hprop ipf iprop-log kadmin kcm kdc kdigest kimpersonate kstash ktutil makefs ndbootd ntp pppd quot racoon racoonctl rtadvd sntp sup tcpdchk tcpdmatch tcpdump traceroute traceroute6 user veriexecgen wsmoused zic (Mostly third-party applications)
|
1.31 | 12-Dec-2007 |
christos | branches: 1.31.12; warns=4
|
1.30 | 16-Dec-2006 |
bouyer | branches: 1.30.4; Don't depend on lubutil if we're building host tools. Fix tools build on non-NetBSD hosts.
|
1.29 | 14-Dec-2006 |
he | Complete the move of string_to_flags() and flags_to_string() from the bin/ls sources to libutil: o Bump libutil minor version number o Fix uses to include <util.h> to pick up the function definitions o Fix most uses of flags_to_string() to release the now-malloc()ed result
|
1.28 | 14-Dec-2006 |
he | The "#ifdef UNUSED_BLOCK" in stat_flags.c wasn't so unused after all -- it was used by the mtree source. So, instead do an "#ifdef MTREE", and define that one when building mtree.
|
1.27 | 09-Apr-2005 |
dsl | WARNS=3 seems to work for me
|
1.26 | 18-May-2003 |
lukem | Now that <bsd.prog.mk> DTRT if HOSTPROG is defined (i.e, it is a no-op), there's no need to special-case .include-ing it.
|
1.25 | 30-Nov-2002 |
lukem | tweaks for fparseln(3) move from libutil to libc: - remove #include <util.h> if nothing else needed it - remove LDFLAGS+=-lutil if nothing else needed it
|
1.24 | 18-Sep-2002 |
lukem | use NETBSDSRCDIR as appropriate
|
1.23 | 29-Jan-2002 |
tv | Add hooks to make mtree compilable from src/tools.
|
1.22 | 24-Jan-2002 |
lukem | Add '-N dbdir', to specify that user & group lookups (via pwcache(3)) are to be done from dbdir/master.passwd and dbdir/group, using simple text file parsing routines.
|
1.21 | 10-Nov-2001 |
lukem | with local crc.c, don't need usr.bin/cksum in .PATH any more
|
1.20 | 07-Nov-2001 |
lukem | User interface changes from (or inspired by) FreeBSD: - Add -L to walk the tree `logically', by following symbolic links in the heirarchy. - Add -P to walk the tree `physically'. This is the current behaviour, and the default. - Add "-X excludes-file" to give mtree the ability to exclude files and directories from its traversal. excludes-file contains fnmatch(3) patterns to exclude from the walk. - Add "md5digest" synonym for "md5". - Add "rmd160" keyword for RMD-160 message digest, and "rmd160digest" synonym. - Add "sha1" keyword for SHA-1 message digest, and "sha1digest" synonym. - Don't try to compare() other attributes if the type doesn't match; it's nothing but trouble, and no use anyway. - In -c, only emit "/set" records if something has changed since the previous one.
User interface changes by me: - Check a device's parameters before checking uid/gid/mode. - If updating (-u), modify the following to match the specification: - Device type (retaining existing ownership). - Symlink target.
Fixes from (or inspired by) FreeBSD: - Use p->ftslevel instead of own code to keep track of the level ourself. The previous code got majorly confused if fts(3) couldn't descend into a subdir, resulting in leaf nodes getting attached to the wrong directory. XXX: This new method is much much more robust, even though it's not 100% perfect; it might result in a couple of following entries in the spec to be incorrectly tagged as missing. - Pass a useful pathname to rlink(), so that logical (-L) traversal doesn't confuse symlink checking. - Consistently use MAXPATHLEN+1 sized buffers for pathnames, so that there's room for the NUL. - Use mtree_err() and strerror(p->fts_errno) to report errors during the fts(3) walk.
Fixes by me: - Remove now-unused `const char *name' argument from compare(). - Change crc_total from an int to a u_int32_t, to match usr.bin/cksum/crc.c. - Remove trailing whitespace. - Remove unnecessary (void) casts on functions. - Reorder entries in the getopt() switch. - Replace strtoq() with strtoll(), and use strtoul() appropriately. - Renumber F_ flags to be in alphabetical order.
|
1.19 | 18-Oct-2001 |
lukem | complete WARNS=2 cleanup (with a bit of ickiness for the fts_open argv issue)
|
1.18 | 09-Oct-2001 |
enami | Make mtree a host tool and use it when appropriate.
|
1.17 | 09-Oct-2001 |
lukem | Add "device" keyword, which allows the device number to be specified, to be later checked and possibly created. Uses parsing and encoding routines from mknod(8).
|
1.16 | 10-Sep-2001 |
lukem | replace home-grown parser with fparseln()
|
1.15 | 07-Dec-1999 |
wennmach | code.c is no longer used, we use strsvis instead. Removed prototypes from extern.h
|
1.14 | 07-Nov-1999 |
wennmach | Encode file names using strvis(3) when creating a specification. Escape white space characters and `#' characters. Do the inverse when reading specs.
This is a temporary fix until we have strzouvis(3) (or some such) which is an improved version of strvis (taking an additional list of characters to encode).
Fixes PR 5006 and PR 7663
|
1.13 | 10-Oct-1998 |
mrg | branches: 1.13.2; 1.13.6; add support for 4.4BSD file flags. we take a `flags=xxx' parameter, using the same style of naming as chflags, ls & xinstall use, plus an additional `none' to turn off a default setting.
|
1.12 | 25-Oct-1997 |
lukem | use CPPFLAGS instead of CFLAGS
|
1.11 | 17-Oct-1997 |
mrg | branches: 1.11.2; merge lite-2
|
1.10 | 08-May-1997 |
gwr | Back out the .PATH.c changes. The .depend problem (and others) will be fixed using the new .NOPATH make feature instead.
|
1.9 | 06-May-1997 |
gwr | Use .PATH.c: ...
|
1.8 | 07-Mar-1995 |
cgd | add NetBSD id's
|
1.7 | 07-Mar-1995 |
cgd | clean up import, fix a few bugs, etc.
|
1.6 | 22-Dec-1994 |
cgd | specify man pages the new way.
|
1.5 | 19-Mar-1994 |
cgd | don't forget the man page. from Luke Mewburn <lm@rmit.edu.au>
|
1.4 | 02-Nov-1993 |
cgd | fix oops
|
1.3 | 02-Nov-1993 |
cgd | latest mtree from uunet. doesn't compile, but that'll be fixed soon. (want to have 'pseudo-virgin' sources, for when fixed fnmatch stuff is released...)
|
1.2 | 30-Jul-1993 |
mycroft | Add RCS identifiers.
|
1.1 | 21-Mar-1993 |
cgd | branches: 1.1.1; Initial revision
|
1.1.1.3 | 27-Apr-1995 |
mrg | 4.4BSD-Lite2
|
1.1.1.2 | 07-Mar-1995 |
cgd | from 4.4-Lite
|
1.1.1.1 | 21-Mar-1993 |
cgd | initial import of 386bsd-0.1 sources
|
1.11.2.1 | 08-Nov-1997 |
lukem | sync with trunk (approved by thorpej)
|
1.13.6.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.13.2.1 | 20-Nov-1999 |
he | Pull up revision 1.14 (requested by wennmach and joda): Make mtree able to properly encode file names with `funny' albeit legal characters (`#', ` ', binary characters), fixing PR#5006 and PR#7663.
|
1.30.4.1 | 09-Jan-2008 |
matt | sync with HEAD
|
1.31.12.1 | 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
1.32.12.2 | 25-Feb-2013 |
tls | resync with head
|
1.32.12.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.32.6.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.32.6.1 | 30-Oct-2012 |
yamt | sync with head
|
1.5 | 07-Dec-1999 |
wennmach | code.c is no longer used, we use strsvis instead. Removed prototypes from extern.h
|
1.4 | 12-Nov-1999 |
wennmach | branches: 1.4.2; Add __RCSID()
|
1.3 | 09-Nov-1999 |
wennmach | Add RCS tag
|
1.2 | 09-Nov-1999 |
drochner | prototype encode()/decode()
|
1.1 | 07-Nov-1999 |
wennmach | Encode file names using strvis(3) when creating a specification. Escape white space characters and `#' characters. Do the inverse when reading specs.
This is a temporary fix until we have strzouvis(3) (or some such) which is an improved version of strvis (taking an additional list of characters to encode).
Fixes PR 5006 and PR 7663
|
1.4.2.2 | 12-Nov-1999 |
wennmach | Add __RCSID()
|
1.4.2.1 | 12-Nov-1999 |
wennmach | file code.c was added on branch netbsd-1-4 on 1999-11-12 14:42:36 +0000
|
1.61 | 05-Dec-2024 |
christos | PR/58875: Jose Luis Duran: Produce consistent checksums in verification by scanning directories in the same order as usual. While here, fix some incorrect types.
|
1.60 | 03-Apr-2021 |
simonb | branches: 1.60.8; Deal with the case when a device gets recreated (eg when mtree is called by MAKEDEV) and the stat buffer contains information about the original device before checking/setting the owner/group/mode of the new device file.
|
1.59 | 18-Mar-2021 |
cheusov | mtree: use POSIX type uint32_t instead of u_int32_t
|
1.58 | 21-Nov-2013 |
christos | From Brooks Davis: When comparing a directory to an mtree file NetBSD mtree has output like this:
xxx: size (4, 5) md5digest (0x6de9439834c9147569741d3c9c9fc010, 0xa5d119ab8edcda0ef7f381da8= f52f92f) =2E/yyy missing
FreeBSD's historical behavior is this:
xxx changed size expected 4 found 5 md5digest expected 6de9439834c9147569741d3c9c9fc010 found a5d119ab8edcda0e= f7f381da8f52f92f =2E/yyy missing
FreeBSD's mergemaster -U command depends on the latter behavior so the following patch alters the freebsd9 mode of mtree to output that format. I don't think programs should rely on this output one way or another since it's clearly meant for humans, but this seems like the easiest short term fix.
|
1.57 | 17-Oct-2013 |
christos | Our <sys/param.h> ends up calling header files that define intmax_t. This should not be the case (but >sys/param.h> is not a standard header so all bets are off). FreeBSD's does not, so explicitly include <stdint.h> to get it.
|
1.56 | 09-Sep-2013 |
christos | use intmax_t instead of long long. fixes wrong cast for time_t.
|
1.55 | 05-Oct-2012 |
christos | account for differences in digest names
|
1.54 | 05-Oct-2012 |
christos | explicitly include <sys/stat.h>
|
1.53 | 05-Oct-2012 |
christos | more const check if we support SHA384 before using (brooks)
|
1.52 | 28-Dec-2008 |
christos | branches: 1.52.8; 1.52.14; fix dev_t formats.
|
1.51 | 04-Feb-2007 |
elad | The hashing routines (MD5File() and co.) can do dynamic allocation, so take advantage of that instead of an ugly hard-coded MAXHASHLEN limit that needs updating.
I think this was suggested by cube@ years ago.
|
1.50 | 14-Dec-2006 |
he | Fix mtree to release the returned strings from flags_to_string() following the move of it from bin/ls to libutil and the change of it to return malloc()ed memory.
|
1.49 | 30-Oct-2006 |
christos | kill crypto/rmd160.h and crypto/sha2.h, and instead make symlinks to /usr/include from /usr/include/sys. This makes all the one way hash header handling identical.
|
1.48 | 24-Sep-2005 |
elad | Use crypto/rmd160.h.
|
1.47 | 02-Sep-2005 |
elad | Use MAXHASHLEN here too.
|
1.46 | 24-Aug-2005 |
elad | Add SHA2 support in mtree.
|
1.45 | 22-Jul-2004 |
lukem | branches: 1.45.2; Implement -M to "merge" entries, even with different types. This can be used in /etc/security to allow special.local to override types of entries in special (e.g, replacing a dir with a link).
Rename Wflag to mtree_Wflag, to be more "external namespace" friendly.
|
1.44 | 20-Jun-2004 |
jmc | 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
|
1.43 | 07-Aug-2003 |
agc | branches: 1.43.2; Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22366, verified by myself.
|
1.42 | 08-Oct-2002 |
lukem | Remove convoluted code to work around missing lch{flags,mod,own}(); instead, rely upon libnbcompat to provide a workaround (which returns an error if the target is a symlink). Should fix another MacOS X build issue due to missing lchown(2).
|
1.41 | 06-Oct-2002 |
lukem | - Check HAVE_LCHFLAGS for lchflags(2) support, rather than assuming that HAVE_STRUCT_STAT_ST_FLAGS implies this. - Set HAVE_LCHFLAGS for native builds - Clean up {CLEAR,SET,CHANGE}FLAGS macros, and only provide if HAVE_STRUCT_STAT_ST_FLAGS is set.
(Fixes compilation as a tool on MacOS X, noted by Allen Briggs.)
|
1.40 | 08-Feb-2002 |
tv | Funtion appropriately in the absence of a lchmod call on the host.
|
1.39 | 04-Feb-2002 |
lukem | - use lch*() instead of ch*() to change permissions, so that links in the specfile don't confuse things. doesn't affect the default (physical) operation, and shouldn't affect logical either. - slightly rework how miss() is implemented so that duplicated code is reduced and links may optionally have a mode, uname and/or gname.
|
1.38 | 31-Jan-2002 |
tv | Protect __RCSID and __COPYRIGHT from being invoked if not defined.
|
1.37 | 29-Jan-2002 |
tv | Add hooks to make mtree compilable from src/tools.
|
1.36 | 10-Nov-2001 |
lukem | provide the ability to remove support for generating or checking various digests by #define-ing NO_MD5, NO_RMD160, or NO_SHA1. the keywords are still parsed.
|
1.35 | 09-Nov-2001 |
lukem | Generally don't need the extra byte in MAXPATHLEN sized buffers, because pathnames are guaranteed by POSIX to be MAXPATHLEN-1 bytes long. Kindly pointed out by Warner Losh in private email.
|
1.34 | 07-Nov-2001 |
lukem | User interface changes from (or inspired by) FreeBSD: - Add -L to walk the tree `logically', by following symbolic links in the heirarchy. - Add -P to walk the tree `physically'. This is the current behaviour, and the default. - Add "-X excludes-file" to give mtree the ability to exclude files and directories from its traversal. excludes-file contains fnmatch(3) patterns to exclude from the walk. - Add "md5digest" synonym for "md5". - Add "rmd160" keyword for RMD-160 message digest, and "rmd160digest" synonym. - Add "sha1" keyword for SHA-1 message digest, and "sha1digest" synonym. - Don't try to compare() other attributes if the type doesn't match; it's nothing but trouble, and no use anyway. - In -c, only emit "/set" records if something has changed since the previous one.
User interface changes by me: - Check a device's parameters before checking uid/gid/mode. - If updating (-u), modify the following to match the specification: - Device type (retaining existing ownership). - Symlink target.
Fixes from (or inspired by) FreeBSD: - Use p->ftslevel instead of own code to keep track of the level ourself. The previous code got majorly confused if fts(3) couldn't descend into a subdir, resulting in leaf nodes getting attached to the wrong directory. XXX: This new method is much much more robust, even though it's not 100% perfect; it might result in a couple of following entries in the spec to be incorrectly tagged as missing. - Pass a useful pathname to rlink(), so that logical (-L) traversal doesn't confuse symlink checking. - Consistently use MAXPATHLEN+1 sized buffers for pathnames, so that there's room for the NUL. - Use mtree_err() and strerror(p->fts_errno) to report errors during the fts(3) walk.
Fixes by me: - Remove now-unused `const char *name' argument from compare(). - Change crc_total from an int to a u_int32_t, to match usr.bin/cksum/crc.c. - Remove trailing whitespace. - Remove unnecessary (void) casts on functions. - Reorder entries in the getopt() switch. - Replace strtoq() with strtoll(), and use strtoul() appropriately. - Renumber F_ flags to be in alphabetical order.
|
1.33 | 25-Oct-2001 |
lukem | Add -W: don't attempt to change the perms/time/flags on existing entries, nor set them when creating new directories. (AKA the ``don't whack'' option). Concept suggested by Todd Vierling.
|
1.32 | 22-Oct-2001 |
lukem | - enforce the top-most entry must be "." and must be a directory; avoids various potential problems when intermixing full and relative paths - changes to make it much easier to use spec() - the specfile parser - in other programs (via .PATHing spec.c and misc.c): - move excludetags, includetags and keys from mtree.c to misc.c - implement mtree_err() using vwarnx() instead of assuming name is "mtree" - move inotype() and nodetype() from compare.c to misc.c - add nodetoinode(), to convert from an mtree F_* type to a mode_t S_IF* type - clean up #include use; don't assume "mtree.h" pulls in some standard includes - change spec() to take a FILE * arg (where the specfile is read from)
|
1.31 | 18-Oct-2001 |
lukem | need semicolon between goto label and closing brace
|
1.30 | 18-Oct-2001 |
lukem | make this mostly WARNS=2 safe
|
1.29 | 09-Oct-2001 |
lukem | Add "device" keyword, which allows the device number to be specified, to be later checked and possibly created. Uses parsing and encoding routines from mknod(8).
|
1.28 | 04-Oct-2001 |
lukem | features: - add a new keyword - "tags" - which is a comma separated list of tags associated with that file. - add "-E tags"; exclude files in -D output with matching tags - add "-I tags"; only include files in -D output with matching tags (default is to list all)
fixes: - move all extern variable references from individual files into extern.h - `quote' some more user-specified strings in error messages - man page: list an options arguments in the description, and sort xrefs.
|
1.27 | 01-Oct-2001 |
lukem | - implement -D - dump the specfile out in a manner that's parseable by various tools - implement -R key - remove the given key(s) from the list of keys to print (now it's possible with "-k type -R type" to remove all keys :) - rename ftype() to nodetype(), and make it public - use pwcache(3) functions instead of get{gr,pw}{nam,uid}(3) - add dump_nodes(), which provides the guts for -D.
|
1.26 | 22-Sep-2001 |
perry | Add a -l flag which does "loose" permissions checks, i.e. a mode 444 matches a check for mode 644 (though obviously not the reverse). This can be used by the nightly security run, making the output1 more useful by having it contain fewer spurious permissions violations.
Note that I did not make -l work if you have a sgid/suid/sticky bit set. I don't know how you could cause security trouble with more stringent settings and a suid file, but I don't want to find out the hard way.
|
1.25 | 18-Jul-2001 |
lukem | - add parsetype() (a la parsekey()) to parse the "type=xxx" arg. this improves the error detection for invalid types, as well as shrinking binary size - implement inotype() using ftype(), rather than duplicating the switch - change "char *" arguments to "const char *"
|
1.24 | 09-Mar-2001 |
simonb | ANSIfy, KNF, in preperation for more work.
|
1.23 | 05-Jan-2001 |
lukem | use %ll_ instead of the less standard %q_
|
1.22 | 10-Jul-1999 |
christos | branches: 1.22.8; fix thinko in mtime stuff.
|
1.21 | 06-Jul-1999 |
christos | portability fixes: - don't use timespecs in struct stat on non 4.4BSD systems - don't assume that tv_sec is a time_t
|
1.20 | 11-Feb-1999 |
mrg | - add -m and -i to change file flags more usefully. - fix bugs in fileflags checking
all of the above from dr. lex wennmacher <wennmach@geo.Uni-Koeln.DE> with some error fixes from egcs via myself.
|
1.19 | 19-Dec-1998 |
christos | Appease gcc-2.8.1, make printf formats more portable.
|
1.18 | 06-Dec-1998 |
jwise | Add an `md5' keyword to mtree, which takes as an argument the MD5 cryptographic checksum of the file in question, optionally preceeded by `0x'.
This has been tested, and does work, AFAICT. There is currently no md5 equivalent of the '-s' flag for use with checksum.
|
1.17 | 10-Oct-1998 |
mrg | add support for 4.4BSD file flags. we take a `flags=xxx' parameter, using the same style of naming as chflags, ls & xinstall use, plus an additional `none' to turn off a default setting.
|
1.16 | 08-Oct-1998 |
wsanchez | Use u_int32_t rather than Sys-V u_long. Rename err() to mtree_err(), to avoid conflict with libc.
|
1.15 | 27-Aug-1998 |
ross | Add {} pairs to shut up egcs.
|
1.14 | 24-Oct-1997 |
enami | Make this compile again on NetBSD/alpha; cast off_t variable to long long so that it matches printf format `%qd'.
|
1.13 | 17-Oct-1997 |
lukem | branches: 1.13.2; WARNSify, getopt returns -1 not EOF
|
1.12 | 11-Jul-1997 |
mikel | fix printf() formats, make explicit comparisons to NULL (gcc -Wall)
|
1.11 | 05-Sep-1996 |
mycroft | Add a `-t' option to update time stamps.
|
1.10 | 01-Feb-1996 |
jtc | branches: 1.10.4; Rename struct timespec fields to conform to POSIX.1b
|
1.9 | 22-Oct-1995 |
pk | Insert parentheses to get correct precedence when comparing time-stamps (from Arne Juul; PR#1660).
|
1.8 | 07-Mar-1995 |
cgd | add NetBSD id's
|
1.7 | 07-Mar-1995 |
cgd | clean up import, fix a few bugs, etc.
|
1.6 | 27-Mar-1994 |
cgd | off_t exp.
|
1.5 | 17-Nov-1993 |
cgd | make things a bit more consistent
|
1.4 | 02-Nov-1993 |
cgd | latest mtree from uunet. doesn't compile, but that'll be fixed soon. (want to have 'pseudo-virgin' sources, for when fixed fnmatch stuff is released...)
|
1.3 | 06-Aug-1993 |
deraadt | update for fts library change
|
1.2 | 01-Aug-1993 |
mycroft | Add RCS identifiers.
|
1.1 | 21-Mar-1993 |
cgd | branches: 1.1.1; Initial revision
|
1.1.1.2 | 07-Mar-1995 |
cgd | from 4.4-Lite
|
1.1.1.1 | 21-Mar-1993 |
cgd | initial import of 386bsd-0.1 sources
|
1.10.4.1 | 10-Dec-1996 |
mycroft | From trunk: Don`t record sizes for things other than regular files. Add a `-t' option to update time stamps.
|
1.13.2.1 | 24-Oct-1997 |
mellon | Pull rev 1.14 up from trunk
|
1.22.8.1 | 09-Dec-2001 |
he | Pull up revision 1.26 (requested by lukem): Add an ``-l'' flag which does ``loose'' permission checks.
|
1.43.2.1 | 22-Jun-2004 |
tron | Pull up revision 1.44 (requested by jmc in ticket #527): 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
|
1.45.2.2 | 12-Sep-2005 |
tron | Apply patch (requested by elad in ticket #755): Add support for SHA2 in mtree(8).
|
1.45.2.1 | 12-Sep-2005 |
tron | Apply patch (requested by elad in ticket #755): Add support for SHA2 in mtree(8).
|
1.52.14.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.52.14.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.52.8.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.52.8.1 | 30-Oct-2012 |
yamt | sync with head
|
1.60.8.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.11 | 05-Dec-2024 |
christos | PR/58875: Jose Luis Duran: Produce consistent checksums in verification by scanning directories in the same order as usual. While here, fix some incorrect types.
|
1.10 | 18-Mar-2021 |
cheusov | branches: 1.10.8; mtree: use POSIX type uint32_t instead of u_int32_t
|
1.9 | 05-Oct-2012 |
christos | remove dup extern (brooks)
|
1.8 | 02-Jun-2005 |
lukem | branches: 1.8.42; 1.8.48; appease gcc -Wuninitialized
|
1.7 | 06-Feb-2005 |
perry | ANSIfy function declaration, remove register declarations, and some minor KNFing.
|
1.6 | 20-Jun-2004 |
jmc | 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
|
1.5 | 07-Aug-2003 |
agc | branches: 1.5.2; Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22366, verified by myself.
|
1.4 | 31-Jan-2002 |
tv | Protect __RCSID and __COPYRIGHT from being invoked if not defined.
|
1.3 | 29-Jan-2002 |
tv | Add hooks to make mtree compilable from src/tools.
|
1.2 | 10-Nov-2001 |
lukem | need <stdio.h> and <time.h> for mtree.h
|
1.1 | 10-Nov-2001 |
mycroft | Add a separate version of the CRC routine that listens to sflag.
|
1.5.2.1 | 22-Jun-2004 |
tron | Pull up revision 1.6 (requested by jmc in ticket #527): 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
|
1.8.48.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.8.42.1 | 30-Oct-2012 |
yamt | sync with head
|
1.10.8.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.79 | 05-Dec-2024 |
christos | PR/58875: Jose Luis Duran: Produce consistent checksums in verification by scanning directories in the same order as usual. While here, fix some incorrect types.
|
1.78 | 24-Apr-2024 |
christos | branches: 1.78.2; For the NetBSD tools build we provide our own fts.h not FreeBSD's so the comparator should have the NetBSD signature.
|
1.77 | 02-Dec-2023 |
christos | PR/57735: Jose Louis Duran: check if fts_read(3) had an error. (FreeBSD commit https://github.com/freebsd/freebsd-src/commit/\ 2dfa4b66b3d0caaaae6ce2df476b5615f8415a19)
|
1.76 | 18-Nov-2018 |
sevan | branches: 1.76.10; Adjust test, we only want to return the structure member if the result is not NULL.
Heads up by Sascha Wildner @ DragonFly BSD.
|
1.75 | 31-Dec-2017 |
christos | branches: 1.75.2; 1.75.4; factor out common code from Poul-Henning Kamp.
|
1.74 | 14-Dec-2017 |
christos | use uintmax_t for nlink_t from FreeBSD
|
1.73 | 24-Apr-2014 |
christos | branches: 1.73.2; 1.73.16; Pass a file pointer to write data instead of writing to stdout. No functional change.
|
1.72 | 17-Oct-2013 |
christos | branches: 1.72.2; Our <sys/param.h> ends up calling header files that define intmax_t. This should not be the case (but >sys/param.h> is not a standard header so all bets are off). FreeBSD's does not, so explicitly include <stdint.h> to get it.
|
1.71 | 16-Oct-2013 |
christos | Restore old behavior of not printing sizes for directories, since it varies depending on filesystem implementation. (Brooks Davis)
|
1.70 | 09-Sep-2013 |
christos | use intmax_t instead of long long. fixes wrong cast for time_t.
|
1.69 | 03-Feb-2013 |
christos | add the ability to only output paths included in a spec file when creating from a directory (-c)
|
1.68 | 20-Dec-2012 |
christos | Implement the "flavor" output discussed in tech-userlevel@, by Brooks Davis
|
1.67 | 15-Dec-2012 |
christos | make us compatible with FreeBSD (for -n) (Brooks Davies)
|
1.66 | 12-Dec-2012 |
christos | -n is incorrectly supressing the ".." lines. (Brooks Davis)
|
1.65 | 05-Oct-2012 |
christos | Allow uid and uname or gid and gname to both be printed while preserving the behavior of falling back to [ug]id when the name is not resolvable. (brooks)
|
1.64 | 05-Oct-2012 |
christos | clarify seconds.09nanoseconds format (brooks)
|
1.63 | 05-Oct-2012 |
christos | add -j flag to indent directory blocks (from brooks)
|
1.62 | 05-Oct-2012 |
christos | add -n flag to disable comments (brook)
|
1.61 | 05-Oct-2012 |
christos | our fts compare routine is less constified.
|
1.60 | 05-Oct-2012 |
christos | more const check if we support SHA384 before using (brooks)
|
1.59 | 15-Jul-2012 |
spz | branches: 1.59.2; resource leak (Coverity issues 274383 and 274384)
|
1.58 | 03-Apr-2009 |
apb | branches: 1.58.6; Make "mtree -C" sort its output.
As the input is read from a specfile into a tree of linked lists, keep each linked list sorted. The sort order is the same as that already used by "mtree -c": directories sort after non-directories, but otherwise names are sorted in the order used by strcmp().
|
1.57 | 01-Feb-2009 |
hubertf | branches: 1.57.2; When {MD5,RMD160,SHA1,SHA256_,SHA384_,SHA512_}File fail, use errno to print what's actually wrong
|
1.56 | 28-Dec-2008 |
christos | fix dev_t formats.
|
1.55 | 05-Dec-2007 |
christos | PR/37482: Malcolm Herbert: mtree does not check for getlogin() returning null in spec create
|
1.54 | 19-Nov-2007 |
rillig | Renamed dsort to dcmp, since it doesn't sort, it only compares.
|
1.53 | 19-Nov-2007 |
rillig | Even on non-BSD systems, the "-R all" option should disable printing of the "time" attribute. Noticed by Malcolm Herbert on tech-pkg.
|
1.52 | 18-Oct-2007 |
christos | cast to long explicitly for the compat build
|
1.51 | 04-Feb-2007 |
elad | branches: 1.51.4; The hashing routines (MD5File() and co.) can do dynamic allocation, so take advantage of that instead of an ugly hard-coded MAXHASHLEN limit that needs updating.
I think this was suggested by cube@ years ago.
|
1.50 | 30-Oct-2006 |
christos | kill crypto/rmd160.h and crypto/sha2.h, and instead make symlinks to /usr/include from /usr/include/sys. This makes all the one way hash header handling identical.
|
1.49 | 24-Sep-2005 |
elad | Use crypto/rmd160.h.
|
1.48 | 02-Sep-2005 |
elad | Use MAXHASHLEN here too.
|
1.47 | 24-Aug-2005 |
elad | Add SHA2 support in mtree.
|
1.46 | 01-Dec-2004 |
lukem | branches: 1.46.2; strsvis(3) encode & decode the "link=" value (symlink target).
|
1.45 | 20-Jun-2004 |
jmc | 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
|
1.44 | 27-Oct-2003 |
lukem | branches: 1.44.2; 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).
|
1.43 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22366, verified by myself.
|
1.42 | 23-Dec-2002 |
lukem | Add -C, which dumps the specification with the full path name first, and then all the other fields. (I.e, like -D except with the name first instead of last). Consistenly strsvis(3) encode path names (even for -C and -D).
|
1.41 | 29-Nov-2002 |
grant | avoid non-constant initializer errors by changing hack to workaround gcc warning to a slightly different hack.
|
1.40 | 08-Aug-2002 |
soren | Remove extraneous \n's in {err,warn}{,x} that used to be printfs.
|
1.39 | 31-Jan-2002 |
tv | Protect __RCSID and __COPYRIGHT from being invoked if not defined.
|
1.38 | 29-Jan-2002 |
tv | Add hooks to make mtree compilable from src/tools.
|
1.37 | 10-Nov-2001 |
lukem | provide the ability to remove support for generating or checking various digests by #define-ing NO_MD5, NO_RMD160, or NO_SHA1. the keywords are still parsed.
|
1.36 | 07-Nov-2001 |
lukem | User interface changes from (or inspired by) FreeBSD: - Add -L to walk the tree `logically', by following symbolic links in the heirarchy. - Add -P to walk the tree `physically'. This is the current behaviour, and the default. - Add "-X excludes-file" to give mtree the ability to exclude files and directories from its traversal. excludes-file contains fnmatch(3) patterns to exclude from the walk. - Add "md5digest" synonym for "md5". - Add "rmd160" keyword for RMD-160 message digest, and "rmd160digest" synonym. - Add "sha1" keyword for SHA-1 message digest, and "sha1digest" synonym. - Don't try to compare() other attributes if the type doesn't match; it's nothing but trouble, and no use anyway. - In -c, only emit "/set" records if something has changed since the previous one.
User interface changes by me: - Check a device's parameters before checking uid/gid/mode. - If updating (-u), modify the following to match the specification: - Device type (retaining existing ownership). - Symlink target.
Fixes from (or inspired by) FreeBSD: - Use p->ftslevel instead of own code to keep track of the level ourself. The previous code got majorly confused if fts(3) couldn't descend into a subdir, resulting in leaf nodes getting attached to the wrong directory. XXX: This new method is much much more robust, even though it's not 100% perfect; it might result in a couple of following entries in the spec to be incorrectly tagged as missing. - Pass a useful pathname to rlink(), so that logical (-L) traversal doesn't confuse symlink checking. - Consistently use MAXPATHLEN+1 sized buffers for pathnames, so that there's room for the NUL. - Use mtree_err() and strerror(p->fts_errno) to report errors during the fts(3) walk.
Fixes by me: - Remove now-unused `const char *name' argument from compare(). - Change crc_total from an int to a u_int32_t, to match usr.bin/cksum/crc.c. - Remove trailing whitespace. - Remove unnecessary (void) casts on functions. - Reorder entries in the getopt() switch. - Replace strtoq() with strtoll(), and use strtoul() appropriately. - Renumber F_ flags to be in alphabetical order.
|
1.35 | 22-Oct-2001 |
lukem | - enforce the top-most entry must be "." and must be a directory; avoids various potential problems when intermixing full and relative paths - changes to make it much easier to use spec() - the specfile parser - in other programs (via .PATHing spec.c and misc.c): - move excludetags, includetags and keys from mtree.c to misc.c - implement mtree_err() using vwarnx() instead of assuming name is "mtree" - move inotype() and nodetype() from compare.c to misc.c - add nodetoinode(), to convert from an mtree F_* type to a mode_t S_IF* type - clean up #include use; don't assume "mtree.h" pulls in some standard includes - change spec() to take a FILE * arg (where the specfile is read from)
|
1.34 | 18-Oct-2001 |
lukem | complete WARNS=2 cleanup (with a bit of ickiness for the fts_open argv issue)
|
1.33 | 18-Oct-2001 |
lukem | make this mostly WARNS=2 safe
|
1.32 | 09-Oct-2001 |
lukem | Add "device" keyword, which allows the device number to be specified, to be later checked and possibly created. Uses parsing and encoding routines from mknod(8).
|
1.31 | 04-Oct-2001 |
lukem | features: - add a new keyword - "tags" - which is a comma separated list of tags associated with that file. - add "-E tags"; exclude files in -D output with matching tags - add "-I tags"; only include files in -D output with matching tags (default is to list all)
fixes: - move all extern variable references from individual files into extern.h - `quote' some more user-specified strings in error messages - man page: list an options arguments in the description, and sort xrefs.
|
1.30 | 01-Oct-2001 |
lukem | - implement -D - dump the specfile out in a manner that's parseable by various tools - implement -R key - remove the given key(s) from the list of keys to print (now it's possible with "-k type -R type" to remove all keys :) - rename ftype() to nodetype(), and make it public - use pwcache(3) functions instead of get{gr,pw}{nam,uid}(3) - add dump_nodes(), which provides the guts for -D.
|
1.29 | 09-Mar-2001 |
simonb | ANSIfy, KNF, in preperation for more work.
|
1.28 | 20-Feb-2001 |
hubertf | Remove all the "#ifdef __APPLE__" code, to make this actually build again on Darwin. The code in question is outdated.
OK'd by Wilfredo Sanchez wsanchez@MIT.EDU.
|
1.27 | 15-Oct-2000 |
is | LP64 format string cleanup. Problem reported by garbled.
|
1.26 | 11-Oct-2000 |
is | More format string cleanups by sommerfeld.
|
1.25 | 01-Dec-1999 |
wennmach | branches: 1.25.4; Now that we have strsvis, use it.
|
1.24 | 07-Nov-1999 |
wennmach | Encode file names using strvis(3) when creating a specification. Escape white space characters and `#' characters. Do the inverse when reading specs.
This is a temporary fix until we have strzouvis(3) (or some such) which is an improved version of strvis (taking an additional list of characters to encode).
Fixes PR 5006 and PR 7663
|
1.23 | 06-Jul-1999 |
christos | branches: 1.23.4; portability fixes: - don't use timespecs in struct stat on non 4.4BSD systems - don't assume that tv_sec is a time_t
|
1.22 | 06-Jul-1999 |
hubertf | Actually generate MD5 checksums, as reported in PR 7928. Approved by Dr. Lex Wennmacher <wennmach@geo.Uni-Koeln.DE>
|
1.21 | 11-Feb-1999 |
mrg | branches: 1.21.2; - add -m and -i to change file flags more usefully. - fix bugs in fileflags checking
all of the above from dr. lex wennmacher <wennmach@geo.Uni-Koeln.DE> with some error fixes from egcs via myself.
|
1.20 | 19-Dec-1998 |
christos | Appease gcc-2.8.1, make printf formats more portable.
|
1.19 | 03-Nov-1998 |
christos | Namespace protection against MAXUID etc.
|
1.18 | 10-Oct-1998 |
mrg | add support for 4.4BSD file flags. we take a `flags=xxx' parameter, using the same style of naming as chflags, ls & xinstall use, plus an additional `none' to turn off a default setting.
|
1.17 | 08-Oct-1998 |
wsanchez | Use u_int32_t rather than Sys-V u_long. Rename err() to mtree_err(), to avoid conflict with libc.
|
1.16 | 30-Aug-1998 |
nathanw | Add braces to satisfy egcs.
|
1.15 | 27-Aug-1998 |
ross | Add {} pairs to shut up egcs.
|
1.14 | 06-Jul-1998 |
mrg | - use an array MAXHOSTNAMELEN+1 size to hold hostnames - ensure hostname from gethostname() is nul-terminated in all cases - minor KNF - use MAXHOSTNAMELEN over various other values/defines - be safe will buffers that hold hostnames
|
1.13 | 17-Oct-1997 |
lukem | WARNSify, getopt returns -1 not EOF
|
1.12 | 11-Jul-1997 |
mikel | fix printf() formats, make explicit comparisons to NULL (gcc -Wall)
|
1.11 | 05-Sep-1996 |
mycroft | Only record sizes for regular files.
|
1.10 | 01-Feb-1996 |
jtc | branches: 1.10.4; Rename struct timespec fields to conform to POSIX.1b
|
1.9 | 07-Mar-1995 |
cgd | add NetBSD id's
|
1.8 | 07-Mar-1995 |
cgd | clean up import, fix a few bugs, etc.
|
1.7 | 27-Mar-1994 |
cgd | off_t exp.
|
1.6 | 17-Nov-1993 |
cgd | make things a bit more consistent
|
1.5 | 02-Nov-1993 |
cgd | latest mtree from uunet. doesn't compile, but that'll be fixed soon. (want to have 'pseudo-virgin' sources, for when fixed fnmatch stuff is released...)
|
1.4 | 01-Oct-1993 |
jtc | Use *->fts_errno instead of errno after fts_read(). The fts manpage indicates that the fts_errno will be set to the correct value, but there are no guarentees about errno.
|
1.3 | 06-Aug-1993 |
deraadt | update for fts library change
|
1.2 | 01-Aug-1993 |
mycroft | Add RCS identifiers.
|
1.1 | 21-Mar-1993 |
cgd | branches: 1.1.1; Initial revision
|
1.1.1.2 | 07-Mar-1995 |
cgd | from 4.4-Lite
|
1.1.1.1 | 21-Mar-1993 |
cgd | initial import of 386bsd-0.1 sources
|
1.10.4.1 | 10-Dec-1996 |
mycroft | From trunk: Don`t record sizes for things other than regular files. Add a `-t' option to update time stamps.
|
1.21.2.3 | 19-Oct-2000 |
he | Pull up revision 1.26 (via patch, requested by he): Format string cleanup.
|
1.21.2.2 | 19-Oct-2000 |
he | Pull up revision 1.27 (via patch, requested by is): Format string cleanup for LP64.
|
1.21.2.1 | 20-Nov-1999 |
he | Pull up revision 1.24 (requested by wennmach and joda): Make mtree able to properly encode file names with `funny' albeit legal characters (`#', ` ', binary characters), fixing PR#5006 and PR#7663.
|
1.23.4.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.25.4.1 | 17-Oct-2000 |
tv | Pullup usr.sbin string format fixes [is]. See "cvs log" for explicit revision numbers per file, from sommerfeld.
|
1.44.2.1 | 22-Jun-2004 |
tron | Pull up revision 1.45 (requested by jmc in ticket #527): 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
|
1.46.2.1 | 12-Sep-2005 |
tron | Apply patch (requested by elad in ticket #755): Add support for SHA2 in mtree(8).
|
1.51.4.2 | 09-Jan-2008 |
matt | sync with HEAD
|
1.51.4.1 | 06-Nov-2007 |
matt | sync with HEAD
|
1.57.2.1 | 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
1.58.6.4 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.58.6.3 | 23-Jan-2013 |
yamt | sync with head
|
1.58.6.2 | 16-Jan-2013 |
yamt | sync with (a bit old) head
|
1.58.6.1 | 30-Oct-2012 |
yamt | sync with head
|
1.59.2.3 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.59.2.2 | 25-Feb-2013 |
tls | resync with head
|
1.59.2.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.72.2.1 | 10-Aug-2014 |
tls | Rebase.
|
1.73.16.1 | 24-Nov-2018 |
martin | Pull up following revision(s) (requested by sevan in ticket #1103):
usr.sbin/mtree/create.c: revision 1.76
Adjust test, we only want to return the structure member if the result is not NULL.
Heads up by Sascha Wildner @ DragonFly BSD.
|
1.73.2.1 | 24-Nov-2018 |
martin | Pull up following revision(s) (requested by sevan in ticket #1654):
usr.sbin/mtree/create.c: revision 1.76
Adjust test, we only want to return the structure member if the result is not NULL.
Heads up by Sascha Wildner @ DragonFly BSD. Adjust test, we only want to return the structure member if the result is not NULL.
|
1.75.4.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.75.2.1 | 26-Nov-2018 |
pgoyette | Sync with HEAD, resolve a couple of conflicts
|
1.76.10.1 | 28-Apr-2024 |
martin | Pull up following revision(s) (requested by hgutch in ticket #677):
usr.sbin/mtree/create.c: revision 1.78 external/gpl3/gcc.old/dist/gcc/cp/cfns.h: revision 1.12 (applied to external/gpl3/gcc/dist/gcc/cp/cfns.h)
For the NetBSD tools build we provide our own fts.h not FreeBSD's so the comparator should have the NetBSD signature.
Fix gcc build on FreeBSD 14 (and possibly other systems using clang >= 16). Pointed out by Eirik �verby. OK mrg@
|
1.78.2.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.13 | 20-Jun-2004 |
jmc | 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
|
1.12 | 17-Nov-2003 |
dbj | branches: 1.12.2; #include <util.h> this is needed by fparseln on macos/darwin and is harmless on netbsd
|
1.11 | 30-Nov-2002 |
lukem | tweaks for fparseln(3) move from libutil to libc: - remove #include <util.h> if nothing else needed it - remove LDFLAGS+=-lutil if nothing else needed it
|
1.10 | 09-Apr-2002 |
bjh21 | Don't use __RCSID unless it's defined.
|
1.9 | 09-Apr-2002 |
thorpej | Use __RCSID().
|
1.8 | 31-Jan-2002 |
tv | Roll in fixes to permit cross-compiling from non-NetBSD hosts. This round has been tested on Solaris/x86 and Linux hosts.
* Add host tools cap_mkdb, ctags, m4, uudecode. * Protect __RCSID() and __COPYRIGHT() better. * Reduce the number of places that need to include "config.h", to keep sources closer to their "vanilla" versions. * Add more compat #defines and autoconf-checked functions.
|
1.7 | 29-Jan-2002 |
tv | Make almost all tools compile and run properly on non-NetBSD hosts. (In particular, most tools now run correctly on Solaris 7.)
|
1.6 | 29-Jan-2002 |
lukem | add <util.h> back in for native builds.
|
1.5 | 29-Jan-2002 |
tv | Add hooks to make mtree compilable from src/tools.
|
1.4 | 11-Nov-2001 |
jmc | Ugg...Turn LIST_FOREACH into a while loop around LIST_NEXT...
The *_FOREACH macros got added post 1.5 and were pulled up into 1.5.2. This makes it impossible to compile mtree local on a 1.5-release box as a cross toolchain bit for bootstrapping to -current. (and why I never saw this problem on my 1.5.2 machine)
This whole thing is solved via a compat lib for the tools for all netbsd bits and/or trimming down a version of mtree to just the bits needed for building the snapshots.
|
1.3 | 10-Nov-2001 |
lukem | replace <sys/time.h> with <time.h> (for consistency)
|
1.2 | 07-Nov-2001 |
lukem | - KNF & whitespace cleanup - use fparseln() instead of fgetln()
|
1.1 | 07-Nov-2001 |
lukem | branches: 1.1.1; Initial revision
|
1.1.1.1 | 07-Nov-2001 |
lukem | Code from FreeBSD to give mtree the ability to exclude items from its traversal
|
1.12.2.1 | 22-Jun-2004 |
tron | Pull up revision 1.13 (requested by jmc in ticket #527): 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
|
1.41 | 05-Dec-2024 |
christos | PR/58875: Jose Luis Duran: Produce consistent checksums in verification by scanning directories in the same order as usual. While here, fix some incorrect types.
|
1.40 | 18-Mar-2021 |
cheusov | branches: 1.40.8; mtree: use POSIX type uint32_t instead of u_int32_t
|
1.39 | 24-Apr-2014 |
christos | Pass a file pointer to write data instead of writing to stdout. No functional change.
|
1.38 | 03-Feb-2013 |
christos | branches: 1.38.6; add the ability to only output paths included in a spec file when creating from a directory (-c)
|
1.37 | 20-Dec-2012 |
christos | Implement the "flavor" output discussed in tech-userlevel@, by Brooks Davis
|
1.36 | 05-Oct-2012 |
christos | Implement FreeBSD's -f spec1 -f spec2 spec comparision function. This is more useful than -C and diff because it highlights the keys that have changed value so for example, you can see that the size of a file has not changed but the contents have. (brooks)
|
1.35 | 05-Oct-2012 |
christos | add -j flag to indent directory blocks (from brooks)
|
1.34 | 05-Oct-2012 |
christos | add -q flag to silence warnings about symlinks to existing dirs (from OpenBSD via brooks)
|
1.33 | 05-Oct-2012 |
christos | add -n flag to disable comments (brook)
|
1.32 | 29-Aug-2011 |
joerg | branches: 1.32.2; 1.32.8; Use __dead and __printflike
|
1.31 | 08-Apr-2009 |
apb | The recent addition of sorting to "mtree -C" broke some third party scripts. Now make sorting optional, controled by the "-S" flag.
|
1.30 | 14-Dec-2006 |
he | branches: 1.30.20; Complete the move of string_to_flags() and flags_to_string() from the bin/ls sources to libutil: o Bump libutil minor version number o Fix uses to include <util.h> to pick up the function definitions o Fix most uses of flags_to_string() to release the now-malloc()ed result
|
1.29 | 22-Jul-2004 |
lukem | Implement -M to "merge" entries, even with different types. This can be used in /etc/security to allow special.local to override types of entries in special (e.g, replacing a dir with a link).
Rename Wflag to mtree_Wflag, to be more "external namespace" friendly.
|
1.28 | 27-Oct-2003 |
lukem | 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).
|
1.27 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22366, verified by myself.
|
1.26 | 23-Dec-2002 |
lukem | Add -C, which dumps the specification with the full path name first, and then all the other fields. (I.e, like -D except with the name first instead of last). Consistenly strsvis(3) encode path names (even for -C and -D).
|
1.25 | 08-Oct-2002 |
lukem | Remove convoluted code to work around missing lch{flags,mod,own}(); instead, rely upon libnbcompat to provide a workaround (which returns an error if the target is a symlink). Should fix another MacOS X build issue due to missing lchown(2).
|
1.24 | 06-Oct-2002 |
lukem | - Check HAVE_LCHFLAGS for lchflags(2) support, rather than assuming that HAVE_STRUCT_STAT_ST_FLAGS implies this. - Set HAVE_LCHFLAGS for native builds - Clean up {CLEAR,SET,CHANGE}FLAGS macros, and only provide if HAVE_STRUCT_STAT_ST_FLAGS is set.
(Fixes compilation as a tool on MacOS X, noted by Allen Briggs.)
|
1.23 | 08-Feb-2002 |
tv | Funtion appropriately in the absence of a lchmod call on the host.
|
1.22 | 31-Jan-2002 |
tv | Roll in fixes to permit cross-compiling from non-NetBSD hosts. This round has been tested on Solaris/x86 and Linux hosts.
* Add host tools cap_mkdb, ctags, m4, uudecode. * Protect __RCSID() and __COPYRIGHT() better. * Reduce the number of places that need to include "config.h", to keep sources closer to their "vanilla" versions. * Add more compat #defines and autoconf-checked functions.
|
1.21 | 29-Jan-2002 |
tv | Make almost all tools compile and run properly on non-NetBSD hosts. (In particular, most tools now run correctly on Solaris 7.)
|
1.20 | 29-Jan-2002 |
tv | Add hooks to make mtree compilable from src/tools.
|
1.19 | 07-Nov-2001 |
lukem | User interface changes from (or inspired by) FreeBSD: - Add -L to walk the tree `logically', by following symbolic links in the heirarchy. - Add -P to walk the tree `physically'. This is the current behaviour, and the default. - Add "-X excludes-file" to give mtree the ability to exclude files and directories from its traversal. excludes-file contains fnmatch(3) patterns to exclude from the walk. - Add "md5digest" synonym for "md5". - Add "rmd160" keyword for RMD-160 message digest, and "rmd160digest" synonym. - Add "sha1" keyword for SHA-1 message digest, and "sha1digest" synonym. - Don't try to compare() other attributes if the type doesn't match; it's nothing but trouble, and no use anyway. - In -c, only emit "/set" records if something has changed since the previous one.
User interface changes by me: - Check a device's parameters before checking uid/gid/mode. - If updating (-u), modify the following to match the specification: - Device type (retaining existing ownership). - Symlink target.
Fixes from (or inspired by) FreeBSD: - Use p->ftslevel instead of own code to keep track of the level ourself. The previous code got majorly confused if fts(3) couldn't descend into a subdir, resulting in leaf nodes getting attached to the wrong directory. XXX: This new method is much much more robust, even though it's not 100% perfect; it might result in a couple of following entries in the spec to be incorrectly tagged as missing. - Pass a useful pathname to rlink(), so that logical (-L) traversal doesn't confuse symlink checking. - Consistently use MAXPATHLEN+1 sized buffers for pathnames, so that there's room for the NUL. - Use mtree_err() and strerror(p->fts_errno) to report errors during the fts(3) walk.
Fixes by me: - Remove now-unused `const char *name' argument from compare(). - Change crc_total from an int to a u_int32_t, to match usr.bin/cksum/crc.c. - Remove trailing whitespace. - Remove unnecessary (void) casts on functions. - Reorder entries in the getopt() switch. - Replace strtoq() with strtoll(), and use strtoul() appropriately. - Renumber F_ flags to be in alphabetical order.
|
1.18 | 03-Nov-2001 |
lukem | - move "Wflag" global from mtree.c to spec.c, and reinstate the functionality of tv's previous code, which skips uname or gname parsing if -W is enabled. - rename "lineno" to "mtree_lineno", to reduce possibility of name clashes in code that yanks in spec.c & misc.c (unlikely, but you never know)
|
1.17 | 25-Oct-2001 |
lukem | Add -W: don't attempt to change the perms/time/flags on existing entries, nor set them when creating new directories. (AKA the ``don't whack'' option). Concept suggested by Todd Vierling.
|
1.16 | 25-Oct-2001 |
lukem | - add lineno field to NODE - move inotype() prototype into mtree.h from extern.h
|
1.15 | 22-Oct-2001 |
lukem | - enforce the top-most entry must be "." and must be a directory; avoids various potential problems when intermixing full and relative paths - changes to make it much easier to use spec() - the specfile parser - in other programs (via .PATHing spec.c and misc.c): - move excludetags, includetags and keys from mtree.c to misc.c - implement mtree_err() using vwarnx() instead of assuming name is "mtree" - move inotype() and nodetype() from compare.c to misc.c - add nodetoinode(), to convert from an mtree F_* type to a mode_t S_IF* type - clean up #include use; don't assume "mtree.h" pulls in some standard includes - change spec() to take a FILE * arg (where the specfile is read from)
|
1.14 | 05-Oct-2001 |
lukem | cleanup tags support; - create a typedef struct slist_t to hold stuff in (avoid stringlist(3) because it's less portable) - move the tag manipulate stuff into misc.c - add matchtags(), which returns 0 if the node is explicitly excluded, or not included if an include list is given; or 1 otherwise - in -D, change tags support from files-only to all-non-directories
(xxx; still considering implementing tags support for -c and !-D)
|
1.13 | 04-Oct-2001 |
lukem | features: - add a new keyword - "tags" - which is a comma separated list of tags associated with that file. - add "-E tags"; exclude files in -D output with matching tags - add "-I tags"; only include files in -D output with matching tags (default is to list all)
fixes: - move all extern variable references from individual files into extern.h - `quote' some more user-specified strings in error messages - man page: list an options arguments in the description, and sort xrefs.
|
1.12 | 01-Oct-2001 |
lukem | - implement -D - dump the specfile out in a manner that's parseable by various tools - implement -R key - remove the given key(s) from the list of keys to print (now it's possible with "-k type -R type" to remove all keys :) - rename ftype() to nodetype(), and make it public - use pwcache(3) functions instead of get{gr,pw}{nam,uid}(3) - add dump_nodes(), which provides the guts for -D.
|
1.11 | 18-Jul-2001 |
lukem | - add parsetype() (a la parsekey()) to parse the "type=xxx" arg. this improves the error detection for invalid types, as well as shrinking binary size - implement inotype() using ftype(), rather than duplicating the switch - change "char *" arguments to "const char *"
|
1.10 | 09-Mar-2001 |
simonb | ANSIfy, KNF, in preperation for more work.
|
1.9 | 20-Feb-2001 |
hubertf | Remove all the "#ifdef __APPLE__" code, to make this actually build again on Darwin. The code in question is outdated.
OK'd by Wilfredo Sanchez wsanchez@MIT.EDU.
|
1.8 | 11-Oct-2000 |
is | More format string cleanups by sommerfeld.
|
1.7 | 07-Dec-1999 |
wennmach | branches: 1.7.4; code.c is no longer used, we use strsvis instead. Removed prototypes from extern.h
|
1.6 | 09-Nov-1999 |
drochner | prototype encode()/decode()
|
1.5 | 10-Oct-1998 |
mrg | branches: 1.5.2; 1.5.6; add support for 4.4BSD file flags. we take a `flags=xxx' parameter, using the same style of naming as chflags, ls & xinstall use, plus an additional `none' to turn off a default setting.
|
1.4 | 08-Oct-1998 |
wsanchez | Use u_int32_t rather than Sys-V u_long. Rename err() to mtree_err(), to avoid conflict with libc.
|
1.3 | 07-Mar-1995 |
cgd | add NetBSD id's
|
1.2 | 07-Mar-1995 |
cgd | clean up import, fix a few bugs, etc.
|
1.1 | 02-Nov-1993 |
cgd | branches: 1.1.1; latest mtree from uunet. doesn't compile, but that'll be fixed soon. (want to have 'pseudo-virgin' sources, for when fixed fnmatch stuff is released...)
|
1.1.1.1 | 07-Mar-1995 |
cgd | from 4.4-Lite
|
1.5.6.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.5.2.2 | 19-Oct-2000 |
he | Pull up revision 1.8 (requested by he): Format string cleanup.
|
1.5.2.1 | 20-Nov-1999 |
he | Pull up revision 1.6 (requested by wennmach and joda): Make mtree able to properly encode file names with `funny' albeit legal characters (`#', ` ', binary characters), fixing PR#5006 and PR#7663.
|
1.7.4.1 | 17-Oct-2000 |
tv | Pullup usr.sbin string format fixes [is]. See "cvs log" for explicit revision numbers per file, from sommerfeld.
|
1.30.20.1 | 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
1.32.8.3 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.32.8.2 | 25-Feb-2013 |
tls | resync with head
|
1.32.8.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.32.2.3 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.32.2.2 | 23-Jan-2013 |
yamt | sync with head
|
1.32.2.1 | 30-Oct-2012 |
yamt | sync with head
|
1.38.6.1 | 10-Aug-2014 |
tls | Rebase.
|
1.40.8.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.10 | 27-Oct-2014 |
christos | fix pasto; thanks John-Mark Gurney...
|
1.9 | 31-Mar-2014 |
christos | say why we can't use the password or the group databases.
|
1.8 | 16-Oct-2013 |
christos | skip comment lines on password and group databases (Brooks Davis)
|
1.7 | 28-Apr-2008 |
martin | branches: 1.7.4; 1.7.26; Remove clause 3 and 4 from TNF licenses
|
1.6 | 12-Dec-2007 |
lukem | branches: 1.6.4; use __RCSID()
|
1.5 | 20-Jun-2004 |
jmc | branches: 1.5.16; 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
|
1.4 | 07-Aug-2003 |
agc | branches: 1.4.2; Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22366, verified by myself.
|
1.3 | 29-Jan-2002 |
tv | Make almost all tools compile and run properly on non-NetBSD hosts. (In particular, most tools now run correctly on Solaris 7.)
|
1.2 | 29-Jan-2002 |
lukem | don't bother initialising pwfile[] to _PATH_MASTERPASSWD and grfile[] to _PATH_GROUP, because the simple_get{pw,gr}*() functions should not be called by anything before those path arrays are setup by setup_getid().
|
1.1 | 24-Jan-2002 |
lukem | Add '-N dbdir', to specify that user & group lookups (via pwcache(3)) are to be done from dbdir/master.passwd and dbdir/group, using simple text file parsing routines.
|
1.4.2.1 | 22-Jun-2004 |
tron | Pull up revision 1.5 (requested by jmc in ticket #527): 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
|
1.5.16.1 | 09-Jan-2008 |
matt | sync with HEAD
|
1.6.4.1 | 18-May-2008 |
yamt | sync with head.
|
1.7.26.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.7.4.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.35 | 05-Dec-2024 |
christos | PR/58875: Jose Luis Duran: Produce consistent checksums in verification by scanning directories in the same order as usual. While here, fix some incorrect types.
|
1.34 | 20-Dec-2012 |
christos | branches: 1.34.42; move flavor to misc.c because pax needs it.
|
1.33 | 12-Dec-2012 |
christos | - two entries for rmd160digest in misc.c (Brooks Davis)
|
1.32 | 05-Oct-2012 |
christos | Implement FreeBSD's "nochange" keyworld which causes the existance of a filesystem object to be checked but none of its attiributes.(brooks)
|
1.31 | 05-Oct-2012 |
christos | account for differences in digest names
|
1.30 | 18-Jan-2009 |
lukem | branches: 1.30.8; 1.30.14; fix -Wsign-compare issues
|
1.29 | 16-Oct-2006 |
christos | c99 initializers
|
1.28 | 14-Oct-2006 |
christos | PR/34818: rad at twig dot com: Recognize solaris door files.
|
1.27 | 29-Sep-2005 |
tron | The list of keywords must be sorted because it is search with bsearch(3). Correcting this makes mtree(8) work again under Solaris.
|
1.26 | 24-Aug-2005 |
elad | Add SHA2 support in mtree.
|
1.25 | 20-Jun-2004 |
jmc | branches: 1.25.2; 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
|
1.24 | 07-Aug-2003 |
agc | branches: 1.24.2; Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22366, verified by myself.
|
1.23 | 19-Feb-2002 |
lukem | inotype() only needs to understand S_ types, not the F_ types
|
1.22 | 31-Jan-2002 |
tv | Protect __RCSID and __COPYRIGHT from being invoked if not defined.
|
1.21 | 29-Jan-2002 |
tv | Add hooks to make mtree compilable from src/tools.
|
1.20 | 07-Nov-2001 |
lukem | User interface changes from (or inspired by) FreeBSD: - Add -L to walk the tree `logically', by following symbolic links in the heirarchy. - Add -P to walk the tree `physically'. This is the current behaviour, and the default. - Add "-X excludes-file" to give mtree the ability to exclude files and directories from its traversal. excludes-file contains fnmatch(3) patterns to exclude from the walk. - Add "md5digest" synonym for "md5". - Add "rmd160" keyword for RMD-160 message digest, and "rmd160digest" synonym. - Add "sha1" keyword for SHA-1 message digest, and "sha1digest" synonym. - Don't try to compare() other attributes if the type doesn't match; it's nothing but trouble, and no use anyway. - In -c, only emit "/set" records if something has changed since the previous one.
User interface changes by me: - Check a device's parameters before checking uid/gid/mode. - If updating (-u), modify the following to match the specification: - Device type (retaining existing ownership). - Symlink target.
Fixes from (or inspired by) FreeBSD: - Use p->ftslevel instead of own code to keep track of the level ourself. The previous code got majorly confused if fts(3) couldn't descend into a subdir, resulting in leaf nodes getting attached to the wrong directory. XXX: This new method is much much more robust, even though it's not 100% perfect; it might result in a couple of following entries in the spec to be incorrectly tagged as missing. - Pass a useful pathname to rlink(), so that logical (-L) traversal doesn't confuse symlink checking. - Consistently use MAXPATHLEN+1 sized buffers for pathnames, so that there's room for the NUL. - Use mtree_err() and strerror(p->fts_errno) to report errors during the fts(3) walk.
Fixes by me: - Remove now-unused `const char *name' argument from compare(). - Change crc_total from an int to a u_int32_t, to match usr.bin/cksum/crc.c. - Remove trailing whitespace. - Remove unnecessary (void) casts on functions. - Reorder entries in the getopt() switch. - Replace strtoq() with strtoll(), and use strtoul() appropriately. - Renumber F_ flags to be in alphabetical order.
|
1.19 | 03-Nov-2001 |
lukem | - move "Wflag" global from mtree.c to spec.c, and reinstate the functionality of tv's previous code, which skips uname or gname parsing if -W is enabled. - rename "lineno" to "mtree_lineno", to reduce possibility of name clashes in code that yanks in spec.c & misc.c (unlikely, but you never know)
|
1.18 | 22-Oct-2001 |
lukem | - enforce the top-most entry must be "." and must be a directory; avoids various potential problems when intermixing full and relative paths - changes to make it much easier to use spec() - the specfile parser - in other programs (via .PATHing spec.c and misc.c): - move excludetags, includetags and keys from mtree.c to misc.c - implement mtree_err() using vwarnx() instead of assuming name is "mtree" - move inotype() and nodetype() from compare.c to misc.c - add nodetoinode(), to convert from an mtree F_* type to a mode_t S_IF* type - clean up #include use; don't assume "mtree.h" pulls in some standard includes - change spec() to take a FILE * arg (where the specfile is read from)
|
1.17 | 18-Oct-2001 |
lukem | make this mostly WARNS=2 safe
|
1.16 | 09-Oct-2001 |
lukem | Add "device" keyword, which allows the device number to be specified, to be later checked and possibly created. Uses parsing and encoding routines from mknod(8).
|
1.15 | 05-Oct-2001 |
lukem | - support "all" as a valid keyword for -k, -K and -R. - parsekey(): support "all" as a keyword which returns a value with all bits set that pertain to a valid keyword. - dump_nodes(): - only print out a keyword if it's requested AND it's set in the node - UNAME falls back to UID if the user name can't be determined - GNAME falls back to GID if the group name can't be determined - rework man page: - use Sy instead of Cm - use Pq, Dq, Ql, etc instead of ``...''
|
1.14 | 05-Oct-2001 |
lukem | cleanup tags support; - create a typedef struct slist_t to hold stuff in (avoid stringlist(3) because it's less portable) - move the tag manipulate stuff into misc.c - add matchtags(), which returns 0 if the node is explicitly excluded, or not included if an include list is given; or 1 otherwise - in -D, change tags support from files-only to all-non-directories
(xxx; still considering implementing tags support for -c and !-D)
|
1.13 | 04-Oct-2001 |
lukem | features: - add a new keyword - "tags" - which is a comma separated list of tags associated with that file. - add "-E tags"; exclude files in -D output with matching tags - add "-I tags"; only include files in -D output with matching tags (default is to list all)
fixes: - move all extern variable references from individual files into extern.h - `quote' some more user-specified strings in error messages - man page: list an options arguments in the description, and sort xrefs.
|
1.12 | 11-Sep-2001 |
thorpej | Fix printf format.
|
1.11 | 10-Sep-2001 |
lukem | replace home-grown parser with fparseln()
|
1.10 | 18-Jul-2001 |
lukem | - add parsetype() (a la parsekey()) to parse the "type=xxx" arg. this improves the error detection for invalid types, as well as shrinking binary size - implement inotype() using ftype(), rather than duplicating the switch - change "char *" arguments to "const char *"
|
1.9 | 09-Mar-2001 |
simonb | ANSIfy, KNF, in preperation for more work.
|
1.8 | 06-Dec-1998 |
jwise | Add an `md5' keyword to mtree, which takes as an argument the MD5 cryptographic checksum of the file in question, optionally preceeded by `0x'.
This has been tested, and does work, AFAICT. There is currently no md5 equivalent of the '-s' flag for use with checksum.
|
1.7 | 10-Oct-1998 |
mrg | add support for 4.4BSD file flags. we take a `flags=xxx' parameter, using the same style of naming as chflags, ls & xinstall use, plus an additional `none' to turn off a default setting.
|
1.6 | 08-Oct-1998 |
wsanchez | Use u_int32_t rather than Sys-V u_long. Rename err() to mtree_err(), to avoid conflict with libc.
|
1.5 | 17-Oct-1997 |
lukem | WARNSify, getopt returns -1 not EOF
|
1.4 | 07-Mar-1995 |
cgd | add an 'optional' keyword, which allows files to be in the specification, but _not_ in the file hierarchy. contrib'd by: Ed Symanzik <zik@enoch.cl.msu.edu>. Man page adjustment to match, and minor man page cleanup, by me.
|
1.3 | 07-Mar-1995 |
cgd | add NetBSD id's
|
1.2 | 07-Mar-1995 |
cgd | clean up import, fix a few bugs, etc.
|
1.1 | 02-Nov-1993 |
cgd | branches: 1.1.1; latest mtree from uunet. doesn't compile, but that'll be fixed soon. (want to have 'pseudo-virgin' sources, for when fixed fnmatch stuff is released...)
|
1.1.1.1 | 07-Mar-1995 |
cgd | from 4.4-Lite
|
1.24.2.1 | 22-Jun-2004 |
tron | Pull up revision 1.25 (requested by jmc in ticket #527): 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
|
1.25.2.2 | 01-Oct-2005 |
snj | Pull up following revision(s) (requested by tron in ticket #839): usr.sbin/mtree/misc.c: revision 1.27 The list of keywords must be sorted because it is search with bsearch(3). Correcting this makes mtree(8) work again under Solaris.
|
1.25.2.1 | 12-Sep-2005 |
tron | Apply patch (requested by elad in ticket #755): Add support for SHA2 in mtree(8).
|
1.30.14.2 | 25-Feb-2013 |
tls | resync with head
|
1.30.14.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.30.8.3 | 23-Jan-2013 |
yamt | sync with head
|
1.30.8.2 | 16-Jan-2013 |
yamt | sync with (a bit old) head
|
1.30.8.1 | 30-Oct-2012 |
yamt | sync with head
|
1.34.42.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.3 | 02-Nov-1993 |
mycroft | Clean up deleted files.
|
1.2 | 01-Aug-1993 |
mycroft | Add RCS indentifiers.
|
1.1 | 21-Mar-1993 |
cgd | branches: 1.1.1; Initial revision
|
1.1.1.1 | 21-Mar-1993 |
cgd | initial import of 386bsd-0.1 sources
|
1.78 | 02-Dec-2023 |
christos | PR/57735: Jose Louis Duran: Add missing xref to mtree.5 (FreeBSD commit https://github.com/freebsd/freebsd-src/commit/\ da232c04ab9eba3d3a7fc73881daff847071e9fd)
|
1.77 | 01-Jun-2023 |
uwe | mtree(8): a few markup fixes
Didn't touch the section that describes the spec file format. We have the format documented here, in mtree(8), and we also have the format description in mtree(5) that comes from libarchive.
|
1.76 | 16-Jun-2020 |
wiz | Use more markup. Bump date for previous.
|
1.75 | 16-Jun-2020 |
sborrill | Describe correctly how whitespace is formatted as the docs did not match the source.
|
1.74 | 13-Dec-2018 |
wiz | Use \(en.
|
1.73 | 13-Dec-2018 |
dholland | Fix naming inconsistency; PR 53769 from silas.
|
1.72 | 22-Feb-2017 |
abhinav | branches: 1.72.10; 1.72.12; Fix typo.
|
1.71 | 23-Jan-2015 |
wiz | branches: 1.71.2; 1.71.4; Pull into this year.
|
1.70 | 23-Jan-2015 |
christos | attempt to reset file flags when -rr
|
1.69 | 03-Feb-2013 |
christos | fix man page.
|
1.68 | 03-Feb-2013 |
christos | add the ability to only output paths included in a spec file when creating from a directory (-c)
|
1.67 | 20-Dec-2012 |
wiz | Typo fix.
|
1.66 | 20-Dec-2012 |
wiz | Add missing letter and use x.y versions for Fx/Nx.
|
1.65 | 20-Dec-2012 |
christos | Implement the "flavor" output discussed in tech-userlevel@, by Brooks Davis
|
1.64 | 12-Dec-2012 |
christos | - No mention of -t in the usage message or the manpage SYNOPSIS (Brooks Davis)
|
1.63 | 05-Oct-2012 |
wiz | Fix typos; remove trailing whitespace; add missing options to SYNOPSIS.
|
1.62 | 05-Oct-2012 |
christos | Implement FreeBSD's "nochange" keyworld which causes the existance of a filesystem object to be checked but none of its attiributes.(brooks)
|
1.61 | 05-Oct-2012 |
christos | Implement FreeBSD's "nochange" keyworld which causes the existance of a filesystem object to be checked but none of its attributes. (brooks)
|
1.60 | 05-Oct-2012 |
christos | Implement FreeBSD's -f spec1 -f spec2 spec comparision function. This is more useful than -C and diff because it highlights the keys that have changed value so for example, you can see that the size of a file has not changed but the contents have. (brooks)
|
1.59 | 05-Oct-2012 |
christos | clarify seconds.09nanoseconds format (brooks)
|
1.58 | 05-Oct-2012 |
christos | add -j flag to indent directory blocks (from brooks)
|
1.57 | 05-Oct-2012 |
christos | add -q flag to silence warnings about symlinks to existing dirs (from OpenBSD via brooks)
|
1.56 | 05-Oct-2012 |
christos | add -n flag to disable comments (brook)
|
1.55 | 05-Oct-2012 |
christos | account for differences in digest names
|
1.54 | 03-Oct-2012 |
wiz | - Sort order of options mentioned in text; - improve wording; - remove unneeded macros (fixes mandoc(1) warnings); - in the `EXAMPLES' section, for `-d', mention the use of `-U' besides that of `-u' (as the former is a variant on the latter).
From Bug Hunting.
|
1.53 | 20-Jan-2010 |
wiz | branches: 1.53.6; 1.53.12; Fix date.
|
1.52 | 20-Jan-2010 |
uebayasi | Document -t (modify mtime). Bump date.
|
1.51 | 09-Apr-2009 |
apb | * Rewrite intro to mention all three things mtree can do (check directory tree against spec; create spec; modify spec). * Consistently use "options" to refer to command line options. "flags" is used to refer to file flags. * Some other clarifications and changes for consistency.
|
1.50 | 08-Apr-2009 |
wiz | Sort options and option descriptions. Remove an incomplete sentence ("It will") -- probably pasto. Give the tagged lists more space for the first column. Remove unnecessary Bk/Ek pairs.
|
1.49 | 08-Apr-2009 |
apb | The recent addition of sorting to "mtree -C" broke some third party scripts. Now make sorting optional, controled by the "-S" flag.
|
1.48 | 11-Mar-2009 |
joerg | Don't use .Xo/.Xc. Replace use of .Sm off / .Sm on with .Ns.
|
1.47 | 02-Feb-2009 |
wiz | branches: 1.47.2; New sentence, new line.
|
1.46 | 01-Feb-2009 |
hubertf | -c: make it clear where the file hierarchy starts -I, -E: they also work with -C, not just with -D
|
1.45 | 02-May-2008 |
martin | Move TNF licenses to 2 clause form
|
1.44 | 12-Sep-2006 |
pavel | branches: 1.44.16; describe how to suppress printing of "type" keyword when -k is used. bump date.
|
1.43 | 22-Apr-2006 |
wiz | i.e. without a space. PR 33328 by Igor Sobrado.
|
1.42 | 10-Nov-2005 |
elad | SHA2 support has been pulled up to NetBSD 3.0, update the history part.
|
1.41 | 24-Aug-2005 |
elad | Add SHA2 support in mtree.
|
1.40 | 24-Aug-2005 |
elad | Reference cksum(1) only.
|
1.39 | 22-Jul-2004 |
lukem | branches: 1.39.2; Implement -M to "merge" entries, even with different types. This can be used in /etc/security to allow special.local to override types of entries in special (e.g, replacing a dir with a link).
Rename Wflag to mtree_Wflag, to be more "external namespace" friendly.
|
1.38 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22366, verified by myself.
|
1.37 | 27-Jun-2003 |
wiz | Quote some characters.
|
1.36 | 31-Mar-2003 |
grant | grammar tweak.
|
1.35 | 25-Feb-2003 |
wiz | .Nm does not need a dummy argument ("") before punctuation or for correct formatting of the SYNOPSIS any longer.
|
1.34 | 27-Dec-2002 |
grant | File types belong under 'type', not 'uname'.
|
1.33 | 23-Dec-2002 |
lukem | Add -C, which dumps the specification with the full path name first, and then all the other fields. (I.e, like -D except with the name first instead of last). Consistenly strsvis(3) encode path names (even for -C and -D).
|
1.32 | 09-Dec-2002 |
lukem | correct description of -D
|
1.31 | 11-Feb-2002 |
lukem | support multiple entries for "." and full paths if the types match; the last listed entry's settings override the existing settings for that node.
|
1.30 | 05-Feb-2002 |
lukem | Support `/unset all', to unset all of the global values set with `/set ...'
|
1.29 | 24-Jan-2002 |
lukem | Add '-N dbdir', to specify that user & group lookups (via pwcache(3)) are to be done from dbdir/master.passwd and dbdir/group, using simple text file parsing routines.
|
1.28 | 19-Jan-2002 |
wiz | Whitespace nits.
|
1.27 | 07-Nov-2001 |
lukem | User interface changes from (or inspired by) FreeBSD: - Add -L to walk the tree `logically', by following symbolic links in the heirarchy. - Add -P to walk the tree `physically'. This is the current behaviour, and the default. - Add "-X excludes-file" to give mtree the ability to exclude files and directories from its traversal. excludes-file contains fnmatch(3) patterns to exclude from the walk. - Add "md5digest" synonym for "md5". - Add "rmd160" keyword for RMD-160 message digest, and "rmd160digest" synonym. - Add "sha1" keyword for SHA-1 message digest, and "sha1digest" synonym. - Don't try to compare() other attributes if the type doesn't match; it's nothing but trouble, and no use anyway. - In -c, only emit "/set" records if something has changed since the previous one.
User interface changes by me: - Check a device's parameters before checking uid/gid/mode. - If updating (-u), modify the following to match the specification: - Device type (retaining existing ownership). - Symlink target.
Fixes from (or inspired by) FreeBSD: - Use p->ftslevel instead of own code to keep track of the level ourself. The previous code got majorly confused if fts(3) couldn't descend into a subdir, resulting in leaf nodes getting attached to the wrong directory. XXX: This new method is much much more robust, even though it's not 100% perfect; it might result in a couple of following entries in the spec to be incorrectly tagged as missing. - Pass a useful pathname to rlink(), so that logical (-L) traversal doesn't confuse symlink checking. - Consistently use MAXPATHLEN+1 sized buffers for pathnames, so that there's room for the NUL. - Use mtree_err() and strerror(p->fts_errno) to report errors during the fts(3) walk.
Fixes by me: - Remove now-unused `const char *name' argument from compare(). - Change crc_total from an int to a u_int32_t, to match usr.bin/cksum/crc.c. - Remove trailing whitespace. - Remove unnecessary (void) casts on functions. - Reorder entries in the getopt() switch. - Replace strtoq() with strtoll(), and use strtoul() appropriately. - Renumber F_ flags to be in alphabetical order.
|
1.26 | 25-Oct-2001 |
lukem | Add -W: don't attempt to change the perms/time/flags on existing entries, nor set them when creating new directories. (AKA the ``don't whack'' option). Concept suggested by Todd Vierling.
|
1.25 | 22-Oct-2001 |
lukem | document requirement about first node being a directory called "."
|
1.24 | 19-Oct-2001 |
lukem | improve enumeration of the different specfile entry types
|
1.23 | 09-Oct-2001 |
lukem | Add "device" keyword, which allows the device number to be specified, to be later checked and possibly created. Uses parsing and encoding routines from mknod(8).
|
1.22 | 08-Oct-2001 |
lukem | - use "full path" instead of "absolute path"; perry thinks it's less confusing - clarify the `all' keyword support in -k, -K and -R. should solve [misc/14186] - use ".sp" instead of ".Pp" (from FreeBSD).
|
1.21 | 05-Oct-2001 |
lukem | * Implement support for absolute paths in the specfile. An absolute path is one that contains a `/' character that is not the first character. All parent directories referenced in the path must exist. * Add copyright for all the work I've done. * Document the history of various features added since 4.3-Reno.
|
1.20 | 05-Oct-2001 |
lukem | - support "all" as a valid keyword for -k, -K and -R. - parsekey(): support "all" as a keyword which returns a value with all bits set that pertain to a valid keyword. - dump_nodes(): - only print out a keyword if it's requested AND it's set in the node - UNAME falls back to UID if the user name can't be determined - GNAME falls back to GID if the group name can't be determined - rework man page: - use Sy instead of Cm - use Pq, Dq, Ql, etc instead of ``...''
|
1.19 | 05-Oct-2001 |
lukem | cleanup tags support; - create a typedef struct slist_t to hold stuff in (avoid stringlist(3) because it's less portable) - move the tag manipulate stuff into misc.c - add matchtags(), which returns 0 if the node is explicitly excluded, or not included if an include list is given; or 1 otherwise - in -D, change tags support from files-only to all-non-directories
(xxx; still considering implementing tags support for -c and !-D)
|
1.18 | 04-Oct-2001 |
wiz | Whitespace fixes, sort sections.
|
1.17 | 04-Oct-2001 |
lukem | features: - add a new keyword - "tags" - which is a comma separated list of tags associated with that file. - add "-E tags"; exclude files in -D output with matching tags - add "-I tags"; only include files in -D output with matching tags (default is to list all)
fixes: - move all extern variable references from individual files into extern.h - `quote' some more user-specified strings in error messages - man page: list an options arguments in the description, and sort xrefs.
|
1.16 | 01-Oct-2001 |
lukem | - implement -D - dump the specfile out in a manner that's parseable by various tools - implement -R key - remove the given key(s) from the list of keys to print (now it's possible with "-k type -R type" to remove all keys :) - rename ftype() to nodetype(), and make it public - use pwcache(3) functions instead of get{gr,pw}{nam,uid}(3) - add dump_nodes(), which provides the guts for -D.
|
1.15 | 22-Sep-2001 |
perry | Add a -l flag which does "loose" permissions checks, i.e. a mode 444 matches a check for mode 644 (though obviously not the reverse). This can be used by the nightly security run, making the output1 more useful by having it contain fewer spurious permissions violations.
Note that I did not make -l work if you have a sgid/suid/sticky bit set. I don't know how you could cause security trouble with more stringent settings and a suid file, but I don't want to find out the hard way.
|
1.14 | 07-Nov-2000 |
lukem | use .Xr
|
1.13 | 05-Oct-2000 |
wennmach | mtree uses strsvis, not strvis.
|
1.12 | 07-Nov-1999 |
wennmach | branches: 1.12.4; Encode file names using strvis(3) when creating a specification. Escape white space characters and `#' characters. Do the inverse when reading specs.
This is a temporary fix until we have strzouvis(3) (or some such) which is an improved version of strvis (taking an additional list of characters to encode).
Fixes PR 5006 and PR 7663
|
1.11 | 07-Mar-1999 |
mycroft | branches: 1.11.2; 1.11.6; Clean up SYNOPSIS formatting.
|
1.10 | 11-Feb-1999 |
mrg | - add -m and -i to change file flags more usefully. - fix bugs in fileflags checking
all of the above from dr. lex wennmacher <wennmach@geo.Uni-Koeln.DE> with some error fixes from egcs via myself.
|
1.9 | 06-Dec-1998 |
jwise | Add an `md5' keyword to mtree, which takes as an argument the MD5 cryptographic checksum of the file in question, optionally preceeded by `0x'.
This has been tested, and does work, AFAICT. There is currently no md5 equivalent of the '-s' flag for use with checksum.
|
1.8 | 10-Oct-1998 |
mrg | add support for 4.4BSD file flags. we take a `flags=xxx' parameter, using the same style of naming as chflags, ls & xinstall use, plus an additional `none' to turn off a default setting.
|
1.7 | 17-Oct-1997 |
lukem | WARNSify, getopt returns -1 not EOF
|
1.6 | 20-Aug-1997 |
agc | Add -U flag, checking for mismatch. This is the same as the old -u flag, except that an error which was corrected is deemed not to be an error.
Necessary for use in the FreeBSD ports system.
|
1.5 | 10-Jul-1997 |
mikel | xref chown(8) not chown(1), kill extra comma
|
1.4 | 07-Mar-1995 |
cgd | add an 'optional' keyword, which allows files to be in the specification, but _not_ in the file hierarchy. contrib'd by: Ed Symanzik <zik@enoch.cl.msu.edu>. Man page adjustment to match, and minor man page cleanup, by me.
|
1.3 | 07-Mar-1995 |
cgd | add NetBSD id's
|
1.2 | 07-Mar-1995 |
cgd | clean up import, fix a few bugs, etc.
|
1.1 | 02-Nov-1993 |
cgd | branches: 1.1.1; latest mtree from uunet. doesn't compile, but that'll be fixed soon. (want to have 'pseudo-virgin' sources, for when fixed fnmatch stuff is released...)
|
1.1.1.1 | 07-Mar-1995 |
cgd | from 4.4-Lite
|
1.11.6.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.11.2.1 | 20-Nov-1999 |
he | Pull up revision 1.12 (requested by wennmach and joda): Make mtree able to properly encode file names with `funny' albeit legal characters (`#', ` ', binary characters), fixing PR#5006 and PR#7663.
|
1.12.4.2 | 09-Dec-2001 |
he | Pull up revision 1.15 (requested by lukem): Add an ``-l'' flag which does ``loose'' permission checks.
|
1.12.4.1 | 09-Dec-2001 |
he | Pull up revision 1.13-1.14 (requested by lukem): Fix references to strsvis(3).
|
1.39.2.2 | 11-Nov-2005 |
tron | Pull up following revision(s) (requested by elad in ticket #952): usr.sbin/mtree/mtree.8: revision 1.42 SHA2 support has been pulled up to NetBSD 3.0, update the history part.
|
1.39.2.1 | 12-Sep-2005 |
tron | Apply patch (requested by elad in ticket #755): Add support for SHA2 in mtree(8).
|
1.44.16.1 | 18-May-2008 |
yamt | sync with head.
|
1.47.2.1 | 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
1.53.12.2 | 25-Feb-2013 |
tls | resync with head
|
1.53.12.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.53.6.4 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.53.6.3 | 23-Jan-2013 |
yamt | sync with head
|
1.53.6.2 | 16-Jan-2013 |
yamt | sync with (a bit old) head
|
1.53.6.1 | 30-Oct-2012 |
yamt | sync with head
|
1.71.4.1 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.71.2.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.72.12.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.72.10.1 | 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
1.51 | 05-Dec-2024 |
christos | PR/58875: Jose Luis Duran: Produce consistent checksums in verification by scanning directories in the same order as usual. While here, fix some incorrect types.
|
1.50 | 23-Jan-2015 |
christos | branches: 1.50.28; attempt to reset file flags when -rr
|
1.49 | 24-Apr-2014 |
christos | Pass a file pointer to write data instead of writing to stdout. No functional change.
|
1.48 | 08-Apr-2013 |
christos | branches: 1.48.4; move flags only used in main() inside main(), from Ed Schouten
|
1.47 | 03-Feb-2013 |
christos | add the ability to only output paths included in a spec file when creating from a directory (-c)
|
1.46 | 20-Dec-2012 |
christos | move flavor to misc.c because pax needs it.
|
1.45 | 20-Dec-2012 |
mlelstv | joerg@: just use unsigned int please
|
1.44 | 20-Dec-2012 |
christos | Implement the "flavor" output discussed in tech-userlevel@, by Brooks Davis
|
1.43 | 12-Dec-2012 |
christos | - No "j" in the getopt string. (Brooks Davis)
|
1.42 | 05-Oct-2012 |
wiz | Sync usage with man page.
|
1.41 | 05-Oct-2012 |
christos | Implement FreeBSD's -f spec1 -f spec2 spec comparision function. This is more useful than -C and diff because it highlights the keys that have changed value so for example, you can see that the size of a file has not changed but the contents have. (brooks)
|
1.40 | 05-Oct-2012 |
christos | add -j flag to indent directory blocks (from brooks)
|
1.39 | 05-Oct-2012 |
christos | add -q flag to silence warnings about symlinks to existing dirs (from OpenBSD via brooks)
|
1.38 | 05-Oct-2012 |
christos | add -n flag to disable comments (brook)
|
1.37 | 29-Aug-2011 |
joerg | branches: 1.37.2; 1.37.8; Use __dead and __printflike
|
1.36 | 08-Apr-2009 |
wiz | Sync usage with man page.
|
1.35 | 08-Apr-2009 |
apb | The recent addition of sorting to "mtree -C" broke some third party scripts. Now make sorting optional, controled by the "-S" flag.
|
1.34 | 21-Jul-2008 |
lukem | branches: 1.34.6; Remove the \n and tabs from the __COPYRIGHT() strings. Tweak to use a consistent format.
|
1.33 | 20-Jan-2007 |
perry | branches: 1.33.12; Fix a typo in a boolean test, which used & instead of &&.
|
1.32 | 22-Jul-2004 |
lukem | Implement -M to "merge" entries, even with different types. This can be used in /etc/security to allow special.local to override types of entries in special (e.g, replacing a dir with a link).
Rename Wflag to mtree_Wflag, to be more "external namespace" friendly.
|
1.31 | 20-Jun-2004 |
jmc | 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
|
1.30 | 07-Aug-2003 |
agc | branches: 1.30.2; Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22366, verified by myself.
|
1.29 | 23-Dec-2002 |
lukem | Add -C, which dumps the specification with the full path name first, and then all the other fields. (I.e, like -D except with the name first instead of last). Consistenly strsvis(3) encode path names (even for -C and -D).
|
1.28 | 31-Jan-2002 |
tv | Protect __RCSID and __COPYRIGHT from being invoked if not defined.
|
1.27 | 29-Jan-2002 |
tv | Add hooks to make mtree compilable from src/tools.
|
1.26 | 24-Jan-2002 |
lukem | Add '-N dbdir', to specify that user & group lookups (via pwcache(3)) are to be done from dbdir/master.passwd and dbdir/group, using simple text file parsing routines.
|
1.25 | 09-Nov-2001 |
lukem | Generally don't need the extra byte in MAXPATHLEN sized buffers, because pathnames are guaranteed by POSIX to be MAXPATHLEN-1 bytes long. Kindly pointed out by Warner Losh in private email.
|
1.24 | 07-Nov-2001 |
lukem | User interface changes from (or inspired by) FreeBSD: - Add -L to walk the tree `logically', by following symbolic links in the heirarchy. - Add -P to walk the tree `physically'. This is the current behaviour, and the default. - Add "-X excludes-file" to give mtree the ability to exclude files and directories from its traversal. excludes-file contains fnmatch(3) patterns to exclude from the walk. - Add "md5digest" synonym for "md5". - Add "rmd160" keyword for RMD-160 message digest, and "rmd160digest" synonym. - Add "sha1" keyword for SHA-1 message digest, and "sha1digest" synonym. - Don't try to compare() other attributes if the type doesn't match; it's nothing but trouble, and no use anyway. - In -c, only emit "/set" records if something has changed since the previous one.
User interface changes by me: - Check a device's parameters before checking uid/gid/mode. - If updating (-u), modify the following to match the specification: - Device type (retaining existing ownership). - Symlink target.
Fixes from (or inspired by) FreeBSD: - Use p->ftslevel instead of own code to keep track of the level ourself. The previous code got majorly confused if fts(3) couldn't descend into a subdir, resulting in leaf nodes getting attached to the wrong directory. XXX: This new method is much much more robust, even though it's not 100% perfect; it might result in a couple of following entries in the spec to be incorrectly tagged as missing. - Pass a useful pathname to rlink(), so that logical (-L) traversal doesn't confuse symlink checking. - Consistently use MAXPATHLEN+1 sized buffers for pathnames, so that there's room for the NUL. - Use mtree_err() and strerror(p->fts_errno) to report errors during the fts(3) walk.
Fixes by me: - Remove now-unused `const char *name' argument from compare(). - Change crc_total from an int to a u_int32_t, to match usr.bin/cksum/crc.c. - Remove trailing whitespace. - Remove unnecessary (void) casts on functions. - Reorder entries in the getopt() switch. - Replace strtoq() with strtoll(), and use strtoul() appropriately. - Renumber F_ flags to be in alphabetical order.
|
1.23 | 03-Nov-2001 |
lukem | - move "Wflag" global from mtree.c to spec.c, and reinstate the functionality of tv's previous code, which skips uname or gname parsing if -W is enabled. - rename "lineno" to "mtree_lineno", to reduce possibility of name clashes in code that yanks in spec.c & misc.c (unlikely, but you never know)
|
1.22 | 25-Oct-2001 |
lukem | Add -W: don't attempt to change the perms/time/flags on existing entries, nor set them when creating new directories. (AKA the ``don't whack'' option). Concept suggested by Todd Vierling.
|
1.21 | 22-Oct-2001 |
lukem | - enforce the top-most entry must be "." and must be a directory; avoids various potential problems when intermixing full and relative paths - changes to make it much easier to use spec() - the specfile parser - in other programs (via .PATHing spec.c and misc.c): - move excludetags, includetags and keys from mtree.c to misc.c - implement mtree_err() using vwarnx() instead of assuming name is "mtree" - move inotype() and nodetype() from compare.c to misc.c - add nodetoinode(), to convert from an mtree F_* type to a mode_t S_IF* type - clean up #include use; don't assume "mtree.h" pulls in some standard includes - change spec() to take a FILE * arg (where the specfile is read from)
|
1.20 | 05-Oct-2001 |
lukem | cleanup tags support; - create a typedef struct slist_t to hold stuff in (avoid stringlist(3) because it's less portable) - move the tag manipulate stuff into misc.c - add matchtags(), which returns 0 if the node is explicitly excluded, or not included if an include list is given; or 1 otherwise - in -D, change tags support from files-only to all-non-directories
(xxx; still considering implementing tags support for -c and !-D)
|
1.19 | 04-Oct-2001 |
lukem | features: - add a new keyword - "tags" - which is a comma separated list of tags associated with that file. - add "-E tags"; exclude files in -D output with matching tags - add "-I tags"; only include files in -D output with matching tags (default is to list all)
fixes: - move all extern variable references from individual files into extern.h - `quote' some more user-specified strings in error messages - man page: list an options arguments in the description, and sort xrefs.
|
1.18 | 01-Oct-2001 |
lukem | - implement -D - dump the specfile out in a manner that's parseable by various tools - implement -R key - remove the given key(s) from the list of keys to print (now it's possible with "-k type -R type" to remove all keys :) - rename ftype() to nodetype(), and make it public - use pwcache(3) functions instead of get{gr,pw}{nam,uid}(3) - add dump_nodes(), which provides the guts for -D.
|
1.17 | 22-Sep-2001 |
perry | Add a -l flag which does "loose" permissions checks, i.e. a mode 444 matches a check for mode 644 (though obviously not the reverse). This can be used by the nightly security run, making the output1 more useful by having it contain fewer spurious permissions violations.
Note that I did not make -l work if you have a sgid/suid/sticky bit set. I don't know how you could cause security trouble with more stringent settings and a suid file, but I don't want to find out the hard way.
|
1.16 | 21-Mar-2001 |
cgd | use setprogname
|
1.15 | 09-Mar-2001 |
simonb | ANSIfy, KNF, in preperation for more work.
|
1.14 | 11-Feb-1999 |
mrg | branches: 1.14.10; - add -m and -i to change file flags more usefully. - fix bugs in fileflags checking
all of the above from dr. lex wennmacher <wennmach@geo.Uni-Koeln.DE> with some error fixes from egcs via myself.
|
1.13 | 05-Dec-1998 |
itohy | getcwd() is not equivalent of getwd() if you want to print an error message.
|
1.12 | 03-Dec-1998 |
thorpej | Use getcwd(3) instead of getwd(3).
|
1.11 | 10-Oct-1998 |
mrg | add support for 4.4BSD file flags. we take a `flags=xxx' parameter, using the same style of naming as chflags, ls & xinstall use, plus an additional `none' to turn off a default setting.
|
1.10 | 08-Oct-1998 |
wsanchez | Use u_int32_t rather than Sys-V u_long. Rename err() to mtree_err(), to avoid conflict with libc.
|
1.9 | 17-Oct-1997 |
lukem | WARNSify, getopt returns -1 not EOF
|
1.8 | 20-Aug-1997 |
agc | Add -U flag, checking for mismatch. This is the same as the old -u flag, except that an error which was corrected is deemed not to be an error.
Necessary for use in the FreeBSD ports system.
|
1.7 | 05-Sep-1996 |
thorpej | Add a missing "break;", pointed out by Chris Demetriou.
|
1.6 | 05-Sep-1996 |
mycroft | Add a `-t' option to update time stamps.
|
1.5 | 07-Mar-1995 |
cgd | branches: 1.5.6; add NetBSD id's
|
1.4 | 07-Mar-1995 |
cgd | clean up import, fix a few bugs, etc.
|
1.3 | 02-Nov-1993 |
cgd | latest mtree from uunet. doesn't compile, but that'll be fixed soon. (want to have 'pseudo-virgin' sources, for when fixed fnmatch stuff is released...)
|
1.2 | 01-Aug-1993 |
mycroft | Add RCS identifiers.
|
1.1 | 21-Mar-1993 |
cgd | branches: 1.1.1; Initial revision
|
1.1.1.2 | 07-Mar-1995 |
cgd | from 4.4-Lite
|
1.1.1.1 | 21-Mar-1993 |
cgd | initial import of 386bsd-0.1 sources
|
1.5.6.1 | 10-Dec-1996 |
mycroft | From trunk: Don`t record sizes for things other than regular files. Add a `-t' option to update time stamps.
|
1.14.10.1 | 09-Dec-2001 |
he | Pull up revision 1.17 (via patch, requested by lukem): Add an ``-l'' flag which does ``loose'' permission checks.
|
1.30.2.1 | 22-Jun-2004 |
tron | Pull up revision 1.31 (requested by jmc in ticket #527): 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
|
1.33.12.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.34.6.1 | 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
1.37.8.4 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.37.8.3 | 23-Jun-2013 |
tls | resync from head
|
1.37.8.2 | 25-Feb-2013 |
tls | resync with head
|
1.37.8.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.37.2.4 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.37.2.3 | 23-Jan-2013 |
yamt | sync with head
|
1.37.2.2 | 16-Jan-2013 |
yamt | sync with (a bit old) head
|
1.37.2.1 | 30-Oct-2012 |
yamt | sync with head
|
1.48.4.1 | 10-Aug-2014 |
tls | Rebase.
|
1.50.28.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.31 | 05-Oct-2012 |
wiz | Fix typo in comment.
|
1.30 | 05-Oct-2012 |
christos | Implement FreeBSD's "nochange" keyworld which causes the existance of a filesystem object to be checked but none of its attiributes.(brooks)
|
1.29 | 05-Oct-2012 |
christos | Implement FreeBSD's -f spec1 -f spec2 spec comparision function. This is more useful than -C and diff because it highlights the keys that have changed value so for example, you can see that the size of a file has not changed but the contents have. (brooks)
|
1.28 | 05-Oct-2012 |
christos | account for differences in digest names
|
1.27 | 04-Apr-2009 |
apb | branches: 1.27.6; 1.27.12; Tags are internally stored with leading and trailing commas, for ease of using strstr(3) to check them against inclusion or exclusion lists. Don't output the leading or trailing commas.
|
1.26 | 04-Feb-2007 |
elad | branches: 1.26.20; The hashing routines (MD5File() and co.) can do dynamic allocation, so take advantage of that instead of an ugly hard-coded MAXHASHLEN limit that needs updating.
I think this was suggested by cube@ years ago.
|
1.25 | 14-Oct-2006 |
christos | PR/34818: rad at twig dot com: Recognize solaris door files.
|
1.24 | 02-Sep-2005 |
elad | Use MAXHASHLEN here too.
|
1.23 | 24-Aug-2005 |
elad | Add SHA2 support in mtree.
|
1.22 | 22-Jul-2004 |
lukem | branches: 1.22.2; Implement -M to "merge" entries, even with different types. This can be used in /etc/security to allow special.local to override types of entries in special (e.g, replacing a dir with a link).
Rename Wflag to mtree_Wflag, to be more "external namespace" friendly.
|
1.21 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22366, verified by myself.
|
1.20 | 23-Dec-2002 |
lukem | Add -C, which dumps the specification with the full path name first, and then all the other fields. (I.e, like -D except with the name first instead of last). Consistenly strsvis(3) encode path names (even for -C and -D).
|
1.19 | 24-Jan-2002 |
lukem | Add '-N dbdir', to specify that user & group lookups (via pwcache(3)) are to be done from dbdir/master.passwd and dbdir/group, using simple text file parsing routines.
|
1.18 | 07-Nov-2001 |
lukem | User interface changes from (or inspired by) FreeBSD: - Add -L to walk the tree `logically', by following symbolic links in the heirarchy. - Add -P to walk the tree `physically'. This is the current behaviour, and the default. - Add "-X excludes-file" to give mtree the ability to exclude files and directories from its traversal. excludes-file contains fnmatch(3) patterns to exclude from the walk. - Add "md5digest" synonym for "md5". - Add "rmd160" keyword for RMD-160 message digest, and "rmd160digest" synonym. - Add "sha1" keyword for SHA-1 message digest, and "sha1digest" synonym. - Don't try to compare() other attributes if the type doesn't match; it's nothing but trouble, and no use anyway. - In -c, only emit "/set" records if something has changed since the previous one.
User interface changes by me: - Check a device's parameters before checking uid/gid/mode. - If updating (-u), modify the following to match the specification: - Device type (retaining existing ownership). - Symlink target.
Fixes from (or inspired by) FreeBSD: - Use p->ftslevel instead of own code to keep track of the level ourself. The previous code got majorly confused if fts(3) couldn't descend into a subdir, resulting in leaf nodes getting attached to the wrong directory. XXX: This new method is much much more robust, even though it's not 100% perfect; it might result in a couple of following entries in the spec to be incorrectly tagged as missing. - Pass a useful pathname to rlink(), so that logical (-L) traversal doesn't confuse symlink checking. - Consistently use MAXPATHLEN+1 sized buffers for pathnames, so that there's room for the NUL. - Use mtree_err() and strerror(p->fts_errno) to report errors during the fts(3) walk.
Fixes by me: - Remove now-unused `const char *name' argument from compare(). - Change crc_total from an int to a u_int32_t, to match usr.bin/cksum/crc.c. - Remove trailing whitespace. - Remove unnecessary (void) casts on functions. - Reorder entries in the getopt() switch. - Replace strtoq() with strtoll(), and use strtoul() appropriately. - Renumber F_ flags to be in alphabetical order.
|
1.17 | 25-Oct-2001 |
lukem | - add lineno field to NODE - move inotype() prototype into mtree.h from extern.h
|
1.16 | 22-Oct-2001 |
lukem | - enforce the top-most entry must be "." and must be a directory; avoids various potential problems when intermixing full and relative paths - changes to make it much easier to use spec() - the specfile parser - in other programs (via .PATHing spec.c and misc.c): - move excludetags, includetags and keys from mtree.c to misc.c - implement mtree_err() using vwarnx() instead of assuming name is "mtree" - move inotype() and nodetype() from compare.c to misc.c - add nodetoinode(), to convert from an mtree F_* type to a mode_t S_IF* type - clean up #include use; don't assume "mtree.h" pulls in some standard includes - change spec() to take a FILE * arg (where the specfile is read from)
|
1.15 | 09-Oct-2001 |
lukem | Add "device" keyword, which allows the device number to be specified, to be later checked and possibly created. Uses parsing and encoding routines from mknod(8).
|
1.14 | 05-Oct-2001 |
lukem | cleanup tags support; - create a typedef struct slist_t to hold stuff in (avoid stringlist(3) because it's less portable) - move the tag manipulate stuff into misc.c - add matchtags(), which returns 0 if the node is explicitly excluded, or not included if an include list is given; or 1 otherwise - in -D, change tags support from files-only to all-non-directories
(xxx; still considering implementing tags support for -c and !-D)
|
1.13 | 04-Oct-2001 |
lukem | features: - add a new keyword - "tags" - which is a comma separated list of tags associated with that file. - add "-E tags"; exclude files in -D output with matching tags - add "-I tags"; only include files in -D output with matching tags (default is to list all)
fixes: - move all extern variable references from individual files into extern.h - `quote' some more user-specified strings in error messages - man page: list an options arguments in the description, and sort xrefs.
|
1.12 | 03-Oct-2001 |
lukem | add F_TYPE to KEYDEFAULT. whilst -c always prints the type (even if removed with -R), -D wasn't printing it in the default config
|
1.11 | 11-Feb-1999 |
mrg | - add -m and -i to change file flags more usefully. - fix bugs in fileflags checking
all of the above from dr. lex wennmacher <wennmach@geo.Uni-Koeln.DE> with some error fixes from egcs via myself.
|
1.10 | 06-Dec-1998 |
jwise | Add an `md5' keyword to mtree, which takes as an argument the MD5 cryptographic checksum of the file in question, optionally preceeded by `0x'.
This has been tested, and does work, AFAICT. There is currently no md5 equivalent of the '-s' flag for use with checksum.
|
1.9 | 10-Oct-1998 |
mrg | add support for 4.4BSD file flags. we take a `flags=xxx' parameter, using the same style of naming as chflags, ls & xinstall use, plus an additional `none' to turn off a default setting.
|
1.8 | 08-Oct-1998 |
wsanchez | Use u_int32_t rather than Sys-V u_long. Rename err() to mtree_err(), to avoid conflict with libc.
|
1.7 | 07-Mar-1995 |
cgd | add an 'optional' keyword, which allows files to be in the specification, but _not_ in the file hierarchy. contrib'd by: Ed Symanzik <zik@enoch.cl.msu.edu>. Man page adjustment to match, and minor man page cleanup, by me.
|
1.6 | 07-Mar-1995 |
cgd | add NetBSD id's
|
1.5 | 07-Mar-1995 |
cgd | clean up import, fix a few bugs, etc.
|
1.4 | 25-Apr-1994 |
cgd | #definery fun...
|
1.3 | 02-Nov-1993 |
cgd | latest mtree from uunet. doesn't compile, but that'll be fixed soon. (want to have 'pseudo-virgin' sources, for when fixed fnmatch stuff is released...)
|
1.2 | 01-Aug-1993 |
mycroft | Add RCS identifiers.
|
1.1 | 21-Mar-1993 |
cgd | branches: 1.1.1; Initial revision
|
1.1.1.2 | 07-Mar-1995 |
cgd | from 4.4-Lite
|
1.1.1.1 | 21-Mar-1993 |
cgd | initial import of 386bsd-0.1 sources
|
1.22.2.2 | 12-Sep-2005 |
tron | Apply patch (requested by elad in ticket #755): Add support for SHA2 in mtree(8).
|
1.22.2.1 | 12-Sep-2005 |
tron | Apply patch (requested by elad in ticket #755): Add support for SHA2 in mtree(8).
|
1.26.20.1 | 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
1.27.12.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.27.6.1 | 30-Oct-2012 |
yamt | sync with head
|
1.3 | 07-Sep-2017 |
nakayama | Don't modify strings stored in hash, otherwise filling up of directory hierarchy stops if the same hash value occurs in directory and leaf.
Fix the issue that "./usr/share/locale/pl/LC_MESSAGES/gettext-tools.mo" isn't included in sets file in the case of MKUNPRIVED=no.
|
1.2 | 05-Feb-2013 |
christos | branches: 1.2.4; 1.2.10; 1.2.12; 1.2.14; 1.2.22; 1.2.26; fill up the directory hierarchy so that leaf files are not ignored if specified by themselves.
|
1.1 | 03-Feb-2013 |
christos | add the ability to only output paths included in a spec file when creating from a directory (-c)
|
1.2.26.1 | 11-Sep-2017 |
snj | Pull up following revision(s) (requested by nakayama in ticket #268): usr.sbin/mtree/only.c: revision 1.3 Don't modify strings stored in hash, otherwise filling up of directory hierarchy stops if the same hash value occurs in directory and leaf. Fix the issue that "./usr/share/locale/pl/LC_MESSAGES/gettext-tools.mo" isn't included in sets file in the case of MKUNPRIVED=no.
|
1.2.22.1 | 23-Oct-2017 |
snj | Pull up following revision(s) (requested by nakayama in ticket #1506): usr.sbin/mtree/only.c: revision 1.3 Don't modify strings stored in hash, otherwise filling up of directory hierarchy stops if the same hash value occurs in directory and leaf. Fix the issue that "./usr/share/locale/pl/LC_MESSAGES/gettext-tools.mo" isn't included in sets file in the case of MKUNPRIVED=no.
|
1.2.14.1 | 23-Oct-2017 |
snj | Pull up following revision(s) (requested by nakayama in ticket #1506): usr.sbin/mtree/only.c: revision 1.3 Don't modify strings stored in hash, otherwise filling up of directory hierarchy stops if the same hash value occurs in directory and leaf. Fix the issue that "./usr/share/locale/pl/LC_MESSAGES/gettext-tools.mo" isn't included in sets file in the case of MKUNPRIVED=no.
|
1.2.12.1 | 23-Oct-2017 |
snj | Pull up following revision(s) (requested by nakayama in ticket #1506): usr.sbin/mtree/only.c: revision 1.3 Don't modify strings stored in hash, otherwise filling up of directory hierarchy stops if the same hash value occurs in directory and leaf. Fix the issue that "./usr/share/locale/pl/LC_MESSAGES/gettext-tools.mo" isn't included in sets file in the case of MKUNPRIVED=no.
|
1.2.10.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.2.10.1 | 05-Feb-2013 |
yamt | file only.c was added on branch yamt-pagecache on 2014-05-22 11:43:07 +0000
|
1.2.4.2 | 25-Feb-2013 |
tls | resync with head
|
1.2.4.1 | 05-Feb-2013 |
tls | file only.c was added on branch tls-maxphys on 2013-02-25 00:30:46 +0000
|
1.92 | 05-Dec-2024 |
christos | PR/58875: Jose Luis Duran: Produce consistent checksums in verification by scanning directories in the same order as usual. While here, fix some incorrect types.
|
1.91 | 04-Nov-2024 |
christos | Provide a more detail message about mismatched entries.
|
1.90 | 14-Dec-2017 |
christos | branches: 1.90.16; use uintmax_t for nlink_t from FreeBSD
|
1.89 | 24-Apr-2014 |
christos | Pass a file pointer to write data instead of writing to stdout. No functional change.
|
1.88 | 17-Oct-2013 |
christos | branches: 1.88.2; Our <sys/param.h> ends up calling header files that define intmax_t. This should not be the case (but >sys/param.h> is not a standard header so all bets are off). FreeBSD's does not, so explicitly include <stdint.h> to get it.
|
1.87 | 16-Oct-2013 |
christos | Default a bare "." with no type to F_DIR. For FreeBSD compatibility (Brooks Davis)
|
1.86 | 09-Sep-2013 |
christos | use intmax_t instead of long long. fixes wrong cast for time_t.
|
1.85 | 20-Dec-2012 |
christos | Implement the "flavor" output discussed in tech-userlevel@, by Brooks Davis
|
1.84 | 07-Oct-2012 |
christos | disable encoding of globbing characters for now.
|
1.83 | 05-Oct-2012 |
christos | Encode literal global characters in files. Otherwise the results of updating a directory using the resulting spec will be surprising.
See http://svnweb.freebsd.org/base/head/usr.sbin/mtree/test/test00.sh for test cases. (brooks)
|
1.82 | 05-Oct-2012 |
christos | clarify seconds.09nanoseconds format (brooks)
|
1.81 | 05-Oct-2012 |
christos | account for differences in digest names
|
1.80 | 15-Mar-2012 |
joerg | branches: 1.80.2; Add __printflike attribution to use vprintf and friends with an argument as format string.
|
1.79 | 14-Feb-2011 |
uebayasi | branches: 1.79.4; Suppress a superfluous whitespace after "time=..." in the output.
|
1.78 | 22-Sep-2009 |
apb | branches: 1.78.2; Fix errors in previous: "optional" and "ignore" keywords also need the appendfield treatment.
|
1.77 | 19-Sep-2009 |
apb | Do not print a trailing space on each line with "mtree -C".
|
1.76 | 19-Sep-2009 |
apb | Fix the "mtree -M" problem reported in PR 42031 by Geoff Wing. The cause of the problem was that part of the code assumed that nodecmp() on two nodes with the same name would return 0, but in fact nodecmp() would return -1 or +1 if one of the nodes was a directory and the other was not. The fix is to separate the notion of whether or not a duplicate name was found from the notion of where the new node should appear in the list.
|
1.75 | 11-Apr-2009 |
apb | When an mtree spec file omits a parent directory, "missing directory in specification", instead of "no such file or directory".
|
1.74 | 08-Apr-2009 |
apb | The recent addition of sorting to "mtree -C" broke some third party scripts. Now make sorting optional, controled by the "-S" flag.
|
1.73 | 07-Apr-2009 |
apb | fix another missing "prev" link
|
1.72 | 05-Apr-2009 |
apb | Fix broken "prev" pointer in one case.
|
1.71 | 05-Apr-2009 |
dogcow | Watch one's "p"s and "q"s and fix cast aspersions on alpha ("warning: field precision should have type 'int', but argument 2 has type 'long int'")
|
1.70 | 04-Apr-2009 |
apb | Tags are internally stored with leading and trailing commas, for ease of using strstr(3) to check them against inclusion or exclusion lists. Don't output the leading or trailing commas.
|
1.69 | 03-Apr-2009 |
apb | Make "mtree -C" sort its output.
As the input is read from a specfile into a tree of linked lists, keep each linked list sorted. The sort order is the same as that already used by "mtree -c": directories sort after non-directories, but otherwise names are sorted in the order used by strcmp().
|
1.68 | 18-Jan-2009 |
lukem | branches: 1.68.2; fix -Wsign-compare issues
|
1.67 | 28-Dec-2008 |
christos | fix time_t and dev_t formats
|
1.66 | 04-Nov-2008 |
dbj | ensure mtree_err gets a format string
|
1.65 | 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
1.64 | 14-Dec-2006 |
he | branches: 1.64.10; Complete the move of string_to_flags() and flags_to_string() from the bin/ls sources to libutil: o Bump libutil minor version number o Fix uses to include <util.h> to pick up the function definitions o Fix most uses of flags_to_string() to release the now-malloc()ed result
|
1.63 | 08-Oct-2006 |
martin | Apply patch from Peter Bex to fix PR bin/31922.
|
1.62 | 12-Apr-2006 |
dsl | If parameter don't have values, then 'continue' after setting the flag bit. Fixes coverty CID 776 and removes the need for a 'val = NULL' added to appease gcc's undefined variable tests. This parsing code sucks though, it doesn't correctly check for the '=' between a parameter and its value, whitespace can be used instead.
|
1.61 | 01-Oct-2005 |
christos | fix setmode error handling.
|
1.60 | 24-Aug-2005 |
elad | Add SHA2 support in mtree.
|
1.59 | 01-Dec-2004 |
lukem | branches: 1.59.2; In replacenode(), don't strunvis() a NULL pointer. (Fixes bug in previous.)
|
1.58 | 01-Dec-2004 |
lukem | strsvis(3) encode & decode the "link=" value (symlink target).
|
1.57 | 22-Jul-2004 |
lukem | Implement -M to "merge" entries, even with different types. This can be used in /etc/security to allow special.local to override types of entries in special (e.g, replacing a dir with a link).
Rename Wflag to mtree_Wflag, to be more "external namespace" friendly.
|
1.56 | 20-Jun-2004 |
jmc | 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
|
1.55 | 11-May-2004 |
christos | foliage from pack_dev change :-)
|
1.54 | 30-Jan-2004 |
ross | branches: 1.54.2; Handle new-style error return from mknod/pack_dev.c
|
1.53 | 17-Nov-2003 |
dbj | #include <util.h> this is needed by fparseln on macos/darwin and is harmless on netbsd
|
1.52 | 10-Oct-2003 |
dsl | Include filename in: 'existing entry for `sha1.h', type `file' does not match type `link'
|
1.51 | 19-Sep-2003 |
itojun | realloc pedant
|
1.50 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22366, verified by myself.
|
1.49 | 23-Dec-2002 |
lukem | Add -C, which dumps the specification with the full path name first, and then all the other fields. (I.e, like -D except with the name first instead of last). Consistenly strsvis(3) encode path names (even for -C and -D).
|
1.48 | 30-Nov-2002 |
lukem | tweaks for fparseln(3) move from libutil to libc: - remove #include <util.h> if nothing else needed it - remove LDFLAGS+=-lutil if nothing else needed it
|
1.47 | 11-Feb-2002 |
lukem | support multiple entries for "." and full paths if the types match; the last listed entry's settings override the existing settings for that node.
|
1.46 | 05-Feb-2002 |
lukem | Support `/unset all', to unset all of the global values set with `/set ...'
|
1.45 | 31-Jan-2002 |
tv | Roll in fixes to permit cross-compiling from non-NetBSD hosts. This round has been tested on Solaris/x86 and Linux hosts.
* Add host tools cap_mkdb, ctags, m4, uudecode. * Protect __RCSID() and __COPYRIGHT() better. * Reduce the number of places that need to include "config.h", to keep sources closer to their "vanilla" versions. * Add more compat #defines and autoconf-checked functions.
|
1.44 | 29-Jan-2002 |
tv | Make almost all tools compile and run properly on non-NetBSD hosts. (In particular, most tools now run correctly on Solaris 7.)
|
1.43 | 29-Jan-2002 |
lukem | add <util.h> back in for native builds.
|
1.42 | 29-Jan-2002 |
tv | Add hooks to make mtree compilable from src/tools.
|
1.41 | 09-Nov-2001 |
lukem | Generally don't need the extra byte in MAXPATHLEN sized buffers, because pathnames are guaranteed by POSIX to be MAXPATHLEN-1 bytes long. Kindly pointed out by Warner Losh in private email.
|
1.40 | 07-Nov-2001 |
lukem | User interface changes from (or inspired by) FreeBSD: - Add -L to walk the tree `logically', by following symbolic links in the heirarchy. - Add -P to walk the tree `physically'. This is the current behaviour, and the default. - Add "-X excludes-file" to give mtree the ability to exclude files and directories from its traversal. excludes-file contains fnmatch(3) patterns to exclude from the walk. - Add "md5digest" synonym for "md5". - Add "rmd160" keyword for RMD-160 message digest, and "rmd160digest" synonym. - Add "sha1" keyword for SHA-1 message digest, and "sha1digest" synonym. - Don't try to compare() other attributes if the type doesn't match; it's nothing but trouble, and no use anyway. - In -c, only emit "/set" records if something has changed since the previous one.
User interface changes by me: - Check a device's parameters before checking uid/gid/mode. - If updating (-u), modify the following to match the specification: - Device type (retaining existing ownership). - Symlink target.
Fixes from (or inspired by) FreeBSD: - Use p->ftslevel instead of own code to keep track of the level ourself. The previous code got majorly confused if fts(3) couldn't descend into a subdir, resulting in leaf nodes getting attached to the wrong directory. XXX: This new method is much much more robust, even though it's not 100% perfect; it might result in a couple of following entries in the spec to be incorrectly tagged as missing. - Pass a useful pathname to rlink(), so that logical (-L) traversal doesn't confuse symlink checking. - Consistently use MAXPATHLEN+1 sized buffers for pathnames, so that there's room for the NUL. - Use mtree_err() and strerror(p->fts_errno) to report errors during the fts(3) walk.
Fixes by me: - Remove now-unused `const char *name' argument from compare(). - Change crc_total from an int to a u_int32_t, to match usr.bin/cksum/crc.c. - Remove trailing whitespace. - Remove unnecessary (void) casts on functions. - Reorder entries in the getopt() switch. - Replace strtoq() with strtoll(), and use strtoul() appropriately. - Renumber F_ flags to be in alphabetical order.
|
1.39 | 03-Nov-2001 |
lukem | - move "Wflag" global from mtree.c to spec.c, and reinstate the functionality of tv's previous code, which skips uname or gname parsing if -W is enabled. - rename "lineno" to "mtree_lineno", to reduce possibility of name clashes in code that yanks in spec.c & misc.c (unlikely, but you never know)
|
1.38 | 01-Nov-2001 |
tv | Revert previous until it's fixed a more generic way ... I didn't realize this was pulled in via reachover from elsewhere.
|
1.37 | 31-Oct-2001 |
tv | Don't try to do uid or gid lookups from a supplied spec file if -W is given; the numerical IDs won't be used anyway.
|
1.36 | 26-Oct-2001 |
lukem | fix potential sparc compiler warning (if DEBUG was defined, that is...)
|
1.35 | 25-Oct-2001 |
lukem | - add lineno field to NODE - move inotype() prototype into mtree.h from extern.h
|
1.34 | 22-Oct-2001 |
lukem | - enforce the top-most entry must be "." and must be a directory; avoids various potential problems when intermixing full and relative paths - changes to make it much easier to use spec() - the specfile parser - in other programs (via .PATHing spec.c and misc.c): - move excludetags, includetags and keys from mtree.c to misc.c - implement mtree_err() using vwarnx() instead of assuming name is "mtree" - move inotype() and nodetype() from compare.c to misc.c - add nodetoinode(), to convert from an mtree F_* type to a mode_t S_IF* type - clean up #include use; don't assume "mtree.h" pulls in some standard includes - change spec() to take a FILE * arg (where the specfile is read from)
|
1.33 | 17-Oct-2001 |
lukem | convert from strtok() to strsep()
|
1.32 | 09-Oct-2001 |
lukem | Add "device" keyword, which allows the device number to be specified, to be later checked and possibly created. Uses parsing and encoding routines from mknod(8).
|
1.31 | 05-Oct-2001 |
lukem | * Implement support for absolute paths in the specfile. An absolute path is one that contains a `/' character that is not the first character. All parent directories referenced in the path must exist. * Add copyright for all the work I've done. * Document the history of various features added since 4.3-Reno.
|
1.30 | 05-Oct-2001 |
lukem | - support "all" as a valid keyword for -k, -K and -R. - parsekey(): support "all" as a keyword which returns a value with all bits set that pertain to a valid keyword. - dump_nodes(): - only print out a keyword if it's requested AND it's set in the node - UNAME falls back to UID if the user name can't be determined - GNAME falls back to GID if the group name can't be determined - rework man page: - use Sy instead of Cm - use Pq, Dq, Ql, etc instead of ``...''
|
1.29 | 05-Oct-2001 |
lukem | dump_nodes() fixes: - in F_GID, print the gid not the uid - support F_GNAME
|
1.28 | 05-Oct-2001 |
lukem | cleanup tags support; - create a typedef struct slist_t to hold stuff in (avoid stringlist(3) because it's less portable) - move the tag manipulate stuff into misc.c - add matchtags(), which returns 0 if the node is explicitly excluded, or not included if an include list is given; or 1 otherwise - in -D, change tags support from files-only to all-non-directories
(xxx; still considering implementing tags support for -c and !-D)
|
1.27 | 04-Oct-2001 |
lukem | - skip F_OPT entries (recently added diagnostic detected this) - put F_TAG parsing in the correct alphabetical position
|
1.26 | 04-Oct-2001 |
lukem | features: - add a new keyword - "tags" - which is a comma separated list of tags associated with that file. - add "-E tags"; exclude files in -D output with matching tags - add "-I tags"; only include files in -D output with matching tags (default is to list all)
fixes: - move all extern variable references from individual files into extern.h - `quote' some more user-specified strings in error messages - man page: list an options arguments in the description, and sort xrefs.
|
1.25 | 01-Oct-2001 |
lukem | - implement -D - dump the specfile out in a manner that's parseable by various tools - implement -R key - remove the given key(s) from the list of keys to print (now it's possible with "-k type -R type" to remove all keys :) - rename ftype() to nodetype(), and make it public - use pwcache(3) functions instead of get{gr,pw}{nam,uid}(3) - add dump_nodes(), which provides the guts for -D.
|
1.24 | 10-Sep-2001 |
lukem | replace home-grown parser with fparseln()
|
1.23 | 18-Jul-2001 |
lukem | - add parsetype() (a la parsekey()) to parse the "type=xxx" arg. this improves the error detection for invalid types, as well as shrinking binary size - implement inotype() using ftype(), rather than duplicating the switch - change "char *" arguments to "const char *"
|
1.22 | 25-Mar-2001 |
christos | improve readability of error messages by quoting the string that we did not understand. Avoids lossage like "unknown group named".
|
1.21 | 09-Mar-2001 |
simonb | ANSIfy, KNF, in preperation for more work.
|
1.20 | 20-Feb-2001 |
hubertf | Remove all the "#ifdef __APPLE__" code, to make this actually build again on Darwin. The code in question is outdated.
OK'd by Wilfredo Sanchez wsanchez@MIT.EDU.
|
1.19 | 10-Oct-2000 |
enami | - The type of return value of setmode is a void * and getmode takes it, rather than mode_t *. - Free the storage allocated by setmode unless it is obvious that program exits immediately.
|
1.18 | 01-Dec-1999 |
wennmach | Use strunvis instead of homebrewed "decode" routine
|
1.17 | 07-Nov-1999 |
wennmach | Encode file names using strvis(3) when creating a specification. Escape white space characters and `#' characters. Do the inverse when reading specs.
This is a temporary fix until we have strzouvis(3) (or some such) which is an improved version of strvis (taking an additional list of characters to encode).
Fixes PR 5006 and PR 7663
|
1.16 | 19-Dec-1998 |
christos | branches: 1.16.2; 1.16.6; Appease gcc-2.8.1, make printf formats more portable.
|
1.15 | 06-Dec-1998 |
jwise | Add an `md5' keyword to mtree, which takes as an argument the MD5 cryptographic checksum of the file in question, optionally preceeded by `0x'.
This has been tested, and does work, AFAICT. There is currently no md5 equivalent of the '-s' flag for use with checksum.
|
1.14 | 10-Oct-1998 |
mrg | add support for 4.4BSD file flags. we take a `flags=xxx' parameter, using the same style of naming as chflags, ls & xinstall use, plus an additional `none' to turn off a default setting.
|
1.13 | 08-Oct-1998 |
wsanchez | Use u_int32_t rather than Sys-V u_long. Rename err() to mtree_err(), to avoid conflict with libc.
|
1.12 | 23-Sep-1998 |
itohy | The return value of setmode(3) is a pointer to malloc()'ed area and must be freed to avoid memory leaks if called repeatedly.
|
1.11 | 17-Oct-1997 |
lukem | WARNSify, getopt returns -1 not EOF
|
1.10 | 17-Oct-1997 |
mrg | merge lite-2
|
1.9 | 11-Jul-1997 |
mikel | fix printf() formats, make explicit comparisons to NULL (gcc -Wall)
|
1.8 | 25-Apr-1997 |
mikel | use appropriate strto*() functions, and cast results when appropriate; fixes PR bin/1582.
|
1.7 | 01-Feb-1996 |
jtc | Rename struct timespec fields to conform to POSIX.1b
|
1.6 | 07-Mar-1995 |
cgd | add NetBSD id's
|
1.5 | 07-Mar-1995 |
cgd | clean up import, fix a few bugs, etc.
|
1.4 | 27-Mar-1994 |
cgd | off_t exp.
|
1.3 | 02-Nov-1993 |
cgd | latest mtree from uunet. doesn't compile, but that'll be fixed soon. (want to have 'pseudo-virgin' sources, for when fixed fnmatch stuff is released...)
|
1.2 | 01-Aug-1993 |
mycroft | Add RCS identifiers.
|
1.1 | 21-Mar-1993 |
cgd | branches: 1.1.1; Initial revision
|
1.1.1.3 | 29-Apr-1995 |
mrg | 4.4BSD-Lite2
|
1.1.1.2 | 07-Mar-1995 |
cgd | from 4.4-Lite
|
1.1.1.1 | 21-Mar-1993 |
cgd | initial import of 386bsd-0.1 sources
|
1.16.6.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.16.2.1 | 20-Nov-1999 |
he | Pull up revision 1.17 (requested by wennmach and joda): Make mtree able to properly encode file names with `funny' albeit legal characters (`#', ` ', binary characters), fixing PR#5006 and PR#7663.
|
1.54.2.1 | 22-Jun-2004 |
tron | Pull up revision 1.56 (requested by jmc in ticket #527): 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
|
1.59.2.1 | 12-Sep-2005 |
tron | Apply patch (requested by elad in ticket #755): Add support for SHA2 in mtree(8).
|
1.64.10.1 | 18-May-2008 |
yamt | sync with head.
|
1.68.2.1 | 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
1.78.2.1 | 17-Feb-2011 |
bouyer | Sync with HEAD
|
1.79.4.4 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.79.4.3 | 23-Jan-2013 |
yamt | sync with head
|
1.79.4.2 | 30-Oct-2012 |
yamt | sync with head
|
1.79.4.1 | 17-Apr-2012 |
yamt | sync with head
|
1.80.2.3 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.80.2.2 | 25-Feb-2013 |
tls | resync with head
|
1.80.2.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.88.2.1 | 10-Aug-2014 |
tls | Rebase.
|
1.90.16.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.5 | 02-Dec-2023 |
christos | PR/57735: Jose Louis Duran: mtree -f file1 -f file2 does not consider type changes. (FreeBSD https://github.com/freebsd/freebsd-src/commit/\ 4f4b548b1d21ae16955b09f9b717524167a7d97e)
|
1.4 | 14-Dec-2017 |
christos | use uintmax_t for nlink_t from FreeBSD
|
1.3 | 07-Jan-2015 |
joerg | st_nlink on Linux is not int, so add an explicit cast.
|
1.2 | 05-Oct-2012 |
christos | branches: 1.2.2; 1.2.4; NetBSD needs <time.h>
|
1.1 | 05-Oct-2012 |
christos | Implement FreeBSD's -f spec1 -f spec2 spec comparision function. This is more useful than -C and diff because it highlights the keys that have changed value so for example, you can see that the size of a file has not changed but the contents have. (brooks)
|
1.2.4.2 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.2.4.1 | 05-Oct-2012 |
tls | file specspec.c was added on branch tls-maxphys on 2012-11-20 03:03:02 +0000
|
1.2.2.2 | 30-Oct-2012 |
yamt | sync with head
|
1.2.2.1 | 05-Oct-2012 |
yamt | file specspec.c was added on branch yamt-pagecache on 2012-10-30 19:00:41 +0000
|
1.50 | 11-Dec-2024 |
christos | PR/58885: Jose Luis Duran: Fix output formatting for extra entries for FreeBSD-9 compatibility.
|
1.49 | 05-Dec-2024 |
christos | PR/58875: Jose Luis Duran: Produce consistent checksums in verification by scanning directories in the same order as usual. While here, fix some incorrect types.
|
1.48 | 02-Dec-2023 |
christos | branches: 1.48.2; PR/57735: Jose Louis Duran: check if fts_read(3) had an error. (FreeBSD commit https://github.com/freebsd/freebsd-src/commit/\ 2dfa4b66b3d0caaaae6ce2df476b5615f8415a19)
|
1.47 | 18-Mar-2021 |
cheusov | mtree: use POSIX type uint32_t instead of u_int32_t
|
1.46 | 23-Jan-2015 |
christos | fix tools build.
|
1.45 | 23-Jan-2015 |
christos | attempt to reset file flags when -rr
|
1.44 | 03-Feb-2013 |
christos | add the ability to only output paths included in a spec file when creating from a directory (-c)
|
1.43 | 05-Oct-2012 |
christos | Implement FreeBSD's "nochange" keyworld which causes the existance of a filesystem object to be checked but none of its attiributes.(brooks)
|
1.42 | 05-Oct-2012 |
christos | Implement FreeBSD's -f spec1 -f spec2 spec comparision function. This is more useful than -C and diff because it highlights the keys that have changed value so for example, you can see that the size of a file has not changed but the contents have. (brooks)
|
1.41 | 05-Oct-2012 |
christos | add -q flag to silence warnings about symlinks to existing dirs (from OpenBSD via brooks)
|
1.40 | 25-Mar-2012 |
christos | branches: 1.40.2; PR/41061: Steven Drake: mtree -d complains about extra symlinks
|
1.39 | 07-Oct-2006 |
elad | branches: 1.39.40; PR/28786: Jukka Salmi: mtree bug (in verify.c)
Apply patch from Peter Bex, thanks!
|
1.38 | 22-Jul-2004 |
lukem | Implement -M to "merge" entries, even with different types. This can be used in /etc/security to allow special.local to override types of entries in special (e.g, replacing a dir with a link).
Rename Wflag to mtree_Wflag, to be more "external namespace" friendly.
|
1.37 | 20-Jun-2004 |
jmc | 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
|
1.36 | 27-Oct-2003 |
lukem | branches: 1.36.2; 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).
|
1.35 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22366, verified by myself.
|
1.34 | 04-Jan-2003 |
lukem | Change default permissions of newly created directories from "0700, modified by umask", to "0777, modified by umask". This matches the behaviour of mkdir(1) and just about every other command...
This change is useful when running with '-W', where the mode of the new directory won't be changed to what's specified in the specfile. (I.e, an UNPRIVED build, with a umask of 022).
|
1.33 | 29-Nov-2002 |
grant | avoid non-constant initializer errors by changing hack to workaround gcc warning to a slightly different hack.
|
1.32 | 08-Oct-2002 |
lukem | Remove convoluted code to work around missing lch{flags,mod,own}(); instead, rely upon libnbcompat to provide a workaround (which returns an error if the target is a symlink). Should fix another MacOS X build issue due to missing lchown(2).
|
1.31 | 06-Oct-2002 |
lukem | - Check HAVE_LCHFLAGS for lchflags(2) support, rather than assuming that HAVE_STRUCT_STAT_ST_FLAGS implies this. - Set HAVE_LCHFLAGS for native builds - Clean up {CLEAR,SET,CHANGE}FLAGS macros, and only provide if HAVE_STRUCT_STAT_ST_FLAGS is set.
(Fixes compilation as a tool on MacOS X, noted by Allen Briggs.)
|
1.30 | 08-Feb-2002 |
tv | Funtion appropriately in the absence of a lchmod call on the host.
|
1.29 | 04-Feb-2002 |
lukem | - use lch*() instead of ch*() to change permissions, so that links in the specfile don't confuse things. doesn't affect the default (physical) operation, and shouldn't affect logical either. - slightly rework how miss() is implemented so that duplicated code is reduced and links may optionally have a mode, uname and/or gname.
|
1.28 | 04-Feb-2002 |
lukem | explicitly chmod(2) newly created devices
|
1.27 | 31-Jan-2002 |
tv | Protect __RCSID and __COPYRIGHT from being invoked if not defined.
|
1.26 | 29-Jan-2002 |
tv | Add hooks to make mtree compilable from src/tools.
|
1.25 | 09-Nov-2001 |
lukem | Generally don't need the extra byte in MAXPATHLEN sized buffers, because pathnames are guaranteed by POSIX to be MAXPATHLEN-1 bytes long. Kindly pointed out by Warner Losh in private email.
|
1.24 | 07-Nov-2001 |
lukem | User interface changes from (or inspired by) FreeBSD: - Add -L to walk the tree `logically', by following symbolic links in the heirarchy. - Add -P to walk the tree `physically'. This is the current behaviour, and the default. - Add "-X excludes-file" to give mtree the ability to exclude files and directories from its traversal. excludes-file contains fnmatch(3) patterns to exclude from the walk. - Add "md5digest" synonym for "md5". - Add "rmd160" keyword for RMD-160 message digest, and "rmd160digest" synonym. - Add "sha1" keyword for SHA-1 message digest, and "sha1digest" synonym. - Don't try to compare() other attributes if the type doesn't match; it's nothing but trouble, and no use anyway. - In -c, only emit "/set" records if something has changed since the previous one.
User interface changes by me: - Check a device's parameters before checking uid/gid/mode. - If updating (-u), modify the following to match the specification: - Device type (retaining existing ownership). - Symlink target.
Fixes from (or inspired by) FreeBSD: - Use p->ftslevel instead of own code to keep track of the level ourself. The previous code got majorly confused if fts(3) couldn't descend into a subdir, resulting in leaf nodes getting attached to the wrong directory. XXX: This new method is much much more robust, even though it's not 100% perfect; it might result in a couple of following entries in the spec to be incorrectly tagged as missing. - Pass a useful pathname to rlink(), so that logical (-L) traversal doesn't confuse symlink checking. - Consistently use MAXPATHLEN+1 sized buffers for pathnames, so that there's room for the NUL. - Use mtree_err() and strerror(p->fts_errno) to report errors during the fts(3) walk.
Fixes by me: - Remove now-unused `const char *name' argument from compare(). - Change crc_total from an int to a u_int32_t, to match usr.bin/cksum/crc.c. - Remove trailing whitespace. - Remove unnecessary (void) casts on functions. - Reorder entries in the getopt() switch. - Replace strtoq() with strtoll(), and use strtoul() appropriately. - Renumber F_ flags to be in alphabetical order.
|
1.23 | 25-Oct-2001 |
lukem | Add -W: don't attempt to change the perms/time/flags on existing entries, nor set them when creating new directories. (AKA the ``don't whack'' option). Concept suggested by Todd Vierling.
|
1.22 | 22-Oct-2001 |
lukem | - enforce the top-most entry must be "." and must be a directory; avoids various potential problems when intermixing full and relative paths - changes to make it much easier to use spec() - the specfile parser - in other programs (via .PATHing spec.c and misc.c): - move excludetags, includetags and keys from mtree.c to misc.c - implement mtree_err() using vwarnx() instead of assuming name is "mtree" - move inotype() and nodetype() from compare.c to misc.c - add nodetoinode(), to convert from an mtree F_* type to a mode_t S_IF* type - clean up #include use; don't assume "mtree.h" pulls in some standard includes - change spec() to take a FILE * arg (where the specfile is read from)
|
1.21 | 18-Oct-2001 |
lukem | complete WARNS=2 cleanup (with a bit of ickiness for the fts_open argv issue)
|
1.20 | 09-Oct-2001 |
lukem | Add "device" keyword, which allows the device number to be specified, to be later checked and possibly created. Uses parsing and encoding routines from mknod(8).
|
1.19 | 04-Oct-2001 |
lukem | features: - add a new keyword - "tags" - which is a comma separated list of tags associated with that file. - add "-E tags"; exclude files in -D output with matching tags - add "-I tags"; only include files in -D output with matching tags (default is to list all)
fixes: - move all extern variable references from individual files into extern.h - `quote' some more user-specified strings in error messages - man page: list an options arguments in the description, and sort xrefs.
|
1.18 | 09-Mar-2001 |
simonb | ANSIfy, KNF, in preperation for more work.
|
1.17 | 11-Feb-1999 |
mrg | - add -m and -i to change file flags more usefully. - fix bugs in fileflags checking
all of the above from dr. lex wennmacher <wennmach@geo.Uni-Koeln.DE> with some error fixes from egcs via myself.
|
1.16 | 10-Oct-1998 |
mrg | add support for 4.4BSD file flags. we take a `flags=xxx' parameter, using the same style of naming as chflags, ls & xinstall use, plus an additional `none' to turn off a default setting.
|
1.15 | 08-Oct-1998 |
wsanchez | Use u_int32_t rather than Sys-V u_long. Rename err() to mtree_err(), to avoid conflict with libc.
|
1.14 | 27-Aug-1998 |
ross | Add {} pairs to shut up egcs.
|
1.13 | 17-Oct-1997 |
lukem | WARNSify, getopt returns -1 not EOF
|
1.12 | 11-Jul-1997 |
mikel | fix printf() formats, make explicit comparisons to NULL (gcc -Wall)
|
1.11 | 23-Jun-1997 |
lukem | Don't incorrectly warn about a subdirectory of 'foo' called 'bar' when there's directory at the same level as 'foo' called 'bar'. (e.g, a definition of usr/obj exists, and a def for usr/bin, but none for usr/obj/bin. don't warn about usr/obj/bin because of the usr/bin entry). Fix from enami tsugutomo <enami@ba2.so-net.or.jp> in [bin/3365]
|
1.10 | 07-Mar-1995 |
cgd | add an 'optional' keyword, which allows files to be in the specification, but _not_ in the file hierarchy. contrib'd by: Ed Symanzik <zik@enoch.cl.msu.edu>. Man page adjustment to match, and minor man page cleanup, by me.
|
1.9 | 07-Mar-1995 |
cgd | add NetBSD id's
|
1.8 | 07-Mar-1995 |
cgd | clean up import, fix a few bugs, etc.
|
1.7 | 02-Nov-1993 |
cgd | make it compile...
|
1.6 | 02-Nov-1993 |
cgd | latest mtree from uunet. doesn't compile, but that'll be fixed soon. (want to have 'pseudo-virgin' sources, for when fixed fnmatch stuff is released...)
|
1.5 | 01-Oct-1993 |
jtc | Use *->fts_errno instead of errno after fts_read(). The fts manpage indicates that the fts_errno will be set to the correct value, but there are no guarentees about errno.
|
1.4 | 01-Aug-1993 |
mycroft | Add RCS identifiers.
|
1.3 | 16-Jun-1993 |
jtc | Update source to use posix fnmatch
|
1.2 | 10-Apr-1993 |
mycroft | Reverse sense of fnmatch() to match POSIX.
|
1.1 | 21-Mar-1993 |
cgd | branches: 1.1.1; Initial revision
|
1.1.1.2 | 07-Mar-1995 |
cgd | from 4.4-Lite
|
1.1.1.1 | 21-Mar-1993 |
cgd | initial import of 386bsd-0.1 sources
|
1.36.2.1 | 22-Jun-2004 |
tron | Pull up revision 1.37 (requested by jmc in ticket #527): 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
|
1.39.40.3 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.39.40.2 | 30-Oct-2012 |
yamt | sync with head
|
1.39.40.1 | 17-Apr-2012 |
yamt | sync with head
|
1.40.2.2 | 25-Feb-2013 |
tls | resync with head
|
1.40.2.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.48.2.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|