2008-07-20 Jesse Kornblum <md5deep@jessekornblum.com> * Removed debugging code accidently left in files.c: find_rigid_hash function. 2008-07-18 Jesse Kornblum <md5deep@jessekornblum.com> * Updated documentation to reflect Cygwin Ports support. * Modified file_type function to record the file size of each file processed. This should eliminate the need to call stat again or the ioctl functions in hash.c and hopefully speed up the program. * Added timestamp to the output for size mode per Feature Request 2014686. This should be the creation time on Win32, change time for all other operating systems. * Removed 'Experimental cast' tags from SHA256 and Tiger hashing code. They appear to be working. * In response to bug 2022302, updated time estimate display to handle large time values, including those more than one day. 2008-07-04 Jesse Kornblum <md5deep@jessekornblum.com> * Added -I mode to display filenames with asterisks for hashes when size is above threshold. Compliments -i mode. 2008-07-04 Jesse Kornblum <md5deep@jessekornblum.com> * Removed SF Community Choice Awards from web page. The nominations are closed. * Added size mode, -i, to only process files smaller than a given size threshold. Reused code from piecewise mode to parse user input. Added to md5deep and hashdeep. Added to SF at Feature Request 2010771. 2008-05-17 Jesse Kornblum <md5deep@jessekornblum.com> * Applied patch 1961973 to fix man page installation. 2008-04-18 Jesse Kornblum <md5deep@jessekornblum.com> * Updated files.c et al to handle iLook version 4 hashes. These are similar enough that we can reuse most of the iLook v3 routines. 2008-04-17 Jesse Kornblum <md5deep@jessekornblum.com> * Updated initial kludge to use iLook version 3 hashsets. * The current version crashed on OpenSolaris during a malloc in main.c. This is confusing as I wasn't working on this code. 2008-04-16 Jesse Kornblum <md5deep@jessekornblum.com> * Updated md5deep to use iLook version 3 hashes. 2008-03-29 Jesse Kornblum <md5deep@jessekornblum.com> * Changed WSTRINGS_EQUAL macro to make case sensitive comparisons Changed case insensitive char comparsion macro to STRINGS_CASE_EQUAL. * Fixed audit mode to return nonzero value for failed audit * Fixed hashdeep known file import to only display errors once 2008-03-28 Jesse Kornblum <md5deep@jessekornblum.com> * Noted WSTRING_EQUAL macro is case insensitive in a spot where we need it to be case sensitive. 2008-03-20 Jesse Kornblum <md5deep@jessekornblum.com> * Added ability for hashdeep to detect and ignore badly formatted lines in files of known hashes. 2008-03-19 Jesse Kornblum <md5deep@jessekornblum.com> * Added phrase "and compare" to manpage description of the programs. This will hopefully reinforce the idea that md5deep cannot be replaced with one line of shell. 2008-03-18 Jesse Kornblum <md5deep@jessekornblum.com> * Added doc directory to hold FAQ and other web pages 2008-03-16 Jesse Kornblum <md5deep@jessekornblum.com> * Added missing space to hash collision message in audit.c * Changed default behavior to always print hash collisions 2008-03-13 Jesse Kornblum <md5deep@jessekornblum.com> * Updated make world directive to make Windows package * Updated COPYING to note more than one file under GPL * Changed md5deep Makefile to explicitly name man man pages in copy operation. * Moved prototypes for process_normal and process_win32 to include/common.h to avoid compiler warnings and repitions. * Cleaned up audit code slightly * Fixed display banner to treat current working directory as a Unicode string. * Enabled and allowed the user load known files that have different kinds of hashes in them. * Version bump to 3.0. I've made so many changes to the common code that it warrants the jump. 2008-03-12 Jesse Kornblum <md5deep@jessekornblum.com> * Added strsep (and appropriate autoconf/automake checks) in place to ugly homebrew code to separate out string values. This is for one instance in match.c, need to update the others. * While reading files on known hashes, convert filenames to Unicode before storing. * Changed NEWLINE on Win32 to be just "\n" instead of "\r\n" There was a problem using files of known hashes and reading the file header. * Fixed parameters to and error checking from call to MultiByteToWideChar in match.c. Not only we were passing in the wrong values, but we were always error'ing out. * Starting to update man page, TODO * Moved piecewise parsing code from md5deep/main.c to common/helpers.c. Enabled piecewise mode in hashdeep. Also moved definition of _state to include/common.h. * Added comments to configure.ac and Makefile.am * Made usage message dynamic to display available algorithms 2008-03-11 Jesse Kornblum <md5deep@jessekornblum.com> * Separated the functions to display positive and negative match results. Cleaned up the function names for this too. Also updated audit mode so that it appears to work. * Documented -M and -X mode in usage message. * Updated file_* types used in include/common.h to avoid the conflict with file_unknown. Moved filetype_t to include/common.h as well. * Starting to write code to load files of known hashes * Fixed obscure bug in md5deep/files.c when checking for EnCase hash files when loading a very small known file. 2008-03-07 Jesse Kornblum <md5deep@jessekornblum.com> * Updating audit mode to not use is_known_file function. This should help make the code cleaner. * Fixed file_data_compare to handle files where the first hash doesn't match but the rest of them do. * Added WSTRINGS_EQUAL(A,B) macro to compare two TCHARs. 2008-03-06 Jesse Kornblum <md5deep@jessekornblum.com> * Reworked hashtable code to return a linked list of file_data_t values, complete with status values. This required me to slightly alter how the program stores the computed hashes. The current version works, but is ugly as all get out. It's a great proof of concept, that's all. 2008-03-04 Jesse Kornblum <md5deep@jessekornblum.com> * Working on hashdeep matching, auditing code * Added a file_data_t, known, to the hashdeep state variable 2008-03-04 Jesse Kornblum <md5deep@jessekornblum.com> * Added spaces to recorded command line in output files. 2008-02-22 Jesse Kornblum <md5deep@jessekornblum.com> * Moved source code from CVS to Subversion repository. This shouldn't create any changes in the code, but should be noted. * Version change to 2.1. No need for -001 anymore. 2007-12-27 Jesse Kornblum <md5deep@jessekornblum.com> * Fixed hashdeep current working directory and filesize display when hashing standard input. 2007-12-11 Jesse Kornblum <md5deep@jessekornblum.com> * Got multihashing working. It turns out that the SHA-1 update code modifies the buffer that its passed. 2007-12-08 Jesse Kornblum <md5deep@jessekornblum.com> * Moved hash.c into the common code directory, adapting it to work with both md5deep and hashdeep code. Moved display code to a separate file. * First working version of hashdeep! 2007-12-08 Jesse Kornblum <md5deep@jessekornblum.com> * Updated hashing headers to only be included once. Included all hashing headers in common.h * Modified hashing code to pass hashing context only into hashing code. This requires void pointers, but avoids the hashing code having to deal with the state at all. * Moved md5deep man pages into the md5deep directory 2007-12-07 Jesse Kornblum <md5deep@jessekornblum.com> * Separated md5deep and hashdeep projects into separate directories. Moved common code into include and common directories. Man pages moved into man. It doesn't all work just yet, but we're getting close. 2007-12-06 Jesse Kornblum <md5deep@jessekornblum.com> * Added common.h and ui.h to Makefile.am so that they are included in a distribution. * Copied more variables from md5deep source code to hashdeep state. * Updated hashdeep usage message * Version bump to 2.1-002 2007-12-05 Jesse Kornblum <md5deep@jessekornblum.com> * Reverting back to main.c and main.h from version 2.0.1. Starting over on code for hashdeep * Moved common header functions to common.h * Created new files ui.h and audit.h to help reuse code in hashdeep * Updated procedure to make README.TXT (Windows distribution readme file) in Makefile.am so that it only has one copy of the man page, not five. 2007-10-31 Jesse Kornblum <md5deep@jessekornblum.com> * Added stub for hashdeep program * Moved state type out of main.h and into deep.h 2007-10-28 Jesse Kornblum <md5deep@jessekornblum.com> * Added additional checks in find_file_size to account for older Linux systems that don't have all of the necessary ioctl calls. 2007-10-16 Jesse Kornblum <md5deep@jessekornblum.com> * Incorporated patch from Yaakov Selkowitz to handle man page copying when build dir is not the same as source dir. (Sourceforge tracker #1814253) 2007-09-26 Jesse Kornblum <md5deep@jessekornblum.com> * Added second ioctl call in Linux version of find_file_size to get the true sector size; don't just assume 512 byte sectors. * Changed fseek call in hash.c to fseeko for large file support * Removed spurrious -u: from getopt call in main.c * Removed function checks from configure.ac. We weren't using them to build support, so we shouldn't waste time checking for them. 2007-09-25 Jesse Kornblum <md5deep@jessekornblum.com> * Created new function print_error_unicode to handle errors encountered while processing files with (possibly) Unicode characters in their filenames. * Added AC_SYS_LARGEFILE to configure script to account for large files on Linux. This fixes the file estimation mode (-e) for Liunx. * Fixed find_file_size for block devices on OS X. 2007-09-24 Jesse Kornblum <md5deep@jessekornblum.com> * Updated error display for Unicode filenames in dig.c * Fixed expert mode due to 64-bit values in int returns 2007-09-23 Jesse Kornblum <md5deep@jessekornblum.com> * Reverted back to old method of installing man pages. When make install is invoked, current md5deep.1 is copied over other man pages, which are all then installed normally. 2007-09-22 Jesse Kornblum <md5deep@jessekornblum.com> * Switched to GNU autotools * Moved list of past changes to NEWS file