[Forensics-changes] [SCM] Recursively compute hashsums or piecewise hashings branch, upstream, updated. upstream/3.3-1-g3c9f6ab
Christophe Monniez
christophe.monniez at fccu.be
Mon Jun 22 07:59:08 UTC 2009
The following commit has been merged in the upstream branch:
commit 3c9f6ab0d603e36926abd82974ef18819dd0c534
Author: Christophe Monniez <christophe.monniez at fccu.be>
Date: Mon Jun 22 09:19:24 2009 +0200
Adding 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