2019-09-04 15:17  klm

	* src/version.h: Updated version number (3.13.0.rc3 -->
	3.13.0.sr0).

2019-09-03 15:59  klm

	* src/version.h: Updated version number (3.13.0.rc2 -->
	3.13.0.rc3).

2019-09-03 15:58  klm

	* doc/ftimes/controls/IncludeFilterKlel.pod: Updated KLEL type
	names.

2019-09-03 15:51  klm

	* src/version.h: Updated version number (3.13.0.rc1 -->
	3.13.0.rc2).

2019-09-03 15:50  klm

	* doc/ftimes/sections/DESCRIPTION.pod: Added entries for
	{Ex,In}cludeFilterKlel.

2019-09-03 15:29  klm

	* src/version.h: Updated version number (3.13.0.ds8 -->
	3.13.0.rc1).

2019-09-03 15:23  klm

	* README.INSTALL: Updated documentation to reflect changes since
	the last release.

2019-09-03 15:05  klm

	* configure.in: Made KLEL a compile-time requirement. This implies
	that we expect USE_KLEL to always be defined going forward.

2019-08-30 15:32  klm

	* src/version.h: Updated version number (3.13.0.ds7 -->
	3.13.0.ds8).

2019-08-30 15:22  klm

	* src/filter.c: Fixed a bug where the neutered path was being used
	instead of the raw path.

2019-08-30 14:22  klm

	* configure.in, src/version.h: Updated version number (3.13.0.ds6
	--> 3.13.0.ds7).

2019-08-30 11:48  klm

	* src/support.c: Added a missing break statement.

2019-08-30 11:26  klm

	* doc/ftimes/controls/: ExcludeFilterKlel.pod,
	IncludeFilterKlel.pod: Initial checkin.

2019-08-29 16:50  klm

	* src/version.h: Updated version number (3.13.0.ds5 -->
	3.13.0.ds6).

2019-08-29 16:49  klm

	* src/version.c: Added code to indicate when file hooks are
	enabled.

2019-08-29 16:43  klm

	* src/ftimes.c: Added code to export ftimes.neuter_string to Python
	scripts. Thanks to Jason Smith for writing and testing the initial
	patch.

2019-08-29 15:26  klm

	* src/version.h: Updated version number (3.13.0.ds4 -->
	3.13.0.ds5).

2019-08-29 15:24  klm

	* configure.in, doc/ftimes/Makefile.in,
	doc/ftimes/controls/ExcludeFilter.pod,
	doc/ftimes/controls/ExcludeFilterMd5.pod,
	doc/ftimes/controls/ExcludeFilterSha1.pod,
	doc/ftimes/controls/ExcludeFilterSha256.pod,
	doc/ftimes/controls/IncludeFilter.pod,
	doc/ftimes/controls/IncludeFilterMd5.pod,
	doc/ftimes/controls/IncludeFilterSha1.pod,
	doc/ftimes/controls/IncludeFilterSha256.pod,
	etc/ftimes-dig.cfg/ftimes-dig.cfg.base,
	etc/ftimes-map.cfg/ftimes-map.cfg.base, src/Makefile.in,
	src/app-includes.h, src/develop.c, src/digmode.c, src/error.h,
	src/ftimes.h, src/madmode.c, src/map.c, src/mapmode.c, src/mask.c,
	src/mask.h, src/properties.c, src/support.c, src/version.c,
	tools/nph-ftimes.cgi/nph-ftimes.cgi: Added initial support for
	KLEL-based include/exclude filters. Going forward, the goal will be
	to phase out all PCRE-based filters since none can operate on more
	than one attribute at a time.

2019-08-29 15:23  klm

	* src/filter.c: Added square braces for clarity.

2019-08-29 15:09  klm

	* src/filter.c: Fixed a bit twiddling error. The old method was not
	behaving properly when multiple attributes where included in the
	filter mask. The new method uses an XOR to disable the common bits
	and enable the uncommon bits. Then, it uses an AND to expose the
	uncommon bits that were set in the filter mask. If there are any,
	it means the filter depends on an attribute that's not set in the
	field mask. Suppose we have field and filter masks with values of
	0x07 and 0x0b, respectively. Under the old method, the result was
	!(0x07 & 0x0b) or !0x03, which evaluates to false. Under the new
	method, the result will be ((0x07 ^ 0x0b) & 0x0b) or 0x08, which
	evaluates to true.

2019-08-29 12:47  klm

	* src/filter.c: Removed support for f_fields.

2019-08-29 12:46  klm

	* src/filter.c: Made f_exists visible to both WINX/UNIX platforms.

2019-08-29 12:45  klm

	* src/filter.c: Updated KLEL_* type macro names.

2019-08-29 10:31  klm

	* src/filter.c: Added a missing break statement.

2019-08-22 17:57  klm

	* src/: filter.c, filter.h: Initial checkin.

2019-08-20 13:02  klm

	* configure.in: Made PCRE a compile-time requirement. This implies
	that we expect USE_PCRE to always be defined going forward.

2019-08-19 14:05  klm

	* configure.in: Flipped KLEL support to being on by default.

2019-08-14 11:07  klm

	* configure.in: Raised the minimum required version of libklel to
	1.2.0, which has a library version of 3:0:2.

2019-07-23 16:28  klm

	* src/mask.h: Removed an unused macro (MASK_MASK_TYPE_USS).

2019-07-23 16:27  klm

	* src/cmpmode.c, src/compare.c, src/develop.c, src/digmode.c,
	src/ftimes.c, src/map.c, src/mask.c, src/mask.h, src/properties.c,
	tools/ftimes-srm/ftimes-srm.c: Replaced 'MASK_RUNMODE_' prefix with
	'MASK_MASK_'.

2019-07-23 13:52  klm

	* utils/tree_builder: Added the '-s' option so the user can specify
	a content size up to 1024 bytes.

2019-07-23 12:50  klm

	* utils/tree_builder: Added the '-c' option so the user can specify
	a content type or byte value.

2019-06-26 10:15  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Tweaked ASCII art.

2019-06-25 21:51  klm

	* README.CREDITS: Added Logan and Luke Monroe as new contributors.

2019-06-25 21:40  klm

	* lib/perl/t/FTimes-EadRoutines.t: Added unit tests for
	Ead{,Safe}BookendHex{Decode,Encode}().

2019-06-25 21:34  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Inverted the character set in
	EadSafeBookendHexEncode() for readability.

2019-06-25 20:31  klm

	* doc/ftimes/sections/EXAMPLES.pod: Added an example for basic
	mapping/digging operations.

2019-06-25 18:49  klm

	* src/: fsinfo.c, fsinfo.h: Added support for B-Tree file systems
	(BTRFS) under Linux. This requirement popped up on a gig where we
	needed to create/analyze multiple snapshots of an SLES VM in
	support of testing a NetApp Oracle Plug-in.

2019-06-03 14:28  klm

	* src/map.c: Removed a variable that's no longer used.

2019-06-03 14:16  klm

	* src/: ftimes.h, map.c, support.c: Consolidated common code in a
	new routine called SupportApplyFilters().

2019-05-30 09:03  klm

	* tools/ftimes-encoder/ftimes-encoder: Added a clarification to the
	'NixSpaces' option description.

2019-05-29 14:20  klm

	* tools/ftimes-encoder/ftimes-encoder: Added support for converting
	directly from hex-array to hex-cstring and vice versa.

2019-05-29 14:20  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Fixed a bug in
	EadHexDecodeCString().

2019-05-29 14:05  klm

	* tools/ftimes-encoder/ftimes-encoder: Added support for
	encoding/decoding a new type dubbed hex-cstring.

2019-05-29 13:41  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Added EadHexDecodeCString()
	and EadHexEncodeCString().

2019-05-29 13:33  klm

	* tools/ftimes-encoder/ftimes-encoder: Added support for
	encoding/decoding a new type dubbed hex-array.

2019-05-29 13:31  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Added EadHexDecodeArray() and
	EadHexEncodeArray().

2019-05-29 12:55  klm

	* tools/ftimes-encoder/ftimes-encoder: Added support for the
	'NixSpaces' option. Updated the '-o' option handling logic to match
	that used by ftimes-xformer.

2019-05-29 11:10  klm

	* tools/ftimes-encoder/ftimes-encoder: Corrected some language in
	EXAMPLE 6.

2019-05-29 11:04  klm

	* tools/ftimes-encoder/ftimes-encoder: Added a transformer example.

2019-05-29 10:46  klm

	* tools/ftimes-encoder/ftimes-encoder: Added support for
	encoding/decoding a safe variant of 'bookend-hex' dubbed
	'safe-bookend-hex'. The new encoder additionally encodes
	single/double quotes, all braces, and the delete character.

2019-05-29 10:34  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Added vertical whitespace.

2019-05-29 10:32  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Modified
	EadSafeBookendHexEncode() to change the order in which '\r' and
	'\n' are encoded. Eliminated special handling for '"'.

2019-05-29 10:21  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Added
	EadSafeBookendHexDecode() and EadSafeBookendHexEncode().

2019-05-28 18:36  klm

	* tools/ftimes-encoder/ftimes-encoder: Added a transformer example.

2019-05-28 17:37  klm

	* tools/ftimes-encoder/ftimes-encoder: Added support for
	encoding/decoding a new type dubbed 'bookend-hex'.  The encoder
	functionality is similar to the wire() method in the Wire class of
	org/apache/commons/httpclient/Wire.java except that there is no
	provision for a header and  the output is not quoted.

2019-05-28 17:25  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Added EadBookendHexDecode()
	and EadBookendHexEncode().

2019-05-22 16:53  klm

	* src/version.h: Updated version number (3.13.0.ds3 -->
	3.13.0.ds4).

2019-05-22 16:42  klm

	* tools/ftimes-encoder/ftimes-encoder: Removed '$', '>', and
	results notation in example commands.

2019-05-22 16:29  klm

	* tools/ftimes-encoder/ftimes-encoder: Added an EXAMPLES section
	with several examples.

2019-05-22 13:32  klm

	* utils/: config.guess, config.sub: Updated config.guess and
	config.sub with their 2019-04-28 and 2019-01-05 revisions,
	respectively. Both scripts were obtained from
	http://git.savannah.gnu.org.

2019-04-26 16:52  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Modified EadWrapInQuotes() to
	take an additional escape character argument.

2019-04-26 16:12  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Added EadWrapInQuotes().

2019-04-24 14:53  klm

	* src/: ftimes.h, map.c: Added an #ifdef block in map.c and
	extended another in ftimes.h to prevent an error with
	MapExecutePythonScript() when compiling without file hooks.

2019-04-23 11:15  klm

	* src/version.h: Updated version number (3.13.0.ds2 -->
	3.13.0.ds3).

2019-04-23 11:15  klm

	* src/: fsinfo.c, fsinfo.h: Renamed NTFS3G to FUSE because the
	magic number used to identify the file system appears to be the
	same regardless of what's actually mounted. We discovered this when
	attempting to map files under an SSHFS mount point.

2019-04-23 11:09  klm

	* tools/rtimes/rtimes.c: Fixed a paste-o.

2019-04-23 10:54  klm

	* tools/rtimes/: rtimes.c, rtimes.h: Modified options handling
	function prototypes to be consistent with recent changes made to
	ftimes, ftimes-srm, and ftimes-xpa.

2019-04-23 10:50  klm

	* src/support.c: Fixed a paste-o.

2019-04-23 09:09  klm

	* src/version.h: Updated version number (3.13.0.ds1 -->
	3.13.0.ds2).

2019-04-23 09:08  klm

	* tools/: ftimes-srm/ftimes-srm.c, ftimes-srm/ftimes-srm.h,
	ftimes-xpa/ftimes-xpa.c, ftimes-xpa/ftimes-xpa.h: Replaced the
	'OPTIONS_TABLE *psOption' argument with 'void *pvOption' to work
	around a chicken/egg problem in options.h with OPTIONS_TABLE and
	itself. This change was prompted by the following compiler warning:
	"function declaration isn't a prototype", which was generated by
	gcc 6.3.0 on a Devuan ASCII 2.0.0 system. Additionally,
	'FTIMES_XXX_PROPERTIES *psProperties' had to be replaced with 'void
	*pvProperties' because it's an application-specific variable that
	should be hidden from options.[ch]. With these workarounds,
	pvOption and pvProperties are subsequently cast back to the
	appropriate types inside the called function (i.e.,
	FTimesXXXOptionHandler()).

2019-04-23 08:54  klm

	* src/: hook.c, support.c, url.c: Fixed several nits and bits that
	trigger compiler warnings with gcc 6.3.0 on a Devuan ASCII 2.0.0
	system.

2019-04-22 19:41  klm

	* src/decode.c: Wrapped DECODE_TABLE_SIZE casts in parentheses.

2019-04-22 19:36  klm

	* src/: ftimes.c, ftimes.h, options.h: Replaced the 'OPTIONS_TABLE
	*psOption' argument with 'void *pvOption' to work around a
	chicken/egg problem in options.h with OPTIONS_TABLE and itself.
	This change was prompted by the following compiler warning:
	"function declaration isn't a prototype", which was generated by
	gcc 6.3.0 on a Devuan ASCII 2.0.0 system. Additionally,
	'FTIMES_PROPERTIES *psProperties' had to be replaced with 'void
	*pvProperties' because it's an application-specific variable that
	should be hidden from options.[ch]. With these workarounds,
	pvOption and pvProperties are subsequently cast back to the
	appropriate types inside the called function (i.e.,
	FTimesOptionHandler()).

2019-04-22 19:01  klm

	* src/decode.h: Filled in the piRoutine() member function
	declaration and moved the DECODE_TABLE structure declaration below
	that of DECODE_STATE to eliminate a compiler warning. The specific
	warning was: "function declaration isn't a prototype". This warning
	was generated by gcc 6.3.0 on a Devuan ASCII 2.0.0 system.

2019-04-22 18:32  klm

	* src/: develop.c, ftimes.h: Replaced 'FTIMES_PROPERTIES
	*psProperties' with 'void *pvProperties' in a similar fashion to
	the recent run mode stages changes.

2019-04-22 17:02  klm

	* src/: ftimes.h, properties.c: Replaced 'FTIMES_PROPERTIES
	*psProperties' with 'void *pvProperties' to be consistent with the
	way other run mode stages are now handled.

2019-04-22 16:54  klm

	* src/ftimes.h: Commented out a structure member not currently
	being used.

2019-04-22 16:39  klm

	* src/version.c: Added some guards to prevent variable is set but
	not used warnings when all optional components are disabled.

2019-04-22 16:04  klm

	* src/: cmpmode.c, decoder.c, digmode.c, ftimes.h, getmode.c,
	madmode.c, mapmode.c: Replaced a number of 'FTIMES_PROPERTIES
	*psProperties' arguments with 'void *pvProperties' to work around a
	chicken/egg problem in ftimes.h with RUNMODE_STAGES and
	FTIMES_PROPERTIES. The former structure is referenced by the latter
	so it must be declared first, but the latter structure must also be
	specified as the first argument of piRoutine() to eliminate the
	following compiler warning: "function declaration isn't a
	prototype". With this workaround, pvProperties is subsequently cast
	back to the appropriate type inside the called function. This
	warning was generated by gcc 6.3.0 on a Devuan ASCII 2.0.0 system.

2019-04-18 16:04  klm

	* tools/ftimes-srm/all-includes.h: Added an #ifdef block to hide
	vfs.h from non-Linux builds.

2019-04-18 14:50  klm

	* src/version.h: Updated version number (3.12.0.sr0 -->
	3.13.0.ds1).

2019-04-18 14:48  klm

	* README.STYLE: This file has been moved to the attic since the
	link it contained no longer works.

2019-04-18 14:38  klm

	* README: Updated content to match that used in the 4.X branch.

2019-04-18 14:36  klm

	* README.INSTALL: Updated opening paragraph.

2019-04-18 11:47  klm

	* configure.in, src/Makefile.in, src/app-includes.h, src/hook.c,
	src/map.c, src/version.c: Added experimental support for embedding
	Lua in FTimes. Thanks to Jason Smith for writing and testing the
	initial patch.

2019-04-17 16:39  klm

	* src/dig.c: Modified a conditional expression to eliminate a
	compiler warning. The specific warning was: "signed and unsigned
	type in conditional expression". This warning was generated by gcc
	6.3.0 on a Devuan ASCII 2.0.0 system.

2019-04-17 16:37  klm

	* src/: digmode.c, madmode.c: Modified two comparisons to eliminate
	a compiler warning. The specific warning was: "comparison between
	signed and unsigned integer expressions". This warning was
	generated by gcc 6.3.0 on a Devuan ASCII 2.0.0 system.

2019-04-17 16:36  klm

	* src/decode.c: Modified several comparisons to eliminate a
	compiler warning. The specific warning was: "comparison between
	signed and unsigned integer expressions". This warning was
	generated by gcc 6.3.0 on a Devuan ASCII 2.0.0 system.

2019-04-17 16:22  klm

	* src/ftimes.h: Filled in several function declarations to
	eliminate a compiler warning. The specific warning was: "function
	declaration isn't a prototype". This warning was generated by gcc
	6.3.0 on a Devuan ASCII 2.0.0 system.

2019-04-17 15:16  klm

	* src/xmagic.c: Modified XMagicConvert2charHex() to eliminate a
	compiler warning. The specific warning was: "comparison between
	signed and unsigned integer expressions". This warning was
	generated by gcc 6.3.0 on a Devuan ASCII 2.0.0 system.

2019-04-17 15:06  klm

	* src/xmagic.c: Modified several conditional expressions to
	eliminate a compiler warning. The specific warning was: "signed and
	unsigned type in conditional expression". This warning was
	generated by gcc 6.3.0 on a Devuan ASCII 2.0.0 system.

2019-04-17 10:43  klm

	* README.CREDITS: Fixed a tpyo.

2019-03-15 14:09  klm

	* src/version.h: Updated version number (3.12.0.rc3 -->
	3.12.0.sr0).

2019-03-14 21:10  klm

	* src/version.h: Updated version number (3.12.0.rc2 -->
	3.12.0.rc3).

2019-03-14 21:09  klm

	* src/xmagic.c: Modified several comparisons to eliminate a
	compiler warning. The specific warning was: "comparison of unsigned
	expression < 0 is always false". This warning was generated by gcc
	(reported as Apple LLVM version 7.3.0 (clang-703.0.29)) on a MacOS
	X (10.11.6) El Capitan system.

2019-03-14 20:55  klm

	* src/: md5.c, sha1.c, sha256.c: Fixed an incorrect variable name.

2019-03-14 20:11  klm

	* src/version.h: Updated version number (3.12.0.rc1 -->
	3.12.0.rc2).

2019-03-14 18:15  klm

	* configure.in: Made the disabling of format-truncation warnings
	conditional based on the compiler version.

2019-03-14 14:24  klm

	* src/version.h: Updated version number (3.12.0.ds18 -->
	3.12.0.rc1).

2019-03-14 14:20  klm

	* configure.in: Disabled all format-truncation warnings.

2019-03-14 14:19  klm

	* configure.in: Flipped OpenSSL support to being off by default.

2019-03-14 13:45  klm

	* src/support.c: Modified SupportEraseFile() to eliminate a
	compiler warning. The specific warning was: "'memset' used with
	length equal to number of elements without multiplication by
	element size". This warning was generated by gcc 7.4.0 on a Linux
	Gentoo 2.6 system.

2019-03-14 13:19  klm

	* README.INSTALL: Removed all documentation pertaining to
	client/server functionality and OpenSSL. These features will be
	removed in a future release.

2019-03-14 12:09  klm

	* README.CREDITS: Removed Andy Bair as a project maintainer.

2019-03-14 12:07  klm

	* Makefile.vs, README.LICENSE, lib/perl/Makefile.PL.in,
	lib/perl/config, lib/perl/lib/FTimes/EadRoutines.pm,
	lib/perl/lib/FTimes/Properties.pm, lib/perl/t/FTimes-EadRoutines.t,
	lib/perl/t/FTimes-Properties.t, src/all-includes.h, src/analyze.c,
	src/app-includes.h, src/cmpmode.c, src/compare.c, src/compare.h,
	src/decode.c, src/decode.h, src/decoder.c, src/develop.c,
	src/dig.c, src/dig.h, src/digmode.c, src/error.c, src/error.h,
	src/fsinfo.c, src/fsinfo.h, src/ftimes.c, src/ftimes.h,
	src/getmode.c, src/hook.c, src/hook.h, src/http.c, src/http.h,
	src/madmode.c, src/map.c, src/mapmode.c, src/mask.c, src/mask.h,
	src/md5.c, src/md5.h, src/message.c, src/message.h, src/options.c,
	src/options.h, src/properties.c, src/sha1.c, src/sha1.h,
	src/sha256.c, src/sha256.h, src/socket.c, src/socket.h,
	src/ssl-pool.h, src/ssl.c, src/ssl.h, src/support.c,
	src/sys-includes.h, src/time.c, src/url.c, src/version.c,
	src/version.h, src/xmagic.c, src/xmagic.h,
	tools/dig/ftimes-crv2dbi.pl, tools/dig/ftimes-crv2raw.pl,
	tools/dig/ftimes-dig2ctx.pl, tools/dig/ftimes-dig2dbi.pl,
	tools/dig/hipdig.pl, tools/ftimes-bimvl/ftimes-bimvl,
	tools/ftimes-cat/all-includes.h, tools/ftimes-cat/ftimes-cat.c,
	tools/ftimes-cat/ftimes-cat.h,
	tools/ftimes-cmp2diff/ftimes-cmp2diff,
	tools/ftimes-dbm-bash/ftimes-dbm-bash,
	tools/ftimes-dbm-dump/ftimes-dbm-dump,
	tools/ftimes-dbm-find/ftimes-dbm-find,
	tools/ftimes-dbm-make/ftimes-dbm-make,
	tools/ftimes-dbm-reap/ftimes-dbm-reap,
	tools/ftimes-dbm-weed/ftimes-dbm-weed,
	tools/ftimes-encoder/ftimes-encoder,
	tools/ftimes-grabber/ftimes-grabber,
	tools/ftimes-proximo/ftimes-proximo,
	tools/ftimes-sizimus/ftimes-sizimus,
	tools/ftimes-sortini/ftimes-sortini,
	tools/ftimes-srm/all-includes.h, tools/ftimes-srm/ftimes-srm.c,
	tools/ftimes-srm/ftimes-srm.h, tools/ftimes-xformer/ftimes-xformer,
	tools/ftimes-xpa/all-includes.h, tools/ftimes-xpa/ftimes-xpa.c,
	tools/ftimes-xpa/ftimes-xpa.h, tools/ftimes-xpatool/ftimes-xpatool,
	tools/hashcp/all-includes.h, tools/hashcp/hashcp.c,
	tools/hashcp/hashcp.h, tools/hashdig/hashdig-bash.pl,
	tools/hashdig/hashdig-bind.pl, tools/hashdig/hashdig-dump.pl,
	tools/hashdig/hashdig-filter.pl, tools/hashdig/hashdig-find.pl,
	tools/hashdig/hashdig-harvest-sunsolve.pl,
	tools/hashdig/hashdig-harvest.pl, tools/hashdig/hashdig-make.pl,
	tools/hashdig/hashdig-resolve-sunsolve.pl,
	tools/hashdig/hashdig-stat.pl, tools/hashdig/hashdig-weed.pl,
	tools/lrs/pool2string.c, tools/lrs/string2pool.c,
	tools/map/ftimes-cmp2dbi.pl, tools/map/ftimes-map2dbi.pl,
	tools/map/ftimes-map2mac.pl, tools/nph-ftimes.cgi/nph-ftimes.cgi,
	tools/rtimes/all-includes.h, tools/rtimes/rtimes.c,
	tools/rtimes/rtimes.h, tools/tarmap/all-includes.h,
	tools/tarmap/tarmap.c, tools/tarmap/tarmap.h, tools/zipmap/zipmap,
	utils/test_harness, utils/tree_builder, utils/version2string,
	utils/version_helper: Updated copyright information.

2019-02-28 10:41  klm

	* src/version.h: Updated version number (3.12.0.ds17 -->
	3.12.0.ds18).

2019-02-28 10:39  klm

	* configure.in, tests/ftimes/common/dig/Makefile.in,
	tests/ftimes/common/dig/test_5/Makefile.in,
	tests/ftimes/common/dig/test_5/test_harness.local: Added a test to
	catch PCRE_ERROR_BADOFFSET. Any prior version up through
	3.12.0.ds17 compiled with PCRE support is affected by the bug.

2019-02-27 19:02  klm

	* src/: analyze.c, dig.c, dig.h: Added DigClearRegExpOffsets() to
	fix a bug where the DIG_STRING members iOffset and iLastOffset were
	not being cleared at the beginning of each new file searched.
	Consequently, there were cases where pcre_exec() was throwing a bad
	offset error (PCRE_ERROR_BADOFFSET = -24). This bug was
	intermittent, and it only appeared when iLastOffset was larger than
	the size of the next file to be searched. Thanks to Jason Smith for
	reporting this issue.

2019-02-14 16:05  klm

	* src/version.h: Updated version number (3.12.0.ds16 -->
	3.12.0.ds17).

2019-02-14 16:04  klm

	* doc/ftimes/sections/DESCRIPTION.pod: Added an entry for
	AnalyzeMaxDepth.

2019-02-14 15:57  klm

	* src/: ftimes.h, map.c, properties.c: Added AnalyzeMaxDepth
	control.

2019-02-14 15:51  klm

	* doc/ftimes/Makefile.in: Added an entry for AnalyzeMaxDepth.

2019-02-14 15:50  klm

	* doc/ftimes/controls/AnalyzeMaxDepth.pod: Initial checkin.

2019-02-14 11:45  klm

	* src/version.h: Updated version number (3.12.0.ds15 -->
	3.12.0.ds16).

2019-02-14 11:40  klm

	* doc/ftimes/sections/DESCRIPTION.pod: Updated the Controls table
	to use 'R', 'O', or 'C' designators to indicate whether a given
	control is required, optional, or conditionally required,
	respectively. Thanks to Hank Leininger for the suggestion.

2019-02-14 11:11  klm

	* doc/ftimes/Makefile.in: Replaced '*.pod' with a complete listing
	of controls ordered as they should appear in the resulting man
	page. I'd prefer to keep the glob since it's less maintenance
	(i.e., no edits are needed to add/remove a control). Unfortunately,
	some Linux environments are producing man pages where controls like
	DigString* and {Ex,In}cludeFilter* are not in the expected order.

2019-02-14 09:35  klm

	* src/map.c: Fixed a bug where CIFS was not being handled as a
	remote file system.  Thanks to Hank Leininger for writing the
	initial patch.

2019-02-14 08:56  klm

	* tools/ftimes-encoder/ftimes-encoder: Made a tweak in the
	documentation.

2019-02-14 08:55  klm

	* tools/ftimes-encoder/ftimes-encoder: Added support for the 'and'
	transformer.

2019-02-14 08:39  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Added EadXformViaAnd().

2019-02-14 08:28  klm

	* src/: fsinfo.c, fsinfo.h, map.c: Added support for SMB2 file
	systems under Linux. Thanks to Hank Leininger for writing the
	initial patch.

2019-02-12 12:28  klm

	* tools/ftimes-encoder/ftimes-encoder: Added the '-x' option so the
	user can transform the data before encoding (in encode mode), after
	decoding (in decode mode), or between decoding/encoding (in convert
	mode).

2019-02-12 11:49  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Added EadXformViaRot13() and
	EadXformViaRot47().

2019-02-07 11:54  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Added EadXformViaNop().

2019-02-07 11:43  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Added EadXformViaNot().

2019-02-07 11:37  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Renamed EadXorDecode() as
	EadXformViaXor(), and removed EadXorEncode().

2019-02-07 09:49  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Added EadXorDecode() and
	EadXorEncode().

2019-02-07 09:48  klm

	* tools/ftimes-encoder/ftimes-encoder: Added support for converting
	directly from any given type to itself. Changed the code from using
	a single conversion/encoder/decoder routine to an array of
	routines. This was done in preparation for a new feature.
	Consequently, the following conversion functions were removed since
	they are no longer needed: HexToFTimesUrl(), FTimesUrlToHex(),
	HexToUrl(), and UrlToHex().

2019-01-24 13:50  klm

	* src/version.h: Updated version number (3.12.0.ds14 -->
	3.12.0.ds15).

2019-01-24 12:02  klm

	* tools/ftimes-encoder/ftimes-encoder: Added support for
	encoding/decoding base64url strings.

2019-01-24 12:01  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Added EadBase64UrlToHex(),
	EadBase64UrlToHexDump(), EadHexToBase64Url().

2019-01-24 11:44  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Added EadBase64UrlDecode()
	and EadBase64UrlEncode().

2018-12-27 18:59  klm

	* src/version.h: Updated version number (3.12.0.ds13 -->
	3.12.0.ds14).

2018-12-27 18:52  klm

	* tests/hipdig/common/dig/test_harness.local: Removed '-h' and '-x'
	as they are no longer needed.

2018-12-27 18:38  klm

	* tools/ftimes-cmp2diff/ftimes-cmp2diff: Expanded the '-e' option
	to handle name-based excludes. Added the 'BeQuiet' option. Dropped
	support for the 'long' output format type for lack of interest/use.
	 Put subroutines in alphabetical order.

2018-12-21 18:35  klm

	* tools/dig/hipdig.pl: Overhauled script. Removed the '-H' option
	because the equivalent result can be obtained using
	ftimes-xformer(1). Replaced the '-h' option with the inverted
	'NoHeader' option since FTimes tools should emit a header by
	default. Replaced the '-q' option with the 'BeQuiet' option, and
	restricted it to suppressing warnings only. Removed the '-R' option
	and merged the functionality into the '-D' option as the
	'DOMAIN_REGEX' type. Redefined the '-r' option to be the read
	buffer size; the old meaning has become the 'RegularFilesOnly'
	option. Removed the '-x' option; equivalent functionality was added
	to the '-t' option for custom dig type by way of the '~' operator. 
	Added the '-l' option so the user can assign a label to the name
	field when digging on stdin. Added the 'MadMode' option so the user
	can enable MaD mode output. Improved support for handling neutered
	filenames. Generally cleaned up and updated the code and various
	error messages.

2018-12-14 18:43  klm

	* tools/ftimes-xformer/ftimes-xformer: Added missing '0' and '0x'
	prefixes for octal and hexadecimal values.

2018-12-14 15:31  klm

	* tools/dig/hipdig.pl: Added support for digging on stdin.

2018-09-10 17:46  klm

	* tools/ftimes-encoder/ftimes-encoder: Updated documentation.

2018-09-10 17:23  klm

	* tools/ftimes-encoder/ftimes-encoder: Updated documentation and
	error messages pertaining to conversion tuples.

2018-09-10 17:15  klm

	* tools/ftimes-encoder/ftimes-encoder: Updated regular expression
	to allow 'con'.

2018-09-10 17:02  klm

	* tools/ftimes-encoder/ftimes-encoder: Added support for converting
	directly from hex to base{32,64} and vice versa.

2018-09-10 16:52  klm

	* tools/ftimes-encoder/ftimes-encoder: Added 'con' as an alias for
	'convert'.

2018-09-10 16:51  klm

	* tools/ftimes-encoder/ftimes-encoder: Added 'b32' and 'b64' as
	aliases for 'base32' and 'base64', respectively.

2018-09-10 12:34  klm

	* src/version.h: Updated version number (3.12.0.ds12 -->
	3.12.0.ds13).

2018-09-10 12:33  klm

	* src/: fsinfo.c, fsinfo.h: Added support for OVERLAYFS file
	systems under Linux. This requirement popped up on an assessment
	gig where we needed to examine Docker files on a Linux-based file
	system.

2018-07-14 10:26  klm

	* src/version.h: Updated version number (3.12.0.ds11 -->
	3.12.0.ds12).

2018-07-13 17:52  klm

	* tools/ftimes-xformer/ftimes-xformer: Replaced the 'HexOffsets'
	option with 'ParseOffset'.

2018-07-13 17:12  klm

	* tools/ftimes-xformer/ftimes-xformer: Added support for the
	'HexDump:string' option.

2018-07-13 16:15  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Added a global decoders
	table. Added EadGetDecoders(), EadNopDecode(), and EadNopEncode().

2018-07-12 16:48  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Added EadHexDumpRecords(),
	and reworked EadHexDump().

2018-07-11 18:14  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Added
	EadBase{32,64}ToHexDump(), EadHexToHexDump(), and EadHexDump().

2018-07-11 16:34  klm

	* tools/ftimes-xformer/ftimes-xformer: Added support for the
	'DeNeuter:name' and 'DeNeuter:string' options.

2018-07-11 16:04  klm

	* lib/perl/lib/FTimes/EadRoutines.pm: Added EadBase{32,64}ToHex()
	and EadHexToBase{32,64}().

2018-07-11 14:49  klm

	* tools/ftimes-xformer/ftimes-xformer: Added support for the
	'HexOffsets' option.

2018-06-25 12:02  klm

	* src/: fsinfo.c, fsinfo.h: Added support for Apple File System
	(APFS) under OSX. This requirement popped up on a forensics gig
	where we needed to map an APFS partition on a MacOS system: MacOS
	High Sierra. Thanks to Jason Smith for writing and testing the
	initial patch.

2018-01-30 11:22  klm

	* Makefile.vs, README.LICENSE, lib/perl/Makefile.PL.in,
	lib/perl/config, lib/perl/lib/FTimes/EadRoutines.pm,
	lib/perl/lib/FTimes/Properties.pm, lib/perl/t/FTimes-EadRoutines.t,
	lib/perl/t/FTimes-Properties.t, src/all-includes.h, src/analyze.c,
	src/app-includes.h, src/cmpmode.c, src/compare.c, src/compare.h,
	src/decode.c, src/decode.h, src/decoder.c, src/develop.c,
	src/dig.c, src/dig.h, src/digmode.c, src/error.c, src/error.h,
	src/fsinfo.c, src/fsinfo.h, src/ftimes.c, src/ftimes.h,
	src/getmode.c, src/hook.c, src/hook.h, src/http.c, src/http.h,
	src/madmode.c, src/map.c, src/mapmode.c, src/mask.c, src/mask.h,
	src/md5.c, src/md5.h, src/message.c, src/message.h, src/options.c,
	src/options.h, src/properties.c, src/sha1.c, src/sha1.h,
	src/sha256.c, src/sha256.h, src/socket.c, src/socket.h,
	src/ssl-pool.h, src/ssl.c, src/ssl.h, src/support.c,
	src/sys-includes.h, src/time.c, src/url.c, src/version.c,
	src/version.h, src/xmagic.c, src/xmagic.h,
	tools/dig/ftimes-crv2dbi.pl, tools/dig/ftimes-crv2raw.pl,
	tools/dig/ftimes-dig2ctx.pl, tools/dig/ftimes-dig2dbi.pl,
	tools/dig/hipdig.pl, tools/ftimes-bimvl/ftimes-bimvl,
	tools/ftimes-cat/all-includes.h, tools/ftimes-cat/ftimes-cat.c,
	tools/ftimes-cat/ftimes-cat.h,
	tools/ftimes-cmp2diff/ftimes-cmp2diff,
	tools/ftimes-dbm-bash/ftimes-dbm-bash,
	tools/ftimes-dbm-dump/ftimes-dbm-dump,
	tools/ftimes-dbm-find/ftimes-dbm-find,
	tools/ftimes-dbm-make/ftimes-dbm-make,
	tools/ftimes-dbm-reap/ftimes-dbm-reap,
	tools/ftimes-dbm-weed/ftimes-dbm-weed,
	tools/ftimes-encoder/ftimes-encoder,
	tools/ftimes-grabber/ftimes-grabber,
	tools/ftimes-proximo/ftimes-proximo,
	tools/ftimes-sizimus/ftimes-sizimus,
	tools/ftimes-sortini/ftimes-sortini,
	tools/ftimes-srm/all-includes.h,
	tools/ftimes-xformer/ftimes-xformer,
	tools/ftimes-xpa/all-includes.h, tools/ftimes-xpa/ftimes-xpa.c,
	tools/ftimes-xpa/ftimes-xpa.h, tools/ftimes-xpatool/ftimes-xpatool,
	tools/hashcp/all-includes.h, tools/hashcp/hashcp.c,
	tools/hashcp/hashcp.h, tools/hashdig/hashdig-bash.pl,
	tools/hashdig/hashdig-bind.pl, tools/hashdig/hashdig-dump.pl,
	tools/hashdig/hashdig-filter.pl, tools/hashdig/hashdig-find.pl,
	tools/hashdig/hashdig-harvest-sunsolve.pl,
	tools/hashdig/hashdig-harvest.pl, tools/hashdig/hashdig-make.pl,
	tools/hashdig/hashdig-resolve-sunsolve.pl,
	tools/hashdig/hashdig-stat.pl, tools/hashdig/hashdig-weed.pl,
	tools/lrs/pool2string.c, tools/lrs/string2pool.c,
	tools/map/ftimes-cmp2dbi.pl, tools/map/ftimes-map2dbi.pl,
	tools/map/ftimes-map2mac.pl, tools/nph-ftimes.cgi/nph-ftimes.cgi,
	tools/rtimes/all-includes.h, tools/rtimes/rtimes.c,
	tools/rtimes/rtimes.h, tools/tarmap/all-includes.h,
	tools/tarmap/tarmap.c, tools/tarmap/tarmap.h, tools/zipmap/zipmap,
	utils/test_harness, utils/tree_builder, utils/version2string,
	utils/version_helper: Updated copyright information.

2018-01-11 20:05  klm

	* Makefile.in: Added a hard failure on the 'all' and 'install'
	targets for top-level subdirs. This should prevent Gentoo emerge
	operations from "succeeding" when a critical component fails to
	build. The problem we want to avoid is upgrading a port and finding
	out that tools previously installed have suddenly vanished.

2018-01-11 17:19  klm

	* src/version.h: Updated version number (3.12.0.ds10 -->
	3.12.0.ds11).

2018-01-11 17:01  klm

	* doc/ftimes-srm/sections/OPTIONS.pod,
	tools/ftimes-srm/ftimes-srm.c, tools/ftimes-srm/ftimes-srm.h: Added
	the '-1' option so the user can log errors to stdout rather than
	stderr. This option may be useful in some limited situations
	involving Windows platforms where standard I/O redirection works,
	but isn't clean.

2018-01-11 16:21  klm

	* tools/ftimes-srm/ftimes-srm.c: Replaced '{ 0 }' with '{}'.

2018-01-11 16:17  klm

	* tools/ftimes-srm/: ftimes-srm.c, ftimes-srm.h: Fixed several
	FIXMEs.

2018-01-10 21:44  klm

	* tools/ftimes-srm/ftimes-srm.h: Header file cleanup.

2018-01-10 21:35  klm

	* tools/ftimes-srm/ftimes-srm.h: Fixed a bug introduced by the last
	commit.

2018-01-10 21:29  klm

	* tools/ftimes-srm/ftimes-srm.h: Header file cleanup.

2018-01-10 21:16  klm

	* tools/ftimes-srm/ftimes-srm.c: Made various coding refinements.

2018-01-10 18:49  klm

	* tools/ftimes-srm/: ftimes-srm.c, ftimes-srm.h: Made various
	coding refinements.

2018-01-10 16:18  klm

	* src/: md5.c, sha1.c, sha256.c: Added NULL pointer input
	protections.

2018-01-09 22:03  klm

	* tools/ftimes-srm/ftimes-srm.c: Worked on clarifying FIXMEs and
	other minor nits and bits.

2018-01-09 21:43  klm

	* tools/ftimes-srm/: ftimes-srm.c, ftimes-srm.h: Made code
	refinements. Cleaned up various nits and bits.

2018-01-09 17:06  klm

	* tools/ftimes-srm/: ftimes-srm.c, ftimes-srm.h: Made various
	changes to get the code to compile under MinGW.

2018-01-09 17:03  klm

	* tools/ftimes-srm/all-includes.h: Made the time.h include common
	to all platforms.

2018-01-09 16:07  klm

	* Makefile.in, configure.in, doc/ftimes-srm/Makefile.in,
	doc/ftimes-srm/sections/AUTHOR.pod,
	doc/ftimes-srm/sections/DESCRIPTION.pod,
	doc/ftimes-srm/sections/EXAMPLES.pod,
	doc/ftimes-srm/sections/HISTORY.pod,
	doc/ftimes-srm/sections/MODES-OF-OPERATION.pod,
	doc/ftimes-srm/sections/NAME.pod,
	doc/ftimes-srm/sections/OPTIONS.pod,
	doc/ftimes-srm/sections/RETURN-VALUES.pod,
	doc/ftimes-srm/sections/SEE-ALSO.pod,
	doc/ftimes-srm/sections/SYNOPSIS.pod, tools/ftimes-srm/Makefile.in,
	tools/ftimes-srm/all-includes.h, tools/ftimes-srm/ftimes-srm.c,
	tools/ftimes-srm/ftimes-srm.h: Added ftimes-srm to the project. The
	purpose of this utility is to selectively remove files enumerated
	within one or more snapshots.

2018-01-09 13:52  klm

	* tools/ftimes-xformer/ftimes-xformer: Added support for the
	'action', 'status', and 'reason' fields. These fields are produced
	by ftimes-srm.

2018-01-09 13:50  klm

	* tools/: hashcp/all-includes.h, tarmap/all-includes.h: Added a
	missing include file (ctype.h).

2018-01-08 10:53  klm

	* src/: mask.c, mask.h: Added support for SRM (Selective ReMove)
	mode.

2018-01-05 15:56  klm

	* src/: decode.c, decode.h: Added DecodeNewSnapshotContext2() and
	DecodeFreeSnapshotContext2().

2018-01-05 15:35  klm

	* src/: sha256.c, sha256.h: Added SHA256HexToHash().

2018-01-05 15:35  klm

	* src/: sha1.c, sha1.h: Added SHA1HexToHash().

2018-01-05 15:34  klm

	* src/: md5.c, md5.h: Added MD5HexToHash().

2017-12-06 13:45  klm

	* src/version.h: Updated version number (3.12.0.ds9 -->
	3.12.0.ds10).

2017-12-06 13:41  klm

	* tools/ftimes-xpa/ftimes-xpa.h: Updated version number (1.2.0 -->
	1.2.1).

2017-12-06 13:39  klm

	* tools/ftimes-xpa/: ftimes-xpa.c, ftimes-xpa.h: Fixed a bug where
	an invocation such as 'ftimes-xpa -a -l list' would try to archive
	files named '-l' and 'list' in addition to any targets actually
	listed in 'list'. The fix relies on OptionsProcessOptions2() to
	process/classify command line arguments and OptionsGetNextOperand()
	to iterate over any targets specified on the command line.

2017-12-06 13:23  klm

	* src/: options.c, options.h: Added OptionsProcessOptions2() to fix
	an issue with ftimes-xpa where command line options were being
	handled as both options and operands.  As a result, an invocation
	such as 'ftimes-xpa -a -l list' would try to archive files named
	'-l' and 'list'. Before permanently replacing the original routine,
	the option handling code in [fr]times needs to be reviewed/updated.

2017-11-17 11:34  mavrik

	* src/version.h: Updated version number (3.12.0.ds8 -->
	3.12.0.ds9).

2017-11-15 16:02  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Modified a sort operation to
	sort first by count and then by name.

2017-11-15 15:40  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added the 'CountTops' option
	to count the number of records that belong to each top-level (i.e.,
	left-most) path element in a given name as calculated by the depth
	function.

2017-11-14 12:39  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Moved the split-record eval
	statement past all the conditional transformations tied to command
	line options. This was done so that the eval will have access to
	fields that are derived as a result of a command line option (e.g.,
	depth, directory, etc.).  The impact of this change is that the
	eval may no longer have access to original field values. In
	particular, the following fields may be transformed prior to the
	eval: attributes, mode, and name.

2017-11-13 17:31  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Overhauled the '-o' option
	handling logic. Going forward, any unknown or unsupported options
	specified by the user will cause the script to abort.

2017-11-13 17:26  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added the 'AddDepth' option
	to count the number of path elements in the 'name' field and place
	the result into the depth field.

2017-11-13 11:08  mavrik

	* tools/ftimes-sizimus/ftimes-sizimus: Added code to ignore FTimes
	log output.

2017-11-13 10:32  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added code to ignore FTimes
	log output.

2017-11-08 15:46  mavrik

	* tools/ftimes-sizimus/ftimes-sizimus: Added field entries for
	'osid', 'gsid', and 'dacl'.

2017-11-08 11:09  mavrik

	* src/version.h: Updated version number (3.12.0.ds7 -->
	3.12.0.ds8).

2017-11-08 10:51  mavrik

	* src/ftimes.h: Increased FTIMES_MAX_ACL_SIZE to 4096. According to
	MSDN, the maximum size of an ACL is 64 KB (approximately 1,820
	ACEs).

2017-10-09 10:44  mavrik

	* src/version.h: Updated version number (3.12.0.ds6 -->
	3.12.0.ds7).

2017-10-09 10:40  mavrik

	* tools/ftimes-bimvl/ftimes-bimvl: Modified the code to honor a
	user-specified tag in all cases. Thanks to Hank Leininger for
	writing the initial patch.

2017-06-29 16:26  mavrik

	* src/version.h: Updated version number (3.12.0.ds5 -->
	3.12.0.ds6).

2017-06-29 15:49  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for UBIFS file systems
	under Linux. This requirement popped up on an assessment gig where
	we needed to examine files on a Linux-based file system. Thanks to
	Jason Smith for writing and testing the initial patch.

2016-03-15 15:44  mavrik

	* src/version.h: Updated version number (3.12.0.ds4 -->
	3.12.0.ds5).

2016-03-15 15:30  mavrik

	* lib/perl/Makefile.PL.in: Bumped up the version number.

2016-03-15 15:27  mavrik

	* lib/perl/t/FTimes-EadRoutines.t: Updated unit tests for
	EadBase64Encode() and EadBase64Decode().

2016-03-15 15:00  mavrik

	* lib/perl/t/FTimes-EadRoutines.t: Added unit tests for
	EadBase32Encode() and EadBase32Decode().

2016-03-15 12:20  mavrik

	* README.CREDITS: Added Sean Segreti as a new contributor.

2016-03-15 12:19  mavrik

	* tools/ftimes-encoder/ftimes-encoder: Added support for
	encoding/decoding base32 strings. Thanks to Sean Segreti for
	writing and testing the initial patch.

2016-03-15 12:18  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Added two new routines:
	EadBase32Decode() and EadBase32Encode().  Thanks to Sean Segreti
	for writing and testing the initial patch.

2016-03-15 12:12  mavrik

	* src/ssl.c: Added several #ifdef blocks to prevent compiler errors
	in the event that a given SSL_OP_NO_* macro is undefined.

2016-01-15 23:11  mavrik

	* src/ssl.c: Disabled SSLv2, SSLv3, TLSv1, and TLSv1_1 protocols.

2015-08-03 16:52  mavrik

	* src/version.h: Updated version number (3.12.0.ds3 -->
	3.12.0.ds4).

2015-08-03 15:58  mavrik

	* tools/ftimes-bimvl/ftimes-bimvl: Pushed ignore file filtering
	logic higher up in the script since it was designed to work with
	ftimes compare mode output rather than ftimes-cmp2diff output.
	Going forward, compare mode output will be generated first, and
	then, fed to ftimes-cmp2diff or processed directly.

2015-07-15 18:17  mavrik

	* tools/ftimes-cmp2diff/ftimes-cmp2diff: Updated command lines to
	use FTimesExe.

2015-07-15 18:14  mavrik

	* tools/ftimes-cmp2diff/ftimes-cmp2diff: Added the '-H' option,
	AdjustRunTimeEnvironment(), and some initial cross-platform
	support.

2015-07-15 16:10  mavrik

	* tools/ftimes-bimvl/ftimes-bimvl: Added support for the
	'ForceBuild', 'ForceClean', 'NoDecode', and 'UseBigIntegers'
	options. Note that all of these are pass-through options for
	ftimes-cmp2diff.

2015-07-15 15:21  mavrik

	* src/version.h: Updated version number (3.12.0.ds2 -->
	3.12.0.ds3).

2015-07-15 15:14  mavrik

	* lib/perl/Makefile.PL.in: Bumped up the version number.

2015-07-15 14:53  mavrik

	* tools/ftimes-bimvl/ftimes-bimvl: Added support for the
	'GidDecode', 'ModeDecode', 'UidDecode', and 'UseCmp2Diff' options.

2015-07-15 14:31  mavrik

	* tools/ftimes-cmp2diff/ftimes-cmp2diff: Added support for the
	'-g', '-p', 'GidDecode', and 'UidDecode' options.

2015-07-15 13:11  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Added two new routines:
	EadUnixUidDecode() and EadUnixGidDecode().

2015-07-15 12:12  mavrik

	* lib/perl/lib/FTimes/: EadRoutines.pm, Properties.pm: Reformatted
	all export lists to make them easier to read and maintain.

2015-06-11 10:58  mavrik

	* src/version.h: Updated version number (3.12.0.ds1 -->
	3.12.0.ds2).

2015-06-11 10:58  mavrik

	* src/support.c: Reordered a pair of while conditions to eliminate
	a compiler warning.  The specific warning was: "array subscript is
	below array bounds".  This warning was generated by gcc 4.9.2 on a
	Linux Gentoo 2.2 system.

2015-06-11 10:33  mavrik

	* src/version.h: Updated version number (3.11.0.xs6 -->
	3.12.0.ds1).

2015-06-11 10:23  mavrik

	* tools/dig/ftimes-crv2raw.pl, tools/ftimes-xpatool/ftimes-xpatool,
	tools/zipmap/zipmap, utils/tree_builder: Replaced Digest::SHA1 with
	Digest::SHA since the latter is core Perl since 5.9.3.

2015-03-18 13:31  mavrik

	* src/version.h: Updated version number (3.11.0.xs5 -->
	3.11.0.xs6).

2015-03-18 13:28  mavrik

	* Makefile.vs, README.LICENSE, lib/perl/Makefile.PL.in,
	lib/perl/config, lib/perl/lib/FTimes/EadRoutines.pm,
	lib/perl/lib/FTimes/Properties.pm, lib/perl/t/FTimes-EadRoutines.t,
	lib/perl/t/FTimes-Properties.t, src/all-includes.h, src/analyze.c,
	src/app-includes.h, src/cmpmode.c, src/compare.c, src/compare.h,
	src/decode.c, src/decode.h, src/decoder.c, src/develop.c,
	src/dig.c, src/dig.h, src/digmode.c, src/error.c, src/error.h,
	src/fsinfo.c, src/fsinfo.h, src/ftimes.c, src/ftimes.h,
	src/getmode.c, src/hook.c, src/hook.h, src/http.c, src/http.h,
	src/madmode.c, src/map.c, src/mapmode.c, src/mask.c, src/mask.h,
	src/md5.c, src/md5.h, src/message.c, src/message.h, src/options.c,
	src/options.h, src/properties.c, src/sha1.c, src/sha1.h,
	src/sha256.c, src/sha256.h, src/socket.c, src/socket.h,
	src/ssl-pool.h, src/ssl.c, src/ssl.h, src/support.c,
	src/sys-includes.h, src/time.c, src/url.c, src/version.c,
	src/version.h, src/xmagic.c, src/xmagic.h,
	tools/dig/ftimes-crv2dbi.pl, tools/dig/ftimes-crv2raw.pl,
	tools/dig/ftimes-dig2ctx.pl, tools/dig/ftimes-dig2dbi.pl,
	tools/dig/hipdig.pl, tools/ftimes-bimvl/ftimes-bimvl,
	tools/ftimes-cat/all-includes.h, tools/ftimes-cat/ftimes-cat.c,
	tools/ftimes-cat/ftimes-cat.h,
	tools/ftimes-cmp2diff/ftimes-cmp2diff,
	tools/ftimes-dbm-bash/ftimes-dbm-bash,
	tools/ftimes-dbm-dump/ftimes-dbm-dump,
	tools/ftimes-dbm-find/ftimes-dbm-find,
	tools/ftimes-dbm-make/ftimes-dbm-make,
	tools/ftimes-dbm-reap/ftimes-dbm-reap,
	tools/ftimes-dbm-weed/ftimes-dbm-weed,
	tools/ftimes-encoder/ftimes-encoder,
	tools/ftimes-grabber/ftimes-grabber,
	tools/ftimes-proximo/ftimes-proximo,
	tools/ftimes-sizimus/ftimes-sizimus,
	tools/ftimes-sortini/ftimes-sortini,
	tools/ftimes-xformer/ftimes-xformer,
	tools/ftimes-xpa/all-includes.h, tools/ftimes-xpa/ftimes-xpa.c,
	tools/ftimes-xpa/ftimes-xpa.h, tools/ftimes-xpatool/ftimes-xpatool,
	tools/hashcp/all-includes.h, tools/hashcp/hashcp.c,
	tools/hashcp/hashcp.h, tools/hashdig/hashdig-bash.pl,
	tools/hashdig/hashdig-bind.pl, tools/hashdig/hashdig-dump.pl,
	tools/hashdig/hashdig-filter.pl, tools/hashdig/hashdig-find.pl,
	tools/hashdig/hashdig-harvest-sunsolve.pl,
	tools/hashdig/hashdig-harvest.pl, tools/hashdig/hashdig-make.pl,
	tools/hashdig/hashdig-resolve-sunsolve.pl,
	tools/hashdig/hashdig-stat.pl, tools/hashdig/hashdig-weed.pl,
	tools/lrs/pool2string.c, tools/lrs/string2pool.c,
	tools/map/ftimes-cmp2dbi.pl, tools/map/ftimes-map2dbi.pl,
	tools/map/ftimes-map2mac.pl, tools/nph-ftimes.cgi/nph-ftimes.cgi,
	tools/rtimes/all-includes.h, tools/rtimes/rtimes.c,
	tools/rtimes/rtimes.h, tools/tarmap/all-includes.h,
	tools/tarmap/tarmap.c, tools/tarmap/tarmap.h, tools/zipmap/zipmap,
	utils/test_harness, utils/tree_builder, utils/version2string,
	utils/version_helper: Updated copyright information.

2015-03-18 13:18  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for the Automount File
	System (AUTOFS) under MacOS.

2015-02-17 10:31  mavrik

	* src/properties.c: Added config/import file logging so the user
	can easily determine which config files are actually getting
	processed.

2015-02-14 11:38  mavrik

	* src/version.h: Updated version number (3.11.0.xs4 -->
	3.11.0.xs5).

2015-02-13 15:19  mavrik

	* tools/ftimes-bimvl/ftimes-bimvl: Added support for a flock-based
	PID file.

2015-02-13 14:17  mavrik

	* tools/ftimes-bimvl/ftimes-bimvl: Fixed a fatal logic flaw with
	the guards added in revision 1.8.

2015-02-13 13:26  mavrik

	* tools/ftimes-bimvl/ftimes-bimvl: Updated the default value for
	FTimesHome on WINX platforms.

2015-02-13 13:22  mavrik

	* tools/ftimes-bimvl/ftimes-bimvl: Added guards to ensure that
	syslogging facilities are disabled when the 'NoSysLog' option is in
	play.

2015-02-13 13:16  mavrik

	* tools/ftimes-bimvl/ftimes-bimvl: Added a guard to protect against
	undefined values.

2015-02-13 13:15  mavrik

	* tools/ftimes-bimvl/ftimes-bimvl: Fixed a bug introduced by the
	previous commit. Apparently, an 'import' is required to access the
	functions that are normally visible when one uses 'use'.

2015-02-13 12:54  mavrik

	* tools/ftimes-bimvl/ftimes-bimvl: Replaced a 'use' with a
	'require' to prevent WINX platforms from croaking.

2015-02-13 12:29  mavrik

	* tools/ftimes-bimvl/ftimes-bimvl: Refined the documentation
	pertaining to the 'NoSysLog' option.

2015-02-13 12:24  mavrik

	* tools/ftimes-bimvl/ftimes-bimvl: Added support for the
	'LogViaUdpSocket' option. Removed support for the '-S' option.
	Inverted the logic in various code blocks to support these
	interface changes. Going forward, the default logging mechanism
	will be syslog() via Sys::Sylog.

2015-02-13 11:42  mavrik

	* tools/ftimes-bimvl/ftimes-bimvl: Added the '-o' option to accept
	a comma-delimited list of options.  Added support for the
	'NoSysLog' option.

2014-11-13 18:05  mavrik

	* src/version.h: Updated version number (3.11.0.xs3 -->
	3.11.0.xs4).

2014-11-13 18:03  mavrik

	* tools/ftimes-xpa/ftimes-xpa.h: Updated version number (1.1.1 -->
	1.2.0).

2014-11-13 18:01  mavrik

	* tools/ftimes-cat/ftimes-cat.h: Updated version number (1.0.1 -->
	1.1.0).

2014-11-13 17:57  mavrik

	* tools/ftimes-xpatool/ftimes-xpatool: Fixed a bug where '\' was
	not properly escaped.

2014-11-13 17:15  mavrik

	* tests/hipdig/common/dig/test_harness.local: Modified
	DigUnitTest() to use escaped double quotes for the '-t' argument
	rather than single quotes. This was done to support testing on
	Windows platforms.

2014-11-13 15:55  mavrik

	* tools/: dig/ftimes-crv2raw.pl, dig/ftimes-dig2ctx.pl,
	dig/hipdig.pl, ftimes-cmp2diff/ftimes-cmp2diff,
	ftimes-encoder/ftimes-encoder, ftimes-grabber/ftimes-grabber,
	ftimes-proximo/ftimes-proximo, ftimes-xformer/ftimes-xformer,
	ftimes-xpatool/ftimes-xpatool, zipmap/zipmap: Raised the minimum
	required version of FTimes::EadRoutines to 1.025.

2014-11-13 15:28  mavrik

	* tests/ftimes/common/dig/test_harness.local: Replaced DigDecode()
	and DigEncode() with FTimesUrlDecode() and FTimesUrlEncode(),
	respectively.

2014-11-13 15:24  mavrik

	* tests/test_harness.local: Modified FTimesUrlEncode() to encode
	UNIX/WINX path separators when executing on the opposite platform.

2014-11-13 14:05  mavrik

	* lib/perl/t/FTimes-EadRoutines.t: Modified two tests to
	conditionally encode UNIX/WINX path separators.

2014-11-13 13:48  mavrik

	* tests/ftimes/common/dig/test_harness.local: Modified DigEncode()
	to encode UNIX/WINX path separators when executing on the opposite
	platform.

2014-11-13 13:48  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Modified EadFTimesUrlEncode()
	to encode UNIX/WINX path separators when executing on the opposite
	platform.

2014-11-13 13:13  mavrik

	* src/support.c: Modified SupportNeuterString() to encode UNIX/WINX
	path separators when executing on the opposite platform.

2014-11-13 12:43  mavrik

	* tools/ftimes-cat/: ftimes-cat.c, ftimes-cat.h: Modified the code
	to distinguish between encoded and not encoded filenames supplied
	on the command line. The assumption going forward is that only
	those filenames prefixed with "file://" are encoded.

2014-11-13 11:54  mavrik

	* tools/ftimes-xpatool/ftimes-xpatool: Added support for XPA 0.3
	archives.

2014-11-13 11:52  mavrik

	* tools/ftimes-xpa/: ftimes-xpa.c, ftimes-xpa.h: Added support for
	a new per-member attribute (PathSeparator). Bumped the minor file
	format number.

2014-11-13 11:13  mavrik

	* tools/ftimes-xpatool/ftimes-xpatool: Overhauled the way that
	CreateTargetHandle() works. Going forward, errors creating a single
	target handle will not be considered fatal. This makes it possible
	to process and potentially extract the remaining archive members.

2014-11-13 09:08  mavrik

	* tools/ftimes-xpatool/ftimes-xpatool: Adjusted the way that
	filenames are normalized. This was done to ensure that path
	separators are handled first.

2014-11-13 09:00  mavrik

	* tools/ftimes-xpa/: ftimes-xpa.c, ftimes-xpa.h: Modified the code
	to distinguish between encoded and not encoded filenames supplied
	on the command line. The assumption going forward is that only
	those filenames prefixed with "file://" are encoded.

2014-11-12 11:36  mavrik

	* tools/ftimes-xpatool/ftimes-xpatool: Shifted and forked a print
	statement.

2014-11-12 11:33  mavrik

	* tools/ftimes-xpatool/ftimes-xpatool: Added the '-o' option to
	accept a comma-delimited list of options. Added support for the
	'ForceWrite' option, which only applies to the run modes where
	archive members are extracted.

2014-11-12 11:10  mavrik

	* tools/ftimes-xpatool/ftimes-xpatool: Replaced
	CreateMemberHandle() with CreateTargetHandle(), which has a
	different function prototype and additional logic.

2014-11-12 10:18  mavrik

	* tools/ftimes-xpatool/ftimes-xpatool: Added the '-C' option so the
	user can change to a specific output directory before extracting
	archive members.

2014-11-11 13:30  mavrik

	* tools/ftimes-xpatool/ftimes-xpatool: Updated option processing to
	make it more extensible.

2014-11-11 13:19  mavrik

	* tools/ftimes-xpatool/ftimes-xpatool: Worked on code indentation
	and format.

2014-11-11 13:05  mavrik

	* tools/ftimes-xpatool/ftimes-xpatool: Removed exists() tests where
	there were corresponding defined() tests since the latter test is
	sufficient in all cases.

2014-11-07 12:00  mavrik

	* src/version.h: Updated version number (3.11.0.xs2 -->
	3.11.0.xs3).

2014-11-07 11:59  mavrik

	* tools/rtimes/rtimes.h: Updated version number (1.0.10 -->
	1.0.11).

2014-11-07 11:57  mavrik

	* tools/ftimes-xpa/ftimes-xpa.h: Updated version number (1.1.0 -->
	1.1.1).

2014-11-07 11:55  mavrik

	* Makefile.vs, configure.in, src/develop.c, src/sys-includes.h,
	tools/ftimes-xpa/all-includes.h, tools/rtimes/Makefile.vs,
	tools/rtimes/all-includes.h, tools/rtimes/rtimes.c: Dropped support
	for the USE_SDDL macro since the code that it was guarding is no
	longer optional. Tweaked various include files, macro definitions,
	and configure/build options to obtain clean MinGW build on both 32-
	and 64-bit platforms.

2014-11-06 18:06  mavrik

	* tools/hashcp/hashcp.c: Switched from '%llu' to '%I64u' for MinGW
	builds.

2014-11-06 18:02  mavrik

	* tools/tarmap/tarmap.h: Updated version number (1.1.14 -->
	1.1.15).

2014-11-06 18:01  mavrik

	* tools/tarmap/tarmap.c: Switched from '%llu' to '%I64u' for MinGW
	builds.

2014-11-06 17:45  mavrik

	* tools/ftimes-xpa/ftimes-xpa.c: Fixed several invalid tests.

2014-11-06 17:32  mavrik

	* tools/ftimes-cat/ftimes-cat.h: Updated version number (1.0.0 -->
	1.0.1).

2014-11-06 17:28  mavrik

	* tools/ftimes-cat/ftimes-cat.c: Fixed an incorrect cast to
	eliminate a compiler warning.

2014-11-06 16:41  mavrik

	* src/version.h: Updated version number (3.11.0.xs1 -->
	3.11.0.xs2).

2014-11-06 16:39  mavrik

	* tools/ftimes-xpatool/ftimes-xpatool: Added support for XPA 0.2
	archives. Started to review/update the entire script.

2014-11-06 16:34  mavrik

	* configure.in, doc/ftimes-xpatool/Makefile.in,
	tools/ftimes-xpatool/Makefile.in,
	tools/ftimes-xpatool/ftimes-xpatool: Added ftimes-xpatool to the
	project. The purpose of this utility is to manipulate XPA archives.
	This utility was written a number of years ago to support XPA 0.1
	archives, but it was never given an official home, until now.

2014-11-06 16:05  mavrik

	* tools/ftimes-xpa/ftimes-xpa.h: Updated version number (1.0.0 -->
	1.1.0).

2014-11-06 15:53  mavrik

	* tools/ftimes-xpa/: all-includes.h, ftimes-xpa.c, ftimes-xpa.h:
	Added support for several new per-member attributes (FileATimeRtue,
	FileMTimeRtue, FileCTimeRtue, FileUid, FileGid, FileOSid, FileGSid,
	FileOwner, and FileGroup). Bumped the minor file format number.

2014-09-10 10:55  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for version 2 of the
	Journalling Flash File System (JFFS2) under Linux. This requirement
	popped up while running FTimes on an IPMI-based device. Thanks to
	Jason Smith for writing and testing the initial patch.

2014-08-18 12:06  mavrik

	* configure.in: Added a missing variable that is needed to install
	the Perl modules when the --with-dig-tools option is set.

2014-08-01 14:36  mavrik

	* src/version.h: Updated version number (3.11.0.sr0 -->
	3.11.0.xs1).

2014-08-01 14:29  mavrik

	* src/map.c: Attempted to fix a bug where directories with the
	reparse point attribute weren't being handled properly -- we were
	experiencing recursion loops on Windows platforms that use
	junctions and mount points. This patch is considered a temporary
	fix because it does not attempt to deal with mount points -- it
	simply excludes all directories that have the reparse point
	attribute set.

2014-07-31 17:10  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Raised the minimum required
	version of FTimes::EadRoutines to 1.024.

2014-07-31 17:07  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Added a check in
	EadWinxAttributesDecode() to ensure the input is defined and valid.

2014-07-31 17:01  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added the 'DecodeAttributes'
	option to convert attributes into a human readable form.

2014-07-31 16:58  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Added a new routine:
	EadWinxAttributesDecode().

2014-07-30 15:23  mavrik

	* src/version.h: Updated version number (3.11.0.rc2 -->
	3.11.0.sr0).

2014-07-30 04:15  mavrik

	* src/version.h: Updated version number (3.11.0.rc1 -->
	3.11.0.rc2).

2014-07-30 04:13  mavrik

	* src/map.c: Added a WINVER check in an attempt to satisfy
	conflicting warnings about argument 8 of GetSecurityInfo(). The
	conflict is between a newer 64-bit version of MinGW with gcc 4.9.0
	and an older 32-bit version with gcc 3.4.5.

2014-07-30 04:07  mavrik

	* src/sys-includes.h: Added an #ifndef block to prevent warning
	about WINVER being redefined.

2014-07-30 03:27  mavrik

	* src/app-includes.h: Added #ifndef blocks to prevent warnings
	about fstat and stat being redefined.

2014-07-30 03:24  mavrik

	* src/develop.c: Changed a format specifier to prevent several
	instances of the same MinGW compiler warning. The specific warning
	was: "unknown conversion type character 'l' in format". This
	warning was generated by gcc 4.9.0 on a 64-bit Windows 2003 SP2
	system.

2014-07-30 03:07  mavrik

	* src/: analyze.c, compare.c: Added a cast to prevent a MinGW
	compiler warning. The specific warning was: "cast from pointer to
	integer of different size". This warning was generated by gcc 4.9.0
	on a 64-bit Windows 2003 SP2 system.

2014-07-30 03:00  mavrik

	* src/map.c: Added a cast to prevent a MinGW compiler warning. The
	specific warning was: "passing argument 8 of 'GetSecurityInfo' from
	incompatible pointer type". This warning was generated by gcc 4.9.0
	on a 64-bit Windows 2003 SP2 system.

2014-07-30 01:00  mavrik

	* tests/ftimes/common/: compare/test_1/test_harness.local,
	compare/test_3/test_harness.local,
	decoder/test_1/test_harness.local, map/test_harness.local,
	map/test_7/test_harness.local: Made various changes to get the test
	harness to function properly for MinGW/MSYS builds.

2014-07-30 00:59  mavrik

	* utils/test_harness: Added a platform-specific variable to hold
	the path separator.

2014-07-18 16:36  mavrik

	* src/version.h: Updated version number (3.11.0.ds3 -->
	3.11.0.rc1).

2014-07-18 14:01  mavrik

	* src/: hook.c, map.c: Fixed minor nits and bits. Thanks to Rob
	King for writing and testing the initial patch.

2014-07-18 13:52  mavrik

	* src/app-includes.h: Removed the _POSIX_C_SOURCE #undef as it does
	not appear to be needed for Python 3.X.X and higher on Gentoo
	platforms.

2014-07-18 13:43  mavrik

	* src/hook.c: Fixed a double free bug in HookFreeHook(). The issue
	was that the strings returned by KlelGetCommandInterpreter(),
	KlelGetCommandProgram(), and KlelGetName() were owned by the
	library.

2014-07-18 03:06  mavrik

	* src/hook.c: Added an #ifdef block to prevent a compiler warning.
	The specific warning was: "unused variable 'acLocalError'". This
	warning was generated by gcc 4.7.2 on a Linux Gentoo 2.2 system.

2014-07-18 02:47  mavrik

	* src/version.h: Updated version number (3.11.0.ds2 -->
	3.11.0.ds3).

2014-07-18 02:40  mavrik

	* Makefile.vs, README.LICENSE, lib/perl/Makefile.PL.in,
	lib/perl/config, lib/perl/lib/FTimes/EadRoutines.pm,
	lib/perl/lib/FTimes/Properties.pm, lib/perl/t/FTimes-EadRoutines.t,
	lib/perl/t/FTimes-Properties.t, src/all-includes.h, src/analyze.c,
	src/app-includes.h, src/cmpmode.c, src/compare.c, src/compare.h,
	src/decode.c, src/decode.h, src/decoder.c, src/develop.c,
	src/dig.c, src/dig.h, src/digmode.c, src/error.c, src/error.h,
	src/fsinfo.c, src/fsinfo.h, src/ftimes.c, src/ftimes.h,
	src/getmode.c, src/hook.c, src/hook.h, src/http.c, src/http.h,
	src/madmode.c, src/map.c, src/mapmode.c, src/mask.c, src/mask.h,
	src/md5.c, src/md5.h, src/message.c, src/message.h, src/options.c,
	src/options.h, src/properties.c, src/sha1.c, src/sha1.h,
	src/sha256.c, src/sha256.h, src/socket.c, src/socket.h,
	src/ssl-pool.h, src/ssl.c, src/ssl.h, src/support.c,
	src/sys-includes.h, src/time.c, src/url.c, src/version.c,
	src/version.h, src/xmagic.c, src/xmagic.h,
	tools/dig/ftimes-crv2dbi.pl, tools/dig/ftimes-crv2raw.pl,
	tools/dig/ftimes-dig2ctx.pl, tools/dig/ftimes-dig2dbi.pl,
	tools/dig/hipdig.pl, tools/ftimes-cat/all-includes.h,
	tools/ftimes-cat/ftimes-cat.c, tools/ftimes-cat/ftimes-cat.h,
	tools/ftimes-cmp2diff/ftimes-cmp2diff,
	tools/ftimes-dbm-bash/ftimes-dbm-bash,
	tools/ftimes-dbm-dump/ftimes-dbm-dump,
	tools/ftimes-dbm-find/ftimes-dbm-find,
	tools/ftimes-dbm-make/ftimes-dbm-make,
	tools/ftimes-dbm-reap/ftimes-dbm-reap,
	tools/ftimes-dbm-weed/ftimes-dbm-weed,
	tools/ftimes-encoder/ftimes-encoder,
	tools/ftimes-grabber/ftimes-grabber,
	tools/ftimes-proximo/ftimes-proximo,
	tools/ftimes-sizimus/ftimes-sizimus,
	tools/ftimes-sortini/ftimes-sortini,
	tools/ftimes-xformer/ftimes-xformer,
	tools/ftimes-xpa/all-includes.h, tools/ftimes-xpa/ftimes-xpa.c,
	tools/ftimes-xpa/ftimes-xpa.h, tools/hashcp/all-includes.h,
	tools/hashcp/hashcp.c, tools/hashcp/hashcp.h,
	tools/hashdig/hashdig-bash.pl, tools/hashdig/hashdig-bind.pl,
	tools/hashdig/hashdig-dump.pl, tools/hashdig/hashdig-filter.pl,
	tools/hashdig/hashdig-find.pl,
	tools/hashdig/hashdig-harvest-sunsolve.pl,
	tools/hashdig/hashdig-harvest.pl, tools/hashdig/hashdig-make.pl,
	tools/hashdig/hashdig-resolve-sunsolve.pl,
	tools/hashdig/hashdig-stat.pl, tools/hashdig/hashdig-weed.pl,
	tools/lrs/pool2string.c, tools/lrs/string2pool.c,
	tools/map/ftimes-cmp2dbi.pl, tools/map/ftimes-map2dbi.pl,
	tools/map/ftimes-map2mac.pl, tools/nph-ftimes.cgi/nph-ftimes.cgi,
	tools/rtimes/all-includes.h, tools/rtimes/rtimes.c,
	tools/rtimes/rtimes.h, tools/tarmap/all-includes.h,
	tools/tarmap/tarmap.c, tools/tarmap/tarmap.h, tools/zipmap/zipmap,
	utils/test_harness, utils/tree_builder, utils/version2string,
	utils/version_helper: Updated copyright information.

2014-07-18 02:31  mavrik

	* README.CREDITS, configure.in, src/Makefile.in,
	src/app-includes.h, src/ftimes.c, src/ftimes.h, src/hook.c,
	src/hook.h, src/map.c, src/version.c: Added initial support for an
	embedded Python interpreter that handles the caching and execution
	of Python scripts associated with any file hooks that may be in
	play (UNIX platforms only). Thanks to Rob King for writing and
	testing the initial patch.

2014-06-24 11:40  mavrik

	* src/: md5.c, sha1.c, sha256.c: Added an #ifdef block to prevent a
	compiler warning. The specific warning was: "unused variable
	'pui'". This warning was generated by gcc 4.7.2 on a Linux Gentoo
	2.2 system.

2014-06-23 16:15  mavrik

	* src/version.h: Updated version number (3.11.0.ds1 -->
	3.11.0.ds2).

2014-06-23 16:13  mavrik

	* src/map.c: Fixed a bug where FTimes was consuming a large amount
	of CPU time due to the way that select() is implemented on Linux
	platforms. According to the Linux man page, select() "modifies
	timeout to reflect the amount of time not slept", but
	unfortunately, not all platforms follow this convention. In
	particular, FreeBSD, the platform on which the affected code was
	originally developed and tested, does not follow this convention.
	According to the Linux man page, POSIX.1-2001 actually permits more
	than one behavior, so you get what we had here.  Thanks to Hank
	Leininger for reporting this issue and writing the initial patch.

2014-06-23 14:20  mavrik

	* src/version.h: Updated version number (3.10.0.xs1 -->
	3.11.0.ds1).

2014-06-23 14:10  mavrik

	* tools/ftimes-bimvl/Makefile.in: Fixed incorrect TARGET value.

2014-06-23 14:05  mavrik

	* configure.in, doc/ftimes-bimvl/Makefile.in,
	tools/ftimes-bimvl/Makefile.in, tools/ftimes-bimvl/ftimes-bimvl:
	Added ftimes-bimvl to the project. The purpose of this utility is
	to take a snapshot, compare it to a baseline, and log the changes
	to a syslog server.

2014-06-20 13:57  mavrik

	* tools/ftimes-cmp2diff/ftimes-cmp2diff: Modified the code to honor
	the 'NoDecode' option for all operations.

2014-06-20 13:17  mavrik

	* tools/ftimes-cmp2diff/ftimes-cmp2diff: Quoted all filenames in
	error messages.

2014-06-20 13:15  mavrik

	* tools/ftimes-cmp2diff/ftimes-cmp2diff: Modified the way that
	.offsets files are created. Previously, these files could be left
	in a partially-built or corrupt state if the process that was
	creating them was aborted or killed. The problem with that is
	subsequent runs of the script, in an effort to save time, will
	automatically use existing .offsets files no matter what state they
	are in. Now, the files are built using temporary filenames and then
	renamed when ready for use.

2014-06-20 12:05  mavrik

	* tools/ftimes-cmp2diff/ftimes-cmp2diff: Fixed a design flaw where
	offsets greater than 2^32-1 were not supported on platforms where
	Perl's ivsize was less than 8 -- a number of older 32-bit platforms
	fall into this category. This flaw was initially discovered while
	processing a large map file on a 64-bit platform where Perl's hex()
	was emitting 'non-portable' warnings for offsets greater than
	2^32-1.

2014-04-16 10:58  mavrik

	* src/ssl.c: Modified SslGetVersion() to use SSLeay() rather than
	OPENSSL_VERSION_NUMBER. This change was made to ensure that the
	OpenSSL version number reported by a dynamically linked binary
	accurately reflects the version of the library actually in use.

2013-10-24 09:51  mavrik

	* tools/tarmap/tarmap.h: Bumped the update version number.

2013-10-24 09:49  mavrik

	* tools/tarmap/tarmap.c: Fixed an incorrect variable name. Thanks
	to Jason Smith for writing and testing the initial patch.

2013-06-13 12:29  mavrik

	* src/version.h: Updated version number (3.10.0.sr0 -->
	3.10.0.xs1).

2013-06-13 11:55  mavrik

	* src/: md5.c, sha1.c, sha256.c: Added #ifndef and #ifdef blocks
	and code to support build scenarios where htonl() is not available.

2013-04-09 18:47  mavrik

	* Mk/common-doc-c.mk.in, Mk/common-doc-perl.mk.in,
	tools/dig/ftimes-crv2raw.pl, tools/dig/ftimes-dig2ctx.pl,
	tools/dig/hipdig.pl, tools/ftimes-cmp2diff/ftimes-cmp2diff,
	tools/ftimes-dbm-bash/ftimes-dbm-bash,
	tools/ftimes-dbm-dump/ftimes-dbm-dump,
	tools/ftimes-dbm-find/ftimes-dbm-find,
	tools/ftimes-dbm-make/ftimes-dbm-make,
	tools/ftimes-dbm-reap/ftimes-dbm-reap,
	tools/ftimes-dbm-weed/ftimes-dbm-weed,
	tools/ftimes-encoder/ftimes-encoder,
	tools/ftimes-grabber/ftimes-grabber,
	tools/ftimes-proximo/ftimes-proximo,
	tools/ftimes-sizimus/ftimes-sizimus,
	tools/ftimes-sortini/ftimes-sortini,
	tools/ftimes-xformer/ftimes-xformer, tools/ftimes-xpa/ftimes-xpa.c,
	tools/hashdig/hashdig-bash.pl, tools/hashdig/hashdig-bind.pl,
	tools/hashdig/hashdig-dump.pl, tools/hashdig/hashdig-filter.pl,
	tools/hashdig/hashdig-find.pl,
	tools/hashdig/hashdig-harvest-sunsolve.pl,
	tools/hashdig/hashdig-harvest.pl, tools/hashdig/hashdig-make.pl,
	tools/hashdig/hashdig-resolve-sunsolve.pl,
	tools/hashdig/hashdig-stat.pl, tools/hashdig/hashdig-weed.pl,
	tools/map/ftimes-map2mac.pl, tools/rtimes/rtimes.c,
	tools/tarmap/tarmap.c, tools/zipmap/zipmap, utils/test_harness,
	utils/tree_builder: Made minor comment changes.

2013-04-09 18:31  mavrik

	* etc/xmagic/xmagic.base: Replaced '#' with '\x23' in all regexp
	tests since the XMagic parser treats the former as the start of a
	comment.

2013-04-01 17:12  mavrik

	* src/version.h: Updated version number (3.10.0.rc1 -->
	3.10.0.sr0).

2013-02-15 13:07  mavrik

	* src/version.h: Updated version number (3.10.0.ds1 -->
	3.10.0.rc1).

2013-02-15 13:01  mavrik

	* configure.in: Raised the minimum required version of libklel to
	1.1.0, which has a library version of 2:0:1. Going forward, older
	versions of the library's API will not be supported.

2013-02-15 12:57  mavrik

	* src/version.h: Updated version number (3.9.0.xs7 --> 3.10.0.ds1).

2013-02-14 11:55  mavrik

	* Makefile.vs, README.LICENSE, lib/perl/Makefile.PL.in,
	lib/perl/config, lib/perl/lib/FTimes/EadRoutines.pm,
	lib/perl/lib/FTimes/Properties.pm, lib/perl/t/FTimes-EadRoutines.t,
	lib/perl/t/FTimes-Properties.t, src/all-includes.h, src/analyze.c,
	src/app-includes.h, src/cmpmode.c, src/compare.c, src/compare.h,
	src/decode.c, src/decode.h, src/decoder.c, src/develop.c,
	src/dig.c, src/dig.h, src/digmode.c, src/error.c, src/error.h,
	src/fsinfo.c, src/fsinfo.h, src/ftimes.c, src/ftimes.h,
	src/getmode.c, src/hook.c, src/hook.h, src/http.c, src/http.h,
	src/madmode.c, src/map.c, src/mapmode.c, src/mask.c, src/mask.h,
	src/md5.c, src/md5.h, src/message.c, src/message.h, src/options.c,
	src/options.h, src/properties.c, src/sha1.c, src/sha1.h,
	src/sha256.c, src/sha256.h, src/socket.c, src/socket.h,
	src/ssl-pool.h, src/ssl.c, src/ssl.h, src/support.c,
	src/sys-includes.h, src/time.c, src/url.c, src/version.c,
	src/version.h, src/xmagic.c, src/xmagic.h,
	tools/dig/ftimes-crv2dbi.pl, tools/dig/ftimes-crv2raw.pl,
	tools/dig/ftimes-dig2ctx.pl, tools/dig/ftimes-dig2dbi.pl,
	tools/dig/hipdig.pl, tools/ftimes-cat/all-includes.h,
	tools/ftimes-cat/ftimes-cat.c, tools/ftimes-cat/ftimes-cat.h,
	tools/ftimes-cmp2diff/ftimes-cmp2diff,
	tools/ftimes-dbm-bash/ftimes-dbm-bash,
	tools/ftimes-dbm-dump/ftimes-dbm-dump,
	tools/ftimes-dbm-find/ftimes-dbm-find,
	tools/ftimes-dbm-make/ftimes-dbm-make,
	tools/ftimes-dbm-reap/ftimes-dbm-reap,
	tools/ftimes-dbm-weed/ftimes-dbm-weed,
	tools/ftimes-encoder/ftimes-encoder,
	tools/ftimes-grabber/ftimes-grabber,
	tools/ftimes-proximo/ftimes-proximo,
	tools/ftimes-sizimus/ftimes-sizimus,
	tools/ftimes-sortini/ftimes-sortini,
	tools/ftimes-xformer/ftimes-xformer,
	tools/ftimes-xpa/all-includes.h, tools/ftimes-xpa/ftimes-xpa.c,
	tools/ftimes-xpa/ftimes-xpa.h, tools/hashcp/all-includes.h,
	tools/hashcp/hashcp.c, tools/hashcp/hashcp.h,
	tools/hashdig/hashdig-bash.pl, tools/hashdig/hashdig-bind.pl,
	tools/hashdig/hashdig-dump.pl, tools/hashdig/hashdig-filter.pl,
	tools/hashdig/hashdig-find.pl,
	tools/hashdig/hashdig-harvest-sunsolve.pl,
	tools/hashdig/hashdig-harvest.pl, tools/hashdig/hashdig-make.pl,
	tools/hashdig/hashdig-resolve-sunsolve.pl,
	tools/hashdig/hashdig-stat.pl, tools/hashdig/hashdig-weed.pl,
	tools/lrs/pool2string.c, tools/lrs/string2pool.c,
	tools/map/ftimes-cmp2dbi.pl, tools/map/ftimes-map2dbi.pl,
	tools/map/ftimes-map2mac.pl, tools/nph-ftimes.cgi/nph-ftimes.cgi,
	tools/rtimes/all-includes.h, tools/rtimes/rtimes.c,
	tools/rtimes/rtimes.h, tools/tarmap/all-includes.h,
	tools/tarmap/tarmap.c, tools/tarmap/tarmap.h, tools/zipmap/zipmap,
	utils/test_harness, utils/tree_builder: Updated copyright
	information.

2013-02-14 11:34  mavrik

	* utils/version2string: Synchronized version2string with revision
	1.7 of the same in The WebJob Project.

2013-02-14 11:31  mavrik

	* utils/version_helper: Synchronized version_helper with revision
	1.9 of the same in The WebJob Project.

2013-02-13 21:57  mavrik

	* README.LICENSE: Updated disclaimer.

2013-01-27 20:08  mavrik

	* src/: md5.c, sha1.c, sha256.c: Fixed a bug in
	{MD5,SHA1,SHA256}HashStream() where the number of bytes hashed were
	not being tracked properly for streams larger than the default
	block size. This bug did not affect hash values in any way.

2012-12-12 11:07  mavrik

	* src/Makefile.in: Updated CFLAGS to include PERL_CFLAGS.

2012-12-10 20:01  mavrik

	* src/version.h: Bumped the build number (0x30900c07).

2012-12-10 19:58  mavrik

	* src/version.c: Modified VersionGetVersion() to include "klel" in
	the version string when ftimes is compiled with KLEL support.
	Previously, this information was not provided unless file hooks
	were enabled.

2012-12-10 19:27  mavrik

	* configure.in, src/xmagic.c, src/xmagic.h: Added code and logic to
	conditionally define strnlen(). This change was necessary to get
	the MinGW build working again.

2012-12-10 19:25  mavrik

	* configure.in: Removed the configure logic that prevented KLEL
	support from being enabled for MinGW builds.

2012-12-10 19:21  mavrik

	* src/app-includes.h: Moved the inclusion of klel.h to its own
	#ifdef block since KLEL support is no longer strictly tied to file
	hooks.

2012-12-04 00:43  mavrik

	* src/: analyze.c, compare.c, error.c, error.h, fsinfo.c, ftimes.c,
	map.c, support.c: Replaced ErrorFormatWin32Error() with
	ErrorFormatWinxError().

2012-12-03 13:32  mavrik

	* src/version.h: Bumped the build number (0x30900c06).

2012-12-03 13:31  mavrik

	* src/xmagic.c: Fixed a bug where a continuation line at the end of
	a file would cause a segmentation fault.

2012-11-30 19:02  mavrik

	* src/version.h: Bumped the build number (0x30900c05).

2012-11-30 19:01  mavrik

	* src/: xmagic.c, xmagic.h: Added initial support for klel-based
	XMagic. This code is experimental and subject to change.

2012-11-30 18:32  mavrik

	* src/version.h: Bumped the build number (0x30900c04).

2012-11-30 18:22  mavrik

	* configure.in, src/hook.c, src/map.c: Raised the minimum required
	version of libklel to 1.0.0.xs3. Updated the code to work with this
	version of the library.

2012-11-29 11:19  mavrik

	* configure.in: Added a check to ensure that KLEL support has been
	enabled before checking to see if a supported version is installed.

2012-11-26 19:55  mavrik

	* src/version.h: Bumped the build number (0x30900c03).

2012-11-26 19:52  mavrik

	* tools/tarmap/tarmap.h: Bumped the update version number.

2012-11-26 19:48  mavrik

	* src/dig.c, src/hook.c, src/map.c, src/message.c,
	tools/tarmap/tarmap.c: Modified and/or commented out unused
	variables and code to prevent 'variable set but not used' compiler
	warnings. These warnings were generated by gcc 4.6.3 running on a
	Linux Gentoo 2.2 system.

2012-11-26 18:56  mavrik

	* configure.in, src/hook.c, src/hook.h, src/map.c,
	src/properties.c, src/version.c: Modified the code and
	configure/build process to work with the libklel 1.0.0 release,
	which has a library version of 1:0:0. Going forward, older versions
	of the library's API will not be supported.

2012-11-26 18:15  mavrik

	* configure.in: Raised the minimum required version of autoconf to
	2.68.

2012-11-01 23:58  mavrik

	* src/version.h: Bumped the build number (0x30900c02).

2012-10-31 15:52  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for SquashFS file systems
	(SQUASHFS) under Linux.  This requirement popped up on an
	assessment gig where we needed to examine files on a Linux-based
	wireless router. Thanks to Jason Smith for writing and testing the
	initial patch.

2012-06-10 13:36  mavrik

	* src/: xmagic.c, xmagic.h: Replaced several FTimes-specific
	defines with newly created XMagic counterparts.

2012-06-10 13:16  mavrik

	* src/: ftimes.c, ftimes.h: Added support for the '--MagicFile'
	option, which is the counterpart to the control by the same name.

2012-06-10 13:10  mavrik

	* src/analyze.c: Modified the code to abort if the specified magic
	file does not exist.

2012-06-09 10:22  mavrik

	* src/xmagic.c: Fixed a spelling error.

2012-06-08 21:07  mavrik

	* src/version.h: Bumped the state number, and reset the build
	number.

2012-06-08 20:53  mavrik

	* src/: xmagic.c, xmagic.h: Added initial support for inline
	comments and line escapes.

2012-05-06 19:10  mavrik

	* src/version.h: Bumped the state number, and cleared the build
	number (0x30900800).

2012-05-05 22:42  mavrik

	* src/version.h: Bumped the state number, and reset the build
	number (0x30900401).

2012-05-05 22:22  mavrik

	* Makefile.vs: Updated install target.

2012-05-05 22:07  mavrik

	* configure.in, etc/xmagic/Makefile.in, etc/xmagic/xmagic.base:
	Added an official set of XMagic tests to the project. This should
	have been done years ago.

2012-05-05 21:42  mavrik

	* Makefile.in: Removed '@server_subdirs@' from SUBDIRS since it is
	no longer used.

2012-05-05 18:49  mavrik

	* configure.in, Mk/common-etc-conf.mk.in, etc/Makefile.in,
	etc/dig.cfg.sample, etc/get.cfg.sample, etc/map.cfg.sample,
	etc/nph-ftimes.cfg.sample, etc/ftimes-dig.cfg/Makefile.in,
	etc/ftimes-dig.cfg/ftimes-dig.cfg.base,
	etc/ftimes-get.cfg/Makefile.in,
	etc/ftimes-get.cfg/ftimes-get.cfg.base,
	etc/ftimes-map.cfg/Makefile.in,
	etc/ftimes-map.cfg/ftimes-map.cfg.base,
	etc/nph-ftimes.cfg/Makefile.in,
	etc/nph-ftimes.cfg/nph-ftimes.cfg.base: Restructured etc directory
	to use one sub-directory per config file.  Made various
	additions/modifications to provide the necessary configure/build
	support.

2012-05-05 18:39  mavrik

	* cgi/Makefile.in, tools/nph-ftimes.cgi/Makefile.in: The cgi
	directory is dead -- nph-ftimes.cgi has been moved to the tools
	directory.

2012-05-05 18:32  mavrik

	* cgi/nph-ftimes.cgi, tools/nph-ftimes.cgi/nph-ftimes.cgi: Moved
	script to its new home while preserving revision number continuity.

2012-05-04 16:19  mavrik

	* src/http.c: Modified the code in HttpParseHeader() to prevent a
	compiler warning.  The specific warning was: "variable 'iLength'
	set but not used". This warning was generated by gcc 4.6.3 on a
	Linux Ubuntu 12.04 system.

2012-05-04 16:16  mavrik

	* src/options.c: Modified the code in OptionsProcessOptions() to
	prevent a compiler warning. The specific warning was: "variable
	'pptcArgumentVector' set but not used". This warning was generated
	by gcc 4.6.3 on a Linux Ubuntu 12.04 system.

2012-05-04 13:43  mavrik

	* Makefile.vs, src/Makefile.in, src/xmagic.h: Added initial
	configure/build support for setting the default XMagic file
	location at build time (rather than having it be a hard-coded path
	in xmagic.h).

2012-05-02 23:35  mavrik

	* src/map.c: Commented out or removed unused variables.

2012-05-02 23:32  mavrik

	* configure.in: Added a check to define PCRE_STATIC for MinGW
	builds.

2012-05-02 21:19  mavrik

	* configure.in: Added a check to prevent embedded Perl support from
	getting enabled for MinGW builds.

2012-05-02 21:18  mavrik

	* configure.in: Updated a pair of AC_MSG_RESULT messages.

2012-05-02 21:11  mavrik

	* configure.in: Added checks to prevent file hooks and KLEL support
	from getting enabled for MinGW builds.

2012-04-23 10:17  mavrik

	* src/support.c: Added an #ifndef block to prevent a warning when
	compiling on Windows platforms.

2012-04-23 10:10  mavrik

	* src/hook.c: Added an #ifdef block to prevent a warning when
	compiling on Windows platforms.

2012-04-17 22:54  mavrik

	* src/version.h: Bumped the build number (0x30900038).

2012-04-17 22:53  mavrik

	* src/ftimes.c: Changed how the second argument of PERL_SYS_INIT()
	is initialized to prevent a compiler warning. The specific warning
	was: "passing argument 2 of 'Perl_sys_init' from incompatible
	pointer type". This warning was generated by gcc 4.5.3 running on a
	Linux Gentoo 2.1 system.

2012-04-17 19:46  mavrik

	* src/ftimes.c: Modified FTimesFinalize() to conditionally
	initialize the embedded Perl interpreter (dig/mad/map mode only).
	Modified FTimesFinalStage() to conditionally release the Perl
	interpreter (only if it has been initialized).

2012-04-17 19:37  mavrik

	* src/ftimes.c: Replaced eval_pv() with eval_sv() since G_KEEPERR
	can be specified as a flag.

2012-04-14 15:27  mavrik

	* src/version.h: Bumped the build number (0x30900037).

2012-04-14 15:01  mavrik

	* src/version.c: Modified VersionGetVersion() to use
	KlelGetRelease() since it provides the state and build number in
	addition to the major, minor, and patch numbers.

2012-04-14 14:25  mavrik

	* src/version.c: Modified VersionGetVersion() to include "perl" in
	the version string when ftimes is compiled with embedded Perl
	support.

2012-04-14 14:15  mavrik

	* configure.in, src/Makefile.in, src/app-includes.h, src/ftimes.c,
	src/ftimes.h, src/hook.c, src/hook.h, src/map.c: Added initial
	support for an embedded Perl interpreter that handles the caching
	and execution of Perl scripts associated with any file hooks that
	may be in play (UNIX platforms only). This change will lead to a
	significant cost savings in cases where a given file hook is
	expected to execute repeatedly. Previously, the only way to execute
	hook commands that happened to be Perl scripts was through execv().

2012-02-29 21:08  mavrik

	* src/version.h: Bumped the build number (0x30900036).

2012-02-29 16:13  mavrik

	* tools/ftimes-cmp2diff/ftimes-cmp2diff: Overhauled the '-o' option
	handling logic. Going forward, any unknown or unsupported options
	specified by the user will cause the script to abort.

2012-02-29 16:07  mavrik

	* tools/ftimes-cmp2diff/ftimes-cmp2diff: Modified the code to use
	the standard version of ParseFieldMask(), which is located in
	FTimes::Properties.

2012-02-29 15:53  mavrik

	* tools/ftimes-cmp2diff/ftimes-cmp2diff: Removed an unnecessary
	block of code.

2012-02-29 15:51  mavrik

	* tools/ftimes-cmp2diff/ftimes-cmp2diff: Updated the code that
	reads compare output and determines how to process each type of
	record.

2012-02-29 15:36  mavrik

	* tools/ftimes-cmp2diff/ftimes-cmp2diff: Added support for the
	'field' output format, which prints one record for each field
	associated with a given compare record.

2012-02-26 02:05  mavrik

	* src/version.h: Bumped the build number (0x30900035).

2012-02-26 01:37  mavrik

	* configure.in, src/app-includes.h: Updated the location of klel.h.

2012-02-08 00:50  mavrik

	* Makefile.in, cgi/Makefile.in, etc/Makefile.in,
	tools/dig/Makefile.in, tools/hashdig/Makefile.in,
	tools/map/Makefile.in: Removed copyright information from all
	Makefiles. This was done to reduce maintenance overhead.

2012-02-08 00:48  mavrik

	* Makefile.in: Fixed a couple stragglers left over from the
	previous commit.

2012-02-08 00:32  mavrik

	* Makefile.in, cgi/Makefile.in, doc/ftimes/Makefile.in,
	doc/ftimes-cat/Makefile.in, doc/ftimes-xpa/Makefile.in,
	doc/hashcp/Makefile.in, doc/tarmap/Makefile.in, etc/Makefile.in,
	lib/Makefile.in, src/Makefile.in, tests/Makefile.in,
	tests/ftimes/Makefile.in, tests/ftimes/common/Makefile.in,
	tests/ftimes/common/compare/Makefile.in,
	tests/ftimes/common/decoder/Makefile.in,
	tests/ftimes/common/dig/Makefile.in,
	tests/ftimes/common/map/Makefile.in,
	tests/ftimes/common_windows_ads/Makefile.in,
	tests/ftimes/common_windows_ads/map/Makefile.in,
	tests/ftimes-crv2raw/Makefile.in,
	tests/ftimes-crv2raw/common/Makefile.in,
	tests/ftimes-crv2raw/common/carve/Makefile.in,
	tests/ftimes-encoder/Makefile.in,
	tests/ftimes-encoder/common/Makefile.in,
	tests/ftimes-encoder/common/decode/Makefile.in,
	tests/ftimes-encoder/common/encode/Makefile.in,
	tests/ftimes-xformer/Makefile.in,
	tests/ftimes-xformer/common/Makefile.in,
	tests/ftimes-xformer/common/xform/Makefile.in,
	tests/hipdig/Makefile.in, tests/hipdig/common/Makefile.in,
	tests/hipdig/common/dig/Makefile.in, tests/tarmap/Makefile.in,
	tests/tarmap/common/Makefile.in,
	tests/tarmap/common/map/Makefile.in, tools/dig/Makefile.in,
	tools/hashdig/Makefile.in, tools/map/Makefile.in: Reviewed and
	updated code to make it comply with various style guidelines.

2012-01-22 23:53  mavrik

	* src/version.h: Bumped the build number (0x30900034).

2012-01-18 23:37  mavrik

	* src/hook.c: Added an #ifdef block to prevent a warning when
	compiling on systems that don't define S_ISWHT.

2012-01-18 11:04  mavrik

	* src/version.h: Bumped the build number (0x30900033).

2012-01-18 11:03  mavrik

	* src/: hook.c, hook.h: Added hook.[ch] to the project.

2012-01-17 22:19  mavrik

	* src/version.h: Bumped the build number (0x30900032).

2012-01-17 22:09  mavrik

	* configure.in, doc/ftimes/controls/FileHook.pod,
	doc/ftimes/sections/DESCRIPTION.pod, src/Makefile.in,
	src/app-includes.h, src/ftimes.h, src/map.c, src/message.h,
	src/properties.c, src/sys-includes.h, src/version.c: Added initial
	support for file hooks. A file hook may be used to invoke an
	external command or utility on any file whose attributes match a
	user-defined expression. This change was driven by the need to run
	custom utilities on selected files during the digging/mapping
	process.

2012-01-03 22:14  mavrik

	* src/version.h: Bumped the build number (0x30900031).

2012-01-03 22:12  mavrik

	* Makefile.in, Makefile.vs, README.LICENSE, cgi/Makefile.in,
	cgi/nph-ftimes.cgi, etc/Makefile.in, lib/perl/Makefile.PL.in,
	lib/perl/config, lib/perl/lib/FTimes/EadRoutines.pm,
	lib/perl/lib/FTimes/Properties.pm, lib/perl/t/FTimes-EadRoutines.t,
	lib/perl/t/FTimes-Properties.t, src/all-includes.h, src/analyze.c,
	src/app-includes.h, src/cmpmode.c, src/compare.c, src/compare.h,
	src/decode.c, src/decode.h, src/decoder.c, src/develop.c,
	src/dig.c, src/dig.h, src/digmode.c, src/error.c, src/error.h,
	src/fsinfo.c, src/fsinfo.h, src/ftimes.c, src/ftimes.h,
	src/getmode.c, src/http.c, src/http.h, src/madmode.c, src/map.c,
	src/mapmode.c, src/mask.c, src/mask.h, src/md5.c, src/md5.h,
	src/message.c, src/message.h, src/options.c, src/options.h,
	src/properties.c, src/sha1.c, src/sha1.h, src/sha256.c,
	src/sha256.h, src/socket.c, src/socket.h, src/ssl-pool.h,
	src/ssl.c, src/ssl.h, src/support.c, src/sys-includes.h,
	src/time.c, src/url.c, src/version.c, src/version.h, src/xmagic.c,
	src/xmagic.h, tools/dig/Makefile.in, tools/dig/ftimes-crv2dbi.pl,
	tools/dig/ftimes-crv2raw.pl, tools/dig/ftimes-dig2ctx.pl,
	tools/dig/ftimes-dig2dbi.pl, tools/dig/hipdig.pl,
	tools/ftimes-cat/all-includes.h, tools/ftimes-cat/ftimes-cat.c,
	tools/ftimes-cat/ftimes-cat.h,
	tools/ftimes-cmp2diff/ftimes-cmp2diff,
	tools/ftimes-dbm-bash/ftimes-dbm-bash,
	tools/ftimes-dbm-dump/ftimes-dbm-dump,
	tools/ftimes-dbm-find/ftimes-dbm-find,
	tools/ftimes-dbm-make/ftimes-dbm-make,
	tools/ftimes-dbm-reap/ftimes-dbm-reap,
	tools/ftimes-dbm-weed/ftimes-dbm-weed,
	tools/ftimes-encoder/ftimes-encoder,
	tools/ftimes-grabber/ftimes-grabber,
	tools/ftimes-proximo/ftimes-proximo,
	tools/ftimes-sizimus/ftimes-sizimus,
	tools/ftimes-sortini/ftimes-sortini,
	tools/ftimes-xformer/ftimes-xformer,
	tools/ftimes-xpa/all-includes.h, tools/ftimes-xpa/ftimes-xpa.c,
	tools/ftimes-xpa/ftimes-xpa.h, tools/hashcp/all-includes.h,
	tools/hashcp/hashcp.c, tools/hashcp/hashcp.h,
	tools/hashdig/Makefile.in, tools/hashdig/hashdig-bash.pl,
	tools/hashdig/hashdig-bind.pl, tools/hashdig/hashdig-dump.pl,
	tools/hashdig/hashdig-filter.pl, tools/hashdig/hashdig-find.pl,
	tools/hashdig/hashdig-harvest-sunsolve.pl,
	tools/hashdig/hashdig-harvest.pl, tools/hashdig/hashdig-make.pl,
	tools/hashdig/hashdig-resolve-sunsolve.pl,
	tools/hashdig/hashdig-stat.pl, tools/hashdig/hashdig-weed.pl,
	tools/lrs/pool2string.c, tools/lrs/string2pool.c,
	tools/map/Makefile.in, tools/map/ftimes-cmp2dbi.pl,
	tools/map/ftimes-map2dbi.pl, tools/map/ftimes-map2mac.pl,
	tools/rtimes/all-includes.h, tools/rtimes/rtimes.c,
	tools/rtimes/rtimes.h, tools/tarmap/all-includes.h,
	tools/tarmap/tarmap.c, tools/tarmap/tarmap.h, tools/zipmap/zipmap,
	utils/test_harness, utils/tree_builder, utils/version2string,
	utils/version_helper: Updated copyright information.

2012-01-03 02:40  mavrik

	* configure.in: Added an AC_DEFINE macro for
	SHA256_PRE_MEMSET_MEMCPY.

2012-01-03 02:28  mavrik

	* src/version.c: Modified the way the buffer size is calculated for
	snprintf().

2012-01-02 22:14  mavrik

	* configure.in: Fixed an incorrect AC_ARG_ENABLE action-if-given
	argument.

2012-01-02 22:00  mavrik

	* configure.in: Modified several help/diagnostic messages.

2012-01-02 21:49  mavrik

	* configure.in: Replaced the --enable-md5-pre-msmc and
	--enable-sha1-pre-msmc configure options with
	--enable-hash-pre-msmc, which effectively serves the same purpose.

2012-01-02 21:00  mavrik

	* configure.in: Reviewed and updated code to make it comply with
	various style guidelines.

2011-11-20 13:03  mavrik

	* tools/hashdig/hashdig-harvest.pl: Reviewed and updated comments
	and documentation.

2011-11-16 00:01  mavrik

	* tools/hashdig/hashdig-harvest.pl: Updated the usage and
	documentation associated with the temporary sort directory.

2011-11-15 23:56  mavrik

	* tools/hashdig/hashdig-harvest.pl: Updated the variable name,
	usage, and documentation associated with the sort utility.

2011-11-15 23:52  mavrik

	* tools/hashdig/hashdig-harvest.pl: Added the '-S' option so the
	user can pass a desired buffer size through to the sort utility.

2011-11-06 18:13  mavrik

	* cgi/Makefile.in, doc/ftimes/Makefile.in,
	doc/ftimes-cat/Makefile.in, doc/ftimes-cmp2dbi/Makefile.in,
	doc/ftimes-cmp2diff/Makefile.in, doc/ftimes-crv2dbi/Makefile.in,
	doc/ftimes-crv2raw/Makefile.in, doc/ftimes-dbm-bash/Makefile.in,
	doc/ftimes-dbm-dump/Makefile.in, doc/ftimes-dbm-find/Makefile.in,
	doc/ftimes-dbm-make/Makefile.in, doc/ftimes-dbm-reap/Makefile.in,
	doc/ftimes-dbm-weed/Makefile.in, doc/ftimes-dig2ctx/Makefile.in,
	doc/ftimes-dig2dbi/Makefile.in, doc/ftimes-encoder/Makefile.in,
	doc/ftimes-grabber/Makefile.in, doc/ftimes-map2dbi/Makefile.in,
	doc/ftimes-map2mac/Makefile.in, doc/ftimes-proximo/Makefile.in,
	doc/ftimes-sizimus/Makefile.in, doc/ftimes-sortini/Makefile.in,
	doc/ftimes-xformer/Makefile.in, doc/ftimes-xpa/Makefile.in,
	doc/hashcp/Makefile.in, doc/hashdig-bash/Makefile.in,
	doc/hashdig-bind/Makefile.in, doc/hashdig-dump/Makefile.in,
	doc/hashdig-filter/Makefile.in, doc/hashdig-find/Makefile.in,
	doc/hashdig-harvest/Makefile.in,
	doc/hashdig-harvest-sunsolve/Makefile.in,
	doc/hashdig-make/Makefile.in,
	doc/hashdig-resolve-sunsolve/Makefile.in,
	doc/hashdig-stat/Makefile.in, doc/hashdig-weed/Makefile.in,
	doc/hipdig/Makefile.in, doc/tarmap/Makefile.in,
	doc/zipmap/Makefile.in, etc/Makefile.in, src/Makefile.in,
	tools/dig/Makefile.in, tools/ftimes-cat/Makefile.in,
	tools/ftimes-cmp2diff/Makefile.in,
	tools/ftimes-dbm-bash/Makefile.in,
	tools/ftimes-dbm-dump/Makefile.in,
	tools/ftimes-dbm-find/Makefile.in,
	tools/ftimes-dbm-make/Makefile.in,
	tools/ftimes-dbm-reap/Makefile.in,
	tools/ftimes-dbm-weed/Makefile.in,
	tools/ftimes-encoder/Makefile.in, tools/ftimes-grabber/Makefile.in,
	tools/ftimes-proximo/Makefile.in, tools/ftimes-sizimus/Makefile.in,
	tools/ftimes-sortini/Makefile.in, tools/ftimes-xformer/Makefile.in,
	tools/ftimes-xpa/Makefile.in, tools/hashcp/Makefile.in,
	tools/hashdig/Makefile.in, tools/map/Makefile.in,
	tools/tarmap/Makefile.in, tools/zipmap/Makefile.in: Added DESTDIR
	support to assist with staged installs and package creation.

2011-09-16 17:17  jesterchef

	* tools/ftimes-cmp2diff/ftimes-cmp2diff: Changed an exit code from
	3 to 2 since the corresponding error is basically a
	setup/initialization error.

2011-09-16 17:13  jesterchef

	* tools/ftimes-cmp2diff/ftimes-cmp2diff: Added logic to ensure that
	the script exits with a nonzero exit code if ftimes aborts.

2011-09-16 17:13  mavrik

	* lib/perl/lib/FTimes/Properties.pm: Removed a trailing space.

2011-09-07 11:30  mavrik

	* Makefile.in: Updated star target.

2011-09-06 17:55  mavrik

	* src/version.h: Bumped the build number (0x30900030).

2011-09-06 17:07  mavrik

	* src/: cmpmode.c, compare.c, compare.h, ftimes.h: Modified compare
	mode to derive its memory map disposition from a combination the
	main properties structure and the size of the baseline. As it turns
	out, a baseline that has no map records will result in an empty
	backing file, and that, in turn, causes mmap() to fail with EINVAL
	on some systems. Now, a backing file is only created if the
	baseline's size is greater than 64 MB.

2011-09-06 13:10  mavrik

	* src/version.h: Bumped the build number (0x3090002f).

2011-09-06 13:09  mavrik

	* src/cmpmode.c: Removed an unused variable.

2011-09-06 13:07  mavrik

	* src/: cmpmode.c, compare.c: Modified compare mode to obtain its
	memory map disposition from the main properties structure. Moved
	the unlink() up to ensure that the backing file is removed from
	UNIX systems as soon as possible.

2011-09-06 12:18  mavrik

	* Makefile.vs: Added the options.obj and version.obj targets.

2011-09-06 12:06  mavrik

	* Makefile.vs: Removed the cfgtest.obj target.

2011-09-05 02:37  mavrik

	* src/version.h: Bumped the build number (0x3090002e).

2011-09-05 02:28  mavrik

	* src/: ftimes.h, support.c: Removed SupportGetMyVersion() as it is
	no longer used/needed.

2011-09-05 02:27  mavrik

	* src/: ftimes.c, url.c: Modified the code to use
	VersionGetVersion() instead of SupportGetMyVersion().

2011-09-05 02:25  mavrik

	* src/ftimes.h: Dropped the VERSION define in ftimes.h. Going
	forward, it will be maintained in version.h.

2011-09-05 02:16  mavrik

	* src/: Makefile.in, app-includes.h, version.c, version.h: Added
	version.[ch] to the project. The purpose of this code is to keep
	track of the current version number and generate version strings.

2011-09-05 01:12  mavrik

	* src/: ssl.c, ssl.h: Synchronized ssl.c and ssl.h, revisions 1.21
	and 1.18 of the same in The WebJob Project.

2011-09-05 00:59  mavrik

	* src/message.c: Modified the code to catch the return value of
	several fwrite() calls to prevent a compiler warning. The specific
	warning was: "ignoring return value of 'fwrite', declared with
	attribute warn_unused_result".	This warning was generated by gcc
	4.5.3 running on a Linux Gentoo 2.0.3 system.

2011-09-04 01:48  mavrik

	* src/ftimes.h: Bumped the build number (0x3090002d).

2011-09-04 01:42  mavrik

	* src/cfgtest.c: This file has been moved to the attic since it is
	no longer needed.

2011-09-04 01:33  mavrik

	* src/: Makefile.in, app-includes.h, cfgtest.c, cmpmode.c,
	decoder.c, digmode.c, ftimes.c, ftimes.h, getmode.c, madmode.c,
	mapmode.c, support.c: Added initial support for an options handler.
	Going forward, this will make it easier to add new command line
	options and expose existing configuration controls.

2011-09-04 01:26  mavrik

	* lib/perl/Makefile.PL.in: Bumped up the version number.

2011-09-04 00:19  mavrik

	* src/: options.c, options.h: Changed the way arguments are
	processed. Previously, option processing would stop at the first
	argument that looked like an operand. Now, all arguments are
	identified by type and tagged, and several new routines have been
	added to assist with operand enumeration. This change makes it
	easier to handle the current ftimes command line syntax, which has
	intermingled options and operands.

2011-09-03 13:41  mavrik

	* src/cmpmode.c: Modified the code to accept 'Y' or 'y' as valid
	values for the FTIMES_MMAP_ENABLE environment variable.

2011-09-02 16:54  mavrik

	* src/: compare.c, compare.h: Changed the way collisions are
	handled in compare mode. Previously, collision detection for
	snapshots was not enabled by default, and collisions themselves
	were not considered fatal. Now, if a collision occurs while
	processing either the baseline or the snapshot, FTimes will abort.
	At this point, we'd rather force the user to deal with collisions
	rather than issue a warning, which may go unnoticed.

2011-09-02 12:38  mavrik

	* src/: decode.c, decode.h: Changed how case sensitivity is handled
	for names. Previously, names that did not have a leading '/' were
	assumed to represent Windows paths and handled in a
	case-insensitive manner. Now, only names that begin with a drive
	specification are treated this way. A variable to control this
	behavior has also been added, but it has not yet been exposed to
	the end user.

2011-09-02 10:16  jesterchef

	* lib/perl/lib/FTimes/Properties.pm: Added FTimes log message
	prefixes to the list of global key/value pairs.

2011-09-02 10:10  jesterchef

	* configure.in: Added initial configure/build support for ARM
	architectures.

2011-09-02 09:53  jesterchef

	* src/: fsinfo.c, fsinfo.h: Added support for Yet Another Flash
	Filing System (YAFFS) under Linux.  This requirement popped up
	while running FTimes on Android-based mobile devices.

2011-07-19 11:34  jesterchef

	* lib/perl/Makefile.PL.in: Bumped up the version number.

2011-07-19 11:31  jesterchef

	* lib/perl/: lib/FTimes/Properties.pm, MANIFEST, Makefile.PL.in,
	t/FTimes-Properties.t: Added Properties to the project.

2011-07-16 18:47  mavrik

	* src/ftimes.h: Added missing parentheses to ensure proper
	evaluation of constants defined in terms of an ORed expression.

2011-05-09 11:03  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Fixed an improper use of
	"it's".

2011-03-02 01:21  mavrik

	* Makefile.in, Makefile.vs, README.LICENSE, cgi/Makefile.in,
	cgi/nph-ftimes.cgi, etc/Makefile.in, lib/perl/Makefile.PL.in,
	lib/perl/config, lib/perl/lib/FTimes/EadRoutines.pm,
	lib/perl/t/FTimes-EadRoutines.t, src/all-includes.h, src/analyze.c,
	src/app-includes.h, src/cfgtest.c, src/cmpmode.c, src/compare.c,
	src/compare.h, src/decode.c, src/decode.h, src/decoder.c,
	src/develop.c, src/dig.c, src/dig.h, src/digmode.c, src/error.c,
	src/error.h, src/fsinfo.c, src/fsinfo.h, src/ftimes.c,
	src/ftimes.h, src/getmode.c, src/http.c, src/http.h, src/madmode.c,
	src/map.c, src/mapmode.c, src/mask.c, src/mask.h, src/md5.c,
	src/md5.h, src/message.c, src/message.h, src/options.c,
	src/options.h, src/properties.c, src/sha1.c, src/sha1.h,
	src/sha256.c, src/sha256.h, src/socket.c, src/socket.h,
	src/ssl-pool.h, src/ssl.c, src/ssl.h, src/support.c,
	src/sys-includes.h, src/time.c, src/url.c, src/xmagic.c,
	src/xmagic.h, tools/dig/Makefile.in, tools/dig/ftimes-crv2dbi.pl,
	tools/dig/ftimes-crv2raw.pl, tools/dig/ftimes-dig2ctx.pl,
	tools/dig/ftimes-dig2dbi.pl, tools/dig/hipdig.pl,
	tools/ftimes-cat/all-includes.h, tools/ftimes-cat/ftimes-cat.c,
	tools/ftimes-cat/ftimes-cat.h,
	tools/ftimes-cmp2diff/ftimes-cmp2diff,
	tools/ftimes-dbm-bash/ftimes-dbm-bash,
	tools/ftimes-dbm-dump/ftimes-dbm-dump,
	tools/ftimes-dbm-find/ftimes-dbm-find,
	tools/ftimes-dbm-make/ftimes-dbm-make,
	tools/ftimes-dbm-reap/ftimes-dbm-reap,
	tools/ftimes-dbm-weed/ftimes-dbm-weed,
	tools/ftimes-encoder/ftimes-encoder,
	tools/ftimes-grabber/ftimes-grabber,
	tools/ftimes-proximo/ftimes-proximo,
	tools/ftimes-sizimus/ftimes-sizimus,
	tools/ftimes-sortini/ftimes-sortini,
	tools/ftimes-xformer/ftimes-xformer, tools/hashcp/all-includes.h,
	tools/hashcp/hashcp.c, tools/hashcp/hashcp.h,
	tools/hashdig/Makefile.in, tools/hashdig/hashdig-bash.pl,
	tools/hashdig/hashdig-bind.pl, tools/hashdig/hashdig-dump.pl,
	tools/hashdig/hashdig-filter.pl, tools/hashdig/hashdig-find.pl,
	tools/hashdig/hashdig-harvest-sunsolve.pl,
	tools/hashdig/hashdig-harvest.pl, tools/hashdig/hashdig-make.pl,
	tools/hashdig/hashdig-resolve-sunsolve.pl,
	tools/hashdig/hashdig-stat.pl, tools/hashdig/hashdig-weed.pl,
	tools/lrs/pool2string.c, tools/lrs/string2pool.c,
	tools/map/Makefile.in, tools/map/ftimes-cmp2dbi.pl,
	tools/map/ftimes-map2dbi.pl, tools/map/ftimes-map2mac.pl,
	tools/rtimes/all-includes.h, tools/rtimes/rtimes.c,
	tools/rtimes/rtimes.h, tools/tarmap/all-includes.h,
	tools/tarmap/tarmap.c, tools/tarmap/tarmap.h, tools/zipmap/zipmap,
	utils/test_harness, utils/tree_builder, utils/version2string,
	utils/version_helper: Updated copyright information.

2011-03-02 01:11  mavrik

	* Makefile.in, configure.in, doc/ftimes-xpa/Makefile.in,
	doc/ftimes-xpa/sections/AUTHOR.pod,
	doc/ftimes-xpa/sections/DESCRIPTION.pod,
	doc/ftimes-xpa/sections/EXAMPLES.pod,
	doc/ftimes-xpa/sections/HISTORY.pod,
	doc/ftimes-xpa/sections/MODES-OF-OPERATION.pod,
	doc/ftimes-xpa/sections/NAME.pod,
	doc/ftimes-xpa/sections/RETURN-VALUES.pod,
	doc/ftimes-xpa/sections/SEE-ALSO.pod,
	doc/ftimes-xpa/sections/SYNOPSIS.pod, tools/ftimes-xpa/Makefile.in,
	tools/ftimes-xpa/Makefile.vs, tools/ftimes-xpa/all-includes.h,
	tools/ftimes-xpa/ftimes-xpa.c, tools/ftimes-xpa/ftimes-xpa.h: Added
	ftimes-xpa to the project. The purpose of this utility is to create
	cross-platform archives.

2011-03-02 01:08  mavrik

	* src/options.c, src/options.h, tools/rtimes/options.c,
	tools/rtimes/options.h: Moved options.[ch] to the src directory.

2010-12-31 01:30  mavrik

	* tools/: dig/ftimes-crv2dbi.pl, dig/ftimes-dig2dbi.pl,
	map/ftimes-cmp2dbi.pl, map/ftimes-map2dbi.pl: Modified the code to
	escape table names using backticks since some names may contain
	characters such as hyphens or spaces. Thanks to Hank Leininger for
	writing the initial patch.

2010-12-30 17:34  mavrik

	* tools/: dig/ftimes-crv2dbi.pl, dig/ftimes-dig2dbi.pl,
	map/ftimes-cmp2dbi.pl, map/ftimes-map2dbi.pl: Updated the logic for
	processing the '-h' option.

2010-12-30 17:21  mavrik

	* tools/: dig/ftimes-crv2dbi.pl, dig/ftimes-dig2dbi.pl,
	map/ftimes-cmp2dbi.pl, map/ftimes-map2dbi.pl: Added parentheses to
	all exists() calls. Added a missing comment block.

2010-11-12 12:15  mavrik

	* doc/ftimes-cmp2diff/Makefile.in: Fixed an incorrect path.

2010-09-17 13:44  mavrik

	* configure.in, doc/ftimes-cmp2diff/Makefile.in,
	tools/ftimes-cmp2diff/Makefile.in,
	tools/ftimes-cmp2diff/ftimes-cmp2diff: Added ftimes-cmp2diff to the
	project. The purpose of this utility is to generate and display
	diff-like results of an FTimes comparison.

2010-08-28 12:51  mavrik

	* src/ftimes.h: Bumped the build number (0x3090002c).

2010-08-28 12:38  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for Universal Disk Format
	file systems (UDF) under Linux. This requirement popped up on an
	case where we needed to compare the files on a copied CD to those
	stored on the original CD.

2010-07-29 13:50  mavrik

	* src/ftimes.h: Bumped the build number (0x3090002b).

2010-07-29 13:46  mavrik

	* configure.in: Added '-ldl' to LIBS for Solaris. This change was
	required to eliminate "undefined reference" errors for dlsym,
	dlopen, dlclose, and dlerror. These errors were tied to dso_dlfcn.c
	from libcrypto.a.

2010-07-29 13:45  mavrik

	* src/ftimes.c: Added a cast to prevent a compiler warning. The
	specific warning was: "int format, uid_t arg (arg 4)". This warning
	was generated by gcc 3.4.6 running on a Solaris 7 system.

2010-07-29 13:25  mavrik

	* configure.in: Removed the AC_DEFINE macro that sets
	USE_AP_SNPRINTF as well as the ap_srcs and ap_incs variables for
	Solaris builds. This was done because Solaris 7 is now the minimum
	supported Solaris version, and it has native support for snprintf()
	in libc. From what I can tell by searching the Net, snprintf()
	support was added in Solaris 2.6.

2010-07-29 13:19  mavrik

	* src/xmagic.c: Changed the way giSystemByteOrder is initialized in
	XMagicLoadMagic().  Now, giSystemByteOrder is initialized based on
	the value of pui32ByteOrderMagic, which is initialed using using an
	explicit cast.	This was done to eliminate the following warning:
	"dereferencing type-punned pointer will break strict-aliasing
	rules". The warning was generated by gcc 4.4.4 running on a Gentoo
	system.

2010-07-29 10:41  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for Minix file systems
	(MINIX) under Linux. Thanks to Jason Smith for writing and testing
	the initial patch.

2010-07-21 18:07  mavrik

	* src/ftimes.c: Synchronized SeedRandom() in ftimes.c with the
	corresponding routine in webjob.c (revision 1.137) from The WebJob
	Project. The relevant comment from WebJob's ChangeLog is dated
	2010-07-21 21:39, and it is included here as well:
	
	Added getpid() to the code in SeedRandom() to help prevent
	collisions on Windows platforms. Recently, we uncovered a situation
	where two jobs starting at or near the same time were attempting to
	create the same work directory. This situation could only happen if
	both processes were generating the same random numbers. Working
	backwards, this implies that ulTime1, ulTime2, and GetTickCount()
	were the same for both processes, which is plausible since the
	resolution of the system timer is "typically in the range of" 10-16
	milliseconds according to MSDN's documentation for GetTickCount().

2010-06-18 21:34  mavrik

	* src/ftimes.h: Bumped the build number (0x3090002a).

2010-06-18 21:26  mavrik

	* src/fsinfo.c: Aligned the entries in the gaacFSType array with
	those in the eFSTypes enumeration.

2010-06-18 14:18  mavrik

	* src/ftimes.h: Bumped the build number (0x30900029).

2010-06-18 14:12  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for GetData's Mount Image
	Pro file system (GETDATAFS) under Windows. This requirement popped
	up on a forensic gig where we needed to examine EnCase image files.

2010-06-18 14:00  mavrik

	* tools/tarmap/Makefile.vs: Added '/D _CRT_SECURE_NO_DEPRECATE' to
	COMPILER_FLAGS.

2010-06-18 13:58  mavrik

	* tools/tarmap/Makefile.vs: Made various adjustments to
	LINKER_FLAGS.

2010-06-18 13:53  mavrik

	* tools/: rtimes/Makefile.vs, tarmap/Makefile.vs: Changed the
	default build directory.

2010-06-18 13:53  mavrik

	* tools/rtimes/Makefile.vs: Made various adjustments to
	LINKER_FLAGS.

2010-06-18 13:50  mavrik

	* Makefile.vs: Made various adjustments to LINKER_FLAGS.

2010-06-18 13:39  mavrik

	* Makefile.vs: Changed the default build directory.

2010-05-15 00:26  mavrik

	* src/ftimes.h: Bumped the build number (0x30900028).

2010-03-24 12:07  mavrik

	* tools/ftimes-proximo/ftimes-proximo: Added a check to ensure that
	a given group is not defined more than once.

2010-02-13 17:34  mavrik

	* tools/rtimes/rtimes.h: Bumped the update version number.

2010-02-13 17:32  mavrik

	* tools/rtimes/rtimes.c: Updated code to work with the recent
	changes to options.[ch].

2010-02-13 17:14  mavrik

	* tools/rtimes/options.c: Modified the code so that iArgumentIndex
	can't be incremented beyond iArgumentCount. Previously,
	OptionsGetNextArgument() would increment this variable every time
	it was called.

2010-02-13 16:04  mavrik

	* tools/rtimes/: options.c, options.h: Synchronized options.c and
	options.h, revisions 1.2 and 1.2 of the same in The WebJob Project.

2010-01-22 11:09  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added support for the
	'basename' field under the 'ParseName' option.	The 'filename'
	field is now a concatenation of 'basename' and 'extension'.

2010-01-21 23:14  mavrik

	* Makefile.in, Makefile.vs, README.LICENSE, cgi/Makefile.in,
	cgi/nph-ftimes.cgi, etc/Makefile.in, src/all-includes.h,
	src/analyze.c, src/app-includes.h, src/cfgtest.c, src/cmpmode.c,
	src/compare.c, src/compare.h, src/decode.c, src/decode.h,
	src/decoder.c, src/develop.c, src/dig.c, src/dig.h, src/digmode.c,
	src/error.c, src/error.h, src/fsinfo.c, src/fsinfo.h, src/ftimes.c,
	src/ftimes.h, src/getmode.c, src/http.c, src/http.h, src/madmode.c,
	src/map.c, src/mapmode.c, src/mask.c, src/mask.h, src/md5.c,
	src/md5.h, src/message.c, src/message.h, src/properties.c,
	src/sha1.c, src/sha1.h, src/sha256.c, src/sha256.h, src/socket.c,
	src/socket.h, src/ssl-pool.h, src/ssl.c, src/ssl.h, src/support.c,
	src/sys-includes.h, src/time.c, src/url.c, src/xmagic.c,
	src/xmagic.h, tools/lrs/pool2string.c, tools/lrs/string2pool.c:
	Changed the copyright holder so that it's clear which files belong
	to The FTimes Project.

2010-01-21 22:24  mavrik

	* Makefile.in, Makefile.vs, README.LICENSE, cgi/Makefile.in,
	cgi/nph-ftimes.cgi, etc/Makefile.in, lib/perl/Makefile.PL.in,
	lib/perl/config, lib/perl/lib/FTimes/EadRoutines.pm,
	lib/perl/t/FTimes-EadRoutines.t, src/all-includes.h, src/analyze.c,
	src/app-includes.h, src/cfgtest.c, src/cmpmode.c, src/compare.c,
	src/compare.h, src/decode.c, src/decode.h, src/decoder.c,
	src/develop.c, src/dig.c, src/dig.h, src/digmode.c, src/error.c,
	src/error.h, src/fsinfo.c, src/fsinfo.h, src/ftimes.c,
	src/ftimes.h, src/getmode.c, src/http.c, src/http.h, src/madmode.c,
	src/map.c, src/mapmode.c, src/mask.c, src/mask.h, src/md5.c,
	src/md5.h, src/message.c, src/message.h, src/properties.c,
	src/sha1.c, src/sha1.h, src/sha256.c, src/sha256.h, src/socket.c,
	src/socket.h, src/ssl-pool.h, src/ssl.c, src/ssl.h, src/support.c,
	src/sys-includes.h, src/time.c, src/url.c, src/xmagic.c,
	src/xmagic.h, tools/dig/Makefile.in, tools/dig/ftimes-crv2dbi.pl,
	tools/dig/ftimes-crv2raw.pl, tools/dig/ftimes-dig2ctx.pl,
	tools/dig/ftimes-dig2dbi.pl, tools/dig/hipdig.pl,
	tools/ftimes-cat/all-includes.h, tools/ftimes-cat/ftimes-cat.c,
	tools/ftimes-cat/ftimes-cat.h,
	tools/ftimes-dbm-bash/ftimes-dbm-bash,
	tools/ftimes-dbm-dump/ftimes-dbm-dump,
	tools/ftimes-dbm-find/ftimes-dbm-find,
	tools/ftimes-dbm-make/ftimes-dbm-make,
	tools/ftimes-dbm-reap/ftimes-dbm-reap,
	tools/ftimes-dbm-weed/ftimes-dbm-weed,
	tools/ftimes-encoder/ftimes-encoder,
	tools/ftimes-grabber/ftimes-grabber,
	tools/ftimes-proximo/ftimes-proximo,
	tools/ftimes-sizimus/ftimes-sizimus,
	tools/ftimes-sortini/ftimes-sortini,
	tools/ftimes-xformer/ftimes-xformer, tools/hashcp/all-includes.h,
	tools/hashcp/hashcp.c, tools/hashcp/hashcp.h,
	tools/hashdig/Makefile.in, tools/hashdig/hashdig-bash.pl,
	tools/hashdig/hashdig-bind.pl, tools/hashdig/hashdig-dump.pl,
	tools/hashdig/hashdig-filter.pl, tools/hashdig/hashdig-find.pl,
	tools/hashdig/hashdig-harvest-sunsolve.pl,
	tools/hashdig/hashdig-harvest.pl, tools/hashdig/hashdig-make.pl,
	tools/hashdig/hashdig-resolve-sunsolve.pl,
	tools/hashdig/hashdig-stat.pl, tools/hashdig/hashdig-weed.pl,
	tools/lrs/pool2string.c, tools/lrs/string2pool.c,
	tools/map/Makefile.in, tools/map/ftimes-cmp2dbi.pl,
	tools/map/ftimes-map2dbi.pl, tools/map/ftimes-map2mac.pl,
	tools/rtimes/all-includes.h, tools/rtimes/options.c,
	tools/rtimes/options.h, tools/rtimes/rtimes.c,
	tools/rtimes/rtimes.h, tools/tarmap/all-includes.h,
	tools/tarmap/tarmap.c, tools/tarmap/tarmap.h, tools/zipmap/zipmap,
	utils/test_harness, utils/tree_builder, utils/version2string,
	utils/version_helper: Updated copyright information.

2010-01-21 21:56  mavrik

	* README.INSTALL, doc/baselining/baselining.tex,
	doc/ftimes/controls/FieldMask.pod, doc/ftimes/controls/NewLine.pod,
	doc/ftimes-cat/sections/DESCRIPTION.pod,
	doc/ftimes-cat/sections/EXAMPLES.pod, src/compare.c, src/decode.c,
	src/http.c, src/map.c,
	tests/ftimes/common/compare/test_1/test_harness.local,
	tests/ftimes/common/compare/test_2/test_harness.local,
	tests/ftimes/common/compare/test_3/test_harness.local,
	tests/ftimes/common/decoder/test_1/test_harness.local,
	tests/ftimes/common/dig/test_4/test_harness.local,
	tests/ftimes/common/map/test_7/test_harness.local,
	tests/ftimes/common_windows_ads/map/test_1/test_harness.local,
	tests/ftimes-xformer/common/xform/test_1/test_harness.local,
	tests/tarmap/common/map/test_1/test_harness.local,
	tests/tarmap/common/map/test_2/test_harness.local,
	tools/ftimes-sizimus/ftimes-sizimus,
	tools/ftimes-xformer/ftimes-xformer, tools/map/ftimes-map2dbi.pl,
	tools/map/ftimes-map2mac.pl, tools/rtimes/rtimes.c,
	tools/tarmap/tarmap.c, tools/zipmap/zipmap, utils/tree_builder:
	Replaced instances of Windows with WINX as a matter of preference
	and consistency.

2010-01-21 20:00  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added the 'ParseName' option
	to split the 'name' field into its components and place the results
	into the 'directory', 'filename', and 'extension' fields.

2009-11-13 01:32  mavrik

	* tools/zipmap/zipmap: Added the EXAMPLES section, and updated the
	SEE ALSO section.

2009-11-13 00:24  mavrik

	* doc/ftimes-cat/sections/DESCRIPTION.pod,
	doc/ftimes-cat/sections/EXAMPLES.pod,
	doc/ftimes-cat/sections/MODES-OF-OPERATION.pod,
	doc/ftimes-cat/sections/SYNOPSIS.pod,
	tools/ftimes-cat/ftimes-cat.c, tools/ftimes-cat/ftimes-cat.h: Added
	--version support, and set the initial value to 1.0.0. Renamed
	several routines. Worked on error messages and documentation.

2009-11-12 22:14  mavrik

	* tools/ftimes-cat/: ftimes-cat.c, ftimes-cat.h: Changed the
	support for files with Unicode characters in their name. 
	Previously, these filenames had to be specified on the command line
	using 2-byte URL-encoded character sequences (e.g., 'A' would be
	'%00A'). Now, the filenames must be specified using UTF-8. This
	patch adds some new code, but more importantly, it removes most of
	the code that was added in revisions 1.6 and 1.4 of ftimes-cat.c
	and ftimes-cat.h, respectively.

2009-11-07 22:43  mavrik

	* src/: xmagic.c, xmagic.h: Added initial support for the
	percent_combo_cspdae type. CSPDAE is short for control, space,
	punctuation, digit, alpha, and extended.

2009-11-07 17:25  mavrik

	* src/xmagic.c: Fixed a pair of reversed statements.

2009-11-07 15:52  mavrik

	* src/: xmagic.c, xmagic.h: Added initial support for the
	percent_ctype_80_ff type.

2009-11-07 15:37  mavrik

	* src/: xmagic.c, xmagic.h: Added initial support for the nleft
	type.

2009-11-07 12:18  mavrik

	* configure.in, doc/ftimes-dbm-bash/Makefile.in,
	doc/ftimes-dbm-dump/Makefile.in, doc/ftimes-dbm-find/Makefile.in,
	doc/ftimes-dbm-make/Makefile.in, doc/ftimes-dbm-reap/Makefile.in,
	doc/ftimes-dbm-weed/Makefile.in, tools/ftimes-dbm-bash/Makefile.in,
	tools/ftimes-dbm-bash/ftimes-dbm-bash,
	tools/ftimes-dbm-dump/Makefile.in,
	tools/ftimes-dbm-dump/ftimes-dbm-dump,
	tools/ftimes-dbm-find/Makefile.in,
	tools/ftimes-dbm-find/ftimes-dbm-find,
	tools/ftimes-dbm-make/Makefile.in,
	tools/ftimes-dbm-make/ftimes-dbm-make,
	tools/ftimes-dbm-reap/Makefile.in,
	tools/ftimes-dbm-reap/ftimes-dbm-reap,
	tools/ftimes-dbm-weed/Makefile.in,
	tools/ftimes-dbm-weed/ftimes-dbm-weed: Added
	ftimes-dbm-{bash,dump,find,make,reap,weed} to the project. The
	purpose of these scripts is to help manage Berkeley databases.

2009-10-22 15:50  mavrik

	* src/ftimes.h: Bumped the build number (0x30900027).

2009-10-22 15:28  mavrik

	* src/map.c: Added code to initialize the wide character version of
	the path for alternate data streams. This change should have been
	included in the patch that produced revision 1.88. Consequently,
	binaries generated using code committed between V3_9_0_DS36 and
	V3_9_0_DS39 are not suitable for production work on Windows
	platforms involving alternate data streams.

2009-10-22 14:34  mavrik

	* src/xmagic.c: Added a check to make sure that the XMagic
	structure is not empty.

2009-10-09 18:12  mavrik

	* src/ftimes.h: Bumped the build number (0x30900026).

2009-10-09 18:10  mavrik

	* src/: ftimes.h, map.c, support.c: Added initial support for paths
	that exceed MAX_PATH on Windows platforms, which is 260 characters.
	Increased FTIMES_MAX_PATH to 4096.  According to MSDN, the upper
	limit for paths using the extended prefix notation (i.e., \\?\) is
	32767 characters. Unfortunately, extended prefixes were not
	compatible with the existing '.' and '..' checks or the way root
	paths were being handled. According to the 'File Names, Paths, and
	Namespaces' documentation, '\\?\c:' is considered a relative path.
	The documentation also implies that using the extended prefix
	notation disables automatic expansion of '.' and '..' in paths, so
	paths like '\\?\c:\temp\.' were failing -- either because of the
	automatic expansion issue or because they were being treated as
	relative paths. Consequently, all the original code has been
	commented out rather than removed. This was done to serve as a
	reminder of the way things used to be and to make it easier to
	revive that code at some point in the future. For example, we may
	find it desirable or necessary to restore the original
	functionality or make it a compile-time option.

2009-10-08 01:07  mavrik

	* src/: ftimes.h, map.c: Added checks to detect and skip files that
	don't exist. This was done to compensate for the patch that
	produced revision 1.40 of fsinfo.c.

2009-10-07 01:17  mavrik

	* src/ftimes.h: Bumped the build number (0x30900025).

2009-10-07 01:16  mavrik

	* src/: ftimes.h, support.c: Removed SupportNeuterStringW() as it
	is no longer used/needed.

2009-10-07 01:12  mavrik

	* src/: analyze.c, ftimes.h, map.c: Added initial support for
	handling paths that contain wide characters on Windows platforms.
	While a lot of changes took place under the hood, the external
	interface remains largely unchanged. However, one change is worth
	noting: the use of UTF-8 strings has been integrated into I/O
	operations. In particular, this affects the Include/Exclude
	controls as well as the 'name' field.

2009-10-04 18:24  mavrik

	* src/map.c: Modified the code to eliminate as many raw paths in
	the log output as possible. This will make the job of extracting
	filenames from the log file easier. In the few cases where the
	neutered path is not available and can't be generated on the fly,
	the real path is used with a special designator (FallbackPath),
	which signifies that there was no other choice but to use the raw
	path.

2009-10-04 15:16  mavrik

	* src/: cfgtest.c, getmode.c, map.c, support.c: Modified error
	messages related to path length to make them more consistent.

2009-10-04 14:37  mavrik

	* src/support.c: Added support for URL-encoded paths on the command
	line.

2009-10-04 13:42  mavrik

	* doc/ftimes/sections/EXAMPLES.pod,
	doc/ftimes/sections/MODES-OF-OPERATION.pod,
	doc/ftimes/sections/SYNOPSIS.pod, src/ftimes.c: Added '-v' as an
	alias for '--version'. Updated documentation and usage to reflect
	this change.

2009-10-04 01:25  mavrik

	* src/ftimes.h: Bumped the build number (0x30900024).

2009-10-04 01:22  mavrik

	* src/: ftimes.h, map.c: Added MapNewFTFileData() and
	MapFreeFTFileData() to make the code easier to maintain and more
	extensible. The performance impact of these changes (+/-) is not
	yet known.

2009-10-03 18:21  mavrik

	* src/: analyze.c, develop.c, ftimes.h, map.c: Replaced all
	instances of psFTData with psFTFileData as a matter of preference
	and consistency.

2009-10-01 02:26  mavrik

	* src/map.c: Reverted to revision 1.81 due to an accidental commit.

2009-10-01 02:20  mavrik

	* src/: ftimes.h, map.c: Bumped the build number (0x30900023).

2009-10-01 02:02  mavrik

	* src/: ftimes.h, map.c: Added MapDirname() as a cross-platform
	equivalent for dirname() and to make MapTree() easier to maintain.

2009-10-01 01:09  mavrik

	* src/: error.h, map.c: Removed the following error codes because
	internal error codes are being phased out: ER_CreateFile,
	ER_GetFileAttrs, ER_GetFileAttrsEx, ER_GetFileInfo,
	ER_MapCountNamedStreams, and ER_NQIF.

2009-10-01 00:25  mavrik

	* src/: analyze.c, develop.c, ftimes.h, map.c, mask.h: Replaced
	iFileFlags with ulAttributeMask in the FTIMES_FILE_DATA structure.
	This will make it possible for other routines to determine which
	attributes are available. Removed the file handle precondition for
	calling AnalyzeFile() -- there's a chance that this routine will
	succeed where MapGetAttributes() could not.

2009-09-27 18:24  mavrik

	* Makefile.vs, tools/tarmap/Makefile.vs: Updated compiler flags to
	suppress warnings being generated by Visual Studio 2005. More
	specifically, /GX has been replaced with /EHsc, and /YX has been
	removed.

2009-09-27 15:55  mavrik

	* src/ftimes.h: Bumped the build number (0x30900022).

2009-09-27 15:54  mavrik

	* src/: analyze.c, map.c: Changed the flags passed to CreateFile()
	-- the old value was causing the function to fail on files that
	were OK prior to the osid/gsid/dacl support. Added more comments to
	explain why the code is the way it is.

2009-09-26 22:42  mavrik

	* src/map.c: Removed the path length check at the top of MapTree()
	-- it's essentially redundant.

2009-09-26 22:26  mavrik

	* src/map.c: Changed the while-loop in MapTree() to a for-loop that
	sets errno.  This eliminates the need to set errno at various
	locations inside the loop.

2009-09-26 12:11  mavrik

	* src/map.c: Removed some code that was missed in the previous
	commit.

2009-09-26 12:03  mavrik

	* src/: ftimes.h, map.c: Refactored directory hashing code.

2009-09-26 10:39  mavrik

	* src/map.c: Collapsed related if-blocks. Optimized the test order
	for deciding when to analyze remote files.

2009-09-25 20:51  mavrik

	* src/fsinfo.c: Removed the call to GetFileAttributes(), which was
	originally added in revision 1.2. The purpose of
	GetFileSystemType() for Windows platforms is to determine the file
	system type based on the drive letter in the specified path -- not
	whether that path actually exists or not.

2009-09-20 17:09  mavrik

	* tools/rtimes/rtimes.h: Bumped the update version number.

2009-09-20 17:09  mavrik

	* tools/rtimes/: rtimes.c, rtimes.h: Replaced FormatWin32Error()
	with FormatWinxError().

2009-09-20 16:48  mavrik

	* tools/ftimes-cat/: all-includes.h, ftimes-cat.c, ftimes-cat.h:
	Added support for formatting WINX error messages.

2009-09-20 12:10  mavrik

	* tools/ftimes-cat/: ftimes-cat.c, ftimes-cat.h: Added initial
	support for files with Unicode characters in their name.

2009-09-13 12:04  mavrik

	* tools/ftimes-cat/ftimes-cat.c: The previous patch broke the
	handling of filenames containing certain extended ASCII characters
	in the upper range (e.g., 0x99). The simple approach of casting
	each char to a wchar_t was not producing the correct translation in
	many cases. Now, the translation is being done with
	MultiByteToWideChar().

2009-09-10 21:15  mavrik

	* src/ftimes.h: Bumped the build number (0x30900021).

2009-09-10 16:12  mavrik

	* Makefile.vs, src/develop.c, src/map.c: Dropped support for
	Windows 98/ME. This change eliminates the need to maintain code
	that has not been used in years.

2009-09-10 01:55  mavrik

	* tools/ftimes-cat/: ftimes-cat.c, ftimes-cat.h: Added support for
	filenames that exceed MAX_PATH on Windows platforms.

2009-09-09 18:45  mavrik

	* src/ftimes.h: Bumped the build number (0x30900020).

2009-09-09 18:43  mavrik

	* src/map.c: Expanded the range of allowed characters for ADS from
	[0x0020-0x007e] to [0x0001-0x00ff]. This change should ensure that
	streams with names like '%05SummaryInformation' will no longer be
	skipped.

2009-09-09 01:11  mavrik

	* tools/ftimes-cat/: all-includes.h, ftimes-cat.c: Added code to
	put stdout in binary mode on Windows platforms.

2009-09-07 14:15  mavrik

	* tools/ftimes-cat/: ftimes-cat.c, ftimes-cat.h: Added support for
	reading multiple files.

2009-09-05 13:52  mavrik

	* doc/ftimes/controls/FieldMask.pod: Removed the 'http://' prefix
	because the link was not being converted properly by pod2html.

2009-09-05 13:49  mavrik

	* doc/ftimes/controls/Priority.pod: Added a note about when this
	control was added.

2009-09-05 12:57  mavrik

	* doc/ftimes/controls/FieldMask.pod: Expanded the breakdown of the
	flags in the 'attributes' field. Added an MSDN reference.

2009-08-31 21:08  mavrik

	* configure.in, doc/zipmap/Makefile.in, tools/zipmap/Makefile.in,
	tools/zipmap/zipmap: Added zipmap to the project. The purpose of
	this utility is to map the files in a ZIP archive without having to
	unpack and write them to disk first. This utility is currently in a
	developmental state.

2009-08-22 17:10  mavrik

	* tools/ftimes-grabber/ftimes-grabber: This utility may read FTimes
	data containing special files such as directories and symbolic
	links, but it will only archive regular files. Therefore, it should
	silently ignore any special files it encounters. However, a warning
	should be given in the case where a file's existence can't be
	confirmed. Doing so allows the user to detect that condition.

2009-08-22 16:24  mavrik

	* tools/ftimes-grabber/ftimes-grabber: Redesigned the code that
	writes out the ZIP archive. Added a check to ensure that each file
	can actually be opened for read access. Added logic that attempts
	to salvage the archive if there's an input/output error while it is
	being written out. Added ErrorHandler() to suppress error messages
	being generated and written to STDERR by Archive::Zip.	Added the
	'EnableZipErrorHandler' option, which allows the user to turn that
	functionality back on.

2009-08-21 16:53  mavrik

	* tools/ftimes-grabber/ftimes-grabber: Added warning/debug messages
	for when a particular file does not exist.

2009-07-31 00:09  mavrik

	* src/ftimes.h: Bumped the build number (0x3090001f).

2009-07-31 00:08  mavrik

	* doc/ftimes/controls/Priority.pod,
	doc/ftimes/sections/DESCRIPTION.pod, etc/dig.cfg.sample,
	etc/map.cfg.sample, src/cmpmode.c, src/digmode.c, src/ftimes.h,
	src/madmode.c, src/mapmode.c, src/properties.c, src/support.c,
	src/sys-includes.h: Added initial support for having the program
	set its own priority.  This was done to provide a runtime option in
	production environments that are sensitive to the load imposed by
	mapping and/or digging.

2009-07-29 21:05  mavrik

	* src/properties.c: Put controls in alphabetical order.

2009-07-02 16:50  mavrik

	* src/: xmagic.c, xmagic.h: Made minor code refinements.

2009-06-28 15:12  mavrik

	* src/xmagic.c: Worked on variable initialization.

2009-06-28 14:56  mavrik

	* src/xmagic.c: Replaced all remaining internal error codes with
	ER.

2009-06-28 00:53  mavrik

	* src/ftimes.h: Bumped the build number (0x3090001e).

2009-06-28 00:51  mavrik

	* src/: xmagic.c, xmagic.h: Added initial support for the pstring
	type.

2009-06-27 22:51  mavrik

	* src/: error.h, xmagic.c: Removed the following error codes
	because internal error codes are being phased out:
	ER_BadMagicOperator and ER_BadMagicType.

2009-06-13 15:49  mavrik

	* doc/: ftimes-cat/sections/HISTORY.pod,
	hashcp/sections/HISTORY.pod, tarmap/sections/HISTORY.pod: Updated
	HISTORY section.

2009-06-13 15:34  mavrik

	* tools/ftimes-proximo/ftimes-proximo: Made minor wording changes.

2009-06-13 15:25  mavrik

	* tools/ftimes-proximo/ftimes-proximo: Added a HISTORY section.
	Made other refinements and clarifications.

2009-06-13 15:24  mavrik

	* tools/: ftimes-sizimus/ftimes-sizimus,
	ftimes-sortini/ftimes-sortini: Added a HISTORY section.

2009-06-07 00:14  mavrik

	* configure.in, doc/ftimes-sizimus/Makefile.in,
	tools/ftimes-sizimus/Makefile.in,
	tools/ftimes-sizimus/ftimes-sizimus: Added ftimes-sizimus to the
	project. The purpose of this utility is to tally bytes based on the
	size attribute.

2009-06-07 00:11  mavrik

	* incubator/ftimes-map-tally-bytes: This script has been superseded
	by ftimes-sizimus, so it is being moved to the attic.

2009-06-05 00:52  mavrik

	* src/ftimes.h: Bumped the build number (0x3090001d).

2009-06-05 00:50  mavrik

	* configure.in, doc/ftimes-sortini/Makefile.in,
	tools/ftimes-sortini/Makefile.in,
	tools/ftimes-sortini/ftimes-sortini: Added ftimes-sortini to the
	project. The purpose of this utility is to sort dig output by
	hostname (when present), name, and offset.

2009-06-05 00:08  mavrik

	* configure.in, doc/ftimes-proximo/Makefile.in,
	tools/ftimes-proximo/Makefile.in,
	tools/ftimes-proximo/ftimes-proximo: Added ftimes-proximo to the
	project. The purpose of this utility is to locate a group of dig
	hits within a specified byte range.

2009-06-04 23:24  mavrik

	* configure.in, doc/ftimes-cat/Makefile.in,
	doc/ftimes-cat/sections/AUTHOR.pod,
	doc/ftimes-cat/sections/DESCRIPTION.pod,
	doc/ftimes-cat/sections/EXAMPLES.pod,
	doc/ftimes-cat/sections/HISTORY.pod,
	doc/ftimes-cat/sections/MODES-OF-OPERATION.pod,
	doc/ftimes-cat/sections/NAME.pod,
	doc/ftimes-cat/sections/RETURN-VALUES.pod,
	doc/ftimes-cat/sections/SEE-ALSO.pod,
	doc/ftimes-cat/sections/SYNOPSIS.pod, tools/ftimes-cat/Makefile.in,
	tools/ftimes-cat/all-includes.h, tools/ftimes-cat/ftimes-cat.c,
	tools/ftimes-cat/ftimes-cat.h: Added ftimes-cat to the project. The
	purpose of this utility is to read the contents of a file or stdin
	and write them to stdout.

2009-06-02 13:02  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Fixed incorrect comments.

2009-05-14 03:11  mavrik

	* src/ftimes.h: Bumped the build number (0x3090001c).

2009-05-13 23:11  mavrik

	* src/xmagic.c: Fixed several more incorrect test operators.

2009-05-13 22:49  mavrik

	* src/xmagic.c: Fixed an incorrect test operator.

2009-04-29 17:52  mavrik

	* tools/ftimes-encoder/ftimes-encoder: Added support for URL
	encoding and hex:url/url:hex conversions.

2009-04-29 17:45  mavrik

	* lib/perl/Makefile.PL.in: Bumped up the version number.

2009-04-29 17:45  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Added two new routines:
	EadUrlDecode() and EadUrlEncode().

2009-04-29 17:34  mavrik

	* tools/ftimes-encoder/ftimes-encoder: Added initial support for
	convert mode, which internally converts one supported encoding to
	another. At this point, the only supported conversions are
	ftimes-url:hex and hex:ftimes-url.

2009-04-29 00:37  mavrik

	* tools/ftimes-encoder/ftimes-encoder: Added support for hex
	encoding.

2009-04-29 00:36  mavrik

	* lib/perl/Makefile.PL.in: Bumped up the version number.

2009-04-29 00:34  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Added two new routines:
	EadHexDecode() and EadHexEncode().

2009-04-28 12:56  mavrik

	* lib/perl/Makefile.PL.in: Bumped up the version number.

2009-04-28 12:55  mavrik

	* lib/perl/: Makefile.PL.in, README: Removed the dependency on
	MIME::Base64.

2009-04-28 12:50  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Replaced the guts of
	EadBase64Decode() and EadBase64Encode() to remove the dependency on
	MIME::Base64.

2009-04-07 20:20  mavrik

	* doc/ftimes/controls/: AnalyzeBlockSize.pod, AnalyzeStepSize.pod:
	Updated documentation to reflect the current default block size,
	which is 32 KB.

2009-04-07 20:03  mavrik

	* src/ftimes.h: Bumped the build number (0x3090001b).

2009-04-07 19:59  mavrik

	* tests/ftimes/common/map/: test_2/test_harness.local,
	test_4/test_harness.local, test_6/test_harness.local: Removed the
	32 KB block size since it's already covered in the default test
	cases.

2009-04-07 19:55  mavrik

	* src/analyze.c: Removed ANALYZE_READ_BUFSIZE since it is not being
	used, and increased ANALYZE_BLOCK_SIZE to 32 KB.

2009-04-05 17:31  mavrik

	* src/: ftimes.c, ftimes.h, support.c: Added code to print out the
	job PID, job UID, and log level. Renamed RunEpoch to JobEpoch,
	changed its date format, and moved it up to FTimesStagesLoop() so
	that it's available in the error stream of long-running jobs.

2009-04-02 16:08  mavrik

	* src/ftimes.h: Bumped the build number (0x3090001a).

2009-04-02 16:07  mavrik

	* src/dig.c: Made an adjustment to the logic that parses dig
	strings. There was a problem where a 1-character dig string paired
	with a dig tag was not being parsed properly. Thanks to Andy Bair
	for discovering and reporting this problem and for helping me test
	the patch.

2009-03-22 01:45  mavrik

	* src/ftimes.h: Bumped the build number (0x30900019).

2009-03-22 01:45  mavrik

	* README.INSTALL, doc/ftimes/controls/BaseName.pod,
	doc/ftimes/controls/GetAndExec.pod,
	doc/ftimes/controls/GetFileName.pod,
	doc/ftimes/controls/Import.pod,
	doc/ftimes/controls/SSLBundledCAsFile.pod,
	doc/ftimes/controls/SSLExpectedPeerCN.pod,
	doc/ftimes/controls/SSLMaxChainLength.pod,
	doc/ftimes/controls/SSLPassPhrase.pod,
	doc/ftimes/controls/SSLPrivateKeyFile.pod,
	doc/ftimes/controls/SSLPublicCertFile.pod,
	doc/ftimes/controls/SSLUseCertificate.pod,
	doc/ftimes/controls/SSLVerifyPeerCert.pod,
	doc/ftimes/controls/StrictControls.pod,
	doc/ftimes/controls/URLAuthType.pod,
	doc/ftimes/controls/URLGetRequest.pod,
	doc/ftimes/controls/URLGetURL.pod,
	doc/ftimes/controls/URLPassword.pod,
	doc/ftimes/controls/URLUsername.pod,
	doc/ftimes/sections/DESCRIPTION.pod,
	doc/ftimes/sections/EXAMPLES.pod, doc/ftimes/sections/FILES.pod,
	doc/ftimes/sections/MODES-OF-OPERATION.pod,
	doc/ftimes/sections/NOTES.pod, doc/ftimes/sections/OPTIONS.pod,
	doc/ftimes/sections/SYNOPSIS.pod, etc/get.cfg.sample,
	src/cfgtest.c, src/ftimes.c,
	tests/ftimes/common/compare/test_3/test_harness.local,
	tests/ftimes/common/decoder/test_harness.local,
	tests/ftimes/common/decoder/test_1/test_harness.local: Updated the
	usage. Going forward, the --decoder and --getmode modes will be
	referred to as --decode and --get, respectively. The old modes will
	be supported for backwards compatibility, but they will be dropped
	at some point in the future.

2009-03-21 14:46  mavrik

	* src/ftimes.h: Bumped the build number (0x30900018).

2009-03-20 18:35  mavrik

	* src/: analyze.c, cmpmode.c, compare.c, decode.c, decoder.c,
	dig.c, digmode.c, ftimes.c, getmode.c, http.c, madmode.c, map.c,
	mapmode.c, mask.c, properties.c, socket.c, ssl.c, support.c, url.c,
	xmagic.c: Modified the code such that only the first byte of
	acLocalError is initialized. In this application, there's no real
	benefit to initializing the entire error buffer to all zeros, and
	in some cases (e.g., sections of code that get called many times)
	it's an unnecessary performance drain.

2009-03-20 16:40  mavrik

	* src/madmode.c: Dig strings should be logged by default in mad
	mode.

2009-03-20 16:35  mavrik

	* cgi/nph-ftimes.cgi: Modified the Version regular expression to
	allow commas.

2009-03-20 13:26  mavrik

	* src/ftimes.h: Bumped the build number (0x30900017).

2009-03-20 13:24  mavrik

	* Makefile.vs, README.INSTALL, cgi/nph-ftimes.cgi,
	doc/baselining/baselining.tex,
	doc/ftimes/controls/AnalyzeBlockSize.pod,
	doc/ftimes/controls/AnalyzeByteCount.pod,
	doc/ftimes/controls/AnalyzeCarrySize.pod,
	doc/ftimes/controls/AnalyzeDeviceFiles.pod,
	doc/ftimes/controls/AnalyzeMaxDps.pod,
	doc/ftimes/controls/AnalyzeRemoteFiles.pod,
	doc/ftimes/controls/AnalyzeStartOffset.pod,
	doc/ftimes/controls/AnalyzeStepSize.pod,
	doc/ftimes/controls/BaseName.pod,
	doc/ftimes/controls/BaseNameSuffix.pod,
	doc/ftimes/controls/Compress.pod,
	doc/ftimes/controls/DigString.pod,
	doc/ftimes/controls/DigStringNoCase.pod,
	doc/ftimes/controls/DigStringNormal.pod,
	doc/ftimes/controls/DigStringRegExp.pod,
	doc/ftimes/controls/DigStringXMagic.pod,
	doc/ftimes/controls/EnableRecursion.pod,
	doc/ftimes/controls/Exclude.pod,
	doc/ftimes/controls/ExcludeFilter.pod,
	doc/ftimes/controls/ExcludeFilterMd5.pod,
	doc/ftimes/controls/ExcludeFilterSha1.pod,
	doc/ftimes/controls/ExcludeFilterSha256.pod,
	doc/ftimes/controls/ExcludesMustExist.pod,
	doc/ftimes/controls/FieldMask.pod,
	doc/ftimes/controls/FileSizeLimit.pod,
	doc/ftimes/controls/HashDirectories.pod,
	doc/ftimes/controls/HashSymbolicLinks.pod,
	doc/ftimes/controls/Import.pod, doc/ftimes/controls/Include.pod,
	doc/ftimes/controls/IncludeFilter.pod,
	doc/ftimes/controls/IncludeFilterMd5.pod,
	doc/ftimes/controls/IncludeFilterSha1.pod,
	doc/ftimes/controls/IncludeFilterSha256.pod,
	doc/ftimes/controls/IncludesMustExist.pod,
	doc/ftimes/controls/LogDigStrings.pod,
	doc/ftimes/controls/LogDir.pod, doc/ftimes/controls/MagicFile.pod,
	doc/ftimes/controls/MapRemoteFiles.pod,
	doc/ftimes/controls/MatchLimit.pod,
	doc/ftimes/controls/NewLine.pod, doc/ftimes/controls/OutDir.pod,
	doc/ftimes/controls/RequirePrivilege.pod,
	doc/ftimes/controls/RunType.pod,
	doc/ftimes/controls/SSLBundledCAsFile.pod,
	doc/ftimes/controls/SSLExpectedPeerCN.pod,
	doc/ftimes/controls/SSLMaxChainLength.pod,
	doc/ftimes/controls/SSLPassPhrase.pod,
	doc/ftimes/controls/SSLPrivateKeyFile.pod,
	doc/ftimes/controls/SSLPublicCertFile.pod,
	doc/ftimes/controls/SSLUseCertificate.pod,
	doc/ftimes/controls/SSLVerifyPeerCert.pod,
	doc/ftimes/controls/StrictControls.pod,
	doc/ftimes/controls/URLAuthType.pod,
	doc/ftimes/controls/URLGetRequest.pod,
	doc/ftimes/controls/URLPassword.pod,
	doc/ftimes/controls/URLPutSnapshot.pod,
	doc/ftimes/controls/URLPutURL.pod,
	doc/ftimes/controls/URLUnlinkOutput.pod,
	doc/ftimes/controls/URLUsername.pod,
	doc/ftimes/sections/DESCRIPTION.pod,
	doc/ftimes/sections/EXAMPLES.pod,
	doc/ftimes/sections/MODES-OF-OPERATION.pod,
	doc/ftimes/sections/SYNOPSIS.pod, etc/Makefile.in,
	etc/dig.cfg.sample, etc/digfull.cfg.sample, etc/diglean.cfg.sample,
	etc/get.cfg.sample, etc/map.cfg.sample, etc/mapfull.cfg.sample,
	etc/maplean.cfg.sample, src/cfgtest.c, src/digmode.c, src/ftimes.c,
	src/ftimes.h, src/getmode.c, src/madmode.c, src/mapmode.c,
	src/properties.c, src/support.c,
	tests/ftimes/common/compare/test_3/test_harness.local,
	tests/ftimes/common/dig/test_harness.local,
	tests/ftimes/common/dig/test_4/test_harness.local,
	tests/ftimes/common/map/test_harness.local,
	tests/ftimes/common/map/test_7/test_harness.local,
	tests/ftimes/common_windows_ads/map/test_1/test_harness.local:
	Merged lean and full modes since I was looking to consolidate and
	there really wasn't that much of a difference between them. The old
	modes (i.e., --digfull, --diglean, --mapfull, --maplean) will be
	supported for backwards compatibility, but they will be dropped at
	some point in the future.

2009-03-20 10:37  mavrik

	* src/madmode.c: Removed a displaced comment.

2009-03-19 21:55  mavrik

	* src/ftimes.h: Bumped the build number (0x30900016).

2009-03-19 21:53  mavrik

	* Makefile.vs, doc/ftimes/controls/AnalyzeBlockSize.pod,
	doc/ftimes/controls/AnalyzeByteCount.pod,
	doc/ftimes/controls/AnalyzeCarrySize.pod,
	doc/ftimes/controls/AnalyzeDeviceFiles.pod,
	doc/ftimes/controls/AnalyzeMaxDps.pod,
	doc/ftimes/controls/AnalyzeRemoteFiles.pod,
	doc/ftimes/controls/AnalyzeStartOffset.pod,
	doc/ftimes/controls/AnalyzeStepSize.pod,
	doc/ftimes/controls/BaseName.pod,
	doc/ftimes/controls/BaseNameSuffix.pod,
	doc/ftimes/controls/Compress.pod,
	doc/ftimes/controls/DigString.pod,
	doc/ftimes/controls/DigStringNoCase.pod,
	doc/ftimes/controls/DigStringNormal.pod,
	doc/ftimes/controls/DigStringRegExp.pod,
	doc/ftimes/controls/DigStringXMagic.pod,
	doc/ftimes/controls/EnableRecursion.pod,
	doc/ftimes/controls/Exclude.pod,
	doc/ftimes/controls/ExcludeFilter.pod,
	doc/ftimes/controls/ExcludeFilterMd5.pod,
	doc/ftimes/controls/ExcludeFilterSha1.pod,
	doc/ftimes/controls/ExcludeFilterSha256.pod,
	doc/ftimes/controls/ExcludesMustExist.pod,
	doc/ftimes/controls/FieldMask.pod,
	doc/ftimes/controls/FileSizeLimit.pod,
	doc/ftimes/controls/HashDirectories.pod,
	doc/ftimes/controls/HashSymbolicLinks.pod,
	doc/ftimes/controls/Import.pod, doc/ftimes/controls/Include.pod,
	doc/ftimes/controls/IncludeFilter.pod,
	doc/ftimes/controls/IncludeFilterMd5.pod,
	doc/ftimes/controls/IncludeFilterSha1.pod,
	doc/ftimes/controls/IncludeFilterSha256.pod,
	doc/ftimes/controls/IncludesMustExist.pod,
	doc/ftimes/controls/LogDigStrings.pod,
	doc/ftimes/controls/LogDir.pod, doc/ftimes/controls/MagicFile.pod,
	doc/ftimes/controls/MapRemoteFiles.pod,
	doc/ftimes/controls/MatchLimit.pod,
	doc/ftimes/controls/NewLine.pod, doc/ftimes/controls/OutDir.pod,
	doc/ftimes/controls/RequirePrivilege.pod,
	doc/ftimes/controls/RunType.pod,
	doc/ftimes/controls/SSLBundledCAsFile.pod,
	doc/ftimes/controls/SSLExpectedPeerCN.pod,
	doc/ftimes/controls/SSLMaxChainLength.pod,
	doc/ftimes/controls/SSLPassPhrase.pod,
	doc/ftimes/controls/SSLPrivateKeyFile.pod,
	doc/ftimes/controls/SSLPublicCertFile.pod,
	doc/ftimes/controls/SSLUseCertificate.pod,
	doc/ftimes/controls/SSLVerifyPeerCert.pod,
	doc/ftimes/controls/StrictControls.pod,
	doc/ftimes/controls/URLAuthType.pod,
	doc/ftimes/controls/URLPassword.pod,
	doc/ftimes/controls/URLPutSnapshot.pod,
	doc/ftimes/controls/URLPutURL.pod,
	doc/ftimes/controls/URLUnlinkOutput.pod,
	doc/ftimes/controls/URLUsername.pod,
	doc/ftimes/sections/DESCRIPTION.pod,
	doc/ftimes/sections/MODES-OF-OPERATION.pod,
	doc/ftimes/sections/SYNOPSIS.pod, src/Makefile.in, src/cfgtest.c,
	src/dig.c, src/dig.h, src/digmode.c, src/ftimes.c, src/ftimes.h,
	src/madmode.c, src/map.c, src/properties.c, src/support.c: Added a
	new mode, mad, which combines map and dig modes into a single mode.
	This is useful in cases where file attributes must be collected at
	the same time the corresponding files are searched.

2009-03-18 16:47  mavrik

	* lib/perl/Makefile.PL.in: Bumped up the version number.

2009-03-18 16:20  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Added a leading '0x' to all
	unknown/unassigned rights.

2009-03-18 16:13  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Ordered hash elements
	alphabetically.

2009-03-18 16:08  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Modified EadWinxAceDecode()
	to include a hex representation of the access rights in the ACE
	hash. This is useful for those who prefer to twiddle bits.

2009-03-18 10:43  mavrik

	* tools/map/ftimes-map2dbi.pl: Added initial support for the
	'osid', 'gsid', and 'dacl' fields -- all of which are specific to
	Windows. Thanks to Jason Smith for writing the initial patch.

2009-03-17 18:22  mavrik

	* lib/perl/Makefile.PL.in: Bumped up the version number.

2009-03-17 18:18  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Added two new routines:
	EadWinxAceDecode() and EadWinxDaclDecode().  Thanks to Jason Smith
	for writing the initial patch.

2009-03-06 22:38  mavrik

	* tools/rtimes/rtimes.h: Bumped the update version number.

2009-03-06 17:56  mavrik

	* src/ftimes.h: Bumped the build number (0x30900015).

2009-03-06 17:54  mavrik

	* doc/ftimes/controls/FieldMask.pod, src/decode.c, src/develop.c,
	src/map.c, src/mask.c, tools/ftimes-xformer/ftimes-xformer,
	tools/rtimes/rtimes.c: Renamed 'owner' and 'group' fields to 'osid'
	and 'gsid', respectively.  This change was triggered by the fact
	that 'group' is a reserved word in MySQL. Since the 'group' field
	had to change, the 'owner' field came along for the ride.

2009-03-04 13:54  mavrik

	* src/: digmode.c, mapmode.c: Explicitly set buffer size in
	setvbuf() to prevent binaries made with Visual Studio 2005 (no
	service packs) from crashing when run in lean mode. This problem
	may have been fixed in Service Pack 1. This should be considered a
	temporary patch.

2009-02-25 16:32  mavrik

	* tools/rtimes/Makefile.vs: Changed /GX to /EHsc and removed /YX
	from the compiler flags to eliminate warnings generated by Visual
	Studio 2005.

2009-02-25 16:24  mavrik

	* tools/rtimes/rtimes.h: Bumped the update version number.

2009-02-25 16:21  mavrik

	* tools/rtimes/rtimes.c: Removed the code that puts 'sddl' in the
	version string. This was done for two reasons: 1) to be consistent
	with ftimes and 2) if SDDL support is not enabled, a flag is set in
	the output to indicate that the DACL has been omitted (i.e., the
	lack of SDDL support is something that can be detected by examining
	the 'flags' field).

2009-02-25 16:10  mavrik

	* tools/rtimes/rtimes.c: Changed main() to _tmain().

2009-02-17 10:15  mavrik

	* src/map.c: Removed an unwanted print statement that got caught in
	the last commit.

2009-02-17 09:48  mavrik

	* tools/tarmap/tarmap.h: Bumped the update version number.

2009-02-17 09:47  mavrik

	* tests/tarmap/common/map/test_1/test_harness.local,
	tests/tarmap/common/map/test_2/test_harness.local,
	tools/tarmap/tarmap.c: Added initial support for the 'uid' and
	'gid' fields.

2009-02-14 18:13  mavrik

	* tools/tarmap/tarmap.h: Bumped the update version number.

2009-02-14 18:10  mavrik

	* tools/tarmap/tarmap.c: Modified the code to compute the actual
	symbolic link size, which is the length of the link. This
	discrepancy was discovered while comparing tarmap and ftimes
	output.

2009-02-14 17:58  mavrik

	* tests/tarmap/common/map/test_1/test_harness.local,
	tests/tarmap/common/map/test_2/test_harness.local,
	tools/tarmap/tarmap.c: Added initial support for the 'mode' field.

2009-02-07 12:18  mavrik

	* tools/tarmap/tarmap.h: Bumped the update version number.

2009-02-07 12:17  mavrik

	* tools/tarmap/tarmap.c: Worked on memory management logic.

2009-02-07 00:49  mavrik

	* src/map.c: Adjusted output buffer size to account for the new
	fields.

2009-02-06 22:45  mavrik

	* tools/tarmap/tarmap.h: Bumped the update version number.

2009-02-06 22:44  mavrik

	* tools/tarmap/: tarmap.c, tarmap.h: Added TarMapNeuterString() to
	encode the 'name' field. Thanks to Jason Smith for writing the
	initial patch.

2009-02-06 01:02  mavrik

	* tools/rtimes/rtimes.h: Bumped the update version number.

2009-02-06 00:59  mavrik

	* tools/rtimes/: rtimes.c, rtimes.h: Modified the code to use
	IsValidSecurityDescriptor(), which checks all available components
	in the security descriptor. Consequently, psAclDacl and
	IsValidAcl() are no longer needed, so they have been removed.

2009-02-06 00:11  mavrik

	* src/ftimes.h: Bumped the build number (0x30900014).

2009-02-06 00:03  mavrik

	* Makefile.vs, doc/ftimes/controls/FieldMask.pod, src/decode.c,
	src/decode.h, src/develop.c, src/ftimes.h, src/map.c, src/mask.c,
	src/mask.h, src/sys-includes.h: Added initial support for the
	'owner', 'group', and 'dacl' fields -- all of which are specific to
	Windows. The 'owner' and 'group' fields are formatted using the
	P-R-I-S[-S]{0,14} notation, and the 'dacl' field is encoded using
	the Security Descriptor Definition Language (SDDL). To date, I've
	not been able to get Visual Studio 6.0 compile ftimes with SDDL
	support. I have, however, been able to do this with both Visual
	Studio 2005 and MinGW 5.1.4. Also, the target OS must be running
	Windows 2000 or higher. This code is still in development.

2009-02-03 23:07  mavrik

	* configure.in: Added -DUSE_SDDL to OS_CFLAGS for MinGW builds.
	This is for building rtimes.

2009-02-03 23:03  mavrik

	* tools/rtimes/rtimes.h: Bumped the update version number.

2009-02-03 23:02  mavrik

	* tools/rtimes/rtimes.c: Modified RTimesVersion() to add 'sddl' to
	the version string when that support has been compiled into the
	binary. To date, I've not been able to get Visual Studio 6.0
	compile rtimes with SDDL support. I have, however, been able to do
	this with both Visual Studio 2005 and MinGW 5.1.4.

2009-02-03 22:43  mavrik

	* tools/rtimes/: all-includes.h, rtimes.c: Made several changes
	that were necessary to get the MinGW build working again. The
	biggest issue was the lack of defines and function prototypes in
	sddl.h, so these have been added to all-includes.h.

2009-02-03 17:14  mavrik

	* tools/: dig/ftimes-crv2dbi.pl, dig/ftimes-dig2dbi.pl,
	map/ftimes-cmp2dbi.pl, map/ftimes-map2dbi.pl: Added the '-D' option
	to allow the user to control how duplicates are handled at load
	time.

2009-02-03 16:45  mavrik

	* tools/: dig/ftimes-crv2dbi.pl, dig/ftimes-dig2dbi.pl,
	map/ftimes-cmp2dbi.pl, map/ftimes-map2dbi.pl: Added the
	'LocalInFile' option to add the LOCAL keyword to the LOAD
	statement.

2009-02-03 15:59  mavrik

	* tools/: dig/ftimes-crv2dbi.pl, dig/ftimes-dig2dbi.pl,
	map/ftimes-cmp2dbi.pl, map/ftimes-map2dbi.pl: Added logic to ensure
	that a hostname is defined if MERGE tables have been requested.

2009-02-03 15:50  mavrik

	* tools/: dig/ftimes-crv2dbi.pl, dig/ftimes-dig2dbi.pl,
	map/ftimes-cmp2dbi.pl, map/ftimes-map2dbi.pl: Added the '-o' option
	to accept a comma-delimited list of options.  Removed the '-F' and
	'-M' options since they are now included in the '-o' option as
	'ForceWrite' and 'UseMergeTables', respectively.

2009-02-03 15:22  mavrik

	* tools/dig/ftimes-crv2dbi.pl: Added the '-M' option to support
	MySQL MERGE tables. This was done so that large data sets from
	different systems/sources can be loaded into separate tables and
	subsequently linked together in a MERGE table.

2009-02-03 15:04  mavrik

	* tools/: dig/ftimes-dig2dbi.pl, map/ftimes-cmp2dbi.pl,
	map/ftimes-map2dbi.pl: Reverted to using $sFileHandle.

2009-02-03 15:00  mavrik

	* tools/: dig/ftimes-crv2dbi.pl, dig/ftimes-dig2dbi.pl,
	map/ftimes-cmp2dbi.pl, map/ftimes-map2dbi.pl: Added an argument
	count sanity check.

2009-02-03 14:56  mavrik

	* tools/: dig/ftimes-crv2dbi.pl, dig/ftimes-dig2dbi.pl,
	map/ftimes-cmp2dbi.pl, map/ftimes-map2dbi.pl: Updated the code for
	the '-f' option to be more consistent with the same in
	ftimes-xformer.

2009-02-03 14:41  mavrik

	* tools/: dig/ftimes-crv2dbi.pl, dig/ftimes-dig2dbi.pl,
	map/ftimes-cmp2dbi.pl, map/ftimes-map2dbi.pl: Modified more code to
	use the properties hash.

2009-02-03 13:48  mavrik

	* tools/: dig/ftimes-crv2dbi.pl, dig/ftimes-dig2dbi.pl,
	map/ftimes-cmp2dbi.pl, map/ftimes-map2dbi.pl: Added support for the
	properties hash, and started the process of modifying the code to
	use it.

2009-02-03 13:32  mavrik

	* tools/: dig/ftimes-crv2dbi.pl, dig/ftimes-dig2dbi.pl,
	map/ftimes-cmp2dbi.pl, map/ftimes-map2dbi.pl: Replaced all
	instances of sDB with sDb to comply with the coding style.

2009-02-03 13:29  mavrik

	* tools/: dig/ftimes-crv2dbi.pl, dig/ftimes-dig2dbi.pl,
	map/ftimes-cmp2dbi.pl, map/ftimes-map2dbi.pl: Replaced all
	instances of sSQLFile with sSqlFile to comply with the coding
	style.

2009-02-03 00:22  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added support for the 'dacl'
	field. This fields is produced by rtimes.

2009-02-03 00:20  mavrik

	* tools/rtimes/rtimes.h: Bumped the update version number.

2009-02-03 00:18  mavrik

	* tools/rtimes/rtimes.c: Worked on having error messages provide
	more context.

2009-02-02 23:13  mavrik

	* tools/rtimes/: Makefile.vs, all-includes.h, rtimes.c, rtimes.h:
	Added support for the 'dacl' field, which is encoded using the
	Security Descriptor Definition Language (SDDL). To take advantage
	of this support, rtimes must be compiled with Visual Studio 2005 or
	higher and USE_SDDL defined. Also, the target OS must be running
	Windows 2000 or higher.

2009-01-31 23:15  mavrik

	* doc/ftimes/controls/BaseName.pod: Updated name format regular
	expression.

2009-01-30 12:17  mavrik

	* lib/perl/Makefile.PL.in: Bumped up the version number.

2009-01-30 12:01  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Modified the input check to
	allow octal values up to 32-bits.

2009-01-28 10:33  mavrik

	* tools/tarmap/tarmap.h: Bumped the update version number.

2009-01-28 10:32  mavrik

	* tools/tarmap/tarmap.c: Added initial support for GNUTYPE_LONGLINK
	types. This code is still in development.

2009-01-27 23:09  mavrik

	* tools/tarmap/tarmap.c: Fixed a typo.

2009-01-27 23:05  mavrik

	* tools/tarmap/tarmap.c: Added a missing delimiter.

2009-01-27 22:33  mavrik

	* tools/tarmap/tarmap.h: Bumped the update version number.

2009-01-27 22:33  mavrik

	* tools/tarmap/tarmap.c: Changed the logic to stop processing the
	input stream once two null headers have been encountered in
	succession. According to UNIX Filesystems by Steve D. Pate (pg
	266): "The end of the archive is indicated by two records filled
	with zeros." This change was prompted by tar balls created using
	the native tar utility on AIX 5.1 systems.  The problem was that
	there were trailing records after the actual end of the archive.
	Interestingly, these records looked legitimate.

2009-01-27 20:07  mavrik

	* tools/tarmap/: tarmap.c, tarmap.h: Added code to read the prefix
	field, if it's defined, and prepend it to the member name.

2009-01-27 00:40  mavrik

	* tools/rtimes/rtimes.h: Bumped the update version number.

2009-01-27 00:38  mavrik

	* tools/rtimes/rtimes.c: Added basic support for specifying a
	single key on the command line.

2009-01-26 21:12  mavrik

	* tools/rtimes/rtimes.c: Added basic support for specifying a
	single hive on the command line.  Eventually, this usage will
	change to one where the user can specify multiple hive/key paths
	per invocation.

2009-01-26 20:19  mavrik

	* tools/rtimes/rtimes.h: Bumped the update version number.

2009-01-26 20:18  mavrik

	* tools/rtimes/rtimes.c: Changed global variable names.

2009-01-26 20:10  mavrik

	* tools/rtimes/rtimes.c: Enabled the '--max-data' option to limit
	the size of the 'data' field in the output stream. By default,
	there is no per value size limit.  Also, enabling this option does
	not affect the way hashes are computed, which is over the entire
	length of the value's data.

2009-01-25 17:30  mavrik

	* src/ftimes.h: Bumped the build number (0x30900013).

2009-01-25 17:28  mavrik

	* src/: ftimes.h, xmagic.c, xmagic.h: Made several changes that
	were necessary to get the Visual Studio and MinGW builds working
	again. The biggest issue was the lack of support for strtoull() and
	format specifiers like %llu under Visual Studio.  Rather than
	trying to solve the problem with a bunch of #ifdef blocks, I
	decided it would be better to write a portable replacement routine.
	 Note, however, that the new routine, XMagicStringToUi64(), only
	accepts numbers in decimal or hex format.
	
	Since %ll* specifiers don't work with Visual Studio builds, there
	is going to be a conflict with format specifiers in magic
	descriptions at some point. For example, 32-bit MinGW and UNIX
	builds can and should use %llu to print out an unsigned 64-bit
	decimal number, but the corresponding Visual Studio build would
	need to use %I64u instead.  This problem could be addressed by
	having the XMagic parser intercept and translate unsupported
	specifiers when the magic is first loaded.

2009-01-25 01:43  mavrik

	* src/xmagic.c: Extended the following test operators to support
	64-bit numeric types: '[]', '[)', '(]', '()', '][', '](', ')[', and
	')('.

2009-01-25 01:27  mavrik

	* src/: xmagic.c, xmagic.h: Added initial support for the following
	64-bit types: ui64, beui64, and leui64.

2009-01-25 00:51  mavrik

	* src/: xmagic.c, xmagic.h: Renamed XMagicSwapShort() and
	XMagicSwapLong() as XMagicSwapUi16() and XMagicSwapUi32(),
	respectively.

2009-01-25 00:38  mavrik

	* src/: xmagic.c, xmagic.h: Extended the following test operators
	to support 32-bit numeric types: '[]', '[)', '(]', '()', '][',
	'](', ')[', and ')('.

2009-01-24 21:23  mavrik

	* src/: ftimes.h, xmagic.c, xmagic.h: Added initial support for
	several new timestamp types: {unix,winx}_ymdhms_{be,le}date. The
	description for each of these is a string value (i.e., %s) of the
	form 'YYYY-MM-DD HH:MM:SS' (UTC) relative to the UNIX Epoch. Also
	note that UNIX and WINX timestamps are interpreted as 32-bit and
	64-bit values, respectively.

2009-01-23 14:40  mavrik

	* lib/perl/Makefile.PL.in: Bumped up the version number.

2009-01-23 14:39  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Made the leading '0', which
	indicates an octal format, optional.

2009-01-22 17:30  mavrik

	* lib/perl/Makefile.PL.in: Bumped up the version number.

2009-01-22 17:29  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Added code to handle the case
	where the input does not pass muster.

2009-01-22 13:14  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added support for the fields
	produced by rtimes.

2009-01-22 13:05  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Updated the FTimesFields
	hash to include the name of the tool or tools that can produce each
	field.

2009-01-21 20:11  mavrik

	* src/ftimes.h: Bumped the build number (0x30900012).

2009-01-21 19:59  mavrik

	* tools/rtimes/rtimes.h: Bumped the update version number.

2009-01-21 19:57  mavrik

	* tools/rtimes/: rtimes.c, rtimes.h: Overhauled the logic in
	RTimesEnumerateValues() to address an issue with RegEnumValue().
	The problem was that ERROR_MORE_DATA can be returned if the name
	buffer is too small. The old logic used a buffer size that was
	32,768 bytes (or 16,384 characters), but that was triggering a
	known overflow for ANSI builds. The new logic tracks and
	dynamically adjusts the size of the name buffer, but limits its
	size to a maximum of 16,383 characters.

2009-01-21 13:50  mavrik

	* tools/hashcp/hashcp.c: Replaced the previous #if block with a
	cast. This technique works for both 32- and 64-bit platforms, and
	it reduces code clutter. The only downside is that the value must
	be promoted to a larger type on 64-bit platforms, but I don't see
	that causing any print errors or logic issues. Also, tarmap uses
	this technique, so I'll stick with it for consistency.

2009-01-21 13:34  mavrik

	* tools/hashcp/hashcp.c: Added an #if block so that 64-bit
	platforms use %lu instead of %llu.

2009-01-21 12:24  mavrik

	* tools/hashcp/hashcp.c: Upgraded the total bytes written variable
	to a 64-bit value. Removed some dead code.

2009-01-21 12:09  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for fast file systems
	(UFS2) under Linux. This requirement popped up on an evaluation gig
	where we needed to examine a slice mounted on a Linux system:
	Ubuntu 8.10. Thanks to Joe Segreti for writing and testing the
	initial patch.

2009-01-20 23:59  mavrik

	* tools/rtimes/rtimes.c: Fixed an incorrect string length.

2009-01-19 23:05  mavrik

	* tools/rtimes/all-includes.h: Removed an unwanted include file.

2009-01-19 23:01  mavrik

	* Makefile.in, configure.in, tools/rtimes/Makefile.in,
	tools/rtimes/Makefile.vs, tools/rtimes/all-includes.h,
	tools/rtimes/options.c, tools/rtimes/options.h,
	tools/rtimes/rtimes.c, tools/rtimes/rtimes.h: Added rtimes to the
	project. The purpose of this utility is to map the Registry. The
	code for this utility has been sitting around in various stages for
	years, and it needed a place to call home. While it is far from
	finished, it's good enough for some limited use cases.

2009-01-19 22:36  mavrik

	* tools/: hashcp/all-includes.h, tarmap/all-includes.h: Made
	changes required for compiling hashcp and tarmap under MinGW on
	Windows platforms.

2009-01-18 02:41  mavrik

	* src/ftimes.h: Bumped the build number (0x30900011).

2009-01-18 02:37  mavrik

	* src/: analyze.c, ftimes.c, ftimes.h: Added initial support for
	using memory mapped files in conjunction with map mode. This makes
	it possible to write XMagic tests that go well beyond the first
	block of data. Note that this support is only used for XMagic
	tests. Once those tests are done, the memory map is removed, and
	standard file handling is resumed (i.e., each block is read and
	processed in succession).

2009-01-17 18:14  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added the 'DecodeMode'
	option to convert the mode into its human readable form -- similar
	to the output produced by ls(1).

2009-01-17 18:11  mavrik

	* lib/perl/Makefile.PL.in: Bumped up the version number.

2009-01-17 18:10  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Added a new routine:
	EadUnixModeDecode().

2009-01-13 12:47  mavrik

	* configure.in: Changed the logic for the AC_ARG_ENABLE
	action-if-given argument to fix a bug where XMagic support was
	being disabled even though --enable-xmagic was explicitly given on
	the command line.

2009-01-13 11:36  mavrik

	* tests/ftimes/common/dig/: test_harness.local,
	test_4/test_harness.local: XMagic tests need to be skipped when
	ftimes has been built without XMagic support.

2009-01-13 10:07  mavrik

	* tools/map/ftimes-cmp2dbi.pl: Replaced the 'namemd5' field with
	the newer 'joiner' field, and updated the primary key. This was
	done for consistency across the various DB import scripts (e.g.,
	ftimes-map2dbi). Thanks to Jason Smith for writing and testing the
	initial patch.

2009-01-13 09:55  mavrik

	* tools/map/ftimes-map2dbi.pl: Whitespace cleanup.

2009-01-11 14:42  mavrik

	* src/ftimes.h: Bumped the build number (0x30900010).

2009-01-11 14:41  mavrik

	* src/cmpmode.c, src/mask.c,
	tests/ftimes/common/compare/test_2/test_harness.local: Removed the
	restriction that the compare mask must include at least one field.
	There are cases where being able to specify a mask of 'none' is
	useful. One example would be to determine if two snapshots taken
	with mutually exclusive field masks contain the same files.

2009-01-10 18:55  mavrik

	* tools/hashcp/hashcp.c: Modified code to prevent a "differ in
	signedness" warning. This warning was generated by gcc 4.2.3 on a
	Linux Slamd64 12.1.0 system.

2009-01-10 17:51  mavrik

	* src/ftimes.h: Bumped the build number (0x3090000f).

2009-01-10 17:51  mavrik

	* src/: dig.c, digmode.c, ftimes.c, ftimes.h, getmode.c, http.c,
	http.h, mapmode.c, properties.c, support.c, url.c: Synchronized
	http.c and http.h, revisions 1.38 and 1.24 of the same in The
	WebJob Project. Fixed anything that broke along the way.

2009-01-10 17:32  mavrik

	* src/: ftimes.c, http.c, properties.c, socket.c, ssl.c, ssl.h,
	url.c: Synchronized ssl.c, ssl.h, socket.c, and socket.h with
	revisions 1.16, 1.14, 1.13, and 1.11 of the same in The WebJob
	Project. Fixed anything that broke along the way.

2009-01-10 17:10  mavrik

	* configure.in: Added the --with-everything configure option as an
	alias for the following: --with-server-side and --with-all-tools.
	This was done primarily to keep this file on par with the same in
	The WebJob Project.

2009-01-10 16:16  mavrik

	* Makefile.in, configure.in, doc/hashcp/Makefile.in,
	doc/hashcp/sections/AUTHOR.pod,
	doc/hashcp/sections/DESCRIPTION.pod,
	doc/hashcp/sections/EXAMPLES.pod, doc/hashcp/sections/HISTORY.pod,
	doc/hashcp/sections/MODES-OF-OPERATION.pod,
	doc/hashcp/sections/NAME.pod,
	doc/hashcp/sections/RETURN-VALUES.pod,
	doc/hashcp/sections/SEE-ALSO.pod, doc/hashcp/sections/SYNOPSIS.pod,
	tools/hashcp/Makefile.in, tools/hashcp/all-includes.h,
	tools/hashcp/hashcp.c, tools/hashcp/hashcp.h: Added hashcp to the
	project. The purpose of this utility is to hash a file as it is
	being copied to new name and/or location. This utility is currently
	in a developmental state.

2009-01-09 01:42  mavrik

	* src/ftimes.h: Bumped the build number (0x3090000e).

2009-01-09 01:42  mavrik

	* tools/tarmap/tarmap.h: Bumped the update version number.

2009-01-09 01:40  mavrik

	* Makefile.in, Makefile.vs, README.LICENSE, cgi/Makefile.in,
	cgi/nph-ftimes.cgi, etc/Makefile.in,
	incubator/ftimes-map-tally-bytes, lib/perl/Makefile.PL.in,
	lib/perl/config, lib/perl/lib/FTimes/EadRoutines.pm,
	lib/perl/t/FTimes-EadRoutines.t, src/all-includes.h, src/analyze.c,
	src/app-includes.h, src/cfgtest.c, src/cmpmode.c, src/compare.c,
	src/compare.h, src/decode.c, src/decode.h, src/decoder.c,
	src/develop.c, src/dig.c, src/dig.h, src/digmode.c, src/error.c,
	src/error.h, src/fsinfo.c, src/fsinfo.h, src/ftimes.c,
	src/ftimes.h, src/getmode.c, src/http.c, src/http.h, src/map.c,
	src/mapmode.c, src/mask.c, src/mask.h, src/md5.c, src/md5.h,
	src/message.c, src/message.h, src/properties.c, src/sha1.c,
	src/sha1.h, src/sha256.c, src/sha256.h, src/socket.c, src/socket.h,
	src/ssl-pool.h, src/ssl.c, src/ssl.h, src/support.c,
	src/sys-includes.h, src/time.c, src/url.c, src/xmagic.c,
	src/xmagic.h, tools/dig/Makefile.in, tools/dig/ftimes-crv2dbi.pl,
	tools/dig/ftimes-crv2raw.pl, tools/dig/ftimes-dig2ctx.pl,
	tools/dig/ftimes-dig2dbi.pl, tools/dig/hipdig.pl,
	tools/ftimes-encoder/ftimes-encoder,
	tools/ftimes-grabber/ftimes-grabber,
	tools/ftimes-xformer/ftimes-xformer, tools/hashdig/Makefile.in,
	tools/hashdig/hashdig-bash.pl, tools/hashdig/hashdig-bind.pl,
	tools/hashdig/hashdig-dump.pl, tools/hashdig/hashdig-filter.pl,
	tools/hashdig/hashdig-find.pl,
	tools/hashdig/hashdig-harvest-sunsolve.pl,
	tools/hashdig/hashdig-harvest.pl, tools/hashdig/hashdig-make.pl,
	tools/hashdig/hashdig-resolve-sunsolve.pl,
	tools/hashdig/hashdig-stat.pl, tools/hashdig/hashdig-weed.pl,
	tools/lrs/pool2string.c, tools/lrs/string2pool.c,
	tools/map/Makefile.in, tools/map/ftimes-cmp2dbi.pl,
	tools/map/ftimes-map2dbi.pl, tools/map/ftimes-map2mac.pl,
	tools/tarmap/all-includes.h, tools/tarmap/tarmap.c,
	tools/tarmap/tarmap.h, utils/test_harness, utils/tree_builder,
	utils/version2string, utils/version_helper: Updated copyright
	information.

2009-01-09 01:25  mavrik

	* src/ktypes.h: The K_* defines have been deprecated in favor of
	equivalent APP_* defines, so this file is being moved to the attic.

2009-01-09 01:20  mavrik

	* Makefile.in, Makefile.vs, configure.in, src/Makefile.in,
	src/analyze.c, src/app-includes.h, src/decode.c, src/decode.h,
	src/develop.c, src/dig.c, src/dig.h, src/digmode.c, src/ftimes.h,
	src/http.c, src/http.h, src/md5.c, src/md5.h, src/properties.c,
	src/sha1.c, src/sha1.h, src/sha256.c, src/sha256.h, src/support.c,
	src/url.c, src/xmagic.c, src/xmagic.h, tools/tarmap/Makefile.in,
	tools/tarmap/all-includes.h, tools/tarmap/tarmap.c,
	tools/tarmap/tarmap.h: The K_* defines in ktypes.h have been
	deprecated in favor of equivalent APP_* defines. Also, the new
	defines will be maintained in app-includes.h, so ktypes.h has been
	moved to the attic.

2009-01-09 00:44  mavrik

	* src/xmagic.c: Modified the way the time argument is passed to
	ctime(). This was done to fix a bug on Slamd64 builds that caused
	ftimes to dump core on XMagic descriptions that print date values
	(e.g., gzip). Note that this bug could not be reproduced on FreeBSD
	64-bit builds for the same hardware, and it's not clear if the root
	problem has been resolved or not. One last note, this bug seems to
	be similar to the one fixed in revision 1.36 of decode.c.

2009-01-07 16:10  mavrik

	* doc/ftimes/controls/FieldMask.pod: Added a standard breakdown of
	the flags in the 'mode' field -- this information is handy to have
	when you want to perform analysis based on individual flags.

2009-01-04 20:50  mavrik

	* doc/ftimes/sections/HISTORY.pod: Fixed a typo.

2008-12-19 16:47  mavrik

	* src/ftimes.h: Bumped the build number (0x3090000d).

2008-12-17 22:43  mavrik

	* src/decode.c: Modified code in DecodeParseHeader() to prevent an
	"array subscript is above array bounds" warning. This warning was
	generated by gcc 4.3.2 on a Linux Gentoo 2.0.0 system.

2008-12-17 22:31  mavrik

	* src/http.c: Modified code in HttpParseStatusLine() to prevent an
	"array subscript is above array bounds" warning. This warning was
	generated by gcc 4.3.2 on a Linux Gentoo 2.0.0 system.

2008-12-17 15:07  mavrik

	* incubator/ftimes-map-tally-bytes,
	tools/ftimes-xformer/ftimes-xformer: Fixed an error with the way
	that tokens are expanded. The problem was that some values evaluate
	to false (like 0), and that, in turn, would cause the replacement
	logic to insert an empty string rather than the actual value. The
	fix was to check to see if the value is defined.

2008-12-17 12:48  mavrik

	* README.INSTALL: Fixed a typo.

2008-12-12 14:06  mavrik

	* src/ftimes.h: Bumped the build number (0x3090000c).

2008-12-12 14:02  mavrik

	* src/properties.c: Added '.' to the list of allowed characters for
	the BaseName control.

2008-12-12 11:45  mavrik

	* utils/version_helper: Synchronized version_helper with revision
	1.4 of the same in The WebJob Project.

2008-11-25 21:24  mavrik

	* incubator/ftimes-map-tally-bytes: Updated documentation.

2008-11-25 21:23  mavrik

	* incubator/ftimes-map-tally-bytes: Added support for %KB, %MB,
	%GB, and %TB tokens.

2008-11-22 12:33  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added an error message hint
	to help the user.

2008-11-22 01:47  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Corrected faulty template
	check, and added another check to ensure that the template does not
	contain an odd number of '%'s.

2008-11-22 01:00  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added checks to ensure that
	the template does not contain any unescaped '%'s or unrecognized
	tokens.

2008-11-22 00:37  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added checks to ensure that
	the 'name' field is defined before attempting to perform various
	transformations.

2008-11-21 23:56  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Modified the template logic
	to replace tokens having an undefined value with an empty string.

2008-11-21 23:46  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Updated template-related
	documentation.

2008-11-21 23:40  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added the 'DeriveFields'
	option to handle cases where the input file does not contain its
	own header, and the user wants to access fields based on their
	numeric position rather than a name.

2008-11-20 13:02  mavrik

	* src/ftimes.h: Bumped the build number (0x3090000b).

2008-11-20 12:38  mavrik

	* src/dig.c: Worked on improving the performance of DigStringNoCase
	searches.  Initial testing suggests that the time it takes to
	search a 100 MB blob of data has decreased by 15%-20%.

2008-11-19 13:38  mavrik

	* incubator/ftimes-map-tally-bytes: Initial checkin.

2008-11-17 12:06  mavrik

	* tools/ftimes-grabber/ftimes-grabber: Added logic to prevent the
	same file from being processed more than once. This was done to
	support dig output as input, which can contain multiple instances
	of the same filename.

2008-11-17 11:18  mavrik

	* tools/ftimes-grabber/ftimes-grabber: Added support for writing
	ZIP output to stdout.

2008-11-11 16:53  jesterchef

	* tools/: dig/ftimes-dig2dbi.pl, map/ftimes-cmp2dbi.pl,
	map/ftimes-map2dbi.pl: Added the '-M' option to support MySQL MERGE
	tables. This was done so that large data sets from different
	systems/sources can be loaded into separate tables and subsequently
	linked together in a MERGE table.

2008-11-04 14:53  mavrik

	* doc/ftimes/controls/FieldMask.pod: Added a missing double quote.
	Added a breakdown of the flags in the 'attributes' field -- this
	information is handy to have when you want to perform analysis
	based on individual flags.

2008-11-03 13:31  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added support for the fields
	produced by ftimes-dig2ctx.

2008-11-03 12:34  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added support for 'hostname'
	and 'joiner' fields. These fields are added by the various DB
	import scripts (e.g., ftimes-map2dbi).

2008-10-16 02:23  mavrik

	* src/ftimes.h: Bumped the build number (0x3090000a).

2008-10-16 02:21  mavrik

	* src/: all-includes.h, ap_snprintf.h, app-includes.h, compare.h,
	decode.h, dig.h, error.h, fsinfo.h, ftimes.h, http.h, ktypes.h,
	mask.h, md5.h, message.h, native.h, sha1.h, sha256.h, socket.h,
	ssl-pool.h, ssl.h, sys-includes.h, xmagic.h: Added #ifndef blocks
	and _*_H_INCLUDED defines for each include file.  This will help
	prevent "previous declaration" errors down the road.

2008-10-16 01:39  mavrik

	* src/: dig.c, dig.h, digmode.c, ftimes.h: Modified the function
	prototype for DigWriteHeader() to match MapWriteHeader(). This was
	done for consistency. Unfortunately, it required shifting some
	things around, which, in turn, created a dependency between dig.h
	and ftimes.h.

2008-09-26 14:48  mavrik

	* lib/Makefile.in: Added a failover 'uname -m' to prevent make from
	aborting with 'uname -p' since the '-p' option is not valid on
	HP-UX 11.11 systems.

2008-09-22 15:09  mavrik

	* tools/dig/ftimes-crv2raw.pl: Removed code that incorrectly
	adjusts the last block when block sizes are greater than one.

2008-09-22 14:28  mavrik

	* tests/ftimes-crv2raw/common/carve/test_harness.local: Added
	expected results for the %LAST token tests. These results were
	determined manually using dd(1). Thanks to Jason Smith for
	verifying the results.

2008-09-20 14:20  mavrik

	* tests/ftimes-crv2raw/common/carve/: test_harness.local,
	test_1/test_harness.local: Added tests for the new %LAST token
	support. The expected results for these tests still need to be
	determined and filled in.

2008-09-19 16:29  mavrik

	* tools/dig/ftimes-crv2raw.pl: Replaced the %EOF token with %LAST,
	which represents the last block, and reworked the code to handle
	blocks with sizes greater than one.

2008-09-19 14:15  mavrik

	* tools/dig/ftimes-crv2raw.pl: Added support for %EOF tokens in
	range lists.

2008-09-16 14:41  mavrik

	* src/ftimes.h: Bumped the build number (0x30900009).

2008-09-16 14:34  mavrik

	* src/compare.c: Added a conditional define to prevent a compiler
	error that MAP_FAILED is undeclared. This error was generated by
	gcc 2.95.2 running on an HP-UX 10.20 system (32-bit).

2008-09-10 10:25  mavrik

	* tools/dig/ftimes-crv2raw.pl: Fixed a problem where the regular
	expressions for carve ranges were too limiting (\d{1,10}). This was
	an issue in cases where the carve unit size was small (e.g., 1).

2008-09-04 00:06  mavrik

	* lib/perl/MANIFEST: Removed META.yml from the project since it is
	built automatically during 'make dist', and because I don't want to
	maintain multiple files when updating the library's version number.

2008-08-30 17:56  mavrik

	* tools/ftimes-grabber/ftimes-grabber: Reverted the last change
	since it will also print warnings when the named item is a
	directory or special file. Neither of these cases are something
	that the user should be warned about, and if the original file no
	longer exists, there is no guarantee that its type can be recovered
	from the underlying FTimes data.

2008-08-30 17:41  mavrik

	* tools/ftimes-grabber/ftimes-grabber: Added a print statement to
	warn the user when a given file no longer exists or is not regular.

2008-08-30 12:20  mavrik

	* tools/ftimes-grabber/ftimes-grabber: Added initial support for
	the 'BeQuiet' and 'StopShort' options.

2008-08-30 10:29  mavrik

	* tools/ftimes-grabber/ftimes-grabber: Added support to compute and
	report the MD5 of the ZIP archive.

2008-08-29 11:16  mavrik

	* tools/ftimes-grabber/ftimes-grabber: Added ZipFile to the dry run
	output.

2008-08-29 10:28  mavrik

	* tools/ftimes-grabber/ftimes-grabber: Added a missing exit() for
	dry runs.

2008-08-29 10:27  mavrik

	* tools/ftimes-grabber/ftimes-grabber: Added use statements for the
	FindBin and lib modules, which are sometimes needed to locate
	FTimes-specific modules.

2008-08-29 00:33  mavrik

	* src/ftimes.h: Bumped the build number (0x30900008).

2008-08-29 00:32  mavrik

	* configure.in, doc/ftimes-grabber/Makefile.in,
	tools/ftimes-grabber/Makefile.in,
	tools/ftimes-grabber/ftimes-grabber: Added ftimes-grabber to the
	project. The purpose of this utility is to parse FTimes output,
	grab files, and zip them up.

2008-08-29 00:29  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Added missing usage items.

2008-08-27 17:56  mavrik

	* tools/ftimes-encoder/ftimes-encoder: Added initial support for
	the 'OneString' option.

2008-08-27 15:58  mavrik

	* tools/ftimes-encoder/ftimes-encoder: Added the '-o' option to
	accept a comma-delimited list of options.  Added initial support
	for the 'NoNewline' option.

2008-08-27 15:51  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added a missing comma.

2008-08-27 15:04  mavrik

	* lib/perl/Makefile.PL.in: Bumped up the version number.

2008-08-27 15:03  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Modified the arguments to
	encode_base64() so that it will not break output into 76-character
	lines. Currently, there is no requirement to have multi-line
	output.

2008-08-19 20:24  mavrik

	* src/: map.c, xmagic.c, xmagic.h: Updated XMagic descriptions for
	directories and built-in file types (empty, special, and unknown)
	to use type/subtype values. This change was prompted by a larger
	initiative to update all user-defined XMagic descriptions.

2008-08-16 17:12  mavrik

	* tools/ftimes-encoder/ftimes-encoder: Added support for Base64
	encoding.

2008-08-16 16:45  mavrik

	* lib/perl/Makefile.PL.in: Bumped up the version number.

2008-08-16 16:44  mavrik

	* lib/perl/: MANIFEST, Makefile.PL.in, README,
	lib/FTimes/EadRoutines.pm, t/FTimes-EadRoutines.t: Added two new
	routines: EadBase64Decode() and EadBase64Encode(). This introduces
	a dependency on MIME::Base64.

2008-08-16 00:58  mavrik

	* README.INSTALL: Added a note that MinGW+MSYS is now preferred for
	Windows builds.

2008-08-16 00:52  mavrik

	* README.INSTALL: Updated MinGW/MSYS build instructions.

2008-08-15 18:08  mavrik

	* src/sys-includes.h: Added a missing include file (math.h). This
	files is required for compiling ftimes under MinGW on Windows
	platforms.

2008-08-15 16:16  mavrik

	* README.INSTALL: Added basic MinGW/MSYS build instructions.
	Updated other nits and bits.

2008-08-11 20:34  jesterchef

	* configure.in: Added ac_cv_func_malloc_0_nonnull=yes to prevent
	AC_FUNC_MALLOC from deciding that rpl_malloc() is needed when cross
	compiling under MinGW for Windows platforms, which, in turn, causes
	the build to fail since that routine is not included in the source.
	 In this particular case, the compiling platform was MacOS 10.4.11.

2008-08-11 02:09  mavrik

	* src/ftimes.h: Bumped the build number (0x30900007).

2008-08-11 02:02  mavrik

	* tests/ftimes/common/compare/test_3/test_harness.local: Added back
	a qx() that got lost in the last patch.

2008-08-11 01:48  mavrik

	* tests/: ftimes/common/compare/test_1/test_harness.local,
	ftimes/common/compare/test_2/test_harness.local,
	ftimes/common/compare/test_3/test_harness.local,
	ftimes/common/decoder/test_1/test_harness.local,
	ftimes/common/dig/test_4/test_harness.local,
	ftimes/common/map/test_7/test_harness.local,
	ftimes/common_windows_ads/map/test_1/test_harness.local,
	tarmap/common/map/test_1/test_harness.local,
	tarmap/common/map/test_2/test_harness.local: Modified tests to work
	under MinGW.

2008-08-11 00:46  mavrik

	* configure.in: Added a missing quote.

2008-08-11 00:14  mavrik

	* tests/: ftimes/common/compare/test_1/test_harness.local,
	ftimes/common/compare/test_2/test_harness.local,
	ftimes/common/compare/test_3/test_harness.local,
	ftimes/common/decoder/test_1/test_harness.local,
	ftimes/common/dig/test_4/test_harness.local,
	ftimes/common/map/test_7/test_harness.local,
	ftimes/common_windows_ads/map/test_1/test_harness.local,
	tarmap/common/map/test_1/test_harness.local,
	tarmap/common/map/test_2/test_harness.local: Added code to convert
	path separators from UNIX to Windows format.  When executing tests
	under MinGW on a Windows platform, IO redirections of the form
	'2>&1' cause the following error when UNIX path separators are
	used: "'..' is not recognized as an internal or external command,
	operable program or batch file.".

2008-08-10 23:50  mavrik

	* configure.in: Added logic that instructs users to manually
	build/install the Perl modules on Windows platforms. Currently this
	process can't be done from the MSYS shell, and it requires a
	combination of ActivePerl, dmake (or nmake), and a native command
	shell. Once the Perl modules have been built and installed, the
	normal FTimes build process can resume in the MSYS shell.

2008-08-10 21:27  mavrik

	* tests/ftimes/common/map/test_7/test_harness.local: Modified tests
	to work under MinGW.

2008-08-09 23:33  mavrik

	* src/ftimes.h: Added LL to the UNIX_EPOCH_IN_NT_TIME and
	UNIX_LIMIT_IN_NT_TIME defines to prevent warnings that appear when
	compiling under MinGW.	The warnings were of the form: "warning:
	integer constant is too large for 'long' type". These warnings were
	generated by gcc 3.4.2 on a Windows 2K SP4 system.

2008-08-09 22:47  mavrik

	* Makefile.in: Added the '-h' option (follow symlinks) to the tar
	command in the ctar, dtar, and star targets. While this increases
	the size of the tar ball and adds unwanted redundancies, it eases
	the MinGW build process on Win32 platforms.

2008-07-27 17:39  mavrik

	* src/ftimes.h: Bumped the build number (0x30900006).

2008-07-27 17:38  mavrik

	* doc/ftimes/sections/MODES-OF-OPERATION.pod, src/compare.c,
	src/compare.h,
	tests/ftimes/common/compare/test_1/test_harness.local,
	tests/ftimes/common/compare/test_2/test_harness.local,
	tests/ftimes/common/compare/test_3/test_harness.local,
	tools/ftimes-xformer/ftimes-xformer, tools/map/ftimes-cmp2dbi.pl:
	Added support for the 'records' field in compare mode output. This
	information will make it easier for post-processing tools to locate
	and extract records from the original baseline and snapshot files.

2008-07-24 13:45  jesterchef

	* src/ftimes.h: Bumped the build number (0x30900005).

2008-07-24 13:34  mavrik

	* tools/tarmap/tarmap.h: Bumped the update version number.

2008-07-24 13:29  mavrik

	* tools/tarmap/tarmap.c: Added casts to prevent compiler warnings.
	The warnings were of the form: "warning: long long unsigned int
	format, K_UINT64 arg (arg N)" where N was either 4 or 5. These
	warnings were generated by gcc 3.4.6 running on a FreeBSD 6.3
	system (64-bit AMD).

2008-07-24 13:04  jesterchef

	* src/: fsinfo.c, fsinfo.h: Added support for Common Internet File
	System (CIFS) under Linux. This file system is a public variation
	of the Server Message Block (SMB) file system.

2008-07-18 18:17  jesterchef

	* README.CREDITS: Added Andy Bair and Jason Smith as new project
	maintainers.

2008-07-18 18:06  andybair

	* src/ftimes.h: Bumped the build number (0x30900004).

2008-07-18 14:40  mavrik

	* tests/ftimes/common/map/test_7/test_harness.local: Added a sort
	on the actual output to fix an issue on Fedora Core 6 where the
	output was not being generated in the expected order.  Thanks to
	Andy Bair for discovering and reporting this problem, and thanks to
	the test harness for doing its job.

2008-07-17 16:22  mavrik

	* src/ftimes.h: Bumped the build number (0x30900003).

2008-07-17 16:21  mavrik

	* Makefile.in, Makefile.vs, README.LICENSE, cgi/Makefile.in,
	cgi/nph-ftimes.cgi, etc/Makefile.in, src/all-includes.h,
	src/analyze.c, src/app-includes.h, src/cfgtest.c, src/cmpmode.c,
	src/compare.c, src/compare.h, src/decode.c, src/decode.h,
	src/decoder.c, src/develop.c, src/dig.c, src/dig.h, src/digmode.c,
	src/error.c, src/error.h, src/fsinfo.c, src/fsinfo.h, src/ftimes.c,
	src/ftimes.h, src/getmode.c, src/http.c, src/http.h, src/ktypes.h,
	src/map.c, src/mapmode.c, src/mask.c, src/mask.h, src/md5.c,
	src/md5.h, src/message.c, src/message.h, src/properties.c,
	src/sha1.c, src/sha1.h, src/sha256.c, src/sha256.h, src/socket.c,
	src/socket.h, src/ssl-pool.h, src/ssl.c, src/ssl.h, src/support.c,
	src/sys-includes.h, src/time.c, src/url.c, src/xmagic.c,
	src/xmagic.h, tools/dig/Makefile.in, tools/dig/ftimes-crv2dbi.pl,
	tools/dig/ftimes-crv2raw.pl, tools/dig/ftimes-dig2ctx.pl,
	tools/dig/ftimes-dig2dbi.pl, tools/dig/hipdig.pl,
	tools/ftimes-xformer/ftimes-xformer, tools/hashdig/Makefile.in,
	tools/hashdig/hashdig-bash.pl, tools/hashdig/hashdig-bind.pl,
	tools/hashdig/hashdig-dump.pl, tools/hashdig/hashdig-filter.pl,
	tools/hashdig/hashdig-find.pl,
	tools/hashdig/hashdig-harvest-sunsolve.pl,
	tools/hashdig/hashdig-harvest.pl, tools/hashdig/hashdig-make.pl,
	tools/hashdig/hashdig-resolve-sunsolve.pl,
	tools/hashdig/hashdig-stat.pl, tools/hashdig/hashdig-weed.pl,
	tools/lrs/pool2string.c, tools/lrs/string2pool.c,
	tools/map/Makefile.in, tools/map/ftimes-cmp2dbi.pl,
	tools/map/ftimes-map2dbi.pl, tools/map/ftimes-map2mac.pl,
	tools/tarmap/all-includes.h, tools/tarmap/tarmap.c,
	tools/tarmap/tarmap.h, utils/tree_builder: Updated copyright
	information.

2008-07-17 16:01  mavrik

	* src/: analyze.c, md5.c, md5.h, sha1.c, sha1.h, sha256.c,
	sha256.h, url.c: Modified {MD5,SHA1,SHA256}HashStream() to track
	(in a user-supplied variable) the number of bytes hashed.

2008-07-17 14:29  mavrik

	* src/ftimes.h: Bumped the build number (0x30900002).

2008-07-17 14:20  mavrik

	* src/dig.c: Added a cast to fix the following warning: "pointer
	targets in assignment differ in signedness". This warning was
	generated by gcc 4.1.1 running on a Fedora Core 6 system (32-bit).

2008-07-17 14:16  mavrik

	* src/: dig.c, xmagic.c: Added a cast to fix the following warning:
	"pointer targets in passing argument 3 of pcre_exec() differ in
	signedness". This warning was generated by gcc 4.1.1 running on a
	Fedora Core 6 system (32-bit).

2008-07-17 14:14  mavrik

	* src/dig.c: Added a cast to fix the following warning: "pointer
	targets in assignment differ in signedness". This warning was
	generated by gcc 4.1.1 running on a Fedora Core 6 system (32-bit).

2008-07-17 14:09  mavrik

	* src/xmagic.c: Added a cast to fix the following warning: "pointer
	targets in passing argument 1 of strcasecmp() differ in
	signedness". This warning was generated by gcc 4.1.1 running on a
	Fedora Core 6 system (32-bit).

2008-07-17 14:07  mavrik

	* src/: dig.c, xmagic.c: Added a cast to fix the following warning:
	"pointer targets in passing argument 1 of strncpy() differ in
	signedness". This warning was generated by gcc 4.1.1 running on a
	Fedora Core 6 system (32-bit).

2008-07-17 12:33  mavrik

	* src/dig.c: Added a cast to fix the following warning: "pointer
	targets in passing argument 1 of SupportNeuterString() differ in
	signedness". This warning was generated by gcc 4.1.1 running on a
	Fedora Core 6 system (32-bit).

2008-07-17 12:13  mavrik

	* src/: dig.c, map.c: Added a cast to fix the following warning:
	"pointer targets in passing argument 2 of MD5Cycle() differ in
	signedness". This warning was generated by gcc 4.1.1 running on a
	Fedora Core 6 system (32-bit).

2008-07-17 12:04  mavrik

	* src/: develop.c, ftimes.h: Changed a function prototype to fix
	the following warning: "pointer targets in passing argument 1 of
	DevelopCompressHex() differ in signedness". This warning was
	generated by gcc 4.1.1 running on a Fedora Core 6 system (32-bit).

2008-07-16 10:40  mavrik

	* doc/ftimes/sections/DESCRIPTION.pod: Added StrictControls
	control.

2008-07-16 00:32  mavrik

	* Makefile.in: Changed the suffix appended to the star-generated
	tar ball.

2008-07-16 00:14  mavrik

	* src/ftimes.h: Bumped the build number (0x30900001).

2008-07-16 00:14  mavrik

	* Makefile.in, src/ftimes.h, src/support.c,
	tests/ftimes/test_harness.local: Updated the version numbering
	scheme to that used by The DDP Project.  The primary purpose for
	moving to the new scheme is to produce monotonically increasing
	version numbers that can be translated from a 4-byte integer to a
	human readable string. This makes it possible to use integer-based
	compare logic in code to enable/disable certain features and
	functionality (e.g., backwards compatibility). A secondary purpose
	for moving to the new scheme is to assign every checkpoint in the
	development life-cycle a particular state and build number. This is
	useful for cutting snapshot (or checkpoint) releases, and it makes
	it easier to identify non-standard releases that may have been
	deployed on operational systems (e.g., emergency patch).

2008-07-15 23:33  mavrik

	* utils/: version2string, version_helper: Initial checkin.

2008-07-15 21:08  mavrik

	* utils/test_harness: Made a minor comment change.

2008-07-15 15:42  mavrik

	* doc/ftimes/controls/StrictControls.pod, src/ftimes.h,
	src/properties.c: Added StrictControls control.

2008-06-25 01:04  mavrik

	* utils/test_harness: Modified the code to individually track
	pass/fail/skip results. This allows for finer control over group
	results. In particular, if all tests in a group are skipped, the
	group result should be a skip. Prior to this, that outcome would
	have been reported as a pass, which can be misleading.

2008-06-04 09:55  mavrik

	* Makefile.in: Added an experimental target, star, that creates a
	snapshot tar ball based on the value of VERSION in ftimes.h. This
	is useful for creating unofficial releases or field updates.

2008-06-04 00:46  mavrik

	* tools/ftimes-encoder/ftimes-encoder: Added support for Shell Safe
	String (SSS) encoding, which is a special case of URL encoding. If
	the encoder does its job correctly, it should be possible to encode
	a string such that it can be assigned as a Bourne shell variable
	without the need for quotes. This capability is useful in cases
	where config files containing URLs as values are sourced by various
	scripts.

2008-06-04 00:30  mavrik

	* lib/perl/Makefile.PL.in: Bumped up the version number.

2008-06-04 00:30  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Fixed a bug identified by the
	test harness. The problem was that '+' characters where not being
	converted back into spaces.

2008-06-04 00:28  mavrik

	* lib/perl/t/FTimes-EadRoutines.t: Added unit tests for
	EadFTimesSssEncode() and EadFTimesSssDecode().

2008-06-04 00:11  mavrik

	* lib/perl/lib/FTimes/EadRoutines.pm: Added two new routines:
	EadFTimesSssDecode() and EadFTimesSssEncode().

2008-05-20 00:11  mavrik

	* tests/ftimes/common/dig/test_4/test_harness.local: Added a test
	that corresponds to the patch that produced revision 1.54 of
	xmagic.c. Thanks to Andy Bair for writing the initial test.

2008-05-19 18:56  mavrik

	* README.CREDITS: Added a section for past and current sponsors.
	Added a section for maintainers. Indented the list of contributors.

2008-05-19 18:23  mavrik

	* configure.in: Whitespace cleanup.

2008-05-19 18:11  mavrik

	* README.STYLE: Turned document into a link to the real
	README.STYLE, which is being maintained in The WebJob Project.

2008-05-19 17:02  mavrik

	* tests/hipdig/common/dig/test_harness.local,
	tests/hipdig/common/dig/test_1/Makefile.in, tools/dig/hipdig.pl:
	Modified hipdig to use FTimes::EadRoutines. This required some
	changes to the test harness infrastructure.

2008-05-19 16:54  mavrik

	* tests/ftimes-crv2raw/common/carve/test_harness.local,
	tests/ftimes-crv2raw/common/carve/test_1/Makefile.in,
	tools/dig/ftimes-crv2raw.pl: Modified ftimes-crv2raw to use
	FTimes::EadRoutines. This required some changes to the test harness
	infrastructure.

2008-05-19 16:44  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Modified ftimes-dig2ctx to use
	FTimes::EadRoutines.

2008-05-19 16:38  mavrik

	* tests/ftimes-xformer/common/xform/test_1/Makefile.in,
	tests/ftimes-xformer/common/xform/test_1/test_harness.local,
	tools/ftimes-xformer/ftimes-xformer: Modified ftimes-xformer to use
	FTimes::EadRoutines. This required some changes to the test harness
	infrastructure.

2008-05-19 14:55  mavrik

	* tests/ftimes-encoder/common/decode/test_1/Makefile.in,
	tests/ftimes-encoder/common/decode/test_1/test_harness.local,
	tests/ftimes-encoder/common/encode/test_1/Makefile.in,
	tests/ftimes-encoder/common/encode/test_1/test_harness.local,
	tools/ftimes-encoder/ftimes-encoder: Modified ftimes-encoder to use
	FTimes::EadRoutines. This required some changes to the test harness
	infrastructure.

2008-05-19 14:37  mavrik

	* utils/test_harness: Synchronized test_harness with revision 1.16
	of the same in The WebJob Project.

2008-05-19 14:08  mavrik

	* Makefile.in, configure.in, lib/Makefile.in, lib/perl/MANIFEST,
	lib/perl/Makefile.PL.in, lib/perl/README, lib/perl/config,
	lib/perl/lib/FTimes/EadRoutines.pm,
	lib/perl/t/FTimes-EadRoutines.t: Added initial support for an
	integrated Perl library. This action was driven by the need to
	reduce duplicate code and provide standard routines for common
	tasks.

2008-05-18 20:55  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Replaced URLDecode() and URLEncode()
	with FTimesUrlDecode() and FTimesUrlEncode(), respectively. The new
	encoder produces the same encoded output as ftimes.

2008-05-18 20:54  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Replaced UrlDecode() and
	UrlEncode() with FTimesUrlDecode() and FTimesUrlEncode(),
	respectively. The new encoder produces the same encoded output as
	ftimes.

2008-05-18 20:44  mavrik

	* configure.in, Mk/common.mk.in, tests/hipdig/Makefile.in,
	tests/hipdig/test_harness.local, tests/hipdig/common/Makefile.in,
	tests/hipdig/common/test_harness.local,
	tests/hipdig/common/dig/Makefile.in,
	tests/hipdig/common/dig/test_harness.local,
	tests/hipdig/common/dig/test_1/Makefile.in,
	tests/hipdig/common/dig/test_1/test_harness.local: Added tests for
	hipdig. These tests are functionally equivalent to those used for
	ftimes. The idea is that both tools should produce the same results
	when given the same regular expressions and inputs.

2008-05-18 20:29  mavrik

	* tools/dig/hipdig.pl: Replaced UrlEncode() with FTimesUrlEncode().
	The new encoder produces the same encoded output as ftimes.

2008-05-18 20:23  mavrik

	* tools/ftimes-encoder/ftimes-encoder: Renamed NssDecode() and
	NssEncode() as FTimesNssDecode() and FTimesNssEncode(),
	respectively.

2008-05-18 20:21  mavrik

	* tools/ftimes-encoder/ftimes-encoder: Replaced UrlDecode() and
	UrlEncode() with FTimesUrlDecode() and FTimesUrlEncode(),
	respectively.  The new encoder produces the same encoded output as
	ftimes.

2008-05-18 20:15  mavrik

	* tests/ftimes-encoder/common/: decode/test_1/test_harness.local,
	encode/test_1/test_harness.local: Switched over to the official URL
	encode/decode routines.

2008-05-18 20:10  mavrik

	* tests/test_harness.local: Added two helper routines:
	FTimesUrlDecode() and FTimesUrlEncode().

2008-05-18 00:05  mavrik

	* configure.in, Mk/common.mk.in, doc/ftimes-encoder/Makefile.in,
	tests/ftimes-encoder/Makefile.in,
	tests/ftimes-encoder/test_harness.local,
	tests/ftimes-encoder/common/Makefile.in,
	tests/ftimes-encoder/common/test_harness.local,
	tests/ftimes-encoder/common/decode/Makefile.in,
	tests/ftimes-encoder/common/decode/test_harness.local,
	tests/ftimes-encoder/common/decode/test_1/Makefile.in,
	tests/ftimes-encoder/common/decode/test_1/test_harness.local,
	tests/ftimes-encoder/common/encode/Makefile.in,
	tests/ftimes-encoder/common/encode/test_harness.local,
	tests/ftimes-encoder/common/encode/test_1/Makefile.in,
	tests/ftimes-encoder/common/encode/test_1/test_harness.local,
	tools/ftimes-encoder/Makefile.in: Added configure/build support and
	tests for ftimes-encoder.

2008-05-17 21:52  mavrik

	* doc/ftimes/controls/DigStringRegExp.pod,
	doc/ftimes/controls/ExcludeFilter.pod,
	doc/ftimes/controls/IncludeFilter.pod,
	doc/ftimes/sections/EXAMPLES.pod, src/dig.c, src/dig.h,
	src/support.c, src/xmagic.c, src/xmagic.h,
	tests/ftimes/common/dig/test_harness.local,
	tests/ftimes/common/dig/test_3/test_harness.local: Modified the
	code to allow up to nine (9) capturing ()'s. This was done to
	support backreferences in expressions.

2008-05-17 17:35  mavrik

	* tests/test_harness.local: Added two helper routines: UrlDecode()
	and UrlEncode().

2008-05-17 12:08  mavrik

	* src/decode.c: Added a FIXME reminder.

2008-05-13 15:13  mavrik

	* tools/ftimes-encoder/ftimes-encoder: Fixed a documentation error.

2008-05-12 17:31  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for the /dev/pts file
	system under Linux.

2008-05-11 23:45  mavrik

	* tools/: dig/ftimes-crv2dbi.pl, dig/ftimes-crv2raw.pl,
	dig/ftimes-dig2ctx.pl, dig/ftimes-dig2dbi.pl, dig/hipdig.pl,
	ftimes-xformer/ftimes-xformer, hashdig/README,
	map/ftimes-cmp2dbi.pl, map/ftimes-map2dbi.pl,
	map/ftimes-map2mac.pl: Fixed a subject/verb agreement error.
	Cleaned up other minor nits and bits along the way.

2008-05-11 23:28  mavrik

	* tools/ftimes-encoder/ftimes-encoder: Added ftimes-encoder to the
	project. The purpose of this utility is to encode/decode
	strings/records using various algorithms.

2008-05-11 19:52  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Eliminated the practice of
	modifying @_ values (e.g., $_[0]) directly since they are implicit
	references to the actual scalar parameters.  Unless parameters are
	explicitly passed by reference, they should be treated as if they
	were immutable.

2008-04-30 12:09  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Added a missing semi-colon.

2008-04-28 16:37  mavrik

	* tools/hashdig/: hashdig-bash.pl, hashdig-bind.pl,
	hashdig-dump.pl, hashdig-filter.pl, hashdig-find.pl,
	hashdig-harvest-sunsolve.pl, hashdig-harvest.pl, hashdig-make.pl,
	hashdig-resolve-sunsolve.pl, hashdig-stat.pl, hashdig-weed.pl: Made
	a minor change to the LICENSE section.

2008-04-28 13:16  mavrik

	* tools/hashdig/: hashdig-bash.pl, hashdig-harvest-sunsolve.pl,
	hashdig-resolve-sunsolve.pl, hashdig-weed.pl: Made minor comment
	changes.

2008-04-15 19:43  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Modified logic to ensure that an
	empty pattern file will match no records. Previously, the pattern
	matching logic would not be applied if the array holding the
	patterns was empty or undefined.

2008-04-15 19:12  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Added initial support for the '-M',
	'-m', '-T', '-t', and '-v' options. These options work together to
	provide a pattern matching and filtering capability.

2008-04-14 19:56  mavrik

	* tools/dig/hipdig.pl: Changed 'N/A's to 'N/V's (Not Valid) in
	DumpEinInformation(), and added the real 'N/A's, which were derived
	through process of elimination.

2008-04-14 19:22  mavrik

	* tools/dig/hipdig.pl: Added DumpEinInformation() to dump the list
	of EIN prefixes assigned to each campus.

2008-04-09 15:49  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added several new
	convenience routines: NssDecode(), NssEncode, Strip(), and
	UrlEncode(). These routines are accessible from the command line
	through the various eval-block options. NSS is short for Neuter
	Safe String. NSS-encoded paths should not be altered by the
	neutering process imposed by ftimes. This is useful in cases where
	you want to guarantee that the real and neutered paths will be the
	same.

2008-04-05 23:00  mavrik

	* tools/dig/hipdig.pl: Added DumpStateInformation() to dump a list
	of state abbreviations.

2008-04-04 14:54  mavrik

	* tools/dig/hipdig.pl: Reviewed and updated %hSSNAreaList in
	DumpSSNInformation(). A number of entries were not assigned to a
	particular area (e.g., state).

2008-02-12 17:12  mavrik

	* tools/map/ftimes-map2dbi.pl: Added a key length of 64 bytes to
	the 'magic' index.

2008-02-07 23:36  mavrik

	* tools/tarmap/tarmap.h: Bumped the update version number.

2008-02-05 15:29  mavrik

	* tools/tarmap/: tarmap.c, tarmap.h: Added initial support for
	GNUTYPE_LONGNAME types. This code is still in development.

2008-02-05 15:19  mavrik

	* tools/tarmap/tarmap.h: Bumped the update version number.

2008-02-05 15:18  mavrik

	* tools/tarmap/tarmap.c: Ran into the 8GB limit sooner than
	expected. This patch attempts to handle binary encoded sizes, but
	it only does so up to 64-bits. In other words, only the low 8 bytes
	of the size field (which contains a total of 12 bytes) are
	processed to compute the size.

2008-02-05 13:25  mavrik

	* tools/tarmap/tarmap.h: Bumped the update version number.

2008-02-05 13:22  mavrik

	* tools/tarmap/: tarmap.c, tarmap.h: Changed ulSize to ui64Size to
	handle files with sizes greater than 4 GB. There is another
	size-related barrier at 8 GB (the default maximum size) that will
	need to be addressed at some point. Apparently, some versions of
	tar overcome the 8 GB limit by binary encoding the size.

2008-02-04 23:17  mavrik

	* tools/tarmap/tarmap.h: Bumped the update version number.

2008-02-04 23:15  mavrik

	* configure.in, tests/tarmap/common/map/Makefile.in,
	tests/tarmap/common/map/test_2/Makefile.in,
	tests/tarmap/common/map/test_2/test_harness.local: Added a test to
	ensure that 100-byte names are handled properly by tarmap. Thanks
	to Andy Bair for writing and testing the initial patch.

2008-02-04 17:43  mavrik

	* tools/tarmap/: tarmap.c, tarmap.h: Fixed a bug where names having
	a length of exactly 100 bytes weren't being handled and terminated
	properly. The faulty assumption was that each name in the tar
	header is null-terminated. However, this is not true in the case
	where the name's length is exactly 100. Thanks to Andy Bair for
	discovering and reporting this problem and for helping me test the
	patch.

2008-02-01 17:25  mavrik

	* tools/: dig/ftimes-dig2dbi.pl, map/ftimes-map2dbi.pl: Modified
	map2dbi and dig2dbi so their corresponding tables can be joined on
	the 'joiner' column, which is new in dig2dbi and a modified version
	of namemd5 in map2dbi.

2008-01-28 21:33  mavrik

	* src/support.c: Fixed a memory corruption error detected by glibc
	under Linux. The problem was that HTTPUnEscape() returns a
	length-based string (i.e., a string with no NULL terminator), and
	SupportNewListItem() was attempting to terminate that string one
	byte beyond the amount that had been allocated by malloc().

2008-01-28 14:40  mavrik

	* doc/ftimes/controls/: Exclude.pod, Include.pod: Updated the
	documentation for the Include/Exclude controls to include a
	description of the new URL-encoded format.

2008-01-28 13:35  mavrik

	* doc/ftimes/sections/NOTES.pod, src/support.c,
	tests/ftimes/common/dig/test_harness.local: Added '#' to the list
	of special characters that get URL-encoded by
	SupportNeuterString(). This was done because '#' is interpreted as
	the start of a comment in config files. Making this change will
	allow some controls (e.g., dig strings, includes, and excludes)
	that are printed in the log stream to be used directly as input in
	new config files.

2008-01-28 12:21  mavrik

	* src/: digmode.c, ftimes.h, mapmode.c, properties.c, support.c:
	Continued to refine support for URL-encoded paths as Includes or
	Excludes.

2008-01-27 01:37  mavrik

	* src/: digmode.c, ftimes.h, mapmode.c, properties.c, support.c:
	Added initial support to accept URL-encoded paths as Includes or
	Excludes. This allows the user to specify paths that would
	otherwise be difficult or impossible to do. For example, a path
	that contains a newline or some non-printable character (yes, these
	types of paths do occur). In the process of making this change, the
	FILE_LIST structure and associated code have been modified to be
	more memory efficient.	This was done by only allocating enough
	memory to hold each specified path. Previously FTIMES_MAX_PATH
	bytes were allocated for every path, which was wasteful and led to
	severe memory consumption when the number of Includes/Excludes grew
	beyond several thousand.

2008-01-21 20:25  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Changed the scope of $sFile.

2008-01-21 20:24  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Put options in alphabetical
	order.

2008-01-20 16:30  mavrik

	* tests/ftimes/common/map/test_7/test_harness.local: Added support
	for testing generic, depth-based filter expressions.

2008-01-19 23:07  mavrik

	* tests/ftimes/common/map/Makefile.in: Added test_7 sub-directory
	to enable recursion tests.

2008-01-19 23:02  mavrik

	* src/map.c: Fixed a logic error where the EnableRecursion control
	was being applied incorrectly in MapFile(). When a directory is
	specified as an include, MapFile() must call MapTree() at least
	once to process the contents of that directory. If recursion is
	disabled, the expectation is that directory contents (e.g., files)
	will be processed, but any sub-directories will not.

2008-01-19 18:00  mavrik

	* Mk/common-tests.mk.in: Added an alias for CHECK_DEBUG_LEVEL to
	save on typing when debugging tests in the test harness.

2008-01-19 17:47  mavrik

	* configure.in, tests/ftimes/test_harness.local,
	tests/ftimes/common/map/test_7/Makefile.in,
	tests/ftimes/common/map/test_7/test_harness.local: Added initial
	support for recursion testing.

2008-01-19 00:19  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added '=' as a valid
	delimiter.

2008-01-17 18:04  mavrik

	* src/map.c: Added a check to ensure that NFS3 file systems are
	treated as remote file systems under UNIX.

2008-01-17 01:29  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added compressed field names
	so the script can operate on compressed map files.

2008-01-17 00:55  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added the 'DeriveHeader'
	option to handle cases where the input file does not contain its
	own header.

2008-01-16 23:41  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added the '-I' option to
	ignore input lines that match a specified pattern.

2008-01-16 23:13  mavrik

	* tools/ftimes-xformer/ftimes-xformer: Added the '-i' option to
	ignore leading input lines.

2007-11-29 17:13  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for Veritas file systems
	(VxFS) under AIX. This requirement popped up on a forensics gig
	where we needed to map a vxfs share mounted on a AIX system: AIX
	5.2. Thanks to Jason Smith for writing and testing the initial
	patch.

2007-11-27 22:35  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for Veritas file systems
	(VxFS) under Linux. This requirement popped up on a forensics gig
	where we needed to map a vxfs share mounted on a Linux system: Red
	Hat Enterprise Linux AS release 4 (Nahant Update 3). Thanks to
	Jason Smith for writing and testing the initial patch.

2007-11-27 01:37  mavrik

	* src/analyze.c: Added logic to terminate analysis after first
	block of data (per file) if XMagic was the only type of analysis
	requested.

2007-11-26 12:51  mavrik

	* configure.in: Added ac_cv_func_malloc_0_nonnull=yes to prevent
	AC_FUNC_MALLOC from deciding that rpl_malloc() is needed on AIX
	platforms, which, in turn, causes the build to fail since that
	routine is not included in the source.

2007-11-22 11:15  mavrik

	* src/: analyze.c, ftimes.h, support.c: Added code to track and
	report the amount of time spent performing analysis (AnalysisTime).
	Reduced the divide-by-zero protection on this variable from 1
	second to 1 microsecond.

2007-11-21 17:45  mavrik

	* src/: analyze.c, ftimes.c, ftimes.h, support.c, time.c: Added
	initial support for microsecond resolution for AverageDps and
	Duration calculations.	Removed FTimesGetEpoch() and added
	TimeGetTimeValue() and TimeGetTimeValueAsDouble() in the process.

2007-11-16 12:42  mavrik

	* doc/ftimes/controls/LogDigStrings.pod,
	doc/ftimes/sections/DESCRIPTION.pod, src/digmode.c, src/ftimes.h,
	src/properties.c: Added a new control, LogDigStrings, to
	enable/disable the writing of dig strings to the log file.
	Preserving this information along side the dig output is often
	convenient and useful, but in some cases (e.g., searches for
	sensitive data), it's better to suppress it.

2007-11-13 23:41  mavrik

	* configure.in: Added ftimes-xformer to the list of additional test
	directories.

2007-11-13 23:22  mavrik

	* configure.in, Mk/common.mk.in, doc/ftimes-xformer/Makefile.in,
	tests/ftimes-xformer/Makefile.in,
	tests/ftimes-xformer/test_harness.local,
	tests/ftimes-xformer/common/Makefile.in,
	tests/ftimes-xformer/common/test_harness.local,
	tests/ftimes-xformer/common/xform/Makefile.in,
	tests/ftimes-xformer/common/xform/test_harness.local,
	tests/ftimes-xformer/common/xform/test_1/Makefile.in,
	tests/ftimes-xformer/common/xform/test_1/test_harness.local,
	tools/ftimes-xformer/Makefile.in,
	tools/ftimes-xformer/ftimes-xformer: Added ftimes-xformer to the
	project. The purpose of this utility is to transform FTimes data
	based on user-specified input.

2007-11-13 17:16  mavrik

	* Mk/common-src-perl.mk.in, configure.in: Added
	common-src-perl.mk.in to the project. The purpose of this template
	is to hold common Makefile guts for perl-script tools.

2007-11-07 12:06  mavrik

	* tools/hashdig/hashdig-resolve-sunsolve.pl: Added a User-Agent
	field to the HTTP request header. This was needed to get
	sunsolve.sun.com to return data for each query. In the past, the
	queries worked fine, so Sun must have recently changed something in
	their environment and/or configuration.

2007-11-04 23:42  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for the Compressed ROM
	File System (CRAMFS) under Linux.

2007-11-04 23:25  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for the Journaled File
	System (JFS) under Linux.

2007-10-12 13:29  mavrik

	* src/ftimes.c: Added code to free the memory associated with
	pcNonce.

2007-10-12 13:25  mavrik

	* src/cmpmode.c: Changed all instances of pcCmpProperties to
	psCmpProperties. The former variable type, 'pc' (which means
	pointer to a character), was not correct.

2007-10-12 11:24  mavrik

	* src/compare.c: Reviewed how memory is being allocated and freed.
	Made adjustments and added comments as necessary.

2007-10-11 15:38  mavrik

	* src/support.c: Modified the code such that the average DPS is
	only reported if FTimes is in map or dig mode.

2007-10-11 13:29  mavrik

	* src/: cmpmode.c, compare.c, compare.h, ftimes.c, ftimes.h,
	sys-includes.h: Added initial support for using memory mapped files
	in conjunction with compare mode. This should help systems with low
	memory (e.g., less than 128 MB) or systems that must run many large
	(e.g., more than 1 million records) compare jobs concurrently
	(e.g., more than 20).  However, this feature is disabled by
	default. To activate it, the user must define the
	FTIMES_MMAP_ENABLE environment variable and set it to '1'. When
	active, the backing file will be created in a temporary directory
	that corresponds to the value of TMPDIR (TEMP for WIN32). If this
	environment variable is not defined, the logic attempts to use the
	value of TMP (all platforms). If a suitable environment variable is
	still not found, the temporary directory defaults to /tmp (\temp
	for WIN32).

2007-10-07 12:37  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for the Zettabyte File
	System (ZFS) under Solaris 10.

2007-08-31 21:23  mavrik

	* doc/ftimes/controls/ExcludeFilterSha256.pod,
	doc/ftimes/controls/IncludeFilterSha256.pod,
	doc/ftimes/sections/DESCRIPTION.pod, etc/mapfull.cfg.sample,
	etc/maplean.cfg.sample, src/develop.c, src/ftimes.h, src/mapmode.c,
	src/properties.c: Added initial support for include/exclude SHA256
	filters via PCRE.

2007-08-31 15:32  mavrik

	* src/: xmagic.c, xmagic.h: Added a missing USE_PCRE #ifdef and
	moved a variable that was in the wrong location.

2007-08-31 15:18  mavrik

	* configure.in: Added '-lws2_32' and '-lgdi32' to LIBS for MinGW.
	Both of these were required to eliminate a number of "undefined
	reference" errors when compiling with both PCRE and SSL enabled.
	The errors removed by '-lgdi32' were tied to rand_win.c from
	libcrypto.a. The errors removed by '-lws2_32' were tied to
	bss_sock.c from libcrypto.a. See below for the relevant bits of the
	error messages.
	
	  ... bss_sock.c: undefined reference to 'shutdown@8'
	  ... bss_sock.c: undefined reference to 'WSASetLastError@4'
	  ... bss_sock.c: undefined reference to 'WSASetLastError@4'
	  ... bss_sock.c: undefined reference to 'shutdown@8'
	  ... rand_win.c: undefined reference to 'CreateDCA@16'
	  ... rand_win.c: undefined reference to 'CreateCompatibleDC@4'
	  ... rand_win.c: undefined reference to 'GetDeviceCaps@8'
	  ... rand_win.c: undefined reference to 'GetDeviceCaps@8'
	  ... rand_win.c: undefined reference to
	'CreateCompatibleBitmap@12'
	  ... rand_win.c: undefined reference to 'SelectObject@8'
	  ... rand_win.c: undefined reference to 'GetObjectA@12'
	  ... rand_win.c: undefined reference to 'BitBlt@36'
	  ... rand_win.c: undefined reference to 'GetBitmapBits@12'
	  ... rand_win.c: undefined reference to 'SelectObject@8'
	  ... rand_win.c: undefined reference to 'DeleteObject@4'
	  ... rand_win.c: undefined reference to 'DeleteDC@4'

2007-08-29 23:48  mavrik

	* configure.in: Changed the --enable-xmagic configure option to
	--disable-xmagic so that XMagic support is included by default.

2007-08-29 23:46  mavrik

	* Makefile.vs: Changed the default value for USE_XMAGIC to 'Y' so
	that XMagic support is included by default.

2007-08-29 23:10  mavrik

	* doc/ftimes/controls/ExcludeFilterSha1.pod,
	doc/ftimes/controls/IncludeFilterSha1.pod,
	doc/ftimes/sections/DESCRIPTION.pod, etc/mapfull.cfg.sample,
	etc/maplean.cfg.sample, src/develop.c, src/ftimes.h, src/mapmode.c,
	src/properties.c: Added initial support for include/exclude SHA1
	filters via PCRE.

2007-08-29 23:08  mavrik

	* Makefile.vs: Added '/D _CRT_SECURE_NO_DEPRECATE' in an attempt to
	eliminate a number of deprecation warnings that appear when
	compiling with Visual Studio 8.0.50727.42.

2007-08-29 22:28  mavrik

	* src/develop.c: Adjusted several format statements and casts in an
	attempt to eliminate MinGW compiler warnings without affecting the
	native Windows build. One thing to note is that MinGW does not like
	%I64x, but it seems to be OK with %I64u. Removed several unused
	variables.

2007-08-29 22:21  mavrik

	* src/analyze.c: The (unsigned long long) cast worked for the
	target AMD 64-bit system, but it broke the native Windows build,
	which worked fine with either no cast or a (K_UINT64) cast.
	However, the native Windows build would not work with the (unsigned
	long long) cast. For now, it's not critical to include the start
	offset in the error message, so it has been removed.

2007-08-29 17:24  mavrik

	* src/analyze.c: Added a cast to prevent a compiler warning. The
	specific warning was: "warning: long long unsigned int format,
	K_UINT64 arg (arg 5)". This warning was generated by gcc 3.4.4
	running on a FreeBSD 6.2 system (64-bit AMD).

2007-08-29 16:46  mavrik

	* doc/ftimes/controls/: AnalyzeByteCount.pod, AnalyzeMaxDps.pod,
	AnalyzeStartOffset.pod, ExcludeFilterMd5.pod, IncludeFilterMd5.pod:
	Added a note stating the FTimes release when this control was
	officially introduced/supported.

2007-08-29 14:30  mavrik

	* doc/ftimes/controls/AnalyzeByteCount.pod,
	doc/ftimes/sections/DESCRIPTION.pod, etc/digfull.cfg.sample,
	etc/diglean.cfg.sample, etc/mapfull.cfg.sample,
	etc/maplean.cfg.sample, src/analyze.c, src/ftimes.h,
	src/properties.c: Added initial support for specifying a byte
	count. This capability is useful in situations where analysis
	activities need to stop once the specified number of bytes have
	been processed.

2007-08-29 11:42  mavrik

	* configure.in, doc/ftimes/controls/AnalyzeStartOffset.pod,
	doc/ftimes/sections/DESCRIPTION.pod, etc/digfull.cfg.sample,
	etc/diglean.cfg.sample, etc/mapfull.cfg.sample,
	etc/maplean.cfg.sample, src/analyze.c, src/develop.c, src/dig.c,
	src/dig.h, src/ftimes.h, src/properties.c, src/support.c: Added
	initial support for specifying a start offset. This capability is
	useful in situations where analysis activities need to begin at a
	nonzero offset. For block and character device files, this
	capability should be treated as experimental until all of the
	system-specific issues have been worked out and more testing can be
	done. The main concerns, at this point, are seeking to very large
	offsets and seeking to offsets that do not fall on a block
	boundary.

2007-08-29 11:36  mavrik

	* doc/ftimes/controls/DigStringRegExp.pod: Added a note that
	embedded white space is not allowed in the regular expression.

2007-08-27 18:39  mavrik

	* src/app-includes.h: Added several defines to prevent a compiler
	warning. The specific warning was: "The POSIX name for this item is
	deprecated. Instead, use the ISO C++ conformant name: ...". This
	warning was generated by Visual Studio 8.0.50727.42 on a Windows XP
	SP2 system. So far, this change appears to be backwards compatible
	with Visual Studio 6.0.

2007-08-27 15:12  mavrik

	* src/decode.c: Moved the declaration of a variable to eliminate an
	"unused variable" warning that appears when compiling under MinGW.

2007-08-27 11:02  mavrik

	* doc/ftimes/controls/AnalyzeMaxDps.pod,
	doc/ftimes/sections/DESCRIPTION.pod, etc/digfull.cfg.sample,
	etc/diglean.cfg.sample, etc/mapfull.cfg.sample,
	etc/maplean.cfg.sample, src/analyze.c, src/ftimes.h,
	src/properties.c, src/support.c: Added initial support for
	throttling the Data Processing Speed (DPS).  This capability is
	useful for systems that are sensitive to the load imposed by
	running FTimes on a periodic basis.

2007-08-22 21:32  mavrik

	* tools/hashdig/hashdig-resolve-sunsolve.pl: Added the '-c' option
	to allow the user to specify a block count less than 256. This may
	help in situations where Sun's online database appears to be
	sluggish or is having difficulty answering requests containing 256
	hashes. I have noticed this behavior recently. In particular, it
	can take tens of seconds for the server to respond to a request of
	256 known hashes, and the resulting output can contain a fair
	amount of data (roughly 350-1700 KB). In some cases, the connection
	is closed/broken or the response contains no body.

2007-08-22 18:55  mavrik

	* tools/hashdig/hashdig-resolve-sunsolve.pl: Modified diagnostic
	messages to reflect the check that is currently being performed.

2007-08-18 09:24  mavrik

	* tools/hashdig/README: Updated Sun's online fingerprint database
	URL path. Thanks to Nick Manos for reporting that the old path is
	no longer valid.

2007-08-18 00:31  mavrik

	* tools/hashdig/hashdig-resolve-sunsolve.pl: Added more logic to
	BlockIsGood() to determine if output files are good. Now, if an
	output file has a nonzero size, it must contain at least one valid
	hash record to be considered good. This logic was added because
	some requests were partially filling the output files, but they
	were missing valid content.

2007-08-17 23:33  mavrik

	* tools/hashdig/hashdig-resolve-sunsolve.pl: Changed the POST path
	from /pub-cgi/fileFingerprints.pl to /fileFingerprints.do. Thanks
	to Nick Manos for reporting that the old path is no longer valid.

2007-08-04 22:48  mavrik

	* src/mapmode.c: Added a dependency check to ensure that the MD5
	attribute is set when include/exclude MD5 filters are active. If
	this is not done, the user would get unexpected output since the
	filtering logic would never get executed.

2007-07-31 21:23  mavrik

	* doc/ftimes/controls/ExcludeFilterMd5.pod,
	doc/ftimes/controls/IncludeFilterMd5.pod,
	doc/ftimes/sections/DESCRIPTION.pod, etc/mapfull.cfg.sample,
	etc/maplean.cfg.sample, src/develop.c, src/error.h, src/ftimes.h,
	src/map.c, src/mapmode.c, src/properties.c: Added initial support
	for include/exclude MD5 filters via PCRE.

2007-05-24 20:39  mavrik

	* src/: xmagic.c, xmagic.h: Added initial support for various
	combinations of relative and indirect offsets. Now, the following
	offset expressions are supported: 'offset', '&offset', '(offset)',
	'&(offset)', '(&offset)', and '&(&offset)'. Previously, only
	'offset', '&offset', and '(offset)' were supported.

2007-05-24 01:51  mavrik

	* tests/ftimes/common/dig/: test_harness.local,
	test_4/test_harness.local: Added tests to check the warp logic and
	operators for indirect offsets.

2007-05-24 01:20  mavrik

	* src/xmagic.c: Fixed a paste-o. This problem was discovered while
	attempting to devise XMagic tests for the test harness.

2007-05-24 01:18  mavrik

	* utils/test_harness: Modified code to sort numerically.

2007-05-23 17:56  mavrik

	* src/xmagic.c: Added masks for 32-bit values even though they
	weren't strictly needed under the current implementation. Updated
	the in-line comments for all similar masks. These changes were made
	to keep things consistent.

2007-05-23 00:53  mavrik

	* src/: xmagic.c, xmagic.h: Replaced all instances of iOperator
	with iTestOperator to clarify the purpose of the variable.
	Additionally, a similar replacement was made for the
	XMAGIC_OPERATORS enum in the header file.

2007-05-23 00:42  mavrik

	* src/: xmagic.c, xmagic.h: Replaced all instances of ui32Type with
	iType as a matter of preference and consistency.

2007-05-22 17:47  mavrik

	* src/xmagic.c: Removed an extra argument.

2007-05-22 17:37  mavrik

	* src/: xmagic.c, xmagic.h: Added initial support for simple warp
	transformations in indirect offsets. This is an extension of the
	old +/- logic. The following operators are now supported: '%', '&',
	'*', '+', '-', '/', '<', '>', '^', and '|'.  Due to the restriction
	that the operator be a single character, the the left- and
	right-shift operators were abbreviated as '<' and '>',
	respectively.

2007-05-21 15:50  mavrik

	* configure.in, tests/test_harness.local,
	tests/ftimes/common/dig/Makefile.in,
	tests/ftimes/common/dig/test_harness.local,
	tests/ftimes/common/dig/test_4/Makefile.in,
	tests/ftimes/common/dig/test_4/test_harness.local,
	utils/test_windows.bat: Added several dig tests to the test
	harness. These tests were designed to check various XMagic
	incantations and capabilities. In particular, some tests were
	specifically included to check the new warp logic and operators.

2007-05-21 14:41  mavrik

	* src/xmagic.c: Added checks to ensure the left- and right-shift
	values are in the range [0-31]. Shifting a 32-bit number by a value
	outside this range is not allowed. This problem was discovered
	while attempting to devise XMagic tests for the test harness.

2007-05-21 12:02  mavrik

	* src/xmagic.c: Added masks to keep byte and short values from
	exceeding the allowed range for the type. The new warp operations
	made this change necessary since each value is actually stored in a
	32-bit variable. For example, shifting a byte value of 1 to the
	left by 8 bits should produce a new byte value of 0. However, since
	the value was stored as a 32-bit variable, the new value was
	actually 256. This problem was discovered while attempting to
	devise XMagic tests for the test harness.

2007-05-21 11:46  mavrik

	* src/xmagic.c: Added a check to ensure that a modulus of zero is
	not allowed as it would cause a divide by zero error. This problem
	was discovered while attempting to devise XMagic tests for the test
	harness.

2007-05-21 09:35  mavrik

	* src/xmagic.c: Added a FIXME reminder.

2007-05-19 01:32  mavrik

	* src/: xmagic.c, xmagic.h: Added initial support for simple warp
	transformations. This is an extension of the old mask logic, which
	would perform a bitwise AND on the value before testing it. The
	following operators are now supported for integers: '%', '&', '*',
	'+', '-', '/', '<', '>', '^', and '|'.	Due to the restriction that
	the operator be a single character, the the left- and right-shift
	operators were abbreviated as '<' and '>', respectively.

2007-05-18 21:47  mavrik

	* src/analyze.c: Fixed a bug where the incorrect value was being
	returned on error.

2007-05-18 20:05  mavrik

	* tests/ftimes-crv2raw/common/carve/test_harness.local: Fixed the
	test harness to match the changes that were applied to revision 1.8
	of ftimes-crv2raw.pl.

2007-05-01 23:23  mavrik

	* tools/map/ftimes-map2dbi.pl: Fixed an incorrect index name.

2007-05-01 11:56  mavrik

	* tools/dig/ftimes-crv2raw.pl: Put MD5 and SHA1 fields in the
	proper order.

2007-04-18 13:03  mavrik

	* tools/dig/ftimes-crv2raw.pl: Enabled binmode() for RAW/OUT file
	handles to support WIN32 platforms.

2007-04-14 16:22  mavrik

	* src/ftimes.h: Removed the alpha designator.

2007-04-14 16:10  mavrik

	* src/properties.c: Relaxed the requirement that imported config
	files must exist -- under the old logic, the program would abort if
	they didn't. By making this allowance, an admin can (more easily)
	create a generic config file that spans multiple clients or an
	entire FTimes deployment.

2007-04-14 15:42  mavrik

	* Mk/common-tests.mk.in: Synchronized common-tests.mk.in with
	revision 1.8 of the same in The WebJob Project.

2007-04-14 15:35  mavrik

	* README.INSTALL: Fixed a paste-o.

2007-03-26 12:37  mavrik

	* utils/test_harness: Synchronized test_harness with revision 1.12
	of the same in The WebJob Project.

2007-03-22 23:09  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for the NTFS3G file
	system under UNIX. This change was made in response to an anonymous
	feature request (SF-Tracker/Feature Requests/1672565). Thanks to
	Jason Smith for writing and testing the initial patch.

2007-02-22 19:39  mavrik

	* Mk/common.mk.in: Removed INDENT-related macros, and simplified
	the {SUBDIR,TARGET}_MAKE and {SUBDIR,TARGET}_TRACE macros. The
	extra commands were overkill.

2007-02-22 19:34  mavrik

	* README.INSTALL: Added more details to the Requirements section,
	and included some new gotchas.

2007-02-22 19:22  mavrik

	* Makefile.in, Makefile.vs, README.LICENSE, cgi/Makefile.in,
	cgi/nph-ftimes.cgi, etc/Makefile.in, src/all-includes.h,
	src/analyze.c, src/app-includes.h, src/cfgtest.c, src/cmpmode.c,
	src/compare.c, src/compare.h, src/decode.c, src/decode.h,
	src/decoder.c, src/develop.c, src/dig.c, src/dig.h, src/digmode.c,
	src/error.c, src/error.h, src/fsinfo.c, src/fsinfo.h, src/ftimes.c,
	src/ftimes.h, src/getmode.c, src/http.c, src/http.h, src/ktypes.h,
	src/map.c, src/mapmode.c, src/mask.c, src/mask.h, src/md5.c,
	src/md5.h, src/message.c, src/message.h, src/properties.c,
	src/sha1.c, src/sha1.h, src/sha256.c, src/sha256.h, src/socket.c,
	src/socket.h, src/ssl-pool.h, src/ssl.c, src/ssl.h, src/support.c,
	src/sys-includes.h, src/time.c, src/url.c, src/xmagic.c,
	src/xmagic.h, tools/dig/Makefile.in, tools/dig/ftimes-crv2dbi.pl,
	tools/dig/ftimes-crv2raw.pl, tools/dig/ftimes-dig2ctx.pl,
	tools/dig/ftimes-dig2dbi.pl, tools/dig/hipdig.pl,
	tools/hashdig/Makefile.in, tools/hashdig/hashdig-bash.pl,
	tools/hashdig/hashdig-bind.pl, tools/hashdig/hashdig-dump.pl,
	tools/hashdig/hashdig-filter.pl, tools/hashdig/hashdig-find.pl,
	tools/hashdig/hashdig-harvest-sunsolve.pl,
	tools/hashdig/hashdig-harvest.pl, tools/hashdig/hashdig-make.pl,
	tools/hashdig/hashdig-resolve-sunsolve.pl,
	tools/hashdig/hashdig-stat.pl, tools/hashdig/hashdig-weed.pl,
	tools/lrs/pool2string.c, tools/lrs/string2pool.c,
	tools/map/Makefile.in, tools/map/ftimes-cmp2dbi.pl,
	tools/map/ftimes-map2dbi.pl, tools/map/ftimes-map2mac.pl,
	tools/tarmap/all-includes.h, tools/tarmap/tarmap.c,
	tools/tarmap/tarmap.h, utils/test_harness, utils/tree_builder:
	Updated copyright information.

2007-02-22 19:12  mavrik

	* Makefile.in, Mk/common-subdir.mk.in: Adopted the "end-of-list"
	fix from the corresponding files in The WebJob Project.

2007-02-22 19:06  mavrik

	* README.STYLE: Synchronized README.STYLE with revision 1.5 of the
	same in The WebJob Project.

2007-02-22 19:00  mavrik

	* Makefile.in: Collapsed SUBDIRS to a single line. This will make
	it easier to modify the list with sed(1) when cutting/testing
	releases.

2007-01-02 18:11  mavrik

	* doc/README: Modified README to reflect the current build process.

2007-01-02 17:44  mavrik

	* tools/Makefile.in: Modified Makefile to use the common Makefile
	guts found in common-subdir.mk.

2007-01-02 17:34  mavrik

	* configure.in, Mk/common-doc-c.mk.in, Mk/common-doc-perl.mk.in,
	Mk/common-docs-perl.mk.in, Mk/common-subdir.mk.in, doc/Makefile.in,
	doc/ftimes/Makefile, doc/ftimes/Makefile.in,
	doc/ftimes-cmp2dbi/Makefile, doc/ftimes-cmp2dbi/Makefile.in,
	doc/ftimes-crv2dbi/Makefile, doc/ftimes-crv2dbi/Makefile.in,
	doc/ftimes-crv2raw/Makefile, doc/ftimes-crv2raw/Makefile.in,
	doc/ftimes-dig2ctx/Makefile, doc/ftimes-dig2ctx/Makefile.in,
	doc/ftimes-dig2dbi/Makefile, doc/ftimes-dig2dbi/Makefile.in,
	doc/ftimes-map2dbi/Makefile, doc/ftimes-map2dbi/Makefile.in,
	doc/ftimes-map2mac/Makefile, doc/ftimes-map2mac/Makefile.in,
	doc/hashdig-bash/Makefile, doc/hashdig-bash/Makefile.in,
	doc/hashdig-bind/Makefile, doc/hashdig-bind/Makefile.in,
	doc/hashdig-dump/Makefile, doc/hashdig-dump/Makefile.in,
	doc/hashdig-filter/Makefile, doc/hashdig-filter/Makefile.in,
	doc/hashdig-find/Makefile, doc/hashdig-find/Makefile.in,
	doc/hashdig-harvest/Makefile, doc/hashdig-harvest/Makefile.in,
	doc/hashdig-harvest-sunsolve/Makefile,
	doc/hashdig-harvest-sunsolve/Makefile.in,
	doc/hashdig-make/Makefile, doc/hashdig-make/Makefile.in,
	doc/hashdig-resolve-sunsolve/Makefile,
	doc/hashdig-resolve-sunsolve/Makefile.in,
	doc/hashdig-stat/Makefile, doc/hashdig-stat/Makefile.in,
	doc/hashdig-weed/Makefile, doc/hashdig-weed/Makefile.in,
	doc/hipdig/Makefile, doc/hipdig/Makefile.in, doc/tarmap/Makefile,
	doc/tarmap/Makefile.in: Added initial configure/build support for
	automatically creating documentation at build time (rather than
	release time). Note that this change will likely break some build
	environments out there. To ease this transitional problem, consider
	adding a configure option to disable the building of documents.

2007-01-01 22:52  mavrik

	* configure.in, Mk/common-macros.mk.in, Mk/common.mk.in: Removed
	common-macros.mk.in from the project, and moved its contents to
	common.mk.in. This was done because there's not enough difference
	between the two templates to justify maintaining both.

2007-01-01 22:47  mavrik

	* configure.in, Mk/common-macros.mk.in, Mk/common-src-c.mk.in,
	Mk/common.mk.in, src/Makefile.in: Added common Makefile guts for
	gcc-compiled tools, and modified src/Makefile.in to use them.

2007-01-01 16:55  mavrik

	* src/properties.c: Fixed a bug where various pointers/arrays could
	be indexed to the left of their initial pointer value or with an
	index value of -1. The purpose of the logic, in each case, was to
	remove trailing whitespace.  The problem was that the string being
	tested could be empty.	Therefore, checks were added to ensure that
	the string's length is greater than zero before computing an index.
	This bug caused 64-bit FreeBSD, Linux, and Solaris builds to dump
	core when the config file contained the following entry (note the
	empty value):
	
	  Exclude=
	
	Actually, the problem was not limited to the Exclude control. When
	these control values were empty, the pc pointer/array was being
	indexed with a value of -1. An example of the affected code would
	be something like this:
	
	  pcEnd = &pc[iLength - 1];
	
	where iLength was set to 0. Based on limited testing, this problem
	does not appear to affect 32-bit builds for FreeBSD, Linux,
	Solaris, or Windows. Thanks to Jason Smith for discovering and
	reporting this problem and for helping me test the patch.

2007-01-01 14:17  mavrik

	* src/map.c: Added a check to ensure that SMB file systems are
	treated as remote file systems under UNIX. Thanks to Jason Smith
	for writing and testing the initial patch.

2007-01-01 14:12  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for Universal Disk Format
	file systems (UDF) under MacOS X (and the BSD's by extension).

2007-01-01 12:18  mavrik

	* tools/hashdig/hashdig-harvest.pl: Added missing quotes around
	SHA256.

2006-10-03 23:14  mavrik

	* tools/hashdig/: README, hashdig-bind.pl, hashdig-find.pl,
	hashdig-harvest.pl, hashdig-make.pl, hashdig-stat.pl,
	hashdig-weed.pl: Added initial support for SHA256 hashes to HashDig
	utilities.

2006-10-03 18:52  mavrik

	* Mk/common-macros.mk.in,
	tests/tarmap/common/map/test_1/Makefile.in,
	tests/tarmap/common/map/test_1/test_harness.local,
	tools/tarmap/all-includes.h, utils/test_windows.bat: Replaced dummy
	test with a real, but very basic, test. Fixed other nits and bits
	required to get the tarmap portion of the test harness working on
	FreeBSD, Linux, Solaris, and Windows.

2006-10-03 00:08  mavrik

	* configure.in, doc/Makefile.in, doc/ftimes-crv2dbi/Makefile,
	tools/dig/Makefile.in, tools/dig/ftimes-crv2dbi.pl: Added
	ftimes-crv2dbi.pl to the project. The purpose of this tool is to
	preprocess FTimes carve data for MySQL DB import.

2006-10-02 19:50  mavrik

	* tools/dig/ftimes-dig2dbi.pl: Added a missing index keyword.

2006-10-02 11:09  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for a DataPlow file
	system (DATAPLOW_ZFS) under Windows.  This file system is used on
	the NETGEAR SC101 NAS appliance. The drive was attached to a
	Windows XP System: Windows NT 5.1 Build 2600 Service Pack 2. Thanks
	to Jason Smith for writing and testing the initial patch.

2006-10-01 18:58  mavrik

	* src/: fsinfo.c, fsinfo.h: Put file systems in alphabetical order
	-- except for UNSUPPORTED, which must be first.

2006-10-01 08:49  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for NetWare Compatible
	file systems (NWCOMPAT) under Windows. This requirement popped up
	on a forensics gig where we needed to map a NetWare 4.11 share
	mounted on a Windows XP system: Windows NT 5.1 Build 2600 Service
	Pack 2. Thanks to Jason Smith for writing and testing the initial
	patch.

2006-09-18 11:31  mavrik

	* doc/baselining/baselining.tex: Committed final edits for version
	1.3.

2006-09-17 08:56  mavrik

	* doc/baselining/baselining.tex: Incorporated version 1.3 feedback
	from Dave Bailey.

2006-09-17 08:38  mavrik

	* doc/baselining/: baselining.sty, baselining.tex: Whitespace
	cleanup.

2006-09-15 14:46  mavrik

	* utils/tree_builder: Added '-M' option to disable map output. This
	allows someone to use the script even if they don't have
	Digest::{MD5,SHA1} installed on their system. This change required
	a switch from functional to object-oriented code. Also, this option
	is incompatible with the '-n' option.

2006-09-15 13:09  mavrik

	* utils/tree_builder: Swapped 'sha1' and 'md5' field order.

2006-09-14 16:33  mavrik

	* doc/baselining/: FTimes-Scroll-250x127-deb887.jpg, Makefile:
	Added missing files that are required to build baselining.pdf
	and/or baselining-screen.pdf.

2006-09-14 16:00  mavrik

	* doc/baselining/baselining.tex: Updated the document version to
	1.3.

2006-09-14 15:57  mavrik

	* doc/baselining/: baselining.bib, baselining.tex: Performed a full
	review of the paper. Modified and added content as required to
	bring the paper up to date.
	
	Replaced \href macros with \url macros as they no longer work with
	some of the links. Apparently, the links in question were too long.

2006-09-14 15:16  mavrik

	* doc/baselining/baselining.sty: Updated screen layout section and
	added a comment that explains how to switch between screen and
	print layouts.

2006-09-14 15:13  mavrik

	* doc/baselining/baselining.sty: Replaced fancyheadings with
	fancyhdr as the latter appears to be more current.

2006-09-10 11:50  mavrik

	* src/decode.c: Modified the way the time argument is passed to
	TimeFormatTime(). This was done in an attempt to fix a bug on
	Solaris 64-bit builds that caused ftimes to dump core. The strange
	thing with this bug was that the value passed to TimeFormatTime()
	was valid outside the routine, but inside the routine, it was
	invalid. In fact, it was zero, and this is what caused gmtime() to
	fail. It is not clear, if this fix actually resolved the root
	problem or not -- it may have only displaced it.  Thanks to Jason
	Smith for discovering and reporting this problem and for helping me
	test the patch.

2006-09-08 12:20  mavrik

	* src/xmagic.c: Added a check to ensure that the head node in the
	XMagic tree is a level zero test. Without this, the tree could end
	up with a child test (i.e., level one or higher) assigned to the
	head node, which is invalid since all child tests must have a
	parent. In the case of a relative child test, this situation would
	result in a core dump since XMagicGetValueOffset() would attempt to
	calculate its value using a NULL parent pointer. Thanks to Andy
	Bair for reporting this issue and writing the initial patch.

2006-09-08 09:54  mavrik

	* doc/tarmap/sections/DESCRIPTION.pod: Swapped 'sha1' and 'md5'
	field order.

2006-09-07 16:00  mavrik

	* src/digmode.c: Added a cast to prevent a 64-bit compiler warning.

2006-09-07 15:51  mavrik

	* tools/tarmap/tarmap.h: Bumped minor version number.

2006-09-07 15:46  mavrik

	* tools/tarmap/tarmap.c: Finished doing what should have been done
	in the previous commit.

2006-09-07 15:29  mavrik

	* config.guess, config.sub, configure.in, install-sh,
	utils/config.guess, utils/config.sub, utils/install-sh: Relocated
	config.guess, config.sub, and install-sh to the utils directory.

2006-09-07 15:17  mavrik

	* src/develop.c: Reworked the ER_NullFields output to eliminate the
	trailing comma.

2006-09-07 14:31  mavrik

	* src/ftimes.h: Bumped minor version number, and added alpha
	designator.

2006-09-07 12:45  mavrik

	* src/xmagic.c: Relocated a malloc() to prevent a memory leak.

2006-09-07 10:52  mavrik

	* src/: compare.c, compare.h, ftimes.h: Fixed a bug that was
	exposed by the test harness during testing of the new hash ordering
	(i.e., MD5 first). The problem was that CompareDecodeLine() was
	using the baseline's field mask (ulFieldMask) rather than its
	lookup table (aiIndex2Map) to determine slots in the ppcFields
	array. In other words, the slots were derived from the bit position
	of a given field in the mask. Therefore, a reversal of two fields,
	say 'md5' and 'sha1', would cause the values for those fields to be
	stored in the wrong slots. Since the hash ordering for legacy
	versions is SHA1 followed by MD5, comparing a current snapshot to a
	legacy snapshot with the same fields would result in MD5s being
	compared to SHA1s and vice-versa. This problem was not restricted
	to the hash fields as can be demonstrated by the following example:
	
	  --- snapshot_old ---
	  name|uid|gid
	  "foo"|10|100
	  --- snapshot_old ---
	
	  --- snapshot_new ---
	  name|gid|uid
	  "foo"|100|10
	  --- snapshot_new ---
	
	Running ftimes 3.7.0 as shown below yields the expected results
	(i.e., no changes):
	
	  $ ftimes --compare all snapshot_old snapshot_new -l 6
	  category|name|changed|unknown
	
	but running it this way triggers the bug:
	
	  $ ftimes --compare all snapshot_new snapshot_old -l 6
	  category|name|changed|unknown
	  C|"foo"|uid,gid|
	
	In the second case, snapshot_new is the baseline, which means that
	its records are processed by CompareDecodeLine(). Since its 'uid'
	and 'gid' fields are reversed with respect to the bits in the field
	mask, the 'uid' and 'gid' slots were filled with the values 100 and
	10, respectively.

2006-09-06 22:37  mavrik

	* doc/ftimes/controls/FieldMask.pod, src/decode.c, src/develop.c,
	src/map.c, src/mask.c, src/mask.h, tools/dig/ftimes-crv2raw.pl,
	tools/hashdig/README, tools/map/ftimes-cmp2dbi.pl,
	tools/map/ftimes-map2dbi.pl, tools/tarmap/tarmap.c: Updated the
	hash order such that the MD5 field is first.

2006-09-06 13:17  mavrik

	* tools/hashdig/README: Updated README to include the new sha256
	field.

2006-09-06 13:16  mavrik

	* tools/map/: ftimes-cmp2dbi.pl, ftimes-map2dbi.pl: Updated script
	to use the new sha256 field.

2006-09-06 12:51  mavrik

	* configure.in, doc/ftimes/controls/FieldMask.pod, src/analyze.c,
	src/decode.c, src/decode.h, src/develop.c, src/ftimes.h, src/map.c,
	src/mask.c, src/mask.h, tests/ftimes/common/map/Makefile.in,
	tests/ftimes/common/map/test_harness.local,
	tests/ftimes/common/map/test_5/Makefile.in,
	tests/ftimes/common/map/test_5/test_harness.local,
	tests/ftimes/common/map/test_6/Makefile.in,
	tests/ftimes/common/map/test_6/test_harness.local,
	utils/test_windows.bat: Added map mode support for SHA256 hashes.

2006-09-05 11:49  mavrik

	* src/: ftimes.h, map.c, url.c: Replaced all instances of FTIMEX
	with FTIMES. The incorrect value was introduced in the 3.3.0
	release.

2006-09-05 11:40  mavrik

	* src/: decode.c, digmode.c, mapmode.c: Renamed several incorrectly
	named variables.

2006-09-05 11:34  mavrik

	* src/analyze.c, src/decode.c, src/develop.c, src/digmode.c,
	src/mapmode.c, tools/tarmap/all-includes.h: Modified the code to
	utilize the new HashToHex and HashToBase64 routines. The main
	reasons for this change are to reduce the amount of duplicate code,
	standardize the way hash values are formatted, and make the process
	of adding additional hash types easier.

2006-09-05 10:44  mavrik

	* src/: sha256.c, sha256.h: Added SHA256HashTo{Hex,Base64}()
	conversion routines. Note that the HashToHex routine operates on
	32-bit words, which gives it significantly better performance over
	the traditional byte-oriented, for-loop approach. However, this
	implementation does introduce a dependency on htonl() and its
	associated include files. It's not clear if that will cause
	portability problems or not. The main concerns, going forward, are
	byte ordering and word sizes.

2006-09-05 10:42  mavrik

	* src/: sha1.c, sha1.h: Added SHA1HashTo{Hex,Base64}() conversion
	routines. Note that the HashToHex routine operates on 32-bit words,
	which gives it significantly better performance over the
	traditional byte-oriented, for-loop approach. However, this
	implementation does introduce a dependency on htonl() and its
	associated include files. It's not clear if that will cause
	portability problems or not. The main concerns, going forward, are
	byte ordering and word sizes.

2006-09-05 10:39  mavrik

	* src/: md5.c, md5.h: Added MD5HashTo{Hex,Base64}() conversion
	routines. Note that the HashToHex routine operates on 32-bit words,
	which gives it significantly better performance over the
	traditional byte-oriented, for-loop approach. However, this
	implementation does introduce a dependency on htonl() and its
	associated include files. It's not clear if that will cause
	portability problems or not. The main concerns, going forward, are
	byte ordering and word sizes.

2006-09-04 23:08  mavrik

	* tools/tarmap/all-includes.h: Added missing include files (ctype.h
	and stdarg.h). These files are required for compiling tarmap on
	Solaris 7 platforms.

2006-09-03 12:31  mavrik

	* src/mask.h: Fixed alignment of field mask defines.

2006-09-03 12:29  mavrik

	* doc/ftimes/controls/FieldMask.pod, src/mask.c, src/mask.h: Added
	initial support for group fields (e.g., none+hashes).

2006-09-03 09:31  mavrik

	* src/map.c: Fixed up comments and vertical spacing in the various
	Have_Nothing cases.

2006-09-03 09:25  mavrik

	* src/map.c: Added a filter to remove "." and ".." from being
	developed in the Have_Nothing case for MapTree().

2006-09-03 09:03  mavrik

	* src/: develop.c, ftimes.h: Added DevelopHaveNothingOutput() to
	handle the case where UNIX or Windows platforms are unable to
	harvest any attributes for a given file. This fixes a long standing
	lstat() failure issue with UNIX implementations where bogus file
	attributes were being developed based on an uninitialized stat
	structure. Thanks to Jason Smith for discovering and reporting this
	problem.

2006-09-02 14:13  mavrik

	* src/decode.c: Fixed minor nits and bits.

2006-08-30 01:49  mavrik

	* src/map.c: Added additional MEMORY_FREE()s to stop a memory leak.

2006-08-30 00:57  mavrik

	* src/map.c: Added a missing variable declaration.

2006-08-29 15:55  mavrik

	* doc/ftimes/controls/ExcludeFilter.pod,
	doc/ftimes/controls/IncludeFilter.pod,
	doc/ftimes/sections/DESCRIPTION.pod, etc/digfull.cfg.sample,
	etc/diglean.cfg.sample, etc/mapfull.cfg.sample,
	etc/maplean.cfg.sample, src/ftimes.h, src/map.c, src/properties.c,
	src/support.c: Added initial support for include/exclude filters
	via PCRE.

2006-08-29 15:45  mavrik

	* doc/ftimes/controls/Exclude.pod: Fixed an incorrect statement.

2006-08-29 12:23  mavrik

	* src/: digmode.c, mapmode.c: Replaced all instances of pList with
	psList. Made other minor changes along the way.

2006-08-22 00:12  mavrik

	* src/: xmagic.c, xmagic.h: Added a define, XMAGIC_LOG2_OF_10, to
	represent the value of log2(10).  Inserted, as a comment, the
	equation used to compute entropy. This is equation 3.7.1 (see page
	215) of the 30th edition of the following CRC handbook: Standard
	Mathematical Tables and Formulae.

2006-08-21 21:47  mavrik

	* configure.in, doc/Makefile.in, doc/hashdig-find/Makefile,
	tools/hashdig/Makefile.in, tools/hashdig/hashdig-find.pl: Added
	hashdig-find.pl to the project. The purpose of this tool is to find
	one or more hashes in a HashDig database.

2006-08-06 21:38  mavrik

	* Makefile.in: Reviewed and refined Makefile macros and targets.

2006-08-01 23:27  mavrik

	* tools/: dig/ftimes-dig2ctx.pl, dig/hipdig.pl,
	hashdig/hashdig-bash.pl, hashdig/hashdig-bind.pl,
	hashdig/hashdig-dump.pl, hashdig/hashdig-filter.pl,
	hashdig/hashdig-harvest-sunsolve.pl, hashdig/hashdig-harvest.pl,
	hashdig/hashdig-make.pl, hashdig/hashdig-resolve-sunsolve.pl,
	hashdig/hashdig-stat.pl, hashdig/hashdig-weed.pl: Added missing
	'(1)'s where needed. Stripped '.pl' extensions for all man page
	references. The project is moving away from production tool names
	that use extensions since they tie the utility and its
	implementation together (e.g., '.pl' implies a Perl script).
	Without the extension, the implementation can be changed, if
	desired or necessary, between releases.

2006-08-01 23:02  mavrik

	* configure.in, doc/Makefile.in, doc/ftimes-cmp2dbi/Makefile,
	doc/ftimes-map2dbi/Makefile, doc/ftimes-map2mac/Makefile: Added
	initial support for building and installing map-related man pages.

2006-08-01 22:55  mavrik

	* configure.in, doc/Makefile.in, doc/ftimes-crv2raw/Makefile,
	doc/ftimes-dig2ctx/Makefile, doc/ftimes-dig2dbi/Makefile,
	doc/hipdig/Makefile: Added initial support for building and
	installing dig-related man pages.

2006-08-01 22:41  mavrik

	* configure.in, Mk/common-docs-perl.mk.in, doc/Makefile.in,
	doc/hashdig-bash/Makefile, doc/hashdig-bind/Makefile,
	doc/hashdig-dump/Makefile, doc/hashdig-filter/Makefile,
	doc/hashdig-harvest/Makefile,
	doc/hashdig-harvest-sunsolve/Makefile, doc/hashdig-make/Makefile,
	doc/hashdig-resolve-sunsolve/Makefile, doc/hashdig-stat/Makefile,
	doc/hashdig-weed/Makefile: Added initial support for building and
	installing HashDig man pages.

2006-08-01 21:50  mavrik

	* tools/hashdig/hashdig-filter.pl: Added a missing '=back' tag.

2006-08-01 20:46  mavrik

	* README, README.INSTALL: Updated FTimes description.

2006-08-01 20:45  mavrik

	* tools/hashdig/README: Fixed a typo.

2006-08-01 20:34  mavrik

	* tools/hashdig/hashdig-harvest.pl: Added missing SHA1 support to
	ProcessGenericFile().

2006-08-01 20:29  mavrik

	* tools/hashdig/: hashdig-bind.pl, hashdig-harvest.pl: Added a
	comment to clarify the use of tabs as delimiters.

2006-08-01 20:07  mavrik

	* tools/hashdig/: README, hashdig-bind.pl, hashdig-harvest.pl,
	hashdig-make.pl, hashdig-stat.pl, hashdig-weed.pl: Added initial
	support for SHA1 hashes to HashDig utilities.

2006-07-30 11:43  mavrik

	* Makefile.vs, src/Makefile.in, src/app-includes.h, src/sha256.c,
	src/sha256.h, src/xmagic.c, src/xmagic.h: Added additional support
	for hash-based XMagic. The newest hash type implemented was SHA256.

2006-07-29 16:55  mavrik

	* tools/dig/ftimes-dig2dbi.pl: Tags can be null, but offsets should
	never be null.

2006-07-29 16:46  mavrik

	* tools/dig/: Makefile.in, ftimes-dig2dbi.pl: Added
	ftimes-dig2dbi.pl to the project. The purpose of this tool is to
	preprocess FTimes dig data for MySQL DB import.

2006-07-29 16:43  mavrik

	* tools/map/: ftimes-cmp2dbi.pl, ftimes-map2dbi.pl: Reviewed
	code/documentation and refined/fixed various nits and bits.  Added
	a new option, '-t', that allows the user to specify an alternate
	table name.

2006-07-24 01:20  mavrik

	* Makefile.in, configure.in, doc/Makefile.in, doc/tarmap/Makefile,
	doc/tarmap/sections/AUTHOR.pod,
	doc/tarmap/sections/DESCRIPTION.pod,
	doc/tarmap/sections/EXAMPLES.pod, doc/tarmap/sections/HISTORY.pod,
	doc/tarmap/sections/MODES-OF-OPERATION.pod,
	doc/tarmap/sections/NAME.pod,
	doc/tarmap/sections/RETURN-VALUES.pod,
	doc/tarmap/sections/SEE-ALSO.pod, doc/tarmap/sections/SYNOPSIS.pod,
	tests/tarmap/Makefile.in, tests/tarmap/test_harness.local,
	tests/tarmap/common/Makefile.in,
	tests/tarmap/common/test_harness.local,
	tests/tarmap/common/map/Makefile.in,
	tests/tarmap/common/map/test_harness.local,
	tests/tarmap/common/map/test_1/Makefile.in,
	tests/tarmap/common/map/test_1/test_harness.local,
	tools/tarmap/Makefile.in, tools/tarmap/Makefile.vs,
	tools/tarmap/all-includes.h, tools/tarmap/tarmap.c,
	tools/tarmap/tarmap.h: Added tarmap to the project. The purpose of
	this utility is to map the files in a tar archive without having to
	unpack and write them to disk first. This utility is currently in a
	developmental state.

2006-07-18 15:49  mavrik

	* src/ftimes.h: Removed the alpha designator.

2006-07-17 02:39  mavrik

	* tests/ftimes-crv2raw/common/carve/test_harness.local: Modified
	the code to expect two lines of output rather than one. The extra
	line is a header.

2006-07-17 01:40  mavrik

	* src/xmagic.c: Added XMAGIC_OP_LE and XMAGIC_OP_GE as valid
	entropy/average/percent operators.

2006-07-16 16:04  mavrik

	* tools/dig/ftimes-crv2raw.pl: Added logic to conditionally output
	a map header.

2006-07-15 14:11  mavrik

	* tools/dig/ftimes-crv2raw.pl: Fixed a bug where the errors from
	MakeCarveList() were not being reported properly.

2006-07-15 01:38  mavrik

	* tools/dig/ftimes-crv2raw.pl: Modified script to skip blank lines
	or lines that begin with a '#'.

2006-07-14 23:54  mavrik

	* configure.in, Mk/common-macros.mk.in, Mk/common-tests.mk.in,
	tests/ftimes-crv2raw/Makefile.in,
	tests/ftimes-crv2raw/test_harness.local,
	tests/ftimes-crv2raw/common/Makefile.in,
	tests/ftimes-crv2raw/common/test_harness.local,
	tests/ftimes-crv2raw/common/carve/Makefile.in,
	tests/ftimes-crv2raw/common/carve/test_harness.local,
	tests/ftimes-crv2raw/common/carve/test_1/Makefile.in,
	tests/ftimes-crv2raw/common/carve/test_1/test_harness.local,
	tools/dig/Makefile.in, tools/dig/ftimes-crv2raw.pl: Added
	ftimes-crv2raw.pl to the project. The purpose of this utility is to
	carve blocks of data and assemble them into raw files.

2006-07-14 11:12  mavrik

	* Mk/common-tests.mk.in,
	tests/ftimes/common/compare/test_1/Makefile.in,
	tests/ftimes/common/compare/test_2/Makefile.in,
	tests/ftimes/common/compare/test_3/Makefile.in,
	tests/ftimes/common/decoder/test_1/Makefile.in,
	tests/ftimes/common/dig/test_1/Makefile.in,
	tests/ftimes/common/dig/test_2/Makefile.in,
	tests/ftimes/common/dig/test_3/Makefile.in,
	tests/ftimes/common/map/test_1/Makefile.in,
	tests/ftimes/common/map/test_2/Makefile.in,
	tests/ftimes/common/map/test_3/Makefile.in,
	tests/ftimes/common/map/test_4/Makefile.in,
	tests/ftimes/common_windows_ads/map/test_1/Makefile.in: Pushed the
	initialization of TARGET_PROGRAM down to the lowest Makefiles in
	the test harness. This was done because the harness is now being
	used to test multiple tools.

2006-07-13 21:09  mavrik

	* configure.in, tests/Makefile.in, tests/test_harness.local,
	tests/common/Makefile.in, tests/common/test_harness.local,
	tests/common/compare/Makefile.in,
	tests/common/compare/test_harness.local,
	tests/common/compare/test_1/Makefile.in,
	tests/common/compare/test_1/test_harness.local,
	tests/common/compare/test_2/Makefile.in,
	tests/common/compare/test_2/test_harness.local,
	tests/common/compare/test_3/Makefile.in,
	tests/common/compare/test_3/test_harness.local,
	tests/common/decoder/Makefile.in,
	tests/common/decoder/test_harness.local,
	tests/common/decoder/test_1/Makefile.in,
	tests/common/decoder/test_1/test_harness.local,
	tests/common/dig/Makefile.in, tests/common/dig/test_harness.local,
	tests/common/dig/test_1/Makefile.in,
	tests/common/dig/test_1/test_harness.local,
	tests/common/dig/test_2/Makefile.in,
	tests/common/dig/test_2/test_harness.local,
	tests/common/dig/test_3/Makefile.in,
	tests/common/dig/test_3/test_harness.local,
	tests/common/map/Makefile.in, tests/common/map/test_harness.local,
	tests/common/map/test_1/Makefile.in,
	tests/common/map/test_1/test_harness.local,
	tests/common/map/test_2/Makefile.in,
	tests/common/map/test_2/test_harness.local,
	tests/common/map/test_3/Makefile.in,
	tests/common/map/test_3/test_harness.local,
	tests/common/map/test_4/Makefile.in,
	tests/common/map/test_4/test_harness.local,
	tests/common_windows_ads/Makefile.in,
	tests/common_windows_ads/test_harness.local,
	tests/common_windows_ads/map/Makefile.in,
	tests/common_windows_ads/map/test_harness.local,
	tests/common_windows_ads/map/test_1/Makefile.in,
	tests/common_windows_ads/map/test_1/test_harness.local,
	tests/ftimes/Makefile.in, tests/ftimes/test_harness.local,
	tests/ftimes/common/Makefile.in,
	tests/ftimes/common/test_harness.local,
	tests/ftimes/common/compare/Makefile.in,
	tests/ftimes/common/compare/test_harness.local,
	tests/ftimes/common/compare/test_1/Makefile.in,
	tests/ftimes/common/compare/test_1/test_harness.local,
	tests/ftimes/common/compare/test_2/Makefile.in,
	tests/ftimes/common/compare/test_2/test_harness.local,
	tests/ftimes/common/compare/test_3/Makefile.in,
	tests/ftimes/common/compare/test_3/test_harness.local,
	tests/ftimes/common/decoder/Makefile.in,
	tests/ftimes/common/decoder/test_harness.local,
	tests/ftimes/common/decoder/test_1/Makefile.in,
	tests/ftimes/common/decoder/test_1/test_harness.local,
	tests/ftimes/common/dig/Makefile.in,
	tests/ftimes/common/dig/test_harness.local,
	tests/ftimes/common/dig/test_1/Makefile.in,
	tests/ftimes/common/dig/test_1/test_harness.local,
	tests/ftimes/common/dig/test_2/Makefile.in,
	tests/ftimes/common/dig/test_2/test_harness.local,
	tests/ftimes/common/dig/test_3/Makefile.in,
	tests/ftimes/common/dig/test_3/test_harness.local,
	tests/ftimes/common/map/Makefile.in,
	tests/ftimes/common/map/test_harness.local,
	tests/ftimes/common/map/test_1/Makefile.in,
	tests/ftimes/common/map/test_1/test_harness.local,
	tests/ftimes/common/map/test_2/Makefile.in,
	tests/ftimes/common/map/test_2/test_harness.local,
	tests/ftimes/common/map/test_3/Makefile.in,
	tests/ftimes/common/map/test_3/test_harness.local,
	tests/ftimes/common/map/test_4/Makefile.in,
	tests/ftimes/common/map/test_4/test_harness.local,
	tests/ftimes/common_windows_ads/Makefile.in,
	tests/ftimes/common_windows_ads/test_harness.local,
	tests/ftimes/common_windows_ads/map/Makefile.in,
	tests/ftimes/common_windows_ads/map/test_harness.local,
	tests/ftimes/common_windows_ads/map/test_1/Makefile.in,
	tests/ftimes/common_windows_ads/map/test_1/test_harness.local:
	Moved tests/common and tests/common_windows_ads to
	tests/ftimes/common and tests/ftimes/common_windows_ads,
	respectively. Moved FillFile() upstream one level so that it's
	visible to all tools in the test harness. These changes will make
	it easier to add support for testing other tools going forward.

2006-07-13 21:08  mavrik

	* utils/test_windows.bat: Synchronized the script's layout with
	revision 1.1 of the same in The WebJob Project, and updated paths
	to work with the test harness changes that are about to be
	committed.

2006-07-13 20:30  mavrik

	* utils/test_harness: Changed the default harness type from 3 to 4.

2006-06-30 12:53  mavrik

	* src/ftimes.h: Bumped minor version number, and added alpha
	designator.

2006-06-30 12:52  mavrik

	* src/xmagic.c: Fixed a bug where iBytesLeft was being decremented
	improperly, which could result in its value going negative. The
	problem was that each time the results of a match were added to the
	description buffer iBytesLeft was being decremented by the value of
	iBytesUsed instead of the amount of bytes actually written to the
	buffer. Since iBytesUsed is accumulative, the error is compounded
	for each match that is made.

2006-06-28 18:52  mavrik

	* src/xmagic.h: Bumped XMAGIC_REGEXP_BUFSIZE up to 1024 bytes. This
	was done because some regular expressions can be quite large --
	especially those that have many alternations.

2006-06-28 18:46  mavrik

	* src/xmagic.c: Dropped the size restriction on DigStringRegExp
	search buffers. This allows the user to specify a much larger range
	with an upper limit of AnalyzeBlockSize. Originally, the size
	restriction was used prevent a greedy expression from filling up
	the description buffer. However, there is additional logic that
	will truncate the captured string if it gets too large, so this
	change should not introduce any overflow issues.

2006-06-28 16:24  mavrik

	* src/xmagic.h: Bumped XMAGIC_MAX_LEVEL up to 128. This was done
	just to raise the ceiling well beyond any current or anticipated
	needs.

2006-06-28 16:20  mavrik

	* src/: dig.c, xmagic.c, xmagic.h: Added initial support for
	fallback XMagic tests. In fallback mode, accumulated output is only
	printed when all tests in a chain pass. A chain is a series of
	nested tests (e.g., parent->kid->grandkid). If any test in the
	chain fails, the net result is no match for the entire chain. In
	other words, all tests are logically ANDed together. This is
	different than the traditional mode of operation where output from
	the various sibling tests is accumulated. Fallback mode is denoted
	by the '<' test level token -- the traditional test level token is
	'>'. Here is an example:
	
	  0	  percent_ctype_ascii:512  >  98    %1.2f
	  <&0	  percent_ctype_alnum:512  >  50    %1.2f
	  <<&0	  percent_ctype_space:512  [] 10,20 %1.2f
	  <<<&0   percent_ctype_punct:512  <  10    %1.2f
	
	This test only prints out a result if all four tests pass. If any
	one of the test fail, the entire chain fails.

2006-06-27 11:30  mavrik

	* src/: xmagic.c, xmagic.h: Added initial support for percent-based
	XMagic. The first percent types added implement the following
	ctype(3) character classes: alnum, alpha, ascii, cntrl, digit,
	lower, print, punct, space, and upper.

2006-06-27 01:19  mavrik

	* src/xmagic.c: Reverted the changes committed in revision 1.34. A
	lot of magic tests use sibling tests to accumulate information in
	the description buffer.  Therefore, it is necessary to test all
	sibling magic whether or not a previous sibling had a match.

2006-06-25 22:44  mavrik

	* src/xmagic.h: Put XMAGIC_OPERATORS and XMAGIC_TYPES in
	alphabetical order.

2006-06-24 17:00  mavrik

	* doc/ftimes/controls/DigString.pod,
	doc/ftimes/controls/DigStringNoCase.pod,
	doc/ftimes/controls/DigStringNormal.pod,
	doc/ftimes/controls/DigStringRegExp.pod,
	doc/ftimes/controls/DigStringXMagic.pod,
	doc/ftimes/sections/EXAMPLES.pod,
	doc/ftimes/sections/MODES-OF-OPERATION.pod, src/dig.c, src/dig.h,
	src/properties.c, tests/common/dig/test_harness.local,
	tools/dig/ftimes-dig2ctx.pl, tools/dig/hipdig.pl: Added initial
	support for dig string tags. These tags can be used to identify a
	given dig string or set of strings, and that can make the process
	of analyzing dig output much easier. Note that this change
	necessarily altered the output format. The new format is as
	follows:
	
	  name|type|tag|offset|string

2006-06-21 18:55  mavrik

	* src/xmagic.c: Fixed a copyo.

2006-06-21 13:24  mavrik

	* src/xmagic.c: Added the noop ('x') operator and supporting logic
	for average and entropy types.

2006-06-21 13:16  mavrik

	* src/xmagic.c: Added the not equal ('!=') operator and supporting
	logic for string types.

2006-06-21 12:46  mavrik

	* src/: dig.c, digmode.c: The recent addition of XMagic dig strings
	has had an impact on the minimum value and use of the carry size.
	The current changes attempt to remedy those issues, but more
	testing is required to determine if these changes work as intended.

2006-06-20 23:58  mavrik

	* src/: xmagic.c, xmagic.h: Added initial support for hash-based
	XMagic. The first two hash types implemented are MD5 and SHA1.

2006-06-20 14:42  mavrik

	* src/: analyze.c, dig.c, ftimes.h, xmagic.c, xmagic.h: Modified
	XMagicLoadMagic() so that it returns a pointer to XMAGIC.  This
	affected the arguments of several routines, and it required some
	other minor changes. The global XMAGIC pointer (gpsXMagicTree) was
	eliminated along the way.

2006-06-20 12:53  mavrik

	* src/analyze.c: Added more information to the error message that
	gets generated when the carry size is smaller than the largest dig
	string.

2006-06-20 12:50  mavrik

	* src/properties.c: A carry size of zero is OK. There are
	situations where having a zero-length carry size is desirable. For
	example, suppose you want to perform a calculation (e.g., entropy)
	on each block of a file with no overlaps along the way.

2006-06-20 01:20  mavrik

	* doc/ftimes/controls/AnalyzeStepSize.pod,
	doc/ftimes/controls/DigStringXMagic.pod,
	doc/ftimes/sections/DESCRIPTION.pod, etc/digfull.cfg.sample,
	etc/diglean.cfg.sample, src/analyze.c, src/app-includes.h,
	src/dig.c, src/dig.h, src/digmode.c, src/ftimes.c, src/ftimes.h,
	src/properties.c: Added initial support for XMagic digs. In map
	mode, XMagic tests are only performed once per file and only on the
	first block of data. This new feature gives ftimes the ability to
	perform XMagic tests for each block (AnalyzeBlockSize) of data
	read, and if the step size (AnalyzeStepSize) is small compared to
	the block size, the tests can be executed multiple times per block.
	This makes it possible for the user to really explore the limits of
	XMagic. For example, it is now possible to craft magic incantations
	that match any arbitrary section of a file.

2006-06-19 01:45  mavrik

	* src/: xmagic.c, xmagic.h: Added additional support for
	average-based XMagic. The second average type implemented is dubbed
	row_average_2. This type performs row-based average calculations
	using a 2-byte sliding window.

2006-06-19 01:13  mavrik

	* src/: xmagic.c, xmagic.h: Added initial support for average-based
	XMagic. The first average type implemented is dubbed row_average_1.
	This type performs row-based average calculations using a 1-byte
	sliding window.

2006-06-18 00:01  mavrik

	* src/xmagic.c: Fixed a snprintf() statement that had too many
	arguments.

2006-06-17 23:42  mavrik

	* src/xmagic.c: Added casts to prevent a compiler warning. The
	specific warning was: "warning C4018: '<' : signed/unsigned
	mismatch". This warning was generated by Visual Studio 6.0 on a
	Windows 2000 SP4 system.

2006-06-17 23:34  mavrik

	* Makefile.vs: Added references to user32.lib and advapi32.lib so
	that FTimes would compile cleanly with OpenSSL 0.9.8b.

2006-06-17 20:56  mavrik

	* src/xmagic.c: Added a new equal ('==') operator. The old operator
	('=') will continue to be supported for a time, but it is being
	phased out.

2006-06-17 20:49  mavrik

	* src/xmagic.c: Fixed a bug where sibling magic was being tested
	even though a match had already been found by a previous sibling.

2006-06-17 20:19  mavrik

	* src/: xmagic.c, xmagic.h: Added additional support for
	entropy-based XMagic. The second entropy type implemented is dubbed
	row_entropy_2. This type performs row-based entropy calculations
	using a 2-byte sliding window.

2006-06-17 17:03  mavrik

	* src/: Makefile.in, xmagic.c, xmagic.h: Added initial support for
	entropy-based XMagic. The first entropy type implemented is dubbed
	row_entropy_1. This type performs row-based entropy calculations
	using a 1-byte sliding window.

2006-06-14 15:19  mavrik

	* src/properties.c: Renamed PROPERTIES_MAX_LINE_LENGTH as
	PROPERTIES_MAX_LINE and increased its value from 1024 to 8192. This
	was done for consistency with the other *_MAX_LINE defines and
	because it was not possible to specify a 1024 byte URL-encoded dig
	string -- such a string would require 3 * 1024 bytes when fully
	encoded.

2006-06-03 21:02  mavrik

	* src/ftimes.h: Increased the value for FTIMES_MAX_BLOCK_SIZE from
	1 MB to 1 GB. This was done because having the ability to specify a
	large block size for certain types of regular expression digs is
	useful. The previous value was purposely set low to avoid potential
	out-of-memory errors induced by the user requesting overly large
	block/carry sizes.

2006-05-31 11:16  mavrik

	* README.INSTALL: Attempted to align various bits and pieces of the
	build process with their counterparts in The WebJob Project.

2006-05-26 16:39  mavrik

	* utils/test_harness: Added support for a 4-level test harness.

2006-05-26 15:38  mavrik

	* Makefile.in, doc/Makefile.in, tools/Makefile.in: Replaced
	hardwired references to make with ${MAKE}.

2006-05-26 15:34  mavrik

	* Mk/common-macros.mk.in: Removed the hardwired value for MAKE
	(i.e., 'make -s'). Besides potentially breaking user expectations
	with respect to the '-s' argument (some folks want all that
	output), it's not a good idea to arbitrarily override this macro.
	For example, if the build process is invoked using gmake and there
	is no link for make pointing to gmake, any recursive makes may
	yield unexpected results because they will have been forced to use
	'make -s' instead of internally defined value for ${MAKE}, which,
	in this case, would be gmake.

2006-05-22 13:16  mavrik

	* tests/common/decoder/test_1/test_harness.local: Fixed incorrect
	hash key.

2006-05-03 20:53  mavrik

	* src/message.c: Added a comment block and fixed other minor nits
	and bits.

2006-05-03 20:50  mavrik

	* src/: cmpmode.c, decoder.c, digmode.c, getmode.c, mapmode.c,
	message.c, message.h: Added an auto flush mechanism to the message
	handler. The purpose of this mechanism is to improve message
	retention by enforcing mandatory flushing as soon as the output
	file (not stderr) is ready for writing.  All run modes now call
	MessageSetAutoFlush() after they have initialized their log stream.
	The issue that prompted this change was the fact that the log file
	(not stderr redirected to a file) would be empty (or lag behind
	stderr) for a majority of the run. If the run completed without an
	error, this was not a problem. However, if the job was terminated
	prematurely or the disk filled up and stderr was not (or could not
	be) preserved, the log file would either be empty or missing
	potentially important log messages.

2006-05-03 17:27  mavrik

	* src/message.c: Added fflush() calls after each write to stderr in
	MessageHandler().  This was done because, it seems (based on
	initial testing) that stderr for cmd.exe on Windows is fully
	buffered -- as opposed to being unbuffered, which is the norm for
	UNIX platforms (see man page for setvbuf()). This condition is
	problematic in at least two scenarios where stderr is being
	redirected (e.g., '2> map.log') to a file: 1) the output device
	fills up and 2) the snapshot process is killed prematurely. The
	problem, in practice, is that the resulting file will be empty
	because its data could not be written out to disk until it was too
	late (i.e., the disk was already full). By flushing stderr each
	time through the MessageHandler(), it reduces the chances that log
	messages get lost due to these scenarios.

2006-05-03 17:26  mavrik

	* src/support.c: Modified the error checking logic in
	SupportWriteData() to address the different ways that various
	platforms handle fwrite() errors. Added error checking for
	fflush(). The focus of these changes was to improve the tool's
	ability to detect and handle write errors -- especially in the case
	where the output device fills up. During testing for example,
	FreeBSD and Solaris platforms were returning short write counts (as
	expected) when the device being written to filled up, but Linux and
	Windows platforms were not. The result was that FTimes would abort
	(as expected) for FreeBSD and Solaris platforms, but it would
	continue to run on Linux and Windows platforms. This meant that
	ATimes were being updated without their values being preserved in
	the output stream, and that's not acceptable for this type of
	utility. Thanks to Jason Smith for isolating and reporting this
	problem and for helping me test the patch.

2006-04-16 22:42  mavrik

	* tests/test_harness.local: Fixed the regular expression test in
	GetToolVersion(). When ftimes has a version with no compiled-in
	options (e.g., "ftimes 3.6.0 32-bit"), the expression contained one
	too many spaces to work correctly.

2006-04-16 16:45  mavrik

	* src/ftimes.h: Removed the gamma designator.

2006-04-16 16:42  mavrik

	* README, README.INSTALL: Reviewed and updated documentation in
	preparation for the 3.6.0 release.

2006-04-16 16:08  mavrik

	* doc/ftimes/sections/MODES-OF-OPERATION.pod: Added a note about
	comparing compressed snapshots.

2006-04-16 16:07  mavrik

	* doc/ftimes/controls/MagicFile.pod: Added a URL reference to
	XMagic.

2006-04-16 15:02  mavrik

	* Makefile.vs, utils/test_windows.bat: Added the test target and
	test_windows.bat to automate testing via the test harness for
	Windows Visual Studio builds. Note that ActivePerl is required to
	perform this testing.

2006-04-16 13:24  mavrik

	* tests/common_windows_ads/map/test_harness.local: Removed an
	obsolete instance of CreateConfig().

2006-04-16 13:16  mavrik

	* src/support.c: Fixed a problem where Windows was not encoding
	several character codes in the range 0x7f - 0xff. This problem was
	fixed in revision 1.21 of dig.c, but it was re-introduced at
	revision 1.23 due to the switch to SupportNeuterString() as the
	standard encoding routine. Thanks to the test harness for doing its
	job!

2006-04-16 13:16  mavrik

	* tests/common/compare/test_3/test_harness.local: Modified tree
	builder command to not create symbolic links on Windows platforms.

2006-04-16 10:48  mavrik

	* utils/test_harness: Added missing '-s' argument to the usage
	statement.

2006-04-16 10:32  mavrik

	* utils/test_harness: Indented a block of code to the proper level.

2006-04-16 01:08  mavrik

	* src/xmagic.c: Added a cast to prevent a compiler warning. The
	specific warning was: "warning C4018: '<' : signed/unsigned
	mismatch". This warning was generated by Visual Studio 6.0 on a
	Windows 2000 SP4 system.

2006-04-16 00:56  mavrik

	* tests/common/compare/test_3/test_harness.local: Modified
	tree_builder command to run via perl. This was done to make testing
	on Windows platforms a bit easier.

2006-04-16 00:52  mavrik

	* tests/common/compare/test_3/test_harness.local: Changed test
	description.

2006-04-16 00:16  mavrik

	* configure.in, tests/common/compare/Makefile.in,
	tests/common/compare/test_3/Makefile.in,
	tests/common/compare/test_3/test_harness.local: Added additional
	compare tests to the test harness.

2006-04-15 23:28  mavrik

	* tests/: test_harness.local, common/dig/test_harness.local,
	common/map/test_harness.local: Moved CreateConfig() upstream two
	levels and merged map- and dig-specific bits into one general
	routine. This reduces duplicate code, and it makes the routine
	visible to all test directories.

2006-04-10 20:56  mavrik

	* src/xmagic.c: Fixed a bug where XMagicTestRegExp() was not
	returning false when there was a match and test operator was '!~'.

2006-04-10 17:40  mavrik

	* src/xmagic.c: Fixed a bug where pcre_exec() was not starting its
	search at the proper offset in the subject buffer.

2006-04-09 16:30  mavrik

	* src/dig.c, tests/common/dig/test_harness.local: Modified
	DigDevelopOutput() to use SupportNeuterString() rather than
	encoding the string field locally. While the algorithm in
	DigDevelopOutput() was mostly redundant, it was slightly different
	than that used by SupportNeuterString(). Because of this, the ["'`]
	characters were being encoded in map mode but not in dig mode.
	
	Updated DigEncode() in the test harness to adhere to the new
	encoding scheme. This was necessary because the new code
	modifications broke certain tests, and that was a good thing --
	i.e., it was the expected result.

2006-04-08 20:28  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Added '-L' and '-R' options to
	preserve the contents of the left- and right-hand boundaries,
	respectively.

2006-04-08 00:50  mavrik

	* src/map.c: Modified the NullFields log message to include
	NeuteredPath, which makes its more useful for diagnostic purposes.

2006-04-07 18:15  mavrik

	* Makefile.in, Makefile.vs, README.LICENSE, cgi/Makefile.in,
	cgi/nph-ftimes.cgi, doc/Makefile.in, doc/ftimes/Makefile,
	etc/Makefile.in, src/Makefile.in, src/all-includes.h,
	src/analyze.c, src/app-includes.h, src/cfgtest.c, src/cmpmode.c,
	src/compare.c, src/compare.h, src/decode.c, src/decode.h,
	src/decoder.c, src/develop.c, src/dig.c, src/dig.h, src/digmode.c,
	src/error.c, src/error.h, src/fsinfo.c, src/fsinfo.h, src/ftimes.c,
	src/ftimes.h, src/getmode.c, src/http.c, src/http.h, src/ktypes.h,
	src/map.c, src/mapmode.c, src/mask.c, src/mask.h, src/md5.c,
	src/md5.h, src/message.c, src/message.h, src/properties.c,
	src/sha1.c, src/sha1.h, src/socket.c, src/socket.h, src/ssl-pool.h,
	src/ssl.c, src/ssl.h, src/support.c, src/sys-includes.h,
	src/time.c, src/url.c, src/xmagic.c, src/xmagic.h,
	tools/Makefile.in, tools/dig/Makefile.in,
	tools/dig/ftimes-dig2ctx.pl, tools/dig/hipdig.pl,
	tools/hashdig/Makefile.in, tools/hashdig/hashdig-bash.pl,
	tools/hashdig/hashdig-bind.pl, tools/hashdig/hashdig-dump.pl,
	tools/hashdig/hashdig-filter.pl,
	tools/hashdig/hashdig-harvest-sunsolve.pl,
	tools/hashdig/hashdig-harvest.pl, tools/hashdig/hashdig-make.pl,
	tools/hashdig/hashdig-resolve-sunsolve.pl,
	tools/hashdig/hashdig-stat.pl, tools/hashdig/hashdig-weed.pl,
	tools/lrs/pool2string.c, tools/lrs/string2pool.c,
	tools/map/Makefile.in, tools/map/ftimes-map2dbi.pl,
	tools/map/ftimes-map2mac.pl, utils/test_harness,
	utils/tree_builder: Updated copyright information.

2006-04-07 17:13  mavrik

	* tools/map/ftimes-cmp2dbi.pl: Removed extraneous comment.

2006-04-07 17:12  mavrik

	* tools/map/: Makefile.in, ftimes-cmp2dbi.pl: Added
	ftimes-cmp2dbi.pl to the project. The purpose of this tool is to
	preprocess FTimes compare data for MySQL db import.

2006-04-07 17:09  mavrik

	* tools/map/ftimes-map2dbi.pl: Reviewed documentation and fixed
	various nits and bits. Ran each paragraph through fmt (i.e.,
	'.,/^$/!fmt -l 0 -w 70').

2006-04-07 15:28  mavrik

	* tools/map/ftimes-map2dbi.pl: Fixed a bug where two adjacent null
	fields (e.g., 'foo|||bar') were not being processed correctly. The
	result was 'foo|\N||bar', but it should have been 'foo|\N|\N|bar'.

2006-04-07 15:27  mavrik

	* tools/map/ftimes-map2dbi.pl: Put command line arguments in
	alphabetical order.

2006-04-06 21:18  mavrik

	* src/xmagic.h: Increased XMAGIC_MAX_LEVEL from 10 to 15. This was
	done because a test with 11 levels was found in the magic shipped
	with file-4.17.

2006-04-06 15:22  mavrik

	* src/ftimes.h: Bumped the beta designator up to gamma.

2006-04-06 15:16  mavrik

	* src/: xmagic.c, xmagic.h: Replaced XMagicCompareNumbers() with
	XMagicTestNumber(). The new routine is different only in name. This
	change was made to keep all the XMagicTest*() routines clustered
	together.

2006-04-06 15:10  mavrik

	* src/: xmagic.c, xmagic.h: Replaced XMagicCompareValues() with
	XMagicTestValue(). The new routine is a slightly refined version of
	the previous one.

2006-04-06 14:33  mavrik

	* src/: xmagic.c, xmagic.h: Replaced XMagicCompareStrings() with
	XMagicTestString(). The new routine is an overhauled version of the
	previous one with additional logic to prevent scanning past the end
	of the read buffer. Cleaned up various nits and bits in
	XMagicCompareValues() along the way.

2006-04-06 12:47  mavrik

	* src/xmagic.c: Added missing %s format specifiers.

2006-04-06 12:45  mavrik

	* src/xmagic.c: Modified XMagicFormatDescription() such that all
	string matches are neutered using SupportNeuterString(). The old
	code would neuter strings pulled from the subject file, but it did
	so using a custom encoding scheme. Also, if the string was an exact
	match, it would not get encoded at all. Therefore, test strings
	that contained special characters (e.g., 'abc\ndef') could pose a
	problem in the output stream.

2006-04-06 01:25  mavrik

	* configure.in, src/xmagic.c, src/xmagic.h: Added initial support
	for regular expression XMagic via PCRE.

2006-04-04 19:40  mavrik

	* src/: xmagic.c, xmagic.h: Added support for negative relative
	offsets (e.g., '>&-4'). In the process of doing this, several
	offset variables were converted to signed 32-bit integers.
	Therefore, new checks had to be added to ensure that absolute
	offsets are always positive. Also, an indirection (or BSL) parser
	bug was found and (potentially) fixed. The problem was that the
	character to the left of the [+-] should have been restricted to
	[0-9A-Fa-f] or [BSLbsl], but it was not.

2006-03-29 21:07  mavrik

	* src/: xmagic.c, xmagic.h: Modified indirection type (or BSL)
	logic to support big- and little-endian values. Under the old
	logic, only [bsl] type specifiers were supported -- where b=byte,
	s=short, and l=long. Now, the supported type specifiers are:
	[BSLbsl]. Under the new logic, upper and lower case specifiers
	represent big- and little-endian values, respectively. Actually,
	the [Bb] specifiers are synonyms since the endianness of byte
	values is expected to be the same. One thing to note is that XMagic
	will default to the native byte order if a type specifier is not
	given.

2006-03-29 18:19  mavrik

	* src/: xmagic.c, xmagic.h: Added a new not equal ('!=') operator.
	The old operator ('!') will continue to be supported for a time,
	but it is being phased out.

2006-03-29 17:45  mavrik

	* src/: xmagic.c, xmagic.h: Added two new test operators: less than
	or equal ('<=') and greater than or equal ('>=').

2006-03-29 16:52  mavrik

	* src/: error.h, xmagic.c, xmagic.h: Converted xmagic operators
	from character to string values. This makes it possible for us to
	define operators that require more than a single character to
	express (e.g., '!=', '<=', '>=', etc.).

2006-03-29 15:36  mavrik

	* src/xmagic.c: Fixed an issue where an error was not propagating
	all the way up the call tree. Also, some of the tests at various
	levels were incorrectly checking their return values, so even if an
	error occurred, it would not have been detected at the higher
	levels.

2006-03-28 21:02  mavrik

	* src/: compare.c, compare.h: Added CompareFreeNodeData() to free
	node data (i.e., pcData) consumed by CompareLoadBaseline().

2006-03-28 15:09  mavrik

	* src/decode.c: Removed unnecessary snprintf()s and added error
	checking.

2006-03-28 12:40  mavrik

	* src/decode.c: Disabled the '{ 0 }' initialization of acOutput in
	DecodeWriteRecord() because it was having a huge impact on
	performance. According to the 2nd edition of "The C Programming
	Language" by Kernighan and Ritchie, an array initialized in this
	way will be zero filled when the number of initializers is less
	than the size of the array (section 4.9, page 86). In this
	particular case, the size of the array was quite large
	((DECODE_FIELD_COUNT)*(DECODE_MAX_LINE)) and the routine, itself,
	is called frequently (once per record).
	
	The entire code base should be reviewed to identify any places
	where this may be a performance issue. Over the last few years, I
	have increasingly migrated to this initialization technique without
	realizing its potential performance impact. Certainly, all
	frequently called routines having relatively large buffers (e.g.,
	>= 1024 bytes) should be reviewed -- acLocalError may be a good
	place to start since its use is pervasive.

2006-03-28 00:56  mavrik

	* src/: compare.c, decode.c: Replaced several strncpy()s with
	snprintf()s. This change made a huge difference in compare mode
	performance -- especially in CompareDecodeLine(). This is due to
	the fact that strncpy(), according to the man page, appends nulls
	to the destination buffer when the source string is less than the
	specified length. Since the specified length (CMP_MAX_LINE) was
	quite large (8192) and there were iMaskTableLength + 1 buffers to
	fill per record (+1 for acTempLine), a lot of time was wasted
	writing nulls. While a quantitative analysis was not performed,
	rough calculations indicate that the new code runs approximately 4
	times faster on a pair of uncompressed files containing 100K
	records each -- run times went from 81 to 18 seconds.

2006-03-27 22:44  mavrik

	* src/decode.c: Increased the size of acOutput in
	DecodeWriteRecord(). This was done because each string array in
	ppcFields is DECODE_MAX_LINE bytes long.

2006-03-27 22:36  mavrik

	* src/decode.h: Removed unused and unnecessary variables.

2006-03-27 22:34  mavrik

	* src/decode.c: Made the name MD5 calculations more efficient by
	copying the name field to a temporary variable only when it does
	not begin with a slash ('/'). In other words, this temporary
	variable is required only when the name is not UNIX-based (i.e.,
	it's Windows-based).

2006-03-27 18:19  mavrik

	* src/: compare.c, compare.h: Removed unused and unnecessary
	variables.

2006-03-27 18:06  mavrik

	* src/: compare.c, decode.c: Moved some code from decode.c to
	compare.c to eliminate an extra record copy in
	CompareLoadBaselineData(). This was done to improve performance.
	
	Overhauled DecodeWriteRecord(). The new code is modeled after
	DecodeWriteHeader().

2006-03-27 00:55  mavrik

	* configure.in, src/cmpmode.c, src/compare.c, src/decode.c,
	src/decode.h, tests/common/compare/Makefile.in,
	tests/common/compare/test_2/Makefile.in,
	tests/common/compare/test_2/test_harness.local: Added a lookup
	table to ensure that the decoded values for each field are placed
	in the appropriate ppcFields slot, rather than having them placed
	in the next available slot. Prior to this, a file having N fields
	would consume the first N slots of ppcFields, and that was fine so
	long as the baseline and snapshot had exactly the same fields. If
	this condition was not true, CompareEnumerateChanges() could end up
	comparing values for two different fields -- just because they both
	happened to occupy the same slot. For example, suppose a baseline
	had the fields 'name', 'size', and 'md5' and the corresponding
	snapshot had the fields 'name' and 'md5'. If these files were
	compared with a mask of 'all', CompareEnumerateChanges() would end
	up (incorrectly) comparing 'size' values to 'md5' values because
	both of those fields would occupy slot 2 of ppcFields (i.e.,
	ppcFields[1]).
	
	Added a battery of tests to verify that the new logic is working as
	expected for all 1-, 2-, and 3-field ('mtime', 'size', and 'md5')
	combinations (n!/k!(n-k)!) for the following file types: 'header',
	'baseline', 'snapshot', and 'allnulls'. These file types are
	permuted (n**k) to yield 784 distinct tests. The assumption, here,
	is that testing all 3-field combinations should be sufficient to
	extrapolate the results to any N-field combination -- i.e., if the
	logic works for 3 fields, then it should work for any number of
	fields. The particular fields selected for this battery of tests
	were chosen based on the fact that they are common to both UNIX and
	Windows platforms and because they represent three different data
	types: date/time, number, and hash.
	
	Eliminated the use of CompareDecodeLine() for snapshot records
	since this functionality is now being handled by
	DecodeParseRecord().

2006-03-24 17:45  mavrik

	* src/: fsinfo.c, fsinfo.h, map.c: Added support for NetWare file
	systems (NWFS) under Windows. This requirement popped up when a
	former coworker needed to map a NetWare share mounted on his
	Windows XP system: Windows NT 5.1 Build 2600 Service Pack 2.

2006-03-21 17:05  mavrik

	* src/decode.c: Added casts to prevent compiler warnings. The
	specific warning was: "warning: long long unsigned int format,
	K_UINT64 arg (arg 4)". This warning was generated by gcc 2.95.4
	running on an Debian 3.0 system (64-bit Alpha).

2006-03-21 15:15  mavrik

	* src/cmpmode.c, src/compare.c, src/compare.h, src/decode.c,
	src/decode.h, src/ftimes.c, src/ftimes.h, src/mask.c,
	tests/common/compare/test_1/test_harness.local: Added initial
	support for comparing compressed snapshots.

2006-03-19 23:19  mavrik

	* src/: cmpmode.c, decoder.c, mapmode.c: Added code to print the
	name of the baseline and/or snapshot file as a property.

2006-03-19 21:59  mavrik

	* tests/test_harness.local: Updated GetToolVersion() to recognize
	hyphenated bit values (e.g., 32-bit).

2006-03-19 19:59  mavrik

	* src/develop.c: Fixed a compression bug. The problem was that a
	MAP_ATIME showed up in the code where there should have been a
	MAP_MTIME. The result was that the CTime and ChTime fields were not
	getting compressed as expected when the FieldMask excluded (or did
	not specifically include) the ATime attribute. This issue was
	limited to Windows platforms, and its only impact was a slight loss
	of compression.

2006-03-19 18:24  mavrik

	* src/develop.c: Identified a compression bug.

2006-03-19 18:24  mavrik

	* src/: decode.h, decode.c: Continued the process of
	refactoring/overhauling decode logic. This is a major step towards
	adding support for comparing compressed map files.

2006-03-19 16:17  mavrik

	* configure.in, tests/common/Makefile.in,
	tests/common/decoder/Makefile.in,
	tests/common/decoder/test_harness.local,
	tests/common/decoder/test_1/Makefile.in,
	tests/common/decoder/test_1/test_harness.local: Added initial
	support for decoder mode testing.

2006-03-15 16:46  mavrik

	* tools/hashdig/hashdig-harvest-sunsolve.pl: Added a missing
	closedir().

2006-03-14 09:57  mavrik

	* src/develop.c: Fixed the use of commas in the error message that
	gets displayed when there are one or more null fields in the
	output. The recent column shifts and the addition of SHA1 support
	induced this problem, but the real issue is that commas are
	hard-coded to the end of each field.  Perhaps it'd be better to
	reimplement these bits of code using an array. Then, the array
	elements could be joined with commas as needed to produce the final
	error message.

2006-03-08 18:58  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for SGI's X file system
	(XFS) under Linux.

2006-02-27 23:34  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for RAM file systems
	(RAMFS) under Linux.

2006-02-18 16:14  mavrik

	* src/support.c: Added '-' to the FTimes version string so that the
	bit string will be hyphenated (e.g., 32-bit).

2006-02-18 16:01  mavrik

	* cgi/nph-ftimes.cgi: Added code to calculate the script's version
	and print it out in the .rdy file.

2006-02-18 15:42  mavrik

	* cgi/nph-ftimes.cgi: Added '()' to the end of each time call.

2006-02-18 15:37  mavrik

	* cgi/nph-ftimes.cgi: Enabled warnings, '-w', by default.

2006-02-18 15:36  mavrik

	* cgi/nph-ftimes.cgi: Moved the '-' in every regular expression
	character class to the end of the class. For example, all instances
	of '[\\w-./]' were changed to '[\\w./-]'. This was done because
	Perl was generating "False [] range" warnings when the '-w' option
	was enabled.

2006-02-18 15:27  mavrik

	* cgi/nph-ftimes.cgi: Added '-'s to the FTimes version string so
	that the bit string can be hyphenated (e.g., 32-bit).

2006-02-08 21:07  mavrik

	* configure.in: Consolidated several duplicated AC_SUBST/variable
	lines.

2006-01-18 12:03  mavrik

	* README.INSTALL: Fixed minor errors and omissions.

2006-01-10 00:42  mavrik

	* configure.in, tests/Makefile.in,
	tests/common_windows_ads/Makefile.in,
	tests/common_windows_ads/test_harness.local,
	tests/common_windows_ads/map/Makefile.in,
	tests/common_windows_ads/map/test_harness.local,
	tests/common_windows_ads/map/test_1/Makefile.in,
	tests/common_windows_ads/map/test_1/test_harness.local: Added
	initial support for testing Alternate Data Streams. These tests
	include a check that should detect the bug fixed in revision 1.44
	of map.c -- directories with one ADS were not being flagged as
	having any streams at all.

2006-01-10 00:37  mavrik

	* tests/common/: dig/Makefile.in, dig/test_1/Makefile.in,
	dig/test_2/Makefile.in, dig/test_3/Makefile.in, map/Makefile.in,
	map/test_1/Makefile.in, map/test_2/Makefile.in,
	map/test_3/Makefile.in, map/test_4/Makefile.in: Removed $Id$ tags
	and comment blocks from all Makefiles in the tests tree. Other than
	a few values, the content of these Makefiles is fairly static, and
	since CVS tags typically get in the way of using one subtree as the
	template for another, I'd rather not have them there at all.

2006-01-09 23:33  mavrik

	* tests/: Makefile.in, common/Makefile.in,
	common/compare/Makefile.in, common/compare/test_1/Makefile.in:
	Removed $Id$ tags and comment blocks from all Makefiles in the
	tests tree. Other than a few values, the content of these Makefiles
	is fairly static, and since CVS tags typically get in the way of
	using one subtree as the template for another, I'd rather not have
	them there at all.

2006-01-09 23:09  mavrik

	* tests/: test_harness.local, common/test_harness.local: Moved
	FillFile() upstream one level. This will make it visible to custom
	test directories -- as they are added to the project.

2006-01-09 02:44  mavrik

	* src/map.c: Fixed a bug with the ADS counting and mapping logic.
	The problem was that directories with one ADS were not being
	flagged as having any streams at all -- i.e., their stream counts
	were reported to be zero.  However, if a given directory had more
	than one ADS, then the reported and actual stream counts would
	match, so the logic was not completely broken. The root cause, as
	near as I can tell, was the assumption that directories have an
	unnamed (i.e., default) stream when, in fact, they do not. Refer to
	the Data attribute description in Table 9-1 of Inside Windows NT
	Second Edition, page 412. The relevant text is quoted here:
	
	"In NTFS, a file has one default unnamed data attribute and can
	have additional named data attributes; that is, a file can have
	multiple data streams. A directory has no default data attribute
	but can have optional named data attributes."
	
	Note: This bug was introduced somewhere between version 2.1l and
	3.0.0. The 2.1l release used do-loops instead of for-loops, which
	says it all.

2006-01-08 18:13  mavrik

	* src/ftimes.c: Removed an SSL-specific #ifdef block around the
	declaration of acLocalError. Recent code changes require this
	variable to be present during non-SSL enabled builds.

2005-12-09 11:18  mavrik

	* src/: decode.c, decode.h, decoder.c, error.h, ftimes.c, ftimes.h,
	support.c: Started refactoring/overhauling decode logic. This is
	the first step towards adding support for comparing compressed map
	files. Added pass-through logic to handle uncompressed snapshots.
	Previously, these files would be rejected and the program would
	abort.

2005-12-03 13:08  mavrik

	* src/: cmpmode.c, mapmode.c: The FieldMask dependency check was
	not updated when the new mask logic was put in place. Thus, the
	following invocation was causing ftimes to dump core:
	
	  echo BaseName=- | ftimes --maplean -
	
	This invocation, however, is incorrect, and ftimes should have
	aborted with an error message stating that the FieldMask is
	missing.

2005-11-16 00:15  mavrik

	* src/ftimes.h: Bumped the alpha designator up to beta.

2005-11-16 00:04  mavrik

	* etc/Makefile.in, etc/digfull.cfg.sample, etc/mapfull.cfg.sample,
	etc/put.cfg.sample, src/Makefile.in, src/cfgtest.c, src/digmode.c,
	src/ftimes.c, src/ftimes.h, src/mapmode.c, src/properties.c,
	src/putmode.c: Finished removing --putmode support. For some
	unknown reason, the previous commit did get everything. Hopefully,
	this one will.

2005-11-15 23:34  mavrik

	* src/: cmpmode.c, decoder.c, digmode.c, ftimes.c, getmode.c,
	mapmode.c, message.h, putmode.c, support.c: Replaced all instances
	of {EXEC,MODE}DATA with PROPERTY. Originally, I wanted to label log
	information based on its origin. The three sources listed above had
	the following meanings: EXEC data comes from the main EXECutable,
	MODE data comes from the runMODE being executed (e.g., dig mode),
	and PROPERTY data comes from user-specified settings on the command
	line or in a config file. In some cases, the distinction between
	these labels was arbitrary or blurry. Therefore, everything in
	these three categories will be treated as a PROPERTY going forward.
	 Hopefully, this will make the log data more intuitive and easier
	to read.

2005-11-15 23:00  mavrik

	* Makefile.vs, README.INSTALL, doc/ftimes/controls/BaseName.pod,
	doc/ftimes/controls/DataType.pod, doc/ftimes/controls/DateTime.pod,
	doc/ftimes/controls/FieldMask.pod, doc/ftimes/controls/Import.pod,
	doc/ftimes/controls/LogFileName.pod,
	doc/ftimes/controls/OutFileHash.pod,
	doc/ftimes/controls/OutFileName.pod,
	doc/ftimes/controls/RunType.pod,
	doc/ftimes/controls/SSLBundledCAsFile.pod,
	doc/ftimes/controls/SSLExpectedPeerCN.pod,
	doc/ftimes/controls/SSLMaxChainLength.pod,
	doc/ftimes/controls/SSLPassPhrase.pod,
	doc/ftimes/controls/SSLPrivateKeyFile.pod,
	doc/ftimes/controls/SSLPublicCertFile.pod,
	doc/ftimes/controls/SSLUseCertificate.pod,
	doc/ftimes/controls/SSLVerifyPeerCert.pod,
	doc/ftimes/controls/URLAuthType.pod,
	doc/ftimes/controls/URLCreateConfig.pod,
	doc/ftimes/controls/URLPassword.pod,
	doc/ftimes/controls/URLPutURL.pod,
	doc/ftimes/controls/URLUsername.pod,
	doc/ftimes/sections/DESCRIPTION.pod,
	doc/ftimes/sections/EXAMPLES.pod, doc/ftimes/sections/FILES.pod,
	doc/ftimes/sections/MODES-OF-OPERATION.pod,
	doc/ftimes/sections/SYNOPSIS.pod: Removed --putmode support. This
	mode was an afterthought, has never been widely used, and just
	isn't worth maintaining -- especially when there are better ways
	(e.g., scp, rsync, webjob etc.) to recover a lost snapshot.

2005-11-15 20:59  mavrik

	* src/analyze.c, src/cmpmode.c, src/compare.c, src/compare.h,
	src/develop.c, src/digmode.c, src/ftimes.c, src/ftimes.h,
	src/map.c, src/mapmode.c, src/mask.c, src/mask.h, src/properties.c,
	src/putmode.c, src/url.c,
	tests/common/compare/test_1/test_harness.local: Moved all remaining
	mask-related code to mask.[ch]. This was a fairly major
	undertaking. A lot of code was affected, and many sweeping changes
	were needed to get the job done. At this point, things should be
	stable, but there may be a few wrinkles left to iron out.

2005-11-12 01:27  mavrik

	* src/mask.c: Replaced all instances of gasMaskTable with
	gasMapMaskTable.

2005-11-12 01:21  mavrik

	* src/: compare.c, map.c, mask.h: Replaced all instances of
	MaskName with acName.

2005-11-11 23:42  mavrik

	* src/: analyze.c, compare.c, develop.c, map.c, mapmode.c, mask.h:
	Added MASK_BIT_IS_SET macro. Renamed all map-related defines.
	Removed DEFAULT_MASK as it is not being used.

2005-11-11 23:41  mavrik

	* src/mask.c: Code cleanup.

2005-11-11 22:44  mavrik

	* Makefile.vs, src/Makefile.in, src/app-includes.h, src/ftimes.c,
	src/ftimes.h, src/mask.c, src/mask.h: Moved mask-related code (map
	mode only) to mask.[ch]. These new files will serve as the focal
	point for mask-related code.

2005-11-11 21:30  mavrik

	* src/: ftimes.c, ftimes.h, map.c: Removed the HeaderName and Mask
	structure elements from MASK_TABLE.  This is the first step in a
	bigger refactoring process. The goal of which is to consolidate all
	mask logic.

2005-11-11 19:53  mavrik

	* src/map.c: Removed unused arguments.

2005-11-10 18:44  mavrik

	* src/: compare.c, compare.h: Added CompareBuildStringMask() to
	convert compare masks into to human readable strings.

2005-11-09 18:04  mavrik

	* utils/tree_builder: Added a tree builder utility to help with
	testing.

2005-11-09 11:51  mavrik

	* src/: compare.c, compare.h: Fixed an old bug with compare mode
	that became more annoying with the addition of SHA1 support. The
	problem was that compare mode could not properly handle snapshots
	created using different field masks -- especially when the baseline
	contains fewer fields than the snapshot.  The solution was to give
	each input file its own mask. These two masks are ANDed with the
	user-specified compare mask to create the final compare mask. This
	eliminates unwanted fields and fields that don't exist in both
	files. Then, each line of input in the baseline and snapshot is
	parsed using the individual mask for that particular file.

2005-10-24 21:21  mavrik

	* src/cmpmode.c: Initialized all local variables.

2005-10-24 20:32  mavrik

	* src/: compare.c, compare.h: Removed unused iFields variable and
	structure element.

2005-10-24 17:31  mavrik

	* doc/ftimes/controls/HashSymbolicLinks.pod,
	etc/mapfull.cfg.sample, etc/maplean.cfg.sample, src/mapmode.c:
	Enabled HashSymbolicLinks by default as there doesn't appear to be
	a strong negative impact. This modification makes it possible to
	detect change simply by inspecting a link's hash(es). To determine
	if a particular file is, in fact, a symbolic link, one can still
	use the information in the mode and/or magic fields. In other
	words, the fact that a file is a symbolic link is not inherently
	lost by enabling HashSymbolicLinks. The exception to this is the
	case where both the mode and magic fields are missing in the
	output. Not having the string 'SYMLINK' in the sha1/md5 fields does
	make it somewhat harder for a person to manually weed out symbolic
	links -- if that's something they want/need to do. However, hashdig
	utilities should be unaffected -- as long as the mode field is
	captured in the output.

2005-10-24 16:11  mavrik

	* doc/ftimes/sections/MODES-OF-OPERATION.pod, src/compare.c,
	src/compare.h, tests/common/compare/test_1/test_harness.local:
	Added support for reading baseline data from stdin while in compare
	mode. Previously, only snapshot data could be read from stdin. This
	lack of flexibility was brought out by the recently added compare
	mode test harness.

2005-10-24 14:55  mavrik

	* tests/common/compare/test_1/test_harness.local: Added a new set
	of tests designed to check input file magic.

2005-10-24 13:16  mavrik

	* src/: xmagic.c, xmagic.h: Fixed a problem with the way that
	relative and indirect offsets are computed in
	XMagicGetValueOffset(). The problem was that the old logic only
	looked at the parent node when computing the current node's true
	offset. If the parent's offset was relative or indirect, then the
	current offset computation would be incorrect. The fix was to
	recursively walk up the magic tree until an absolute offset is
	found.	Once found, the absolute offset is used to anchor the
	computation.

2005-10-24 12:34  mavrik

	* src/: compare.c, decode.c, url.c, xmagic.c: Modified various
	f{open,read,seek,tell}() error messages for consistency.

2005-10-24 12:18  mavrik

	* configure.in, tests/common/Makefile.in,
	tests/common/compare/Makefile.in,
	tests/common/compare/test_harness.local,
	tests/common/compare/test_1/Makefile.in,
	tests/common/compare/test_1/test_harness.local: Added initial
	support for compare mode testing.

2005-10-11 14:36  mavrik

	* README.INSTALL: Fixed incorrect variable name.

2005-10-11 14:34  mavrik

	* Makefile.vs: Added '/D PCRE_STATIC' to PCRE_COMPILER_FLAGS.
	According to the documentation: "If you want to statically link
	against the .a file, you must define PCRE_STATIC before including
	pcre.h, otherwise the pcre_malloc and pcre_free exported functions
	will be declared __declspec(dllimport), with hilarious results."
	Even though this was quoted from the MinGW section of NON-UNIX-USE,
	it does improve the Visual Studio build process. Thanks to Andy
	Bair for reporting this issue and writing the initial patch.

2005-10-10 15:06  mavrik

	* src/dig.c: Fixed an unexpected result revealed by the test
	harness. Apparently, several character codes in the range 0x7f -
	0xff are considered printable by isprint() on Windows systems. This
	causes an unwanted difference in the output produced by UNIX and
	Windows platforms.  Therefore, isprint() has been replaced with
	code that'll yield uniform output across all platforms.

2005-10-08 19:30  mavrik

	* Mk/common-tests.mk.in: Modified the clean target to remove all
	files beginning with '_config'.

2005-10-08 19:28  mavrik

	* tests/common/: test_harness.local, dig/test_harness.local,
	dig/test_1/test_harness.local, dig/test_2/test_harness.local,
	dig/test_3/test_harness.local: Consolidated common code in a new
	routine called DigUnitTest(). Added new normal, nocase, and regexp
	tests to check all possible strings from '%00%00' to '%ff%ff'.
	However, these tests do take a long time to run -- perhaps a bit
	too long.

2005-10-06 11:26  mavrik

	* tests/common/dig/: test_2/test_harness.local,
	test_3/test_harness.local: Fixed incorrect test descriptions.

2005-10-06 00:44  mavrik

	* configure.in: Added an entry for
	tests/common/dig/test_3/Makefile.

2005-10-06 00:34  mavrik

	* tests/common/dig/test_harness.local: Regular expression tests
	need to be skipped when ftimes has been built without PCRE support.

2005-10-05 23:21  mavrik

	* tests/common/dig/: Makefile.in, test_harness.local,
	test_1/test_harness.local, test_2/test_harness.local,
	test_3/Makefile.in, test_3/test_harness.local: Added a new set of
	tests to check that each byte value in the range [0x00-0xff] can be
	detected in a 256 byte file where the offset in the file is also
	the value being sought. This change induced some code restructuring
	and consolidation.

2005-10-05 22:31  mavrik

	* src/dig.c: Fixed a bug revealed by the test harness. The output
	delimiter for dig mode is '|', so this character must be encoded
	whenever it shows up in the raw data. If this is not done, the
	output will contain more fields than expected.

2005-10-05 18:58  mavrik

	* tests/common/: test_harness.local, map/test_harness.local:
	Consolodated common code in the common-level harness.

2005-10-03 15:35  mavrik

	* tests/common/dig/: test_harness.local, test_1/test_harness.local,
	test_2/test_harness.local: Consolodated common code in the
	dig-level harness.

2005-10-03 00:34  mavrik

	* src/test/dig/: Makefile, test1.c: The tests in src/test/dig are
	deprecated.

2005-10-02 22:44  mavrik

	* src/: decode.c, map.c: Modified code to handle special case
	header fields for WIN32 platforms. Instead of getting
	"z_{a,m,c,ch}time|z_{a,m,c,ch}ms" in the header, we got
	"z_{a,m,c,ch}time|{a,m,c,ch}ms".  This particular issue was
	overlooked in the previous commit.

2005-10-02 21:10  mavrik

	* src/: compare.c, decode.c, decode.h, map.c: Changed the format of
	the compressed header. Each field in the new format is the
	uncompressed field name prefixed with "z_". This was done to create
	a uniform header format. Legacy support for the old format was
	added, but it will be removed at some point.

2005-10-02 20:54  mavrik

	* src/compare.c: Caught and fixed a straggler on the magic/md5
	field swap.

2005-10-02 14:59  mavrik

	* doc/ftimes/controls/FieldMask.pod,
	doc/ftimes/controls/MagicFile.pod, src/decode.c, src/develop.c,
	src/ftimes.c, src/ftimes.h, tools/map/ftimes-map2dbi.pl: Swapped
	the order of the magic and md5 fields. This was done to ensure that
	the sha1 and md5 fields are adjacent to one another. Also, XMagic
	output can be highly variable, so it's better off at the end of the
	line anyway.

2005-10-02 14:06  mavrik

	* src/ftimes.h: Bumped minor version number, and added alpha
	designator.

2005-10-02 14:01  mavrik

	* Makefile.vs, configure.in, doc/ftimes/controls/FieldMask.pod,
	doc/ftimes/controls/HashDirectories.pod,
	doc/ftimes/sections/EXAMPLES.pod, src/Makefile.in, src/analyze.c,
	src/app-includes.h, src/compare.c, src/compare.h, src/decode.c,
	src/decode.h, src/develop.c, src/ftimes.c, src/ftimes.h, src/map.c,
	src/mapmode.c, src/sha1.c, src/sha1.h,
	tests/common/map/Makefile.in, tests/common/map/test_harness.local,
	tests/common/map/test_1/test_harness.local,
	tests/common/map/test_2/test_harness.local,
	tests/common/map/test_3/Makefile.in,
	tests/common/map/test_3/test_harness.local,
	tests/common/map/test_4/Makefile.in,
	tests/common/map/test_4/test_harness.local, tools/hashdig/README,
	tools/map/ftimes-map2dbi.pl: Added support for SHA1 hashes.

2005-10-02 01:26  mavrik

	* tools/hashdig/README: Added a comma after each 'i.e.'.

2005-10-02 01:21  mavrik

	* tools/hashdig/hashdig-resolve-sunsolve.pl: Relaxed the input
	expression to accommodate HD formatted inputs.

2005-09-28 01:24  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for Virtuozzo file
	systems (VZFS) under Linux. This requirement popped up when a
	friend of a friend needed to map his Virtual Private Server (VPS).
	A VPS is a guest OS that runs on top of the native OS. The system
	being mapped was running the following kernel:
	2.4.20-021stab028.17.777.

2005-09-09 01:47  mavrik

	* tools/hashdig/hashdig-stat.pl: Removed the requirement to specify
	a file type. If a type is not specified, the new code will attempt
	to parse the file using ProcessHDFile(). If that fails or yields an
	indeterminate count, then the file will be parsed using
	ProcessDBFile(). Also, the output format has been modified to show
	the type of file (HD or DB) that was processed.

2005-07-17 20:13  mavrik

	* doc/ftimes/controls/Include.pod: MapRemoteFiles is deprecated.

2005-06-16 14:17  mavrik

	* src/ftimes.h: Removed the delta designator.

2005-06-06 16:43  mavrik

	* tools/map/ftimes-map2dbi.pl: Added indexes to the altstreams,
	findex, gid, inode, magic, mode, size, and uid columns. Increased
	hostname size to 64 bytes.

2005-06-05 12:25  mavrik

	* tests/common/map/: test_harness.local, test_1/test_harness.local,
	test_2/test_harness.local: Moved duplicate code up to the
	mode-level harness. Set BlockSizes to a standard value for all
	tests that use it.

2005-06-05 12:01  mavrik

	* Mk/common-tests.mk.in: Allow overrides on DEBUG variables.

2005-06-05 10:50  mavrik

	* tests/common/: dig/test_1/test_harness.local,
	dig/test_2/test_harness.local, map/test_1/test_harness.local,
	map/test_2/test_harness.local: Fixed several loops where for was
	being used instead of foreach.

2005-06-04 17:54  mavrik

	* tests/common/map/: test_harness.local, test_1/test_harness.local,
	test_2/test_harness.local: Added MD5 tests for NSRL's customized
	test vectors. These vectors were obtained from NIST at the
	following location:
	
	  http://www.nsrl.nist.gov/testdata/NSRLvectors.zip
	
	This file (as downloaded) had the following MD5 hash:
	
	  5dcae67bf8113dfb8ae1c85f5653f7f9
	
	and the following SHA1 hash:
	
	  dfee7b663078d1c4fd75aac0e87e49d2bab6d072

2005-06-04 15:13  mavrik

	* utils/test_harness: File::Path contains mkpath() and rmtree(),
	which are useful to have.

2005-06-04 15:08  mavrik

	* utils/test_harness: Added GetTestProperties(). The hash returned
	by this routine will be used to hold test-specific properties.

2005-06-03 17:20  mavrik

	* tools/hashdig/hashdig-resolve-sunsolve.pl: Added auto-recover
	logic to the remainders section.

2005-06-03 13:13  mavrik

	* tools/dig/hipdig.pl: Modified the dump option, '-D', to take a
	type argument. Added a new routine to dump information about known
	SSN area codes.

2005-06-03 12:30  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Added several search/replace
	expressions to squash '..'s in the output filename. We need to
	ensure that anything created with the 'file' encoding scheme stays
	within the output directory.

2005-06-03 11:57  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Modified the code such that the
	output directory will only be created when the encoding scheme is
	set to 'file'.

2005-06-03 11:49  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Moved the tr/// past the regular
	expression input check. If there's an error, the error message
	should accurately reflect the value the user originally entered.

2005-06-03 10:39  mavrik

	* tools/dig/hipdig.pl: Perl was complaining about the expression
	checker's use of an uninitialized value, so I inserted a test
	string for it to match against.

2005-06-03 10:27  mavrik

	* tools/dig/hipdig.pl: With custom expressions, it is now possible
	to match on unprintable data. Therefore, a URL encoder has been
	added, and all dig routines have been modified to use it.

2005-06-02 23:05  mavrik

	* tools/dig/hipdig.pl: Updated the tool's one-line description.

2005-06-02 22:59  mavrik

	* tools/dig/hipdig.pl: Added support for custom dig string
	expressions. Added '-x' option to allow for fine-grained control
	over $1. Thanks to Jason Smith for suggesting the capability and
	writing the initial patch.

2005-06-02 11:01  mavrik

	* tools/dig/hipdig.pl: Put dig types in alphabetical order.
	Replaced the use of uc() with /i -- if there's an error, the error
	message should accurately reflect the value the user originally
	entered.

2005-06-02 10:37  mavrik

	* tools/dig/hipdig.pl: Consolidated single character options in
	usage statement.

2005-06-02 10:01  mavrik

	* tools/hashdig/README: The link to HashKeeper no longer works, so
	it has been removed.

2005-05-30 19:35  mavrik

	* tools/: dig/hipdig.pl, hashdig/hashdig-bind.pl,
	hashdig/hashdig-dump.pl, hashdig/hashdig-harvest-sunsolve.pl,
	hashdig/hashdig-harvest.pl, hashdig/hashdig-make.pl,
	hashdig/hashdig-weed.pl, map/ftimes-map2mac.pl: Added missing
	commas.

2005-05-30 14:03  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Added logic to automatically ignore
	known header lines. Added a check to see if the output directory
	exists before calling mkpath().  There's no point in trying to
	create a given directory multiple times. Since the return value for
	mkpath() evaluates to false when no directories are created, it was
	causing the logic to blacklist files unnecessarily.

2005-05-30 13:36  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Made several corrections and
	clarifications to the documentation/usage.

2005-05-30 13:32  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Added support for the 'file'
	encoding scheme. When this type of encoding is specified, the
	requested context (in raw form) is written directly to an output
	file.

2005-05-27 10:21  mavrik

	* tools/: dig/ftimes-dig2ctx.pl, dig/hipdig.pl,
	map/ftimes-map2dbi.pl, map/ftimes-map2mac.pl: Added an extra space
	between each open prefix (i.e., '<', '>', and '>>') and the
	corresponding filename variable. Added open prefixes where needed.
	Both of these changes were done to reduce the possibility of the
	variable adversely affecting how the file is opened. In particular,
	statements such as 'open(FH,">$sFile");' can yield unexpected
	results if the first character of $sFile is '>', and the situation
	is a bit worse for statement that don't use any prefix at all.

2005-05-26 21:02  mavrik

	* tools/: dig/hipdig.pl, map/ftimes-map2dbi.pl,
	map/ftimes-map2mac.pl: Removed all "Default value is ..." comments.
	In every case that I looked at, the default value is plain to see,
	so stating it again in the comment is unnecessary.

2005-05-26 20:54  mavrik

	* tools/hashdig/: hashdig-bind.pl, hashdig-filter.pl,
	hashdig-harvest-sunsolve.pl, hashdig-harvest.pl, hashdig-make.pl,
	hashdig-resolve-sunsolve.pl, hashdig-stat.pl, hashdig-weed.pl:
	Added an extra space between each open prefix (i.e., '<', '>', and
	'>>') and the corresponding filename variable. This was done to
	reduce the possibility of the variable adversely affecting how the
	file is opened. In particular, statements such as
	'open(FH,">$sFile");' can yield unexpected results if the first
	character of $sFile is '>'.

2005-05-26 20:50  mavrik

	* tools/hashdig/: hashdig-bash.pl, hashdig-bind.pl,
	hashdig-dump.pl, hashdig-filter.pl, hashdig-harvest-sunsolve.pl,
	hashdig-harvest.pl, hashdig-make.pl, hashdig-resolve-sunsolve.pl,
	hashdig-weed.pl: Removed all "Default value is ..." comments. In
	every case that I looked at, the default value is plain to see, so
	stating it again in the comment is unnecessary.

2005-05-26 15:10  mavrik

	* src/message.h: Changed message prefix to 'LOG_' for WARNING,
	FAILURE, and CRITICAL messages. The old prefix always seemed a bit
	out of character.

2005-05-26 14:21  mavrik

	* tools/hashdig/hashdig-resolve-sunsolve.pl: Added BlockIsGood() to
	handle figuring out if a particular block needs to be redone during
	an auto-recover job.

2005-05-26 13:53  mavrik

	* tools/hashdig/hashdig-resolve-sunsolve.pl: Added '-a' option to
	provide a method to auto-recover from a failed or aborted job.

2005-05-24 16:31  mavrik

	* tools/: dig/Makefile.in, hashdig/Makefile.in, map/Makefile.in:
	Added test target.

2005-05-24 14:25  mavrik

	* configure.in, Mk/common-macros.mk, Mk/common-macros.mk.in,
	Mk/common-tests.mk, Mk/common-tests.mk.in, Mk/common.mk,
	Mk/common.mk.in, tests/Makefile, tests/Makefile.in,
	tests/common/Makefile, tests/common/Makefile.in,
	tests/common/dig/Makefile, tests/common/dig/Makefile.in,
	tests/common/dig/test_1/Makefile,
	tests/common/dig/test_1/Makefile.in,
	tests/common/dig/test_2/Makefile,
	tests/common/dig/test_2/Makefile.in, tests/common/map/Makefile,
	tests/common/map/Makefile.in, tests/common/map/test_1/Makefile,
	tests/common/map/test_1/Makefile.in,
	tests/common/map/test_2/Makefile,
	tests/common/map/test_2/Makefile.in: Replaced Mk/*.mk and all
	Makefiles in the tests tree with equivalent '.in' files. Going
	forward, configure will create the necessary files based on these
	templates. Added PROJECT_SRCDIR, PROJECT_TOPDIR, and VPATH to all
	Makefiles, and removed PROJECT_SUBDIR since it is not being used.
	Modified test_harness commands to use PROJECT_SRCDIR through the
	new '-s' option. All these changes make it possible to run 'make
	test' in the build tree, which may or may not be the same as the
	source tree.

2005-05-24 14:17  mavrik

	* src/Makefile.in: Added PROGRAM dependency to the test target.

2005-05-24 13:38  mavrik

	* configure.in: Added M4 quotes to argument 3 of all AC_DEFINE
	macros. They should have been quoted all along.

2005-05-24 13:30  mavrik

	* configure.in: Added missing M4 quotes to the XMagic and
	pre-mem{set,cpy} AC_MSG_CHECKING macros.

2005-05-24 12:03  mavrik

	* utils/test_harness: Added '-s' option to specify an alternate
	source directory. This is useful when the source and build (or
	test) trees are in different locations.

2005-05-20 09:57  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for device file systems
	(DEVFS) under FreeBSD.

2005-05-12 11:37  mavrik

	* README.INSTALL: Added a blurb about running 'make test'.

2005-05-11 22:25  mavrik

	* tests/common/dig/: Makefile, test_harness.local, test_2/Makefile,
	test_2/test_harness.local: Added additional dig tests to the test
	harness.

2005-05-11 20:42  mavrik

	* tests/common/dig/test_1/test_harness.local: Added a check to skip
	the regular expression dig if the version of ftimes being tested
	does not have PCRE support.

2005-05-11 20:41  mavrik

	* tests/test_harness.local: Added GetToolVersion().

2005-05-11 20:38  mavrik

	* utils/test_harness: Modified error checking logic to recognize
	"skip" as a valid return value. This makes it possible to bypass
	selected tests.

2005-05-11 20:07  mavrik

	* tests/common/dig/test_1/test_harness.local: Modified the regular
	expression dig string to one that is compatible with older versions
	of the code.

2005-05-11 20:01  mavrik

	* tests/common/dig/test_1/test_harness.local: Modified test logic
	to keep track of matches. The old logic would not report an error
	if a match at one of the test offsets came up missing.

2005-05-11 13:03  mavrik

	* src/ftimes.h: Bumped the gamma designator up to delta.

2005-05-11 13:00  mavrik

	* tests/common/: Makefile, dig/Makefile, dig/test_harness.local,
	dig/test_1/Makefile, dig/test_1/test_harness.local: Added dig tests
	to the test harness.

2005-05-11 11:56  mavrik

	* tests/: test_harness.local, common/test_harness.local,
	common/map/test_harness.local: Removed some header fluff that I
	don't want to carry around when copying test trees from one tool to
	the next or from one project to the next.

2005-05-11 11:38  mavrik

	* configure.in, src/md5.c: Replaced all instances of
	PRE_MEMSET_MEMCPY with MD5_PRE_MEMSET_MEMCPY.

2005-05-10 22:18  mavrik

	* src/md5.c: The actual number of bytes that must be cleared in the
	2nd memset() of MD5Omega() is (MD5_HUNK_SIZE - 8).

2005-05-10 21:52  mavrik

	* src/md5.c: Fixed a bug in the MD5 logic that caused OutFileHash
	to be computed incorrectly. The problem was that the new
	memset/memcpy logic was not advancing the data pointer after it
	filled in the residue. This can happen when the data being fed to
	MD5Cycle() is not an integral multiple of MD5_HUNK_SIZE (i.e., 64
	bytes). Once residue has formed, the next update that exceeds
	(MD5_HUNK_SIZE - ui32ResidueLength) bytes will trigger the bug and
	corrupt the hash. Note: this scenario is not possible with the
	default AnalyzeBlockSize. Therefore, hashes in the map data should
	not be at risk. However, if one were to use a non-standard block
	size, then the bug could be triggered.

2005-05-10 20:54  mavrik

	* configure.in: Added --enable-md5-pre-msmc configure option. Being
	able to build with the old MD5 logic will make it easier to test
	the new logic and compare/contrast the performance characteristics
	of each.

2005-05-10 19:56  mavrik

	* Makefile.in, Mk/common-macros.mk, Mk/common-tests.mk,
	Mk/common.mk, cgi/Makefile.in, doc/Makefile.in, etc/Makefile.in,
	src/Makefile.in, tests/Makefile, tests/test_harness.local,
	tests/common/Makefile, tests/common/test_harness.local,
	tests/common/map/Makefile, tests/common/map/test_harness.local,
	tests/common/map/test_1/Makefile,
	tests/common/map/test_1/test_harness.local,
	tests/common/map/test_2/Makefile,
	tests/common/map/test_2/test_harness.local, tools/Makefile.in,
	utils/test_harness: Added a test harness and several MD5 tests.

2005-05-10 19:43  mavrik

	* src/develop.c: Initialized some variables that the compiler was
	complaining about.

2005-05-10 19:29  mavrik

	* configure.in, src/all-includes.h, src/sys-includes.h: Added
	initial configure/build support for MinGW32.

2005-05-08 12:29  mavrik

	* cgi/nph-ftimes.cgi: Relaxed the regular expressions for masks.
	The old values were too strict, and they would not pass masks that
	contained digits (e.g., none+md5).

2005-05-07 17:30  mavrik

	* cgi/nph-ftimes.cgi: Added '(' and ')' to the Version regular
	expression. This was done to support interim releases that are
	tagged with a designator like '(alpha)' or '(beta)'.

2005-05-07 17:29  mavrik

	* cgi/nph-ftimes.cgi: Expanded the amount of information that gets
	written to the .rdy file. Refined a few comments along the way.

2005-05-07 17:13  mavrik

	* cgi/nph-ftimes.cgi: Renamed GetSiteProperties() to
	GetGlobalConfigProperties() and synchronized it as much as was
	possible with the corresponding routine in nph-webjob.cgi.

2005-05-07 17:00  mavrik

	* cgi/nph-ftimes.cgi: Bumped up the order in which $psError gets
	set. This change is in keeping with the way the nph-webjob.cgi sets
	$psError. The relevant comment from WebJob's ChangeLog is dated
	2004-12-12 06:06.

2005-05-07 16:54  mavrik

	* cgi/nph-ftimes.cgi: Added file locking support via flock() to
	help protect the log and output files. This change is in keeping
	with the file locking support that was added to nph-webjob.cgi. The
	relevant comments from WebJob's ChangeLog are dated 2004-12-11
	18:40 and 2004-12-12 05:24.

2005-05-07 16:20  mavrik

	* cgi/nph-ftimes.cgi: Added an extra space between each open prefix
	(i.e., '<', '>', and '>>') and the corresponding filename variable.
	This was done to reduce the possibility of the variable adversely
	affecting how the file is opened. In particular, statements such as
	'open(FH,">$sFile");' can yield unexpected results if the first
	character of $sFile is '>'.

2005-05-07 14:50  mavrik

	* Makefile.vs, README.INSTALL, configure.in, cgi/nph-ftimes.cgi,
	doc/ftimes/sections/EXAMPLES.pod, doc/ftimes/sections/FILES.pod,
	etc/nph-ftimes.cfg.sample, src/xmagic.h: Changed the default
	installation directory from /usr/local/integrity to
	/usr/local/ftimes; and /integrity has been moved to /var/ftimes. 
	Under Windows, C:\Integrity has become C:\FTimes. Updated
	documentation, source code, and config files as necessary.

2005-05-07 12:31  mavrik

	* Makefile.vs: Changed the default value for USE_STATIC_SSL_LIBS to
	'Y'.

2005-05-03 21:13  mavrik

	* src/ftimes.h: Bumped the beta designator up to gamma.

2005-04-29 14:55  mavrik

	* README.STYLE: Added README.STYLE to the project.

2005-04-29 11:20  mavrik

	* src/analyze.c: Fixed a logic error that affected RegExp digs. The
	problem was that the trim size was not being set properly for
	blocks 2 and above.  Thanks to Jason Smith for discovering and
	reporting this problem.

2005-04-29 10:04  mavrik

	* src/dig.h: Fixed an errant comment.

2005-04-15 13:55  mavrik

	* configure.in: Moved AC_SYS_LARGEFILE to the typedefs, structures,
	and compiler characteristics section.

2005-04-15 12:52  mavrik

	* src/ftimes.h: Bumped the alpha designator up to beta.

2005-04-14 00:12  mavrik

	* doc/ftimes/controls/DigStringRegExp.pod,
	doc/ftimes/sections/EXAMPLES.pod, src/dig.c, src/dig.h: Relaxed the
	hard requirement for regular expression dig strings to have exactly
	one set of capturing parentheses.  Now, they can have no more than
	one set of capturing parentheses.  This allows users to specify
	expressions that have no capturing parentheses.  This is a POLA
	driven change.

2005-04-13 22:42  mavrik

	* doc/ftimes/controls/: AnalyzeBlockSize.pod, AnalyzeCarrySize.pod:
	Added missing pod files and descriptions for the AnalyzeBlockSize
	and AnalyzeCarrySize controls.

2005-04-13 22:31  mavrik

	* configure.in: Added AC_SYS_LARGEFILE to arrange for large-file
	support.

2005-04-07 16:30  mavrik

	* tools/hashdig/hashdig-harvest.pl: Added a statement to remove
	trailing newlines and carriage returns from FTK data.

2005-04-06 11:23  mavrik

	* README.INSTALL: Added a blurb to section 2.5.1 about how it may
	be necessary to modify OpenSSL's Makefile (ms\nt.mak) to use /MT
	instead of /MD.

2005-04-02 13:08  mavrik

	* Makefile.in, Makefile.vs, README.LICENSE, cgi/Makefile.in,
	cgi/nph-ftimes.cgi, doc/Makefile.in, doc/ftimes/Makefile,
	etc/Makefile.in, src/Makefile.in, src/all-includes.h,
	src/analyze.c, src/app-includes.h, src/cfgtest.c, src/cmpmode.c,
	src/compare.c, src/compare.h, src/decode.c, src/decode.h,
	src/decoder.c, src/develop.c, src/dig.c, src/dig.h, src/digmode.c,
	src/error.c, src/error.h, src/fsinfo.c, src/fsinfo.h, src/ftimes.c,
	src/ftimes.h, src/getmode.c, src/http.c, src/http.h, src/ktypes.h,
	src/map.c, src/mapmode.c, src/md5.c, src/md5.h, src/message.c,
	src/message.h, src/properties.c, src/putmode.c, src/socket.c,
	src/socket.h, src/ssl-pool.h, src/ssl.c, src/ssl.h, src/support.c,
	src/sys-includes.h, src/time.c, src/url.c, src/xmagic.c,
	src/xmagic.h, src/test/dig/Makefile, tools/Makefile.in,
	tools/dig/Makefile.in, tools/dig/ftimes-dig2ctx.pl,
	tools/dig/hipdig.pl, tools/hashdig/Makefile.in,
	tools/hashdig/hashdig-bash.pl, tools/hashdig/hashdig-bind.pl,
	tools/hashdig/hashdig-dump.pl, tools/hashdig/hashdig-filter.pl,
	tools/hashdig/hashdig-harvest-sunsolve.pl,
	tools/hashdig/hashdig-harvest.pl, tools/hashdig/hashdig-make.pl,
	tools/hashdig/hashdig-resolve-sunsolve.pl,
	tools/hashdig/hashdig-stat.pl, tools/hashdig/hashdig-weed.pl,
	tools/lrs/pool2string.c, tools/lrs/string2pool.c,
	tools/map/Makefile.in, tools/map/ftimes-map2dbi.pl,
	tools/map/ftimes-map2mac.pl: Updated copyright information.

2005-03-27 19:08  mavrik

	* src/support.c: Modified SupportGetMyVersion() to add "pcre"
	and/or "xmagic" to the version string when those components have
	been configured into the build.

2005-03-20 17:22  mavrik

	* src/: fsinfo.c, fsinfo.h: Added support for TMP file systems
	(TMPFS) under Linux. This issue was discovered during an attempt to
	map and dig through some files stored in /tmp on a KNOPPIX-booted
	system. Replaced various instances of TMP with TMPFS so that all
	supported platforms would return a consistent value.

2005-03-20 16:12  mavrik

	* doc/ftimes/controls/Exclude.pod, src/fsinfo.c, src/fsinfo.h:
	Added support for CDROM file systems. Originally, this file system
	type was not supported because there didn't seem to be much point
	in mapping an immutable file system. Since then, multiple
	situations (e.g., digging for strings or mapping files to harvest
	their MD5s) have cropped up where this capability would have been
	useful. At this point, there seem to be more advantages than
	drawbacks, and the only real drawback that comes to mind is the
	time spent (lost) mapping/digging CDROM file systems when that
	wasn't the user's intent.

2005-03-14 03:19  mavrik

	* doc/baselining/baselining.tex,
	doc/ftimes/sections/MODES-OF-OPERATION.pod, src/compare.c,
	src/map.c: Fixed several improper uses of "it's". Thanks to Hank
	Leininger for submitting the patch.

2005-03-07 13:35  mavrik

	* src/analyze.c: Added an #ifdef block to prevent a warning when
	compiling without PCRE support.

2005-03-07 00:26  mavrik

	* src/ftimes.h: Bumped minor version number, and added alpha
	designator.

2005-03-07 00:15  mavrik

	* src/dig.c: Added the PCRE_NOTEMPTY option to pcre_exec() to
	squash any attempts to match empty strings (e.g., (A*) or (a?b?))
	and to prevent infinite loops. This is not necessarily the final
	implementation, but it'll do for now.

2005-03-06 22:49  mavrik

	* doc/ftimes/sections/DESCRIPTION.pod, etc/digfull.cfg.sample,
	etc/diglean.cfg.sample, etc/mapfull.cfg.sample,
	etc/maplean.cfg.sample, src/analyze.c, src/digmode.c, src/ftimes.c,
	src/ftimes.h, src/mapmode.c, src/properties.c: Added
	AnalyzeBlockSize and AnalyzeCarrySize controls.

2005-03-06 21:24  mavrik

	* src/: analyze.c, ftimes.h: Replaced all instances of iBufferType
	with iBlockTag. Modified various comments to reflect this change.

2005-03-06 21:11  mavrik

	* src/analyze.c: Replaced all instances of ANALYZE_FIRST_BUFFER and
	ANALYZE_FIRST_BUFFER with ANALYZE_FIRST_BLOCK and
	ANALYZE_FIRST_BLOCK, respectively.

2005-03-06 20:35  mavrik

	* src/dig.c: Now that regular expression digs are supported, it is
	necessary to impose a limit on the amount of data that may be
	recorded in the output stream. This is because a fixed-length
	buffer is used to develop said output. For now, strings will be
	silently truncated to DIG_MAX_STRING_SIZE bytes. This will protect
	against the potential buffer overflow scenario where the user
	specifies a greedy dig string (e.g., '(A+)'). Obviously, there are
	better ways to manage this problem. Here are a few ideas: 1) use
	dynamic buffers to develop the output, 2) provide users with a
	control that allows them to specify the maximum allowed string
	length, or 3) impose additional checks on DigStringRegExp controls
	that limit their greediness.

2005-03-06 20:15  mavrik

	* src/analyze.c: Modified the file mechanics in AnalyzeFile() use
	fread(), ferror(), and feof() for WINNT platforms. The primary
	reason for doing this was to fix a problem with regular expression
	digs. The problem was that the last buffer, usually associated with
	a short read (i.e., iNRead < ANALYZE_READ_BUFSIZE), was not being
	marked as such until a subsequent read, which would return zero
	bytes. When a synchronous read operation reaches EOF, ReadFile()
	returns true and sets the number of bytes read to zero. Based on my
	research, there does not appear to be a separate WIN32 API call
	like feof() that can be used to independently test for EOF. Thus,
	it was taking an additional read to determine that EOF had been
	reached, and that was exposing a problem with the carry logic in
	AnalyzeDoDig(). This logic saves ANALYZE_SAVE_BUFSIZE bytes each
	time through irregardless of how much data was actually read. Thus,
	if the last read was 100 bytes, (ANALYZE_SAVE_BUFSIZE - 100) bytes
	of indeterminate data was being carried over to the next dig
	operation. This was not a problem in the UNIX code because feof()
	would detect EOF and mark the read buffer appropriately. Thus, the
	extra carryover would never be used because the loop in
	AnalyzeFile() would terminate before that could happen.
	
	Note that CreateFile() it still being used to obtain object handles
	because it yields better file access. However, each handle returned
	must now be converted to a file descriptor and reopened with
	fdopen().  At this point, the cost of these extra steps is not
	clear. As long as FTimes can access the same files under WINNT as
	it did before, I'm not sure that I care.

2005-03-06 14:42  mavrik

	* src/properties.c: Reviewed and updated several error messages.

2005-03-05 13:35  mavrik

	* src/dig.c: Moved certain variable assignments into the
	declarations section.  Made sure other declarations were assigned
	initial values.

2005-03-05 00:52  mavrik

	* src/dig.h: Removed an unused structure element.

2005-03-05 00:13  mavrik

	* Makefile.vs, README.INSTALL, configure.in,
	doc/ftimes/controls/DigString.pod,
	doc/ftimes/controls/DigStringNormal.pod,
	doc/ftimes/controls/DigStringRegExp.pod,
	doc/ftimes/sections/DESCRIPTION.pod,
	doc/ftimes/sections/EXAMPLES.pod,
	doc/ftimes/sections/MODES-OF-OPERATION.pod, etc/digfull.cfg.sample,
	etc/diglean.cfg.sample, src/Makefile.in, src/analyze.c,
	src/app-includes.h, src/dig.c, src/dig.h, src/ftimes.h,
	src/properties.c: Added support for Perl Compatible Regular
	Expressions (PCRE).  Currently, this support is optional (via
	configure), but enabled by default.

2004-12-13 11:38  mavrik

	* src/md5.c: Synchronized md5.c with revision 1.3 of the same in
	The WebJob Project. The relevant comment from WebJob's ChangeLog is
	dated 2004-12-12 21:47, and it is included here as well:
	
	Migrated array-based while/for loops that perform data transfer and
	initialization to the equivalent memcpy() and memset() calls,
	respectively. This was done for performance reasons. Originally, I
	assumed that array-based data transfer and initialization
	operations using local while/for loops would perform better because
	they would not have to pay the price of making a call to an outside
	routine.  This turned out to be a bad assumption. For example, the
	FreeBSD implementation of memcpy() (see
	/usr/src/lib/libc/string/bcopy.c) is designed to operate on words
	where possible, and that makes it inherently faster than
	byte-oriented operations. Added the PRE_MEMSET_MEMCPY define to
	allow for compilations using the old implementation. This will be
	useful for continued performance testing on different platforms,
	and it has some historical value -- in terms of remembering why
	things were done the way they were.

2004-11-21 12:48  mavrik

	* src/: fsinfo.c, fsinfo.h: Added file system support for SMBFS on
	FreeBSD and Linux.

2004-10-24 16:26  mavrik

	* src/Makefile.in: Fixed a few stragglers left over from the
	previous commit.

2004-10-24 15:19  mavrik

	* configure.in, src/Makefile.in: Reviewed and refined
	src/Makefile.in. Removed FTIMES-specific name prefixes to make the
	Makefile more portable. Rearranged macros so that the various
	groupings are in alphabetic order. Renamed several macros/variables
	to make them more consistent and uniform. Removed a few macros that
	weren't being used, but added others to keep the various groupings
	(e.g., SSL_*) consistent with each other.

2004-10-24 11:33  mavrik

	* configure.in: Reviewed and refined OpenSSL configure checking.
	Added checks for all required include files. Added /opt/local to
	the list of default search locations. Added more detail to the
	--with-ssl blurb that is displayed when a user requests configure
	help. Added more detail to the diagnostic message that is displayed
	when the required SSL components can not be found.

2004-10-16 22:44  mavrik

	* doc/ftimes/controls/DigString.pod,
	doc/ftimes/controls/DigStringNoCase.pod,
	doc/ftimes/sections/DESCRIPTION.pod,
	doc/ftimes/sections/EXAMPLES.pod,
	doc/ftimes/sections/MODES-OF-OPERATION.pod, etc/digfull.cfg.sample,
	etc/diglean.cfg.sample, src/analyze.c, src/dig.c, src/dig.h,
	src/ftimes.h, src/properties.c, tools/dig/ftimes-dig2ctx.pl,
	tools/dig/hipdig.pl: Added DigStringNoCase control and support for
	case insensitive digging. This affected a fair amount of code, and
	it triggered a change to the dig output format (i.e., the type
	field was added).  Both ftimes-dig2ctx.pl and hipdig.pl were
	updated to reflect the new output format.

2004-09-30 14:44  mavrik

	* doc/ftimes/controls/BaseName.pod: Updated description to include
	information on how to direct output stdout/stderr.

2004-09-28 04:03  mavrik

	* tools/map/ftimes-map2mac.pl: Added the LIMIT argument to prevent
	split() from eating trailing null fields.

2004-09-28 03:58  mavrik

	* tools/map/ftimes-map2mac.pl: Added missing 'm' option to the
	getopts() call.

2004-09-28 03:55  mavrik

	* tools/map/ftimes-map2mac.pl: Added '-q' option.

2004-09-28 03:41  mavrik

	* tools/map/ftimes-map2mac.pl: Added '-m' option to support
	millisecond resolution for Windows NT/2K map data.

2004-09-21 21:05  mavrik

	* src/support.c: Fixed a typo.

2004-09-20 14:47  mavrik

	* src/: digmode.c, ftimes.h, mapmode.c, properties.c, support.c:
	Overhauled the code that supports the building and pruning of the
	Include/Exclude lists. Pruning the Exclude list can lead to
	unexpected results because the exclude mechanism works on an exact
	match basis, but it can be (and was being) used to produce a
	recursive effect.  For example, including '/' and excluding '/etc'
	would result in '/etc' and everything below it being ignored.
	However, including '/etc/ssh' and excluding both '/etc' and
	'/etc/ssh/ssh_config' would not result in '/etc/ssh/ssh_config'
	being excluded. This is because the pruning process would eliminate
	'/etc/ssh/ssh_config' from the Exclude list (due to the '/etc'
	Exclude), and since '/etc' does not exactly match '/etc/ssh',
	nothing would get excluded.

2004-09-19 22:30  mavrik

	* doc/ftimes/: controls/Exclude.pod,
	controls/ExcludesMustExist.pod, controls/Include.pod,
	controls/IncludesMustExist.pod, sections/MODES-OF-OPERATION.pod:
	Reviewed and edited Exclude- and Include-related documentation for
	accuracy, consistency, and style.

2004-09-19 00:13  mavrik

	* src/ftimes.c: Replaced malloc()/memset() in favor of calloc().

2004-09-19 00:01  mavrik

	* src/: error.h, support.c: Removed the following error codes
	because they were not referenced outside support.c and because
	internal error codes are being phased out: ER_NoPrivilege,
	ER_SupportAddListItem, ER_chdir, ER_fwrite, ER_getcwd, and
	ER_unlink.

2004-09-18 23:32  mavrik

	* doc/ftimes/controls/Exclude.pod,
	doc/ftimes/controls/ExcludesMustExist.pod,
	doc/ftimes/controls/Include.pod,
	doc/ftimes/controls/IncludesMustExist.pod,
	doc/ftimes/sections/DESCRIPTION.pod,
	doc/ftimes/sections/OPTIONS.pod, etc/digfull.cfg.sample,
	etc/diglean.cfg.sample, etc/mapfull.cfg.sample,
	etc/maplean.cfg.sample, src/digmode.c, src/ftimes.h, src/mapmode.c,
	src/properties.c, src/support.c: Added ExcludesMustExist and
	IncludesMustExist controls.

2004-09-09 12:46  mavrik

	* tools/hashdig/hashdig-filter.pl: Added a new filter, kernel, for
	handling kernel-specific directories.

2004-06-26 12:04  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Modified seek logic to handle both
	positive and negative offsets.	The negative case was not handled
	in the previous commit.

2004-06-26 10:54  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Modified seek logic to handle
	offsets greater than 31 bits. The new logic will loop traversing,
	at most, 2GB per iteration until the desired offset is reached.

2004-06-26 10:17  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Added code to print out a warning
	when a particular file has been blacklisted.

2004-06-15 00:52  mavrik

	* tools/hashdig/: hashdig-bind.pl, hashdig-harvest.pl: Added
	support for GENERIC data sets. Thanks to Andy Bair for writing the
	initial patch.

2004-06-14 11:16  mavrik

	* tools/hashdig/: hashdig-bind.pl, hashdig-harvest.pl: Added
	support for FTK data sets. Thanks to Andy Bair for suggesting the
	capability and writing the initial patch.

2004-04-26 16:12  mavrik

	* tools/dig/hipdig.pl: Added missing information for Track2* types.

2004-04-26 15:25  mavrik

	* tools/dig/hipdig.pl: Fixed an off-by-one bug in the Track[12]*()
	routines. These routines do not use right hand boundaries, so their
	adjustment factor should have been zero instead of one. The updated
	code is based on Dig4SSN().

2004-04-26 01:09  mavrik

	* tools/dig/hipdig.pl: Modified the SSN expression such that there
	must be 2 hyphens or none at all.

2004-04-25 23:22  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Updated logic to accept dig offsets
	that have been specified in hex.

2004-04-25 23:18  mavrik

	* tools/dig/hipdig.pl: Added the '-H' option to print dig offsets
	in hex. This will make it easier to locate matches when viewing raw
	data with tools like hexdump or bvi.

2004-04-25 23:13  mavrik

	* tools/hashdig/hashdig-bind.pl: Added missing i modifier to MD5SUM
	FileType expression.

2004-04-25 18:41  mavrik

	* tools/dig/hipdig.pl: Updated Dig4Domains(). The updated
	expression and associated logic are based on Dig4SSN().

2004-04-25 18:05  mavrik

	* tools/dig/hipdig.pl: Updated Dig4Passwords(). The updated
	expression and associated logic are based on Dig4SSN().

2004-04-25 12:47  mavrik

	* tools/dig/hipdig.pl: Updated Dig4IPs(). The updated expression
	and associated logic are based on Dig4SSN().

2004-04-25 12:37  mavrik

	* tools/dig/hipdig.pl: Tightened up the SSN expression again. The
	old right hand boundary expression (i.e., '[^0-9]?') was supposed
	to match nothing or a non digit. However, since it could always
	match on nothing, the overall expression would match numbers that
	included extra leading digits.	The new expression still matches on
	nothing, but now, that behavior is anchored to the beginning of the
	search buffer. At any other location, the match must be preceded by
	a non digit.

2004-04-25 11:53  mavrik

	* doc/ftimes/sections/MODES-OF-OPERATION.pod: Documented the
	behavior of each mode with respect to AnalyzeDeviceFiles.

2004-04-25 11:49  mavrik

	* src/: digmode.c, mapmode.c: Set AnalyzeDeviceFiles to be enabled
	by default in the auto modes.

2004-04-25 11:22  mavrik

	* src/dig.c: Fixed a typo.

2004-04-24 15:42  mavrik

	* tools/dig/hipdig.pl: Tightened up the SSN expression, and added
	negative lookaheads to ignore invalid numbers. Added an adjustment
	factor of zero because the trailing lookahead doesn't consume any
	additional characters.

2004-04-24 02:26  mavrik

	* src/ftimes.h: Bumped the minor version number.

2004-04-24 02:25  mavrik

	* src/: compare.c, dig.c, map.c: Reviewed and updated the size
	calculations for the various acOutput buffers.

2004-04-24 00:47  mavrik

	* README: Reviewed documentation and fixed various nits and bits.
	Ran each paragraph through fmt (i.e., '.,/^$/!fmt').

2004-04-24 00:41  mavrik

	* README.INSTALL: Reviewed documentation and fixed various nits and
	bits. Ran each paragraph through fmt (i.e., '.,/^$/!fmt').

2004-04-23 18:23  mavrik

	* doc/ftimes/controls/SSLMaxChainLength.pod: Corrected a
	documentation error with the default value.

2004-04-23 18:14  mavrik

	* etc/: digfull.cfg.sample, diglean.cfg.sample, get.cfg.sample,
	mapfull.cfg.sample, maplean.cfg.sample, put.cfg.sample: Set each
	control to its default value or nothing in the case where the
	control has no default value. Added a blurb about how the controls
	are set. Made minor rearrangements and corrections. Added missing
	controls.

2004-04-23 17:32  mavrik

	* Makefile.vs, README.INSTALL, cgi/nph-ftimes.cgi,
	doc/ftimes/controls/BaseName.pod, doc/ftimes/sections/EXAMPLES.pod,
	etc/Makefile.in, etc/nph-ftimes.cfg.sample: Overhauled and
	restructured nph-ftimes.cgi to be similar in design and function to
	nph-webjob.cgi (from The WebJob Project). Updated associated
	Makefiles and documentation along the way.

2004-04-23 15:44  mavrik

	* src/properties.c: Changed pcLine to pcControl.

2004-04-22 22:57  mavrik

	* src/ftimes.c: Added a cast to prevent a compiler warning. The
	specific warning was: "warning: int format, pid_t arg (arg 4)".
	This warning was generated by gcc 3.3 running on a Solaris 7
	system.

2004-04-22 22:51  mavrik

	* src/: decode.c, develop.c, dig.c, ftimes.h, map.c: Added
	FTIMES_MAX_32BIT_SIZE and FTIMES_MAX_64BIT_SIZE, and integrated
	them into the code.

2004-04-22 16:33  mavrik

	* doc/ftimes/controls/BaseNameSuffix.pod,
	doc/ftimes/sections/DESCRIPTION.pod,
	doc/ftimes/sections/EXAMPLES.pod, doc/ftimes/sections/FILES.pod,
	etc/digfull.cfg.sample, etc/diglean.cfg.sample,
	etc/mapfull.cfg.sample, etc/maplean.cfg.sample, src/digmode.c,
	src/ftimes.c, src/ftimes.h, src/mapmode.c, src/properties.c,
	src/support.c: Added BaseNameSuffix control.

2004-04-22 15:05  mavrik

	* doc/ftimes/controls/AnalyzeRemoteFiles.pod: Added missing pod
	file and description for the AnalyzeRemoteFiles control.

2004-04-22 13:29  mavrik

	* doc/ftimes/sections/RETURN-VALUES.pod: Synchronized style/layout
	with the corresponding file in The WebJob Project.

2004-04-22 12:31  mavrik

	* doc/ftimes/controls/MapRemoteFiles.pod,
	doc/ftimes/sections/DESCRIPTION.pod,
	doc/ftimes/sections/MODES-OF-OPERATION.pod, etc/digfull.cfg.sample,
	etc/diglean.cfg.sample, etc/mapfull.cfg.sample,
	etc/maplean.cfg.sample, src/digmode.c, src/ftimes.h, src/map.c,
	src/mapmode.c, src/properties.c, src/support.c: Added
	AnalyzeRemoteFiles control. Modified MapRemoteFiles to be an alias
	for AnalyzeRemoteFiles. MapRemoteFiles should be phased out in a
	future release.

2004-04-22 11:39  mavrik

	* doc/ftimes/sections/: EXAMPLES.pod, HISTORY.pod,
	MODES-OF-OPERATION.pod, NOTES.pod, RETURN-VALUES.pod,
	CONFIGUARTION-CONTROLS.pod, MODES-OF-OPERATION.pod: Added missing
	commas.

2004-04-22 11:29  mavrik

	* doc/ftimes/controls/: AnalyzeDeviceFiles.pod, BaseName.pod,
	Compress.pod, DataType.pod, EnableRecursion.pod, FieldMask.pod,
	FileSizeLimit.pod, GetAndExec.pod, GetFileName.pod,
	HashDirectories.pod, HashSymbolicLinks.pod, Import.pod,
	MagicFile.pod, MapRemoteFiles.pod, MatchLimit.pod, NewLine.pod,
	OutFileHash.pod, OutFileName.pod, RequirePrivilege.pod,
	RunType.pod, SSLMaxChainLength.pod, SSLUseCertificate.pod,
	SSLVerifyPeerCert.pod, URLAuthType.pod, URLCreateConfig.pod,
	URLPassword.pod, URLPutSnapshot.pod, URLUnlinkOutput.pod,
	URLUsername.pod: Documented default values where necessary. Cleaned
	up the format of various paragraphs (i.e., '.,/^$/!fmt').

2004-04-22 01:24  mavrik

	* configure.in, doc/ftimes/controls/AnalyzeDeviceFiles.pod,
	doc/ftimes/sections/DESCRIPTION.pod, src/ftimes.h, src/map.c,
	src/properties.c: Added AnalyzeDeviceFiles control. Removed
	--enable-devices configure option.

2004-04-21 22:59  mavrik

	* src/: compare.h, ftimes.h, xmagic.h: Increased the size of
	{CMP,FTIMES,XMAGIC}_MAX_LINE to 8192. This was done for consistency
	and to add a little breathing room.

2004-04-21 22:55  mavrik

	* src/: xmagic.c, xmagic.h: Replaced all instances of
	XMAGIC_MAX_LINE_LENGTH with XMAGIC_MAX_LINE.

2004-04-21 22:53  mavrik

	* src/: compare.c, compare.h: Replaced all instances of
	CMP_MAX_LINE_LENGTH with CMP_MAX_LINE.

2004-04-21 22:37  mavrik

	* src/ftimes.h: Redefined FTIMES_MAX_PATH from 1024 to 4096 under
	UNIX to make it match the value for PATH_MAX under Linux.

2004-04-21 22:19  mavrik

	* src/: analyze.c, cfgtest.c, compare.c, decode.c, decoder.c,
	dig.c, digmode.c, error.c, error.h, fsinfo.c, ftimes.c, getmode.c,
	map.c, mapmode.c, properties.c, putmode.c, support.c, url.c,
	xmagic.c: Replaced all instances of ERRBUF_SIZE with MESSAGE_SIZE.

2004-04-21 20:52  mavrik

	* src/map.c: Modified the warning message produced when the file
	system is an unsupported type (i.e., iFSType == FSTYPE_UNSUPPORTED)
	to include the diagnostic information returned by
	GetFileSystemType().

2004-04-21 17:53  mavrik

	* src/: xmagic.c, xmagic.h: Modified XMagicCompareValues() and
	XMagicFormatDescription() to fix a 32/64 bit integer cast problem.
	The specific compiler warning was: "cast from pointer to integer of
	different size". A second, reciprocal, warning was: "cast to
	pointer from integer of different size". The basic problem was that
	pucBuffer was being cast as a 32 bit quantity (K_UINT32) -- even on
	64 bit platforms.

2004-04-21 13:28  mavrik

	* src/getmode.c: Added a cast to the last argument of the execlp()
	call to prevent a compiler warning. The specific warning was:
	"couldn't find null pointer sentinel value starting at 2 (integer 0
	is not a null pointer in varargs context)". This warning was
	generated by gcc 2.95.3 20010125 (prerelease, propolice) running on
	an OpenBSD 3.5 system.

2004-04-21 12:42  mavrik

	* doc/ftimes/controls/HashSymbolicLinks.pod: Added missing pod file
	and description for the HashSymbolicLinks control.

2004-04-20 22:30  mavrik

	* src/: decode.c, digmode.c, getmode.c, map.c, support.c: Updated
	variable declarations/names to match coding style.

2004-04-20 22:23  mavrik

	* src/: decode.c, develop.c, dig.c, digmode.c, mapmode.c: Started
	migrating from %qu to %llu as it seems that the latter is a bit
	more portable. In fact, the printf(3) man page under Linux states
	that q is a synonym for ll and that it should not be used; Solaris
	does not mention q at all; and FreeBSD supports both formats with,
	apparently, no particular preference. Note that the current
	implementation of ap_snprintf.c does not support %llu, so there are
	still a few instances of %qu in play.

2004-04-20 21:29  mavrik

	* tools/: dig/hipdig.pl, hashdig/hashdig-bash.pl,
	hashdig/hashdig-bind.pl, hashdig/hashdig-dump.pl,
	hashdig/hashdig-filter.pl, hashdig/hashdig-harvest-sunsolve.pl,
	hashdig/hashdig-harvest.pl, hashdig/hashdig-make.pl,
	hashdig/hashdig-weed.pl, map/ftimes-map2mac.pl: General cleanup and
	minor code refinements.

2004-04-20 15:35  mavrik

	* tools/hashdig/: hashdig-bind.pl, hashdig-harvest.pl: Fixed broken
	(i.e., missing parentheses) FileType regexes.

2004-04-20 15:03  mavrik

	* tools/: dig/ftimes-dig2ctx.pl, dig/hipdig.pl,
	hashdig/hashdig-bash.pl, hashdig/hashdig-bind.pl,
	hashdig/hashdig-dump.pl, hashdig/hashdig-filter.pl,
	hashdig/hashdig-harvest-sunsolve.pl, hashdig/hashdig-harvest.pl,
	hashdig/hashdig-make.pl, hashdig/hashdig-resolve-sunsolve.pl,
	hashdig/hashdig-weed.pl, map/ftimes-map2mac.pl: Updated variable
	declarations/names to match coding style.

2004-04-20 14:03  mavrik

	* tools/: dig/ftimes-dig2ctx.pl, dig/hipdig.pl,
	map/ftimes-map2mac.pl: Replaced hard-coded program name with
	basename(__FILE__).

2004-04-20 01:54  mavrik

	* tools/hashdig/hashdig-resolve-sunsolve.pl: Replaced all instances
	of Content-type with Content-Type.

2004-04-20 01:52  mavrik

	* tools/hashdig/: hashdig-bash.pl, hashdig-dump.pl,
	hashdig-make.pl, hashdig-weed.pl: Updated various comments.

2004-04-18 00:21  mavrik

	* src/url.c: Fixed up more fallout produced by updating ktypes.h.
	The specific compiler warning was: "comparison is always false due
	to limited range of data type" -- i.e., there was a broken cast.

2004-04-17 23:07  mavrik

	* configure.in: Removed unconditional -O2 flag from CFLAGS.

2004-04-17 22:41  mavrik

	* configure.in: Whitespace cleanup (i.e., remove tabs and fix
	indentation). Added configure/build support for the amd64 and
	x86_64 platforms.

2004-04-17 20:24  mavrik

	* src/xmagic.c: Fixed up the %lu fallout produced by updating
	ktypes.h.

2004-04-17 15:59  mavrik

	* src/: decoder.c, digmode.c, mapmode.c, url.c: Fixed up the %lu
	fallout produced by updating ktypes.h.

2004-04-17 15:50  mavrik

	* src/http.c: Synchronized file with revision 1.21 of the same in
	The WebJob Project.

2004-04-17 15:49  mavrik

	* src/http.h: Synchronized file with revision 1.11 of the same in
	The WebJob Project.

2004-04-17 15:48  mavrik

	* src/ktypes.h: Synchronized file with revision 1.9 of the same in
	The WebJob Project.

2004-04-17 15:38  mavrik

	* src/ssl.h: Synchronized file with revision 1.6 of the same in The
	WebJob Project.

2004-04-17 15:35  mavrik

	* src/ssl.c: Synchronized file with revision 1.9 of the same in The
	WebJob Project.

2004-04-17 15:34  mavrik

	* src/socket.c: Synchronized file with revision 1.8 of the same in
	The WebJob Project.

2004-04-04 16:56  mavrik

	* doc/ftimes/controls/EnableRecursion.pod,
	doc/ftimes/sections/DESCRIPTION.pod, src/ftimes.c, src/ftimes.h,
	src/map.c, src/properties.c: Added EnableRecursion control.

2004-04-04 16:01  mavrik

	* configure.in: Removed the '(same as --with-ssl=no)' bit from the
	--without-ssl option because it doesn't provide any extra value.
	Removed the --without-server-side, --without-all-tools,
	--without-dig-tools, --without-hashdig-tools, and
	--without-map-tools options because they are the default condition.
	Annotated those options that are disabled by default. Hopefully,
	this will make the output of './configure --help' a little easier
	to decipher.

2004-04-04 03:40  mavrik

	* tools/map/ftimes-map2dbi.pl: Added missing $Id$ comment block.

2004-04-04 03:30  mavrik

	* tools/dig/hipdig.pl: Refined SSN expression to match numbers that
	don't contain hyphens.

2004-04-04 03:14  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Removed author's email address.

2004-04-04 03:09  mavrik

	* Makefile.in, Makefile.vs, README.LICENSE, cgi/Makefile.in,
	cgi/nph-ftimes.cgi, doc/Makefile.in, doc/ftimes/Makefile,
	etc/Makefile.in, src/Makefile.in, src/all-includes.h,
	src/analyze.c, src/app-includes.h, src/cfgtest.c, src/cmpmode.c,
	src/compare.c, src/compare.h, src/decode.c, src/decode.h,
	src/decoder.c, src/develop.c, src/dig.c, src/dig.h, src/digmode.c,
	src/error.c, src/error.h, src/fsinfo.c, src/fsinfo.h, src/ftimes.c,
	src/ftimes.h, src/getmode.c, src/http.c, src/http.h, src/ktypes.h,
	src/map.c, src/mapmode.c, src/md5.c, src/md5.h, src/message.c,
	src/message.h, src/properties.c, src/putmode.c, src/socket.c,
	src/socket.h, src/ssl-pool.h, src/ssl.c, src/ssl.h, src/support.c,
	src/sys-includes.h, src/time.c, src/url.c, src/xmagic.c,
	src/xmagic.h, src/test/dig/Makefile, tools/Makefile.in,
	tools/dig/Makefile.in, tools/dig/ftimes-dig2ctx.pl,
	tools/dig/hipdig.pl, tools/hashdig/Makefile.in,
	tools/hashdig/hashdig-bash.pl, tools/hashdig/hashdig-bind.pl,
	tools/hashdig/hashdig-dump.pl, tools/hashdig/hashdig-filter.pl,
	tools/hashdig/hashdig-harvest-sunsolve.pl,
	tools/hashdig/hashdig-harvest.pl, tools/hashdig/hashdig-make.pl,
	tools/hashdig/hashdig-resolve-sunsolve.pl,
	tools/hashdig/hashdig-weed.pl, tools/lrs/pool2string.c,
	tools/lrs/string2pool.c, tools/map/Makefile.in,
	tools/map/ftimes-map2mac.pl: Updated copyright information.

2004-04-04 01:13  mavrik

	* tools/dig/hipdig.pl: Added support for Social Security Numbers.
	Thanks to Jason Smith for suggesting the capability and writing the
	initial patch.

2004-04-04 01:13  mavrik

	* src/: analyze.c, cfgtest.c, cmpmode.c, compare.c, compare.h,
	decode.c, decode.h, decoder.c, develop.c, dig.c, dig.h, digmode.c,
	error.c, fsinfo.c, fsinfo.h, ftimes.c, ftimes.h, getmode.c, map.c,
	mapmode.c, message.c, properties.c, putmode.c, support.c, time.c,
	url.c, xmagic.c, xmagic.h: Updated variable declarations/names to
	match coding style.

2004-04-03 15:57  mavrik

	* doc/ftimes/controls/FileSizeLimit.pod,
	doc/ftimes/sections/DESCRIPTION.pod, src/analyze.c, src/ftimes.h,
	src/properties.c: Added FileSizeLimit control.

2004-04-02 23:08  mavrik

	* src/: cmpmode.c, digmode.c, getmode.c, mapmode.c, putmode.c:
	Updated variable declarations/names to match coding style.

2004-04-02 22:45  mavrik

	* src/: digmode.c, mapmode.c: Set the default OutFile/LogFile
	buffering mode to be line buffered with setvbuf(). However, the
	default behavior for stdout/stderr was not changed. According to
	the setvbuf() man page, if the stream refers to a terminal, as
	stdout normally does, then it will be line buffered, and if the
	stream is stderr, it will be unbuffered.

2004-04-02 22:15  mavrik

	* src/decoder.c: Updated variable declarations/names to match
	coding style.

2004-03-19 13:33  mavrik

	* tools/hashdig/Makefile.in: Added missing hashdig-stat.pl entry.

2004-03-19 11:15  mavrik

	* tools/map/: Makefile.in, ftimes-map2dbi.pl: Added
	ftimes-map2dbi.pl to the project. The purpose of this tool is to
	preprocess FTimes map data for MySQL db import.

2004-03-19 10:04  mavrik

	* tools/: hashdig/hashdig-harvest-sunsolve.pl,
	hashdig/hashdig-harvest.pl, map/ftimes-map2mac.pl: Added code that
	honors TMPDIR (environment variable) over /tmp as sort's default
	work area. Thanks to Hank Leininger for requesting this change and
	writing the initial patch.

2004-02-27 14:57  mavrik

	* tools/hashdig/hashdig-stat.pl: Added logic to handle the case
	where only one record does not parse properly.

2004-02-27 14:48  mavrik

	* tools/hashdig/hashdig-stat.pl: Added hashdig-stat.pl to the
	project. The purpose of this tool is to produce statistics on one
	or more HashDig (.hd or .db) files.  Thanks to Andy Bair for
	writing the initial revision.

2004-02-27 12:49  mavrik

	* tools/hashdig/hashdig-dump.pl: Removed an extra 'the' from the
	DESCRIPTION section.

2004-02-26 16:57  mavrik

	* tools/hashdig/README: Updated documentation.

2004-02-20 12:59  mavrik

	* tools/hashdig/hashdig-harvest.pl: Added support for HashKeeper
	data sets.

2004-02-04 00:53  mavrik

	* tools/hashdig/: hashdig-bind.pl, hashdig-harvest.pl: Cleaned up
	and refined code/documentation as necessary.

2004-02-04 00:47  mavrik

	* tools/hashdig/hashdig-bind.pl: Added support for OpenSSL data
	sets.

2004-02-03 16:54  mavrik

	* tools/hashdig/hashdig-harvest.pl: Added missing openssl(1)
	reference.

2004-02-03 16:45  mavrik

	* tools/hashdig/hashdig-harvest.pl: Added support for OpenSSL data
	sets. Thanks to Andy Bair for suggesting the capability and writing
	the initial patch.

2003-11-24 00:40  mavrik

	* src/map.c: Replaced all occurrences of PathN with NeuteredPath.
	Replaced all occurrences of PathR with RawPath. Replaced all
	occurrences of ParentPathR with RawParentPath. Replaced all
	occurrences of CurrentPathR with RawCurrentPath. Replaced all
	occurrences of StreamWN with NeuteredWideStream. This was done to
	make error messages less cryptic.

2003-11-24 00:14  mavrik

	* src/: ftimes.h, map.c: Fixed a potential overflow condition with
	the NewRawPath character array. The problem was that the logic was
	testing iPathLength instead of iNameLength to determine if the new
	path would exceed the maximum allowed length (i.e. FTIMES_MAX_PATH
	- 1). Redefined FTIMES_MAX_PATH from 255 to 1024 under UNIX to make
	it more consistent with the customary value for PATH_MAX.

2003-11-23 21:00  mavrik

	* src/map.c: Replaced all calls to free() with the MEMORY_FREE
	macro.

2003-11-23 20:56  mavrik

	* src/map.c: Replaced all calls to SupportFreeData() with the
	MEMORY_FREE macro.

2003-11-23 17:56  mavrik

	* src/: develop.c, ftimes.h, map.c: Overhauled
	MapCountNamedStreams().

2003-11-23 14:50  mavrik

	* src/map.c: Fixed two WIN32 specific memory leaks related to
	alternate streams and neutered filenames. The problem was that
	memory allocated for the DOT and DOTDOT cases was not being
	released. Thanks to Mahesh Manneppa and Sanjay Pal for discovering
	and reporting this problem.

2003-11-18 11:28  mavrik

	* src/cfgtest.c: Added missing diglean and maplean modes to an
	error message in CfgTestProcessArguments().

2003-10-09 17:09  mavrik

	* tools/hashdig/: hashdig-bash.pl, hashdig-bind.pl,
	hashdig-dump.pl, hashdig-filter.pl, hashdig-harvest-sunsolve.pl,
	hashdig-harvest.pl, hashdig-make.pl, hashdig-weed.pl: Checked for
	improper input file handling logic as described in the cvs log for
	hashdig-resolve-sunsolve.pl (revision 1.6). Cleaned up other nits
	and bits along the way.

2003-10-09 16:47  mavrik

	* tools/hashdig/hashdig-resolve-sunsolve.pl: Reworked input file
	handling logic. The old logic assumed that if the specified file
	failed the -f test, then it must be stdin or a special file. This
	assumption failed to consider that the specified file may not exist
	(e.g., because it was mistyped). The new logic checks for stdin
	('-') first and lets the else clause deal with all other cases.

2003-10-09 15:29  mavrik

	* tools/hashdig/hashdig-resolve-sunsolve.pl: Reviewed code. Cleaned
	up and refined code/documentation as necessary.  Added '-r' option
	to provide a method redo a particular request.

2003-10-09 11:48  mavrik

	* tools/hashdig/hashdig-bind.pl: Reviewed code. Cleaned up and
	refined code/documentation as necessary.

2003-09-14 11:54  mavrik

	* tools/hashdig/hashdig-bind.pl: Reworked the new SYMLINK logic --
	the previous commit did not take into account existing logic which
	was based on the mode field.

2003-09-14 11:44  mavrik

	* tools/hashdig/hashdig-harvest.pl: Added logic to skip directory
	hashes in FTimes map data.

2003-09-13 12:24  mavrik

	* tools/hashdig/: hashdig-bind.pl, hashdig-harvest.pl: Modified
	logic to include support for symbolic links.

2003-08-20 15:49  mavrik

	* configure.in, src/fsinfo.c, src/fsinfo.h, src/sys-includes.h:
	Added support for HP-UX. The build process was subsequently tested
	on a 9000/735 system running HP-UX 10.20.

2003-08-15 09:31  mavrik

	* README.INSTALL: Fixed a typo.

2003-08-13 18:50  mavrik

	* src/ftimes.h: Bumped the minor version number.

2003-08-13 17:39  mavrik

	* src/: analyze.c, compare.c, develop.c, dig.c, dig.h, digmode.c,
	ftimes.h, map.c, mapmode.c, md5.c, md5.h, properties.c, url.c:
	Synchronized md5.[ch] with their WebJob counterparts. This induced
	several variable name and function prototype changes. Essentially,
	the MD5 code has been completely replaced.

2003-08-13 14:25  mavrik

	* doc/ftimes/sections/DESCRIPTION.pod, etc/mapfull.cfg.sample,
	etc/maplean.cfg.sample, src/decode.c, src/develop.c, src/ftimes.h,
	src/map.c, src/properties.c: Added HashSymbolicLinks control.

2003-08-13 12:19  mavrik

	* src/ktypes.h: Synchronized file with revision 1.4 of the same in
	The WebJob Project.

2003-08-13 12:06  mavrik

	* src/: http.c, http.h: Synchronized http.[ch] with their WebJob
	counterparts. The relevant comments from WebJob's ChangeLog are
	dated 2003-07-23 15:16, 2003-07-23 13:58, and 2003-06-15 22:49. The
	most significant comments are included here:
	
	Changed the 2nd argument of HTTPReadDataIntoMemory() from ppcData
	to ppvData. Added a line inside the routine that initializes
	ppcData using an explicit cast. This was done to eliminate the
	following warning: "dereferencing type-punned pointer will break
	strict-aliasing rules". The warning was generated by gcc 3.3
	running on a Solaris 7 system.
	
	Modified the logic in HTTPSetURLPort() to fix the following
	warning: "comparison is always false due to limited range of data
	type". The warning was generated by gcc 3.3 running on a Solaris 7
	system.

2003-08-12 21:53  mavrik

	* Makefile.vs, README.INSTALL, cgi/nph-ftimes.cgi,
	doc/ftimes/controls/BaseName.pod, doc/ftimes/controls/Compress.pod,
	doc/ftimes/controls/DigString.pod, doc/ftimes/controls/Exclude.pod,
	doc/ftimes/controls/FieldMask.pod,
	doc/ftimes/controls/GetAndExec.pod,
	doc/ftimes/controls/HashDirectories.pod,
	doc/ftimes/controls/Import.pod, doc/ftimes/controls/Include.pod,
	doc/ftimes/controls/LogDir.pod, doc/ftimes/controls/MagicFile.pod,
	doc/ftimes/controls/MapRemoteFiles.pod,
	doc/ftimes/controls/MatchLimit.pod,
	doc/ftimes/controls/NewLine.pod, doc/ftimes/controls/OutDir.pod,
	doc/ftimes/controls/RequirePrivilege.pod,
	doc/ftimes/controls/URLGetRequest.pod,
	doc/ftimes/sections/AUTHOR.pod,
	doc/ftimes/sections/DESCRIPTION.pod,
	doc/ftimes/sections/EXAMPLES.pod, doc/ftimes/sections/FILES.pod,
	doc/ftimes/sections/MODES-OF-OPERATION.pod,
	doc/ftimes/sections/SYNOPSIS.pod, etc/Makefile.in,
	etc/dig.cfg.sample, etc/digfull.cfg.sample, etc/diglean.cfg.sample,
	etc/get.cfg.sample, etc/map.cfg.sample, etc/mapfull.cfg.sample,
	etc/maplean.cfg.sample, etc/put.cfg.sample, src/cfgtest.c,
	src/digmode.c, src/ftimes.c, src/ftimes.h, src/getmode.c,
	src/mapmode.c, src/properties.c: Added two new modes: diglean and
	maplean. These modes were added to fill the gap between the auto
	and full modes. The auto modes were intended for situations where
	output to std{err,out} is needed and a canned, but limited,
	configuration is acceptable. In certain cases that inflexibility
	can be frustrating. The new lean modes provide access to more
	configuration controls but still allow output to be written to
	std{err,out}.

2003-08-12 16:58  mavrik

	* tools/dig/hipdig.pl: Added support for Track2 credit card data.
	Thanks to Jason Smith for suggesting the capability and writing the
	initial patch.

2003-08-12 16:33  mavrik

	* tools/dig/hipdig.pl: Added support for Track1 credit card data.
	Thanks to Jason Smith for suggesting the capability and writing the
	initial patch.

2003-08-12 14:17  mavrik

	* tools/map/ftimes-map2mac.pl: Restructured the code to support two
	sorting methods: external and internal. Prior to this, only the
	internal method was supported.	The external method is necessary
	for processing large data sets.  However, it does require a sort
	utility, such as GNU sort, that supports the '-r', '-T', and '-u'
	options.

2003-08-02 10:59  mavrik

	* tools/hashdig/hashdig-filter.pl: Updated documentation to include
	information about the 'other' file.

2003-08-02 10:50  mavrik

	* tools/hashdig/hashdig-filter.pl: Added code to dump all unmatched
	records to the 'other' file.  Replaced all instances of $notCounter
	to $otherCounter.

2003-06-26 10:08  mavrik

	* Makefile.in, configure.in: Removed the --localdir option from the
	auto target as it is no longer supported by autoconf/autoheader.
	This problem was detected by autoconf 2.57. As a side note, the
	--localdir option was originally added for the benefit of
	acconfig.h, which is no longer used. Added AC_PREREQ(2.53) to
	ensure that autoconf 2.53 or higher is used.

2003-06-22 23:46  mavrik

	* configure.in: Added logic to initialize $CFLAGS before AC_PROG_CC
	does. In other words, if $CFLAGS is set, then AC_PROG_CC will leave
	it alone. This modification also makes it possible to honor $CFLAGS
	passed in on the command line or from the environment.

2003-05-19 10:05  mavrik

	* configure.in, src/md5.h: Added configure/build support for the
	ia64 platform.

2003-03-27 09:25  mavrik

	* tools/hashdig/README: Updated section 1.

2003-03-26 21:57  mavrik

	* tools/hashdig/: README, hashdig-harvest.pl: Added support for
	NSRL2 data sets.

2003-03-26 16:41  mavrik

	* tools/map/ftimes-map2mac.pl: Added parentheses to all defined()
	calls.

2003-03-26 16:39  mavrik

	* tools/dig/: ftimes-dig2ctx.pl, hipdig.pl: Added parentheses to
	all defined() and exists() calls.

2003-03-26 15:47  mavrik

	* tools/hashdig/: hashdig-bash.pl, hashdig-harvest-sunsolve.pl,
	hashdig-make.pl, hashdig-weed.pl: Added parentheses to all
	defined() calls.

2003-03-26 14:10  mavrik

	* tools/hashdig/hashdig-resolve-sunsolve.pl: General cleanup and
	minor code refinements.

2003-03-26 09:45  mavrik

	* tools/hashdig/README: Updated sections 1 and 2.2.

2003-03-26 09:12  mavrik

	* tools/hashdig/hashdig-filter.pl: Overhauled script. Added
	OpenFileHandles() to streamline file handle logic. Added the '-p'
	option. This allows the user to specify a path prefix. Thanks to
	Andy Bair for suggesting the capability and writing the initial
	patch.

2003-03-25 16:15  mavrik

	* tools/hashdig/hashdig-bind.pl: Replaced ProcessXXXHeader() and
	ProcessXXXRecord() routines with combined BindXXXFile() routines.
	Aligned the script's code structure with hashdig-harvest.pl
	(revision 1.5). Hopefully, this will make it easier to support new
	file types going forward. Fixed minor nits and bits.

2003-03-25 09:47  mavrik

	* tools/hashdig/hashdig-harvest.pl: Added missing beQuiet
	if-blocks.

2003-03-25 08:54  mavrik

	* tools/hashdig/: README, hashdig-harvest.pl: Updated the
	KnownGoods file format.

2003-03-24 21:57  mavrik

	* tools/hashdig/hashdig-harvest.pl: General cleanup and minor code
	refinements. Fixed a typo and an oversight in ProcessFTimesFile().

2003-03-24 21:52  mavrik

	* tools/hashdig/README: Updated documentation.

2003-03-24 18:30  mavrik

	* tools/hashdig/hashdig-harvest.pl: Fixed a typo.

2003-03-24 18:29  mavrik

	* tools/hashdig/hashdig-make.pl: Overhauled script. Moved all
	functionality related to harvesting hash information from the
	various file types to hashdig-harvest.pl.  Going forward, all input
	is expected to conform to the HashDig format (i.e. hash|category or
	category|hash).

2003-03-24 17:59  mavrik

	* tools/hashdig/hashdig-harvest-sunsolve.pl: Modified the script to
	function more like and yield the same output as hashdig-harvest.pl.

2003-03-24 17:33  mavrik

	* tools/hashdig/hashdig-resolve-sunsolve.pl: General cleanup and
	minor code refinements.

2003-03-24 16:03  mavrik

	* tools/hashdig/: Makefile.in, hashdig-harvest.pl: Added
	hashdig-harvest.pl to the project. The purpose of this tool is to
	harvest hashes from a one or more files and convert them to the
	standard HashDig format (i.e. a sorted list of hash/category
	pairs). The basic functionality this script provides was derived
	from hashdig-make.pl (revision 1.3). The driving forces behind the
	creation of this script were speed and modularity.

2003-03-24 11:24  mavrik

	* tools/hashdig/hashdig-bind.pl: Changed the default input format
	from category|hash to hash|category.  Added the '-r' option to
	provide continued support for both input formats.

2003-03-24 10:50  mavrik

	* tools/hashdig/hashdig-bash.pl: Added a check to ensure that the
	reference and subject databases are different. Added logic to keep
	track of and report the number of bashed and tagged hashes.

2003-03-24 08:25  mavrik

	* tools/hashdig/hashdig-dump.pl: General cleanup and minor code
	refinements. Changed the default output format from category|hash
	to hash|category. Added the '-r' option to provide continued
	support for both output formats.

2003-03-22 15:15  mavrik

	* tools/hashdig/hashdig-bash.pl: Added a second, read/write tie()
	to the subject database, and forced the first tie() to be read
	only. This was done to correct an enumeration error with the
	subject database when it is the iterator.  The problem stems from
	the fact that a hash must not be altered while it's being
	enumerated with each() -- see perldoc -f each.	Now, when the
	subject database is the iterator, the hash associated with the
	first tie() is passed to each() and the hash associated with the
	second tie() is the one that gets updated. Because changes are only
	made to the current key's value (i.e. no keys are added or
	subtracted), the assumption is that modifying the database through
	one tie() would not affect the enumeration of it through another.

2003-03-22 14:41  mavrik

	* tools/hashdig/hashdig-weed.pl: General cleanup and minor code
	refinements.

2003-03-18 16:53  mavrik

	* tools/hashdig/hashdig-bash.pl: Fixed a typo.

2003-03-18 16:35  mavrik

	* tools/hashdig/hashdig-bash.pl: Added logic to control which
	database becomes the iterator. By default, the smaller of the two
	is used.

2003-03-18 10:20  mavrik

	* tools/hashdig/README: Made hashdig-dump commands more explicit by
	adding the '-c' option.  Added a blurb in the Requirements section
	about how HashDig scripts are only supported in UNIX envrionments
	at this time.

2003-03-17 15:43  mavrik

	* Makefile.vs: Renamed *.cfg to *.cfg.sample. Added $USE_CGI with a
	default value of "N".

2003-03-17 15:17  mavrik

	* doc/Makefile.in: Removed a blank line from the install-html
	target. This was causing Solaris builds to trip up.

2003-03-17 14:38  mavrik

	* src/ftimes.h: Bumped the update version number.

2003-03-17 14:31  mavrik

	* README.INSTALL: Updated section 2.4.

2003-03-17 14:24  mavrik

	* Makefile.in, configure.in: Added --with-server-side configure
	option to allow for the installation of server-side components
	(e.g., cgi). Going forward, the default install will not include
	server-side components as they are typically not required.

2003-03-17 13:57  mavrik

	* doc/Makefile.in: Split the install target into two new targets:
	install-html and install-man. Going forward, the install target
	will only install man pages.

2003-03-17 13:46  mavrik

	* tools/hashdig/README: Minor cleanup and refinements.

2003-03-17 12:13  mavrik

	* tools/hashdig/README: Updated documentation.

2003-03-16 11:35  mavrik

	* tools/hashdig/: Makefile.in, hashdig-weed.pl: Added
	hashdig-weed.pl to the project. The purpose of this tool is to
	delete specified hashes from a HashDig database.

2003-03-15 00:22  mavrik

	* tools/map/ftimes-map2mac.pl: Added documentation.

2003-03-14 18:18  mavrik

	* etc/: Makefile.in, dig.cfg, dig.cfg.sample, get.cfg,
	get.cfg.sample, map.cfg, map.cfg.sample, put.cfg, put.cfg.sample:
	Renamed *.cfg to *.cfg.sample to make things more compliant with
	the FreeBSD ports format.

2003-03-14 17:00  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Added documentation.

2003-03-14 14:28  mavrik

	* tools/dig/hipdig.pl: Fixed the comment block in Dig4Passwords().

2003-03-14 14:22  mavrik

	* tools/dig/: Makefile.in, hipdig.pl: Added hipdig.pl to the
	project. The purpose of this tool is to search for hostnames, IPs,
	or encrypted passwords in one or more files.

2003-03-14 14:13  mavrik

	* tools/dig/ftimes-dig2ctx.pl: Added logic to test for the case
	where the amount of data read is less than the amount requested. If
	this case happens, an error message will be generated.

2003-03-13 14:26  mavrik

	* tools/hashdig/: hashdig-bind.pl, hashdig-filter.pl,
	hashdig-make.pl: Replaced ARGV-based while loops with corresponding
	foreach loops.	In other words, loops like 'while (my $file =
	shift)' have been replaced with loops like 'foreach my $file
	(@ARGV)'. The problem with the while loop is that files that
	evaluate to false (e.g., "0") cause it to terminate -- possibly
	prematurely.

2003-03-12 20:47  mavrik

	* configure.in: Added --with-all-tools configure option. If
	$install_all is set, then each tool set will be installed unless it
	has been specifically disabled with one of the --without options.
	Renamed --with-hashdig to --with-hashdig-tools.

2003-03-12 15:44  mavrik

	* configure.in: Added $tool_makefiles to dynamically handle the
	creation of Makefiles in the tools tree.

2003-03-12 15:30  mavrik

	* configure.in: Added build support for dig and map utilities. This
	change included configure options (i.e. --with-dig-tools and
	--with-map-tools) that determine whether or not these utilities
	will be installed in --prefix.

2003-03-12 15:16  mavrik

	* tools/Makefile.in: Moved the setting of $cwd outside the for loop
	to so that all cds will be relative to the same base directory.

2003-03-12 14:47  mavrik

	* tools/dig/: Makefile.in, ftimes-dig2ctx.pl: Added
	ftimes-dig2ctx.pl to the project. The purpose of this tool is to
	extract context around dig strings using FTimes dig data.

2003-03-12 14:41  mavrik

	* tools/map/: Makefile.in, ftimes-map2mac.pl: Added
	ftimes-map2mac.pl to the project. The purpose of this tool is to
	create MAC/MACH timelines using FTimes map data. The letters M, A,
	and C, have the usual meanings -- i.e. mtime, atime, and ctime. The
	H in MACH stands for chtime which is NTFS specific.

2003-03-12 13:16  mavrik

	* tools/: lrs/pool2string.c, lrs/string2pool.c,
	lrs-pool/pool2string.c, lrs-pool/string2pool.c: Renamed lrs-pool to
	lrs.

2003-03-12 00:46  mavrik

	* tools/hashdig/hashdig-resolve-sunsolve.pl: Added logic to create
	files containing the block of hashes submitted for each request.
	This was done so that it would be possible to resubmit failed
	requests at a later time. Changed the line terminator in hash
	blocks from '\r\n' to '\n'.

2003-03-12 00:01  mavrik

	* tools/hashdig/README: Fixed an improperly stated HashDig command.

2003-03-11 22:07  mavrik

	* tools/hashdig/hashdig-make.pl: Added logic to ensure that the
	value of $header is defined in the FTimes and NSRL header
	processing routines.

2003-03-11 19:10  mavrik

	* tools/Makefile.in: Added build support for the tools tree.

2003-03-11 19:10  mavrik

	* Makefile.in, configure.in: Added build support for HashDig. This
	change included a configure option (i.e. --with-hashdig) that
	determines whether or not HashDig utilities will be installed in
	--prefix.

2003-03-11 19:01  mavrik

	* tools/hashdig/: Makefile.in, README, hashdig-bash.pl,
	hashdig-bind.pl, hashdig-dump.pl, hashdig-filter.pl,
	hashdig-harvest-sunsolve.pl, hashdig-make.pl,
	hashdig-resolve-sunsolve.pl: Added the HashDig sub-project to the
	project.

2003-03-11 01:26  mavrik

	* Makefile.in, doc/Makefile.in: Makefile cleanup and style changes.

2003-03-10 20:34  mavrik

	* doc/baselining/baselining.tex: Fixed a typo.

2003-02-24 17:07  mavrik

	* Makefile.in, cgi/Makefile.in, doc/Makefile.in, etc/Makefile.in,
	src/Makefile.in: Added echo suppression to cut down on chatter.

2003-02-24 16:58  mavrik

	* Makefile.in, configure.in, src/Makefile.in, src/acconfig.h:
	Upgraded to autoconf 2.53. Ran autoscan and merged the resulting
	configure.scan into configure.in. Converted the defines in
	acconfig.h to AC_DEFINE macros in configure.in, and removed
	acconfig.h from the project. Touched up the auto target in
	Makefile.in. Moved -DUNIX flag from src/Makefile.in to the
	OS_CFLAGS variable in configure.in.

2003-02-24 14:46  mavrik

	* Makefile.vs: Removed /D FTimes_WIN32. Renamed FTimes_WIN98 and
	FTimes_WINNT to WIN98 and WINNT respectively.

2003-02-24 14:42  mavrik

	* src/: develop.c, map.c: Replaced all instances of FTimes_WIN98
	with WIN98.

2003-02-24 14:39  mavrik

	* src/: analyze.c, digmode.c, ftimes.c, ftimes.h, map.c, mapmode.c,
	support.c, sys-includes.h: Replaced all instances of FTimes_WINNT
	with WINNT.

2003-02-24 14:35  mavrik

	* src/: app-includes.h, compare.c, decode.c, develop.c, dig.c,
	digmode.c, error.c, error.h, fsinfo.c, ftimes.c, ftimes.h, map.c,
	mapmode.c, message.c, properties.c, support.c, sys-includes.h,
	time.c: Replaced all instances of FTimes_WIN32 with WIN32.

2003-02-24 14:24  mavrik

	* src/: compare.c, develop.c, dig.c, fsinfo.c, ftimes.c, ftimes.h,
	map.c, message.c, properties.c, support.c, sys-includes.h, time.c:
	Replaced all instances of FTimes_UNIX with UNIX.

2003-02-24 14:04  mavrik

	* src/ftimes.c, src/ftimes.h, src/url.c, src/support.c,
	src/app-includes.h, doc/ftimes/Makefile: Added
	SupportGetMyVersion(). Modified GET/PING/PUT query strings and
	FTimesVersion() to use SupportGetMyVersion(). Moved VERSION to
	ftimes.h so that it would be in the vicinity of PROGRAM_NAME.
	Touched up any files dependent on VERSION.

2003-02-23 13:11  mavrik

	* doc/README: Synchronized file with revision 1.5 of the same in
	The WebJob Project.

2003-02-23 12:40  mavrik

	* Makefile.in, Makefile.vs, cgi/Makefile.in, cgi/nph-ftimes.cgi,
	doc/Makefile.in, doc/ftimes/Makefile, etc/Makefile.in,
	src/Makefile.in, src/acconfig.h, src/all-includes.h, src/analyze.c,
	src/ap_snprintf.c, src/ap_snprintf.h, src/app-includes.h,
	src/cfgtest.c, src/cmpmode.c, src/compare.c, src/compare.h,
	src/decode.c, src/decode.h, src/decoder.c, src/develop.c,
	src/dig.c, src/dig.h, src/digmode.c, src/error.c, src/error.h,
	src/fsinfo.c, src/fsinfo.h, src/ftimes.c, src/ftimes.h,
	src/getmode.c, src/http.c, src/http.h, src/ktypes.h, src/map.c,
	src/mapmode.c, src/md5.c, src/md5.h, src/message.c, src/message.h,
	src/native.h, src/properties.c, src/putmode.c, src/socket.c,
	src/socket.h, src/ssl-pool.h, src/ssl.c, src/ssl.h, src/support.c,
	src/sys-includes.h, src/time.c, src/url.c, src/xmagic.c,
	src/xmagic.h, src/test/dig/Makefile, tools/lrs-pool/pool2string.c,
	tools/lrs-pool/string2pool.c: Updated copyright information.

2003-02-23 12:13  mavrik

	* README.LICENSE: Updated copyright information. Added a missing
	word to the first paragraph of section four.

2003-02-23 12:10  mavrik

	* CREDITS, INSTALL, LICENSE, README, README.CREDITS,
	README.INSTALL, README.LICENSE: Renamed the CREDITS, INSTALL, and
	LICENSE files. Updated documentation in the README.

2003-01-16 16:40  mavrik

	* LICENSE: Whitespace cleanup (i.e. 's/  *$//').

2003-01-16 16:38  mavrik

	* CREDITS: Added Jon Orbeton and Jason Smith.

2003-01-16 16:36  mavrik

	* src/compare.c: Patched faulty header/data parsing logic. The
	basic problem was that the associated decode loops would not
	terminate correctly in the case where lines ended with CRLF.

2003-01-16 16:08  mavrik

	* src/: Makefile.in, acconfig.h, analyze.c, cmpmode.c, decode.c,
	decoder.c, develop.c, digmode.c, fsinfo.h, ftimes.c, getmode.c,
	mapmode.c, md5.c, properties.c, putmode.c, support.c, url.c,
	xmagic.c, xmagic.h: Whitespace cleanup (i.e. 's/  *$//').

2003-01-16 15:44  mavrik

	* src/: compare.c, decode.c, properties.c, xmagic.c: Modified code
	to use SupportChopEOLs() for EOL processing.

2003-01-16 14:47  mavrik

	* src/: ftimes.h, support.c: Added SupportChopEOLs() to consolidate
	several instances of the same logic.

2003-01-14 18:28  mavrik

	* src/map.c: Reverted to revision 1.8 because the inode checking
	logic added in revision 1.9 did not take into account the fact that
	crossing a device boundary also produces a mismatch between dirent
	and stat inode values.

2003-01-14 18:19  mavrik

	* src/app-includes.h: Removed d_fileno defines for Solaris and
	Linux.

2003-01-14 09:37  mavrik

	* src/app-includes.h: Bumped the minor version number.

2003-01-13 23:52  mavrik

	* INSTALL: Reworded the tree structure paragraph in section 3.1.

2003-01-13 23:42  mavrik

	* src/map.c: Added logic to protect/warn against the case where
	dirent and stat inode values don't match. Recently, a snapshot
	taken on a Solaris system led to a surprising discovery: one of the
	lost+found directories contained two entries with the same name but
	different inode values. This should not happen, but it did. As a
	result, FTimes generated two map records having the same filename.
	There were two problems with this: 1) one of the directory entries
	was mapped twice due to the fact that lstat() only knows how to
	operate on filenames not inodes and 2) for the compare logic to
	work properly, all filenames in a given snapshot must be unique --
	i.e.  each filename must hash to a distinct value.

2003-01-13 23:37  mavrik

	* src/app-includes.h: Added d_fileno defines for Solaris and Linux.

2003-01-13 08:26  mavrik

	* src/: http.c, socket.c, ssl.c: Synchronized http.c, socket.c, and
	ssl.c with their WebJob counterparts. The relevant comment from
	WebJob's ChangeLog is dated 2003-01-13 13:14 and is included here:
	
	Modified *SetDynamicString() routines to use realloc() instead of
	malloc(). Cleaned up several error messages along the way.

2003-01-10 16:37  mavrik

	* src/: fsinfo.c, fsinfo.h: Added file system support for NTFS on
	Linux.

2002-12-20 17:27  mavrik

	* src/app-includes.h: Added an fstat define for WIN32 platforms.

2002-12-20 17:27  mavrik

	* src/: cmpmode.c, compare.c, compare.h: Overhauled compare logic
	to correctly handle hash collisions and eliminate the db's fixed
	(64 MB) size-limit. The new logic will dynamically allocate
	additional memory until the OS imposes a hard limit. Now, if a
	collision occurs while processing the baseline, the offending
	record will be discarded -- this event will produce a log message.
	By default, no collision detection is enabled in snapshot
	processing. However, this feature can be activated with the
	following define: USE_SNAPSHOT_COLLISION_DETECTION

2002-12-05 17:58  mavrik

	* src/: http.c, http.h: Synchronized http.[ch] with their WebJob
	counterparts. The relevant comment from WebJob's ChangeLog is dated
	2002-12-05 22:52 and is included here:
	
	Fixed faulty Content-Length detection and validation logic. This,
	in turn, prompted several other, related but minor, code changes.

2002-11-26 11:23  mavrik

	* Makefile.vs: Changed the CGI installation path to
	$(INSTALL_DIR)\cgi\cgi-client.

2002-11-26 11:13  mavrik

	* Makefile.vs: Removed several application specific references
	(i.e. FTIMES_*) in an attempt to make the file more generic and
	reusable. Synchronized various bits and pieces with revision 1.4 of
	the same file in The WebJob Project. Modified static SSL build
	support to use /MT instead of /MD. This implies that the static
	OpenSSL libraries need to be built using /MT -- by default they use
	/MD (openssl-0.9.6g).

2002-11-26 09:39  mavrik

	* INSTALL, cgi/Makefile.in: Changed the CGI script directory to
	cgi-client. Changed the CGI installation path to
	${prefix}/cgi/cgi-client.

2002-11-26 09:30  mavrik

	* Makefile.in, cgi/Makefile.in, doc/Makefile.in, etc/Makefile.in,
	src/Makefile.in: Added '-p' option to all Makefile mkdir commands.

2002-10-21 20:46  mavrik

	* tools/lrs-pool/string2pool.c: Modified a print statement to
	prevent CVS from expanding the 'Id' keyword.

2002-09-20 18:17  mavrik

	* src/: fsinfo.c, fsinfo.h: Added file system support for HFS on
	MacOS X.

2002-09-20 18:15  mavrik

	* Makefile.vs: Added support to build with statically compiled SSL
	libraries.

2002-09-20 13:52  mavrik

	* tools/lrs-pool/pool2string.c: Utility to extract an embedded
	string from a specified LRS pool.

2002-09-20 13:50  mavrik

	* tools/lrs-pool/string2pool.c: Utility to embed a specified string
	inside an LRS pool.

2002-09-20 13:46  mavrik

	* Makefile.vs, configure.in, src/app-includes.h, src/ssl-pool.h,
	src/ssl.c: Added support to embed SSL passphrases inside LRS pools.

2002-09-18 14:05  mavrik

	* configure.in, src/acconfig.h, src/md5.c, src/md5.h: Put in a
	patch to fix a word size problem in the MD5 routines for Linux
	running on Alpha -- where a long is 64 bits. The patch was
	localized to fix the immediate problem -- i.e. incorrect message
	digests. Therefore, it will be necessary to revisit the issue of
	word size and design a portable solution.

2002-09-10 20:46  mavrik

	* src/app-includes.h: Bumped the minor version number.

2002-09-10 20:41  mavrik

	* INSTALL, LICENSE, README, doc/ftimes/sections/DESCRIPTION.pod,
	doc/ftimes/sections/HISTORY.pod: Updated documentation.

2002-09-10 18:06  mavrik

	* Makefile.vs, src/Makefile.vc: Synchronized the native NT/2K build
	process with that used by WebJob. Consequently, Makefile.vs has
	replaced src/Makefile.vc.

2002-09-09 01:40  mavrik

	* CREDITS: Added Hank Leininger.

2002-09-09 01:38  mavrik

	* configure.in, src/acconfig.h, src/map.c: Added a configure/build
	option to enable block/character device mapping/digging when a
	given device file is specifically included.  Thanks to Hank
	Leininger for suggesting the capability and writing the initial
	patch.

2002-09-08 22:58  mavrik

	* src/: fsinfo.c, fsinfo.h: Added file system support for REISER on
	Linux.

2002-09-08 22:50  mavrik

	* configure.in, src/acconfig.h: Synchronized style/layout with the
	corresponding file in WebJob.  This change includes support for
	MacOS X.

2002-09-08 22:27  mavrik

	* src/: fsinfo.c, sys-includes.h: Added support for MacOS X.

2002-08-21 16:30  mavrik

	* src/url.c: Synchronized various struct member names with revision
	1.2 of http.h.

2002-08-21 16:27  mavrik

	* src/: http.c, http.h, socket.c, socket.h, ssl.c, ssl.h:
	Synchronized http.[ch], socket.[ch], and ssl.[ch] with their WebJob
	counterparts. The relevant comment from WebJob's ChangeLog is dated
	2002-06-27 15:49 and is included here:
	
	Updated variable declarations/names to match coding style. In
	particular, struct and array names are now prefixed with the
	letters 's' or 'a' respectively. For example, the declarations:
	'char acData[N]', 'char aacData[N][M]', and 'char *apcData[N]' have
	the following meanings: an array of characters, an array of an
	array of characters, and an array of pointers to characters. Also,
	all references to ERRBUF_SIZE were replaced with MESSAGE_SIZE.

2002-08-21 14:28  mavrik

	* Makefile.in: Added atar target.

2002-08-21 14:07  mavrik

	* config.guess, config.sub: Updated config.guess and config.sub.
	The updated files were obtained from
	ftp://ftp.gnu.org/pub/gnu/config/.

2002-06-12 10:07  mavrik

	* doc/baselining/baselining.sty: Worked on various items to refine
	the on-screen presentation produced by pdfscreen.

2002-06-11 17:07  mavrik

	* doc/baselining/baselining.tex: Added href support for URLs.

2002-06-11 17:02  mavrik

	* doc/baselining/baselining.bib: Added href support for URLs.
	Inserted line breaks in long URLs to help with the on-screen
	presentation produced by pdfscreen.

2002-06-08 01:23  mavrik

	* doc/baselining/baselining.sty: Modified CVSDateString and
	CVSRevisionString to remove an unwanted trailing space.

2002-06-08 01:01  mavrik

	* doc/baselining/baselining.sty: Removed two unused macros:
	MakeVersionString and MakeDateString.

2002-06-08 00:55  mavrik

	* doc/baselining/: baselining.bib, baselining.sty, baselining.tex:
	Added "System Baselining -- A Forensic Perspective" version 1.2 to
	the project. The primary reason for doing this was to put it under
	revision control. Also, this paper will probably need to be updated
	and revised as FTimes evolves. So, from a maintenance perspective,
	it seems logical to store this paper with the project. Since this
	paper attempts to provide background information on the subject of
	system baselining, it should be included in the distribution as
	reference material. A brief history of this paper is included here:
	
	The initial version of this paper was written in December of 1998. 
	At that time, it was called "Baselining NTFS -- A Forensic
	Perspective". The basic thrust of the paper was the same, but it
	included discussion in two additional areas: baseline analysis and
	NTFS specific issues. In April of 2000, these additional areas were
	dropped and the paper was given some balance by discussing UNIX
	file attributes. The new paper, dubbed version 1.0, was renamed to
	"Baselining -- A Forensic Perspective". Later, probably in 2001,
	the paper was revised again, and that is how version 1.1 came into
	existence. In April of 2002, the paper was completely overhauled
	and Dave Bailey was added as a coauthor. All sections were reviewed
	and/or revised, and the paper was converted to LaTeX.

2002-06-08 00:29  mavrik

	* doc/ftimes/sections/HISTORY.pod: Fixed an incorrect date.

2002-05-20 14:54  mavrik

	* Makefile.in, cgi/Makefile.in, doc/Makefile.in,
	doc/ftimes/Makefile, etc/Makefile.in, src/Makefile.in: Added VPATH
	support.

2002-04-10 09:36  mavrik

	* src/http.c: Updated a comment to coincide with the corresponding
	code.

2002-04-09 12:04  mavrik

	* cgi/nph-ftimes.cgi: General cleanup and minor code refinements.

2002-04-09 10:06  mavrik

	* README: Reworded the man page sentence in section 3.

2002-04-05 11:27  mavrik

	* doc/ftimes/sections/HISTORY.pod: Fixed a typo, and clarified two
	design objectives.

2002-04-05 11:25  mavrik

	* INSTALL: Whitespace cleanup (i.e. 's/  *$//').

2002-04-02 14:45  mavrik

	* INSTALL: Minor cleanup and typo fixes.

2002-02-22 09:44  mavrik

	* configure.in, doc/Makefile.in: Added support to install ftimes.1
	in ${prefix}/man/man1.

2002-02-21 22:50  mavrik

	* cgi/nph-ftimes.cgi: Reworded an HTTP return code.

2002-02-21 22:49  mavrik

	* cgi/nph-ftimes.cgi: Added logic to ensure that
	$ENV{'CONTENT_LENGTH'} is always defined.  Added logic to
	optionally enforce a maximum content length. These changes induced
	a restructuring of the HTTP return codes -- 2 codes were added and
	2 codes were renumbered.

2002-02-21 19:48  mavrik

	* cgi/nph-ftimes.cgi: Deprecated $importFile.

2002-02-21 19:40  mavrik

	* cgi/nph-ftimes.cgi: Removed an unnecessary variable.

2002-02-21 10:14  mavrik

	* doc/ftimes/: controls/FieldMask.pod, controls/GetAndExec.pod,
	controls/Include.pod, sections/MODES-OF-OPERATION.pod: Fixed
	documentation typos and errors.

2002-01-29 14:29  mavrik

	* doc/ftimes/sections/HISTORY.pod: Added the official 3.0.0 release
	date.

2002-01-29 14:08  mavrik

	* doc/ftimes/sections/EXAMPLES.pod: Added descriptions to each
	example heading.

2002-01-29 13:37  mavrik

	* INSTALL: Updated section 1.

2002-01-29 13:35  mavrik

	* README: Updated section 3.

2002-01-29 11:59  mavrik

	* doc/ftimes/sections/RETURN-VALUES.pod: Added a bold face tag to
	XER_Usage.

2002-01-29 11:55  mavrik

	* src/error.h: Swapped the values for XER_BootStrap and XER_Usage.

2002-01-29 11:54  mavrik

	* doc/ftimes/sections/RETURN-VALUES.pod: Added some words to
	clarify the meaning of various error codes.  Swapped the values for
	XER_BootStrap and XER_Usage.

2002-01-29 11:30  mavrik

	* doc/ftimes/sections/MODES-OF-OPERATION.pod: Added some words to
	clarify the relationship between the 'list' command line option and
	the term 'Include list'.

2002-01-29 11:12  mavrik

	* INSTALL: Updated section 3.

2002-01-29 10:48  mavrik

	* INSTALL: Updated section 1.

2002-01-29 10:20  mavrik

	* src/: digmode.c, ftimes.h, map.c, mapmode.c, properties.c,
	support.c: Removed iFSType from the FILE_LIST structure. This
	affected various parts of the code base -- to the extent that
	SupportPruneRemote() was deprecated. The file system type discovery
	is now done in MapFile(). Worked on the DOT and DOTDOT logic.
	Modified the format of various error messages.

2002-01-29 10:01  mavrik

	* src/ftimes.c: Added a call to SetErrorMode() to suppress
	critical-error-handler message boxes. These messages can occur when
	FTimes attempts to access an empty floppy or cdrom drive. Modified
	the format of various error messages.

2002-01-29 09:58  mavrik

	* src/fsinfo.c: Added a call to GetFileAttributes() for WIN32
	systems to check path existence. Modified the format of various
	error messages.

2002-01-29 09:49  mavrik

	* src/getmode.c: Modified the format of various error messages.

2002-01-24 13:27  mavrik

	* src/: analyze.c, develop.c, ftimes.h, map.c: Renamed filemd5 to
	ucFileMD5 in the FTIMES_FILE_DATA structure.

2002-01-24 12:30  mavrik

	* src/map.c: Added guard logic to prevent NT from comparing the
	volume and file index between '..' and the parent directory when
	the file system type is FSTYPE_NTFS_REMOTE or FSTYPE_FAT_REMOTE.
	This was done because, in testing, the file index for '..' was
	consistently found to be different than that for the parent
	directory. This was true for both NTFS and Samba shares.

2002-01-24 10:13  mavrik

	* src/map.c: Added a statement to update iFSType at device
	crossings.

2002-01-23 13:31  mavrik

	* doc/ftimes/sections/NOTES.pod: Updated notes regarding
	RequirePrivilege control.

2002-01-23 11:01  mavrik

	* src/: analyze.c, digmode.c, ftimes.h, mapmode.c, properties.c,
	support.c: Added a new variable, iForceExpansion, to
	SupportExpandPath() to control expansion behavior. When forced
	expansion is off (i.e. 0), fully qualified paths will be copied
	directly into the output buffer. Relative paths are expanded in any
	case. This was done to address a privilege issue in NT -- user
	privileges are elevated after Includes are included. The problem is
	that this can cause FTimes to abort in dig/map full mode when the
	operator specifies an Include on the command line that references a
	restricted object.  This patch allows the operator to overcome that
	limitation by specifying the object as a fully qualified path.

2002-01-22 17:04  mavrik

	* src/analyze.c: Added NT specific code (i.e. CreateFile() and
	ReadFile()) to handle opens and reads. This allows users with
	backup privileges to access files that are otherwise restricted.

2002-01-22 16:51  mavrik

	* src/error.h: Added ER_ReadFile.

2002-01-22 09:04  mavrik

	* src/map.c: Moved iStatus to the WINNT #ifdef block to prevent a
	compiler warning in the WIN98 build.

2002-01-22 08:53  mavrik

	* src/message.c: Fixed a length calculation error.

2002-01-19 17:31  mavrik

	* src/: xmagic.c, xmagic.h: Renamed many variables, and made other
	various format/style changes.

2002-01-19 09:10  mavrik

	* src/: analyze.c, xmagic.h: Fixed a typo.

2002-01-18 20:13  mavrik

	* src/: analyze.c, develop.c, ftimes.h, map.c: Renamed type to
	cType in the FTIMES_FILE_DATA structure.

2002-01-18 20:03  mavrik

	* src/: ftimes.h, xmagic.c, xmagic.h: Increased
	XMAGIC_DESCRIPTION_BUFSIZE from 64 to 128 bytes.  Added guard logic
	to ensure that magic tests don't exceed a predefined number of
	levels.  Adjusted FTIMES_FILETYPE_BUFSIZE to be the product of
	XMAGIC_MAX_LEVEL and XMAGIC_DESCRIPTION_BUFSIZE.

2002-01-18 10:54  mavrik

	* Makefile.in, cgi/Makefile.in, etc/Makefile.in, src/Makefile.in:
	Renamed clean-dist to dist-clean.

2002-01-18 10:51  mavrik

	* src/config.h.in: Caught and removed a stowaway.

2002-01-17 22:16  mavrik

	* README, CREDITS, INSTALL, Makefile.in, LICENSE, configure.in,
	config.guess, config.sub, install-sh, doc/Makefile.in, doc/README,
	doc/ftimes/Makefile, doc/ftimes/controls/BaseName.pod,
	doc/ftimes/controls/Compress.pod, doc/ftimes/controls/DataType.pod,
	doc/ftimes/controls/DateTime.pod,
	doc/ftimes/controls/DigString.pod, doc/ftimes/controls/Exclude.pod,
	doc/ftimes/controls/FieldMask.pod,
	doc/ftimes/controls/HashDirectories.pod,
	doc/ftimes/controls/Import.pod, doc/ftimes/controls/Include.pod,
	doc/ftimes/controls/LogDir.pod,
	doc/ftimes/controls/LogFileName.pod,
	doc/ftimes/controls/MagicFile.pod,
	doc/ftimes/controls/MapRemoteFiles.pod,
	doc/ftimes/controls/MatchLimit.pod,
	doc/ftimes/controls/NewLine.pod, doc/ftimes/controls/OutDir.pod,
	doc/ftimes/controls/OutFileHash.pod,
	doc/ftimes/controls/OutFileName.pod,
	doc/ftimes/controls/RequirePrivilege.pod,
	doc/ftimes/controls/RunType.pod,
	doc/ftimes/controls/SSLBundledCAsFile.pod,
	doc/ftimes/controls/SSLExpectedPeerCN.pod,
	doc/ftimes/controls/SSLMaxChainLength.pod,
	doc/ftimes/controls/SSLPassPhrase.pod,
	doc/ftimes/controls/SSLPrivateKeyFile.pod,
	doc/ftimes/controls/SSLPublicCertFile.pod,
	doc/ftimes/controls/SSLUseCertificate.pod,
	doc/ftimes/controls/SSLVerifyPeerCert.pod,
	doc/ftimes/controls/URLAuthType.pod,
	doc/ftimes/controls/URLCreateConfig.pod,
	doc/ftimes/controls/URLGetRequest.pod,
	doc/ftimes/controls/URLGetURL.pod,
	doc/ftimes/controls/URLPassword.pod,
	doc/ftimes/controls/GetAndExec.pod,
	doc/ftimes/controls/GetFileName.pod,
	doc/ftimes/controls/URLPutSnapshot.pod,
	doc/ftimes/controls/URLPutURL.pod,
	doc/ftimes/controls/URLUnlinkOutput.pod,
	doc/ftimes/controls/URLUsername.pod,
	doc/ftimes/sections/AUTHOR.pod,
	doc/ftimes/sections/CONFIGUARTION-CONTROLS.pod,
	doc/ftimes/sections/CONTROL-DESCRIPTIONS.head.pod,
	doc/ftimes/sections/CONTROL-DESCRIPTIONS.tail.pod,
	doc/ftimes/sections/DESCRIPTION.pod,
	doc/ftimes/sections/EXAMPLES.pod, doc/ftimes/sections/HISTORY.pod,
	doc/ftimes/sections/MODES-OF-OPERATION.pod,
	doc/ftimes/sections/NAME.pod, doc/ftimes/sections/NOTES.pod,
	doc/ftimes/sections/SEE-ALSO.pod, doc/ftimes/sections/SYNOPSIS.pod,
	doc/ftimes/sections/FILES.pod, doc/ftimes/sections/OPTIONS.pod,
	doc/ftimes/sections/RETURN-VALUES.pod, cgi/Makefile.in,
	cgi/nph-ftimes.cgi, etc/Makefile.in, etc/dig.cfg, etc/get.cfg,
	etc/map.cfg, etc/put.cfg, src/config.h.in, src/digmode.c,
	src/ftimes.c, src/Makefile.in, src/acconfig.h, src/dig.c,
	src/getmode.c, src/mapmode.c, src/properties.c, src/putmode.c,
	src/analyze.c, src/dig.h, src/map.c, src/cmpmode.c, src/develop.c,
	src/error.h, src/ftimes.h, src/all-includes.h, src/support.c,
	src/url.c, src/app-includes.h, src/compare.h, src/fsinfo.c,
	src/cfgtest.c, src/xmagic.h, src/decode.c, src/error.c, src/time.c,
	src/message.c, src/compare.c, src/ap_snprintf.h, src/decode.h,
	src/decoder.c, src/fsinfo.h, src/http.h, src/message.h, src/http.c,
	src/md5.h, src/Makefile.vc, src/xmagic.c, src/ktypes.h, src/md5.c,
	src/native.h, src/ssl.h, src/ssl.c, src/socket.c, src/socket.h,
	src/sys-includes.h, src/ap_snprintf.c, src/test/streams/test2.c,
	src/test/dig/Makefile, src/test/dig/test1.c,
	src/test/streams/test1.c: The pilgrimage to Open Source is
	complete.

2002-01-17 22:16  mavrik

	* README, CREDITS, INSTALL, Makefile.in, LICENSE, configure.in,
	config.guess, config.sub, install-sh, doc/Makefile.in, doc/README,
	doc/ftimes/Makefile, doc/ftimes/controls/BaseName.pod,
	doc/ftimes/controls/Compress.pod, doc/ftimes/controls/DataType.pod,
	doc/ftimes/controls/DateTime.pod,
	doc/ftimes/controls/DigString.pod, doc/ftimes/controls/Exclude.pod,
	doc/ftimes/controls/FieldMask.pod,
	doc/ftimes/controls/HashDirectories.pod,
	doc/ftimes/controls/Import.pod, doc/ftimes/controls/Include.pod,
	doc/ftimes/controls/LogDir.pod,
	doc/ftimes/controls/LogFileName.pod,
	doc/ftimes/controls/MagicFile.pod,
	doc/ftimes/controls/MapRemoteFiles.pod,
	doc/ftimes/controls/MatchLimit.pod,
	doc/ftimes/controls/NewLine.pod, doc/ftimes/controls/OutDir.pod,
	doc/ftimes/controls/OutFileHash.pod,
	doc/ftimes/controls/OutFileName.pod,
	doc/ftimes/controls/RequirePrivilege.pod,
	doc/ftimes/controls/RunType.pod,
	doc/ftimes/controls/SSLBundledCAsFile.pod,
	doc/ftimes/controls/SSLExpectedPeerCN.pod,
	doc/ftimes/controls/SSLMaxChainLength.pod,
	doc/ftimes/controls/SSLPassPhrase.pod,
	doc/ftimes/controls/SSLPrivateKeyFile.pod,
	doc/ftimes/controls/SSLPublicCertFile.pod,
	doc/ftimes/controls/SSLUseCertificate.pod,
	doc/ftimes/controls/SSLVerifyPeerCert.pod,
	doc/ftimes/controls/URLAuthType.pod,
	doc/ftimes/controls/URLCreateConfig.pod,
	doc/ftimes/controls/URLGetRequest.pod,
	doc/ftimes/controls/URLGetURL.pod,
	doc/ftimes/controls/URLPassword.pod,
	doc/ftimes/controls/GetAndExec.pod,
	doc/ftimes/controls/GetFileName.pod,
	doc/ftimes/controls/URLPutSnapshot.pod,
	doc/ftimes/controls/URLPutURL.pod,
	doc/ftimes/controls/URLUnlinkOutput.pod,
	doc/ftimes/controls/URLUsername.pod,
	doc/ftimes/sections/AUTHOR.pod,
	doc/ftimes/sections/CONFIGUARTION-CONTROLS.pod,
	doc/ftimes/sections/CONTROL-DESCRIPTIONS.head.pod,
	doc/ftimes/sections/CONTROL-DESCRIPTIONS.tail.pod,
	doc/ftimes/sections/DESCRIPTION.pod,
	doc/ftimes/sections/EXAMPLES.pod, doc/ftimes/sections/HISTORY.pod,
	doc/ftimes/sections/MODES-OF-OPERATION.pod,
	doc/ftimes/sections/NAME.pod, doc/ftimes/sections/NOTES.pod,
	doc/ftimes/sections/SEE-ALSO.pod, doc/ftimes/sections/SYNOPSIS.pod,
	doc/ftimes/sections/FILES.pod, doc/ftimes/sections/OPTIONS.pod,
	doc/ftimes/sections/RETURN-VALUES.pod, cgi/Makefile.in,
	cgi/nph-ftimes.cgi, etc/Makefile.in, etc/dig.cfg, etc/get.cfg,
	etc/map.cfg, etc/put.cfg, src/config.h.in, src/digmode.c,
	src/ftimes.c, src/Makefile.in, src/acconfig.h, src/dig.c,
	src/getmode.c, src/mapmode.c, src/properties.c, src/putmode.c,
	src/analyze.c, src/dig.h, src/map.c, src/cmpmode.c, src/develop.c,
	src/error.h, src/ftimes.h, src/all-includes.h, src/support.c,
	src/url.c, src/app-includes.h, src/compare.h, src/fsinfo.c,
	src/cfgtest.c, src/xmagic.h, src/decode.c, src/error.c, src/time.c,
	src/message.c, src/compare.c, src/ap_snprintf.h, src/decode.h,
	src/decoder.c, src/fsinfo.h, src/http.h, src/message.h, src/http.c,
	src/md5.h, src/Makefile.vc, src/xmagic.c, src/ktypes.h, src/md5.c,
	src/native.h, src/ssl.h, src/ssl.c, src/socket.c, src/socket.h,
	src/sys-includes.h, src/ap_snprintf.c, src/test/streams/test2.c,
	src/test/dig/Makefile, src/test/dig/test1.c,
	src/test/streams/test1.c: Initial revision