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