[Forensics-changes] [SCM] Recursively compute hashsums or piecewise hashings branch, debian, updated. debian/3.3-1-1-g59e5b75

Christophe Monniez christophe.monniez at fccu.be
Mon Jun 22 07:59:08 UTC 2009


The following commit has been merged in the debian branch:
commit 59e5b751754337e7539291e81f83b82b766b66f5
Author: Christophe Monniez <christophe.monniez at fccu.be>
Date:   Mon Jun 22 09:23:58 2009 +0200

    Merging upstream version 3.4.

diff --git a/ChangeLog b/ChangeLog
index 23fa681..194a503 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2009-05-22 Jesse Kornblum 
+
+	* Closed search handle in is_junction_point in response
+	  to bug 2795587.
+
+	* Attempting to fix -n mode by removing check in is_known_hash
+	  for NULL parameters.
+
+	
+2009-04-10 Jesse Kornblum 
+
+	* Experimenting with stopping file read on "Invalid argument" errors
+	  to avoid crashes on Win32.
+	
+
 2009-04-04 Jesse Kornblum 
 
 	* Version bump to 3.3 and released.
diff --git a/NEWS b/NEWS
index 85b8552..2651808 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,13 @@
+** Changes in version 3.4 (11 Jun 2009)
+
+* Bug Fixes
+
+      Fixed directory handle leak during recursive parsing on Windows
+
+      Fixed -n mode (display unused hashes)
+
+
+
 ** Changes in version 3.3 (4 Apr 2009)
 
 * New Features
diff --git a/common/dig.c b/common/dig.c
index 63cbae6..3679d42 100644
--- a/common/dig.c
+++ b/common/dig.c
@@ -12,7 +12,7 @@
 //
 //
 
-// $Id: dig.c 184 2009-04-04 12:48:03Z jessekornblum $
+// $Id: dig.c 190 2009-05-22 21:18:20Z jessekornblum $
 
 #include "main.h"
 
@@ -307,6 +307,10 @@ static int is_junction_point(state *s, TCHAR *fn)
 			    FindFileData.dwReserved0);
       }
     }
+
+    // We don't error check this call as there's nothing to do differently
+    // if it fails.
+    FindClose(hFind);
   }
 #endif
 
@@ -712,18 +716,20 @@ int process_win32(state *s, TCHAR *fn)
     }
     
     rc = FindNextFile(hFind, &FindFileData);
-    if (0 == rc)
-      if (ERROR_NO_MORE_FILES != GetLastError())
-      {
-	// The Windows API for getting an intelligible error message
-	// is beserk. Rather than play their silly games, we 
-	// acknowledge that an unknown error occured and hope we
-	// can continue.
-	print_error_unicode(s,fn,"Unknown error while expanding wildcard");
-	free(dirname);
-	free(new_fn);
-	return STATUS_OK;
-      }
+  }
+  
+  // rc now equals zero, we can't find the next file
+
+  if (ERROR_NO_MORE_FILES != GetLastError())
+  {
+    // The Windows API for getting an intelligible error message
+    // is beserk. Rather than play their silly games, we 
+    // acknowledge that an unknown error occured and hope we
+    // can continue.
+    print_error_unicode(s,fn,"Unknown error while expanding wildcard");
+    free(dirname);
+    free(new_fn);
+    return STATUS_OK;
   }
   
   rc = FindClose(hFind);
diff --git a/common/hash.c b/common/hash.c
index 59068cd..d9939e8 100644
--- a/common/hash.c
+++ b/common/hash.c
@@ -9,7 +9,7 @@
 // WITHOUT ANY WARRANTY; without even the implied warranty of
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 //
-// $Id: hash.c 172 2009-01-16 10:36:59Z jessekornblum $
+// $Id: hash.c 188 2009-04-20 10:28:52Z jessekornblum $
 
 
 #include "main.h"
@@ -144,6 +144,7 @@ static int file_fatal_error(void)
 {
   switch(errno) 
     {
+    case EINVAL:   // Invalid argument (happens on Windows)
     case EACCES:   // Permission denied
     case ENODEV:   // Operation not supported (e.g. trying to read 
                    //   a write only device such as a printer)
diff --git a/configure b/configure
index a8bab9b..22f1f99 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for MD5DEEP 3.3.
+# Generated by GNU Autoconf 2.63 for MD5DEEP 3.4.
 #
 # Report bugs to <research at jessekornblum.com>.
 #
@@ -596,8 +596,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='MD5DEEP'
 PACKAGE_TARNAME='md5deep'
-PACKAGE_VERSION='3.3'
-PACKAGE_STRING='MD5DEEP 3.3'
+PACKAGE_VERSION='3.4'
+PACKAGE_STRING='MD5DEEP 3.4'
 PACKAGE_BUGREPORT='research at jessekornblum.com'
 
 # Factoring default headers for most tests.
@@ -1293,7 +1293,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures MD5DEEP 3.3 to adapt to many kinds of systems.
+\`configure' configures MD5DEEP 3.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1363,7 +1363,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of MD5DEEP 3.3:";;
+     short | recursive ) echo "Configuration of MD5DEEP 3.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1451,7 +1451,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-MD5DEEP configure 3.3
+MD5DEEP configure 3.4
 generated by GNU Autoconf 2.63
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1465,7 +1465,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by MD5DEEP $as_me 3.3, which was
+It was created by MD5DEEP $as_me 3.4, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   $ $0 $@
@@ -2181,7 +2181,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='md5deep'
- VERSION='3.3'
+ VERSION='3.4'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -8761,7 +8761,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by MD5DEEP $as_me 3.3, which was
+This file was extended by MD5DEEP $as_me 3.4, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -8824,7 +8824,7 @@ Report bugs to <bug-autoconf at gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-MD5DEEP config.status 3.3
+MD5DEEP config.status 3.4
 configured by $0, generated by GNU Autoconf 2.63,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/configure.ac b/configure.ac
index 82de04f..cd854be 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 AC_PREREQ(2.57)
 
-AC_INIT([MD5DEEP],[3.3],[research at jessekornblum.com])
+AC_INIT([MD5DEEP],[3.4],[research at jessekornblum.com])
 AM_INIT_AUTOMAKE
 #AM_MAINTAINER_MODE
 
diff --git a/md5deep/match.c b/md5deep/match.c
index 60ec24c..bc8ad50 100644
--- a/md5deep/match.c
+++ b/md5deep/match.c
@@ -10,7 +10,7 @@
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 //
 //
-// $Id: match.c 175 2009-01-25 13:33:01Z jessekornblum $ 
+// $Id: match.c 188 2009-04-20 10:28:52Z jessekornblum $ 
 
 #include "main.h"
 #include "hashTable.h"
@@ -239,7 +239,9 @@ int is_known_hash(char *h, char *known_fn)
 {
   int status;
 
-  if (NULL == h || NULL == known_fn)
+  // We don't check if the known_fn parameter is NULL because
+  // that's a legitimate call in hash.c under mode_not_matched
+  if (NULL == h)
     internal_error("%s: Null values passed into is_known_hash",
 		   __progname);
 
diff --git a/md5deep/md5deep.1 b/md5deep/md5deep.1
index 5f891b8..03fd470 100644
--- a/md5deep/md5deep.1
+++ b/md5deep/md5deep.1
@@ -1,4 +1,4 @@
-.TH MD5DEEP "1" "v3.3 \- 4 Apr 2009" "AFOSI" "United States Air Force"
+.TH MD5DEEP "1" "v3.4 \- 11 Jun 2009" "AFOSI" "United States Air Force"
 
 .SH NAME
 md5deep \- Compute and compare MD5 message digests
diff --git a/md5deep/sha1deep.1 b/md5deep/sha1deep.1
index 5f891b8..03fd470 100644
--- a/md5deep/sha1deep.1
+++ b/md5deep/sha1deep.1
@@ -1,4 +1,4 @@
-.TH MD5DEEP "1" "v3.3 \- 4 Apr 2009" "AFOSI" "United States Air Force"
+.TH MD5DEEP "1" "v3.4 \- 11 Jun 2009" "AFOSI" "United States Air Force"
 
 .SH NAME
 md5deep \- Compute and compare MD5 message digests
diff --git a/md5deep/sha256deep.1 b/md5deep/sha256deep.1
index 5f891b8..03fd470 100644
--- a/md5deep/sha256deep.1
+++ b/md5deep/sha256deep.1
@@ -1,4 +1,4 @@
-.TH MD5DEEP "1" "v3.3 \- 4 Apr 2009" "AFOSI" "United States Air Force"
+.TH MD5DEEP "1" "v3.4 \- 11 Jun 2009" "AFOSI" "United States Air Force"
 
 .SH NAME
 md5deep \- Compute and compare MD5 message digests
diff --git a/md5deep/tigerdeep.1 b/md5deep/tigerdeep.1
index 5f891b8..03fd470 100644
--- a/md5deep/tigerdeep.1
+++ b/md5deep/tigerdeep.1
@@ -1,4 +1,4 @@
-.TH MD5DEEP "1" "v3.3 \- 4 Apr 2009" "AFOSI" "United States Air Force"
+.TH MD5DEEP "1" "v3.4 \- 11 Jun 2009" "AFOSI" "United States Air Force"
 
 .SH NAME
 md5deep \- Compute and compare MD5 message digests
diff --git a/md5deep/whirlpooldeep.1 b/md5deep/whirlpooldeep.1
index 5f891b8..03fd470 100644
--- a/md5deep/whirlpooldeep.1
+++ b/md5deep/whirlpooldeep.1
@@ -1,4 +1,4 @@
-.TH MD5DEEP "1" "v3.3 \- 4 Apr 2009" "AFOSI" "United States Air Force"
+.TH MD5DEEP "1" "v3.4 \- 11 Jun 2009" "AFOSI" "United States Air Force"
 
 .SH NAME
 md5deep \- Compute and compare MD5 message digests

-- 
Recursively compute hashsums or piecewise hashings



More information about the forensics-changes mailing list