* New Features
- Proof of concept
- This version supports recursion, relative and bare file names, and
can perform positive matching using a previous output.
2019-02-16: Jesse Kornblum <researchjessekornblum.com>:
* Makefile.am, fuzzy.c, main.h: Add proper build guards for include
statememnts, remove include dependencies.
2017-11-28: Travis Finkenauer <tmfinkjuniper.net>:
* edit_dist.c: Include edit_dist.h to pick up forward declaration of
edit_distn().
* engine.cpp (display_result): Initialize before use in case of
uncaught exception.
* filedata.h (class Filedata): Avoid unused variable warning.
* find-file-size.c: Add function prototypes for find_dev_size() and
find_file_size() to keep compiler happy.
* fuzzy.c (fuzzy_hash_file): Avoid a memory leak.
* match.cpp (sig_file_close): Fix reversed logic to close handle.
2017-06-01: Tsukasa OI <floss_ssdeepirq.a4lg.com>:
* fuzzy.c, sum_table.h: Added many optimizations
2015-04-26: Tsukasa OI <floss_ssdeepirq.a4lg.com>:
* fuzzy.c: Fixed some error handling
2015-04-24: Jesse Kornblum <researchjessekornblum.com>:
* ssdeep.1, NEWS: Updated release date
2015-04-01: Tsukasa OI <floss_ssdeepirq.a4lg.com>:
* dig.cpp: Support arbitrary length input from the standard input.
2014-11-07: Tsukasa OI <floss_ssdeepirq.a4lg.com>:
* edit_dist.c: Made code more portable
* fuzzy.c: Multiple bug fixes
2014-10-24: Jesse Kornblum <researchjessekornblum.com>:
* Makefile.am: Adding edit_dist.h
2014-10-20: Jesse Kornblum <researchjessekornblum.com>:
* edit_dist.c: Replaced with new, explicitly GPL licensed code.
* fuzzy.c: Removed edit distance function prototype
* edit_dist.h: Added edit distance function prototype
2014-10-16: Jesse Kornblum <researchjessekornblum.com>:
* configure.ac: Version bump to 2.12
* fuzzy.c: Fixed bug when comparing identical hashes, bug 16.
* normal.sh: Use multiple cores when compiling
2014-09-26: Jesse Kornblum <researchjessekornblum.com>:
* Makefile.am: Made libfuzzy compile as a shared library again.
2014-09-09: Jesse Kornblum <researchjessekornblum.com>:
* fuzzy.c: Fixing edge case bug for signature creation.
* fuzzy.h: Prevent copying with constructor.
2014-07-23: Jesse Kornblum <researchjessekornblum.com>:
* sample.c, README: Fixed -l flag in compile instructions.
2014-05-14: Jesse Kornblum <researchjessekornblum.com>:
* filedata.h: Added destructor method, constructor copy by reference.
* Minor cleanup and code formatting.
2014-05-08: Jesse Kornblum <researchjessekornblum.com>:
* Version bump to 2.10.1, updates for compiling on Fedora Core 20
2013-11-25: Jesse Kornblum <researchjessekornblum.com>:
* fuzzy.c: Revised check for equal signature to be case sensitive
2013-11-15: Jesse Kornblum <researchjessekornblum.com>:
* fuzzy.c: Declare signatures which are equal as matching 100%
2013-09-21: Jesse Kornblum <researchjessekornblum.com>:
* fuzzy.c, fuzzy.h: Added fuzzy_clone function
2013-07-24: Jesse Kornblum <researchjessekornblum.com>:
* fuzzy.h: Moving include guard to the top of the file.
2013-07-16: Jesse Kornblum <researchjessekornblum.com>:
* fuzzy.c: Fix heap corruption bug 15.
* dig.c: Removed extra call to GetFileAttributes
2013-07-09: Jesse Kornblum <researchjessekornblum.com>:
* dig.cpp, engine.cpp, helpers.cpp: Created separate directory traversal code
for Win32 systems.
2013-06-01: Jesse Kornblum <researchjessekornblum.com>:
* fuzzy.c: Experimental thread-safe patch from Helmut Grohne.
* fuzzy.h: Experimental thread-safe patch from Helmut Grohne.
2013-05-25: Jesse Kornblum <researchjessekornblum.com>:
* fuzzy.c: Fixed bug on string scoring.
2013-03-12: Jesse Kornblum <researchjessekornblum.com>:
* Changelog: Spelled my own name correctly.
* fuzzy.c: Fixed memory leak, bug 3607641.
2012-07-23: Jesse Kornblum <researchjessekornblum.com>:
* main.cpp, match.cpp: Renamed the match_pretty function for clarity.
2012-07-17: Jesse Kornblum <researchjessekornblum.com>:
* match.cpp: Fixing bugs in matching, clustering modes
* main.cpp: Clarifying comments. Added sanity check for -c, -g
2012-07-16: Jesse Kornblum <researchjessekornblum.com>:
* filedata.cpp: Added includes for *nix compilation
2012-07-14 Jesse Kornblum <researchjessekornblum.com>:
* win.sh: Updated for C++ compiler warnings
* normal.sh: Updated for C++ compiler warnings
* fuzzy.c: Corrected logic error for when sigs don't have filenames
* ui.cpp: Added const to print_error's state variable
* match.cpp: Rewrote to use Filedata class
* filedata.cpp: Created Filedata class
* main.cpp: Adapted to use Filedata class
2012-07-13 Jesse Kornblum <researchjessekornblum.com>:
* fuzzy.c: Fixed major bug regarding incorrect match scores for hashes with long filenames
* dig.cpp: Added warning message when not all data on stdin was hashed. Also increased stdin buffer to 512MB.
* configure.ac: Version bump to 2.9.
* main.cpp: Added flags for clustering mode
* ssdeep.h: Added flags for clustering mode
* match.cpp: Setting up for clustering mode
2012-05-25 Jesse Kornblum <researchjessekornblum.com>:
* main.cpp: Updated command line argument processing
* ssdeep.1: Clarifications on description.
2012-05-24 Jesse Kornblum <researchjessekornblum.com>:
* match.cpp: Convert to C++
2012-04-24 Jesse Kornblum <researchjessekornblum.com>:
* ssdeep.1: Updating support for stdin, clarifying modes
* Makefile.am: LF to CR/LF change now done by zip program
* ssdeep.h: Adding Doxygen comments
* match.cpp: Fixed bug in Win32 filename construction
* fuzzy.h: Cleanup and commenting
* engine.cpp: Added const definitions
* Experimental conversion to C++
* Commented out all references to clustering
* main.cpp: Fixed some bugs in the command line argument processing
2012-04-15: Jesse Kornblum <researchjessekornblum.com>:
* main.c: Fixed error handling in getopt processing
2012-02-16 Jesse Kornblum <researchjessekornblum.com>:
* main.c: Bump copyright to 2012 in usage message. Add flag for clustering
* main.h: Added mode_cluster
* ui.c: Changed Win32 to use fputc instead of _tfprintf for filenames
2012-01-12 Jesse Kornblum <researchjessekornblum>:
* ChangeLog: Clean up
2011-10-17 Jesse Kornblum <researchjessekornblum.com>:
* configure.ac: Added AC_SYS_LARGEFILE to handle large files on 32-bit platforms. See bug 3416762.
2011-09-30 Jesse Kornblum <researchjessekornblum.com>:
* ui.c: Redirected error messages to stderr instead of stdout
* main.c: Added warning message when the program does not process any file large enough to produce meaningful results.
2011-09-27 Jesse Kornblum <researchjessekornblum.com>:
* main.c: Added support to process stdin.
* dig.c: Added process_stdin function
* engine.c: Generalized display functions in display_result.
2011-08-19 Jesse Kornblum <researchjessekornblum.com>:
* edit_dist.c: Accepted patch from Brad Spengler to make
thread safe.
2010-07-15 Jesse Kornblum <researchjessekornblum.com>:
* Added quotes and quote escaping to filenames when
displayed in CSV matching mode.
* Modified FILEFORMAT to reflect quotation marks in filenames.
2010-06-24 Jesse Kornblum <researchjessekornblum.com>:
* Added parameter checking to my_basename.
2010-05-05 Jesse Kornblum <researchjessekornblum.com>:
* Changed logic for reading files of known hashes to look for
the header this version of the program writes instead of
the v1 header. This was done for the DC3 branch of the code.
* Updated README documentation and published version 2.5.
2010-03-20 Jesse Kornblum <researchjessekornblum.com>:
* Fixed define in fuzzy.h to only allow one compilation
2010-03-19 Jesse Kornblum <researchjessekornblum.com>:
* Added 'extern "C"' definitions to fuzzy.h for C++ compatibility
* Added return values indicating errors to API functions.
* Modified sample program to use errors on return values
* Added Doxygen documentation for API function.
* Added inttypes.h include to fuzzy.h.
* Added error checking for NULL strings in API functions.
* Version bump to 2.5
2010-02-24 Jesse Kornblum <researchjessekornblum.com>:
* Experimenting with mode to compare unknown hashes to known
without comparing the unknown against each other.
* Version bump to 2.4
2009-01-20 Jesse Kornblum <researchjessekornblum.com>:
* Added -a mode to display all matches regardless of score.
2009-10-11 Jesse Kornblum <researchjessekornblum.com>:
* Fixed typo in usage page.
2009-07-14 Jesse Kornblum <researchjessekornblum.com>:
* Fixed bug that prevented -x mode from working on Win32
* Added web pages to trunk. Updated quickstart guide with
automatic installation options and -x mode.
* Version bump to 2.2 and updated man page, NEWS
2009-07-11 Jesse Kornblum <researchjessekornblum.com>:
* Cleaned up -x mode to compare two (or more) files of
signatures.
* Cleaned up some code comments and Remove Before Flight tags
2009-04-18 Jesse Kornblum <researchjessekornblum.com>:
* Experimenting with -x mode to compare two (or more)
files of signatures
* Added some parameter validation code
2009-01-01 Jesse Kornblum <researchjessekornblum.com>:
* Added fuzzy_hash_filename function to hash a file given
its filename. This avoids issues passing FILE * structures
on Win32 systems in programs not using the fopen convention.
See feature request 2142005.
* Reconfigured all files using latest autoconf tools
2008-09-23 Jesse Kornblum <researchjessekornblum.com>:
* Reinstated the code to call match_pretty() at the end of
main. This lets the -p and -d modes to display output and
fixes bug 2124423.
* Version bump to 2.1.
2008-04-06 Jesse Kornblum <researchjessekornblum.com>:
* Updated man page to include -t and -c modes.
2008-03-04 Jesse Kornblum <researchjessekornblum.com>:
* Made b64 variable static in fuzzy.c
2008-02-29 Jesse Kornblum <researchjessekornblum.com>:
* Version bump to 2.0, reconfigured.
2008-02-22 Jesse Kornblum <researchjessekornblum.com>:
* Changed reading of known hash files back to using
unsigned char values. This also required updating
the match_compare function to handle Unicode
characters when displaying match results.
* Flipped files in Win32 zip file to have CR/LF
2008-02-18 Jesse Kornblum <researchjessekornblum.com>:
* Added man pages to the EXTRA_DIST Makefile variable.
Still need to reconfigure.
* Added more documentation to the Windows zip file along
with the sample.c file
* Removed extraneous recongfiguration from Makefile.am
2008-02-17 Jesse Kornblum <researchjessekornblum.com>:
* Updated build system to create Win32 DLL, documentation,
and packages.
* Added check in print_error functions to see if the state
is valid.
* Updated documentation, usage message.
* Added signature comparison example to sample program.
2008-02-16 Jesse Kornblum <researchjessekornblum.com>:
* Removed block_size value from state variable.
Nobody was using it.
* Ammended API functions to support hashing either a buffer
or an open file handle
* Moved ssdeep code into engine.c, moved fuzzy hashing
code into fuzzy.c. This will help us create libfuzzy
and fuzzy.dll.
* Lots of cleanup to fuzzy hashing code. This includes removing
types like 'uchar' and replacing them with C99 types like
unsigned char. Less work for mother means less work debugging.
* Moved definition of __progname to ssdeep.h. It's not being
used by the fuzzy hashing library and caused problems on OS X.
* Brought over code to support Unicode from Miss Identify
* Version bump to 2.0 beta1
* Added sample program to demonstrate API features
2008-02-15 Jesse Kornblum <researchjessekornblum.com>:
* Changing Win32 build to create DLL. All other
versions should have library/header files installed
2008-02-14 Jesse Kornblum <researchjessekornblum.com>:
* Moved to autotools structure