[Forensics-changes] [SCM] debian-forensics/md5deep branch, upstream, updated. upstream/3.4-1-gd852584
Christophe Monniez
christophe.monniez at fccu.be
Mon May 31 20:02:25 UTC 2010
The following commit has been merged in the upstream branch:
commit d85258432eee4cee540007d7e9fd880d5a602e9f
Author: Christophe Monniez <christophe.monniez at fccu.be>
Date: Mon May 31 21:02:48 2010 +0200
Adding upstream version 3.6.
diff --git a/ChangeLog b/ChangeLog
index 194a503..bad2509 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,101 @@
+2010-03-23 Jesse Kornblum
+
+ * Version bump to 3.6 and release
+
+ * Documented expert mode in hashdeep man page, getting started
+ guide. Also made a few tweaks to the md5deep documentation.
+
+ * Added some error checking routines to helpers
+
+
+2010-03-06 Jesse Kornblum
+
+ * Cleaned up md5deep/main.h comment styles. Also added a field
+ to the state variable to keep track of the file's type. This
+ is was handy for...
+
+ * Updating file size computation to use results of stat
+ operation normally done anyway during dig phase.
+
+
+2010-02-26 Jesse Kornblum
+
+ * Adding 'expert' mode from md5deep to hashdeep.
+
+
+2010-02-25 Jesse Kornblum
+
+ * Changed all contact email addresses to research account at
+ jessekornblum.com. The 'md5deep' account will be deprecated.
+
+
+2010-01-09 Jesse Kornblum
+
+ * Finished updating download links. Updated and published
+ Hashdeep quick start guide
+
+
+2009-12-30 Jesse Kornblum
+
+ * Converting documentation update to use rsync+ssh to upload content
+
+
+2009-12-29 Jesse Kornblum
+
+ * Version bump to 3.5.1
+
+ * Attempting to fix bug 2922415 involving zero byte files
+
+ * Added a few items to the TODO list
+
+ * Started web page cleanup
+
+
+2009-12-21 Jesse Kornblum
+
+ * Attempting to fix bug 2919014 regarding hashdeep and its
+ failure to detect when files go missing during an audit
+ if there is another, identical file in a different location
+
+ * Cleanup on md5deep code for -f mode
+
+ * Revised list of new features for release 3.5
+
+
+2009-09-24 Jesse Kornblum
+
+ * Again revised patch 2855502 to handle the last read of
+ files/stdin when no data is read. This happens when the
+ file size is an exact multiple of the piecewise size.
+
+
+2009-09-16 Jesse Kornblum
+
+ * Updated broken link on web page for Whirlpool.
+
+
+2009-09-09 Jesse Kornblum
+
+ * Applied a modified version of patch 2855502 to fix file size
+ computation for piecewise hashing of stdin.
+
+
+2009-07-11 Jesse Kornblum
+
+ * Added draft of Hashdeep Getting Started guide
+
+
+2009-07-10 Jesse Kornblum
+
+ * Fixed method to read list of files to hash from a file.
+
+
+2009-06-14 Jesse Kornblum
+
+ * Experimenting with reading list of files to hash from another
+ file in md5deep.
+
+
2009-05-22 Jesse Kornblum
* Closed search handle in is_junction_point in response
diff --git a/Makefile.in b/Makefile.in
index 61c6b5a..596a9e2 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -46,6 +48,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -57,6 +60,9 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir dist dist-all distcheck
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
@@ -64,9 +70,34 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
- { test ! -d $(distdir) \
- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr $(distdir); }; }
+ { test ! -d "$(distdir)" \
+ || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -fr "$(distdir)"; }; }
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
@@ -189,15 +220,15 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
- cd $(srcdir) && $(AUTOMAKE) --gnu \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
&& exit 0; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -213,9 +244,10 @@ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENC
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: $(am__configure_deps)
- cd $(srcdir) && $(AUTOCONF)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
config.h: stamp-h1
@if test ! -f $@; then \
@@ -227,7 +259,7 @@ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: $(am__configure_deps)
- cd $(top_srcdir) && $(AUTOHEADER)
+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f stamp-h1
touch $@
@@ -241,7 +273,7 @@ distclean-hdr:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -258,7 +290,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -266,7 +298,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -292,16 +324,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -316,7 +348,7 @@ tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -328,7 +360,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
@@ -337,36 +369,41 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
$(am__remove_distdir)
- test -d $(distdir) || mkdir $(distdir)
+ test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -382,38 +419,55 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ -test -n "$(am__skip_mode_fix)" \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r $(distdir)
+ || chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
@@ -426,6 +480,10 @@ dist-lzma: distdir
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
$(am__remove_distdir)
+dist-xz: distdir
+ tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+ $(am__remove_distdir)
+
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
@@ -449,15 +507,17 @@ dist dist-all: distdir
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
- unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+ *.tar.xz*) \
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
@@ -465,9 +525,11 @@ distcheck: dist
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
+ test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && cd $(distdir)/_build \
+ && am__cwd=`pwd` \
+ && $(am__cd) $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
@@ -489,13 +551,15 @@ distcheck: dist
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+ && cd "$$am__cwd" \
+ || exit 1
$(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
- @cd $(distuninstallcheck_dir) \
+ @$(am__cd) '$(distuninstallcheck_dir)' \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
@@ -537,6 +601,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -556,6 +621,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -564,18 +631,28 @@ install-data-am:
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am:
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -598,21 +675,21 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
+ ctags-recursive install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am am--refresh check check-am clean clean-generic \
ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
- dist-lzma dist-shar dist-tarZ dist-zip distcheck distclean \
- distclean-generic distclean-hdr distclean-tags distcleancheck \
- distdir distuninstallcheck dvi dvi-am html html-am info \
- info-am install install-am install-data install-data-am \
- install-dvi install-dvi-am install-exec install-exec-am \
- install-html install-html-am install-info install-info-am \
- install-man install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs installdirs-am maintainer-clean \
+ dist-lzma dist-shar dist-tarZ dist-xz dist-zip distcheck \
+ distclean distclean-generic distclean-hdr distclean-tags \
+ distcleancheck distdir distuninstallcheck dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
@@ -667,6 +744,7 @@ world: distclean
make
make win-package
make dist
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/NEWS b/NEWS
index 2651808..efcda80 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,40 @@
+** Changes in version 3.6 (23 Mar 2010)
+
+* New Features
+
+ Added expert mode found in md5deep to hashdeep.
+
+* Bug Fixes
+
+ Fixed error checking in helper routines.
+
+
+
+
+** Changes in version 3.5.1 (30 Dec 2009)
+
+* Bug Fixes
+
+ Fixed processing of zero byte files.
+
+
+
+
+** Changes in version 3.5 (22 Dec 2009)
+
+* New Features
+
+ Added mode to load list of files to process from a file (-f mode)
+
+* Bug Fixes
+
+ Fixed file size computation for piecewise hashing of standard input.
+
+ Fixed error when auditing a directory to check for identical copies
+ of a file if one copy is removed.
+
+
+
** Changes in version 3.4 (11 Jun 2009)
* Bug Fixes
diff --git a/TODO b/TODO
index 18c47c0..46fae3f 100644
--- a/TODO
+++ b/TODO
@@ -1,3 +1,12 @@
+*** Update trove descriptions and other sf.net text to include hashdeep
+
+*** Edit md5deep web page
+ - Describe hashdeep in the introduction
+
+*** Create unit test directive/code
+
+*** Write hashdeep quickstart guide
+
*** Create FAQ
- Why nothing happens when I double click it
- Why is this better than one line of shell
@@ -5,6 +14,3 @@
*** Add support for hashdeep to use NSRL files and other types?
*** Add timestamp mode (-t) to hashdeep
-
-*** Add 'make test' directive to run compiled programs on test files
- and ensure compilation was successful.
diff --git a/aclocal.m4 b/aclocal.m4
index cc5936e..7d4b74e 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.10.2 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -31,10 +31,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.])
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.10'
+[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.10.2], [],
+m4_if([$1], [1.11.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -50,7 +50,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10.2])dnl
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -110,14 +110,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 8
+# serial 9
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
@@ -130,6 +130,7 @@ AC_SUBST([$1_TRUE])dnl
AC_SUBST([$1_FALSE])dnl
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
if $2; then
$1_TRUE=
$1_FALSE='#'
@@ -143,14 +144,14 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 9
+# serial 10
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
@@ -207,6 +208,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
@@ -224,7 +235,17 @@ AC_CACHE_CHECK([dependency style of $depcc],
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
nosideeffect)
# after this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested
@@ -234,19 +255,23 @@ AC_CACHE_CHECK([dependency style of $depcc],
break
fi
;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
none) break ;;
esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
@@ -310,59 +335,61 @@ _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-#serial 4
+#serial 5
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[# Autoconf 2.62 quotes --file arguments for eval, but not when files
-# are listed without --file. Let's play safe and only enable the eval
-# if we detect the quoting.
-case $CONFIG_FILES in
-*\'*) eval set x "$CONFIG_FILES" ;;
-*) set x $CONFIG_FILES ;;
-esac
-shift
-for mf
-do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
+[{
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
done
-done
+}
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
@@ -394,13 +421,13 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008 Free Software Foundation, Inc.
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 13
+# serial 16
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
@@ -417,7 +444,7 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.60])dnl
+[AC_PREREQ([2.62])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -468,8 +495,8 @@ AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
AM_MISSING_PROG(AUTOHEADER, autoheader)
AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
AC_REQUIRE([AM_PROG_MKDIR_P])dnl
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
@@ -477,24 +504,37 @@ AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES(OBJC)],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
])
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
@@ -517,7 +557,7 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -528,7 +568,14 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
# Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
AC_SUBST(install_sh)])
# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
@@ -554,13 +601,13 @@ AC_SUBST([am__leading_dot])])
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 3
+# serial 4
# AM_MAKE_INCLUDE()
# -----------------
@@ -569,7 +616,7 @@ AC_DEFUN([AM_MAKE_INCLUDE],
[am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
- @echo done
+ @echo this is the am__doit target
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
@@ -579,24 +626,24 @@ am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
fi
AC_SUBST([am__include])
AC_SUBST([am__quote])
@@ -606,14 +653,14 @@ rm -f confinc confmf
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 5
+# serial 6
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
@@ -630,7 +677,14 @@ AC_SUBST($1)])
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
# Use eval to expand $SHELL
if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
@@ -701,14 +755,14 @@ AC_DEFUN([_AM_IF_OPTION],
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 4
+# serial 5
# AM_SANITY_CHECK
# ---------------
@@ -717,16 +771,29 @@ AC_DEFUN([AM_SANITY_CHECK],
# Just in case
sleep 1
echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
# Do `set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
if test "$[*]" = "X"; then
# -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
+ set X `ls -t "$srcdir/configure" conftest.file`
fi
rm -f conftest.file
if test "$[*]" != "X $srcdir/configure conftest.file" \
@@ -779,18 +846,25 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 2
+
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
# This macro is traced by Automake.
AC_DEFUN([_AM_SUBST_NOTMAKE])
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
# Check how to create a tarball. -*- Autoconf -*-
# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
diff --git a/common/dig.c b/common/dig.c
index 3679d42..1bb4187 100644
--- a/common/dig.c
+++ b/common/dig.c
@@ -12,7 +12,7 @@
//
//
-// $Id: dig.c 190 2009-05-22 21:18:20Z jessekornblum $
+// $Id: dig.c 228 2010-03-23 12:09:17Z jessekornblum $
#include "main.h"
@@ -317,7 +317,6 @@ static int is_junction_point(state *s, TCHAR *fn)
return status;
}
-// RBF - Remove experimental code?
// This is experimental code for reparse point process
// We don't use it yet, but I don't want to delete it
// until I know what I'm doing. (jk 1 Mar 2009)
@@ -458,7 +457,6 @@ static int file_type_helper(_tstat_t sb)
return stat_symlink;
#endif // ifndef _WIN32
-
// Used to detect Solaris doors
#ifdef S_IFDOOR
#ifdef S_ISDOOR
@@ -599,8 +597,8 @@ static int should_hash(state *s, TCHAR *fn)
// We must reset the number of bytes in each file processed
// so that we can tell if fstat reads the number successfully
- s->total_bytes = 0;
- s->timestamp = 0;
+ s->total_bytes = UNKNOWN_FILE_SIZE;
+ s->timestamp = 0;
type = file_type(s,fn);
diff --git a/common/hash.c b/common/hash.c
index d9939e8..82d2c38 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 188 2009-04-20 10:28:52Z jessekornblum $
+// $Id: hash.c 228 2010-03-23 12:09:17Z jessekornblum $
#include "main.h"
@@ -123,8 +123,8 @@ static void shorten_filename(TCHAR *dest, TCHAR *src)
if (NULL == basen)
return;
- // RBF - Check the return value of my_basename
- my_basename(basen);
+ if (my_basename(basen))
+ return;
if (_tcslen(basen) < MAX_FILENAME_LENGTH)
{
@@ -265,6 +265,7 @@ static int hash(state *s)
{
int done = FALSE, status = FALSE;
TCHAR *tmp_name = NULL;
+ uint64_t start_offset;
if (NULL == s)
return TRUE;
@@ -297,47 +298,53 @@ static int hash(state *s)
#endif
HASH_INITIALIZE();
- if (s->mode & mode_piecewise)
- {
- // This logic keeps the offset values correct when s->block_size
- // is larger than the whole file.
- if (s->bytes_read + s->block_size > s->total_bytes)
- _sntprintf(s->full_name,PATH_MAX,_TEXT("%s offset %"PRIu64"-%"PRIu64),
- tmp_name, s->bytes_read, s->total_bytes);
- else
- _sntprintf(s->full_name,PATH_MAX,_TEXT("%s offset %"PRIu64"-%"PRIu64),
- tmp_name, s->bytes_read, s->bytes_read + s->block_size);
- }
-
+ start_offset = s->bytes_read;
+
if (!compute_hash(s))
{
if (s->mode & mode_piecewise)
free(s->full_name);
return TRUE;
}
-
- HASH_FINALIZE();
-#ifdef __MD5DEEP_H
- static char hex[] = "0123456789abcdef";
- size_t i;
-
- for (i = 0; i < s->hash_length ; ++i)
+ // We should only display a hash if we've processed some
+ // data during this read OR if the whole file is zero bytes long.
+ // If the file is zero bytes, we won't have read anything, but
+ // still need to display a hash.
+ if (start_offset != s->bytes_read || 0 == s->total_bytes)
{
- s->hash_result[2 * i] = hex[(s->hash_sum[i] >> 4) & 0xf];
- s->hash_result[2 * i + 1] = hex[s->hash_sum[i] & 0xf];
- }
+ if (s->mode & mode_piecewise)
+ {
+ if (0 == s->total_bytes)
+ _sntprintf(s->full_name,PATH_MAX,_TEXT("%s offset 0"),tmp_name);
+ else
+ _sntprintf(s->full_name,PATH_MAX,_TEXT("%s offset %"PRIu64"-%"PRIu64),
+ tmp_name, start_offset, s->bytes_read - 1);
+ }
+
+ HASH_FINALIZE();
- // Under not matched mode, we only display those known hashes that
- // didn't match any input files. Thus, we don't display anything now.
- // The lookup is to mark those known hashes that we do encounter
- if (s->mode & mode_not_matched)
- is_known_hash(s->hash_result,NULL);
- else
- status = display_hash(s);
+#ifdef __MD5DEEP_H
+ static char hex[] = "0123456789abcdef";
+ size_t i;
+
+ for (i = 0; i < s->hash_length ; ++i)
+ {
+ s->hash_result[2 * i] = hex[(s->hash_sum[i] >> 4) & 0xf];
+ s->hash_result[2 * i + 1] = hex[s->hash_sum[i] & 0xf];
+ }
+
+ // Under not matched mode, we only display those known hashes that
+ // didn't match any input files. Thus, we don't display anything now.
+ // The lookup is to mark those known hashes that we do encounter
+ if (s->mode & mode_not_matched)
+ is_known_hash(s->hash_result,NULL);
+ else
+ status = display_hash(s);
#else
- display_hash(s);
+ display_hash(s);
#endif
+ }
if (s->mode & mode_piecewise)
done = feof(s->handle);
@@ -398,12 +405,14 @@ int hash_file(state *s, TCHAR *fn)
if ((s->handle = _tfopen(fn,_TEXT("rb"))) != NULL)
{
- // We only call the fstat or the ioctl functions if we weren't able to
- // determine the file size from the stat function in dig.c:file_type().
- if (0 == s->total_bytes)
+ // We should have the file size already from the stat functions
+ // called during digging. If for some reason that failed, we'll
+ // try some ioctl calls now to get the full size.
+ if (UNKNOWN_FILE_SIZE == s->total_bytes)
s->total_bytes = find_file_size(s->handle);
- if (s->mode & mode_size && s->total_bytes > s->size_threshold)
+ // If this file is above the size threshold set by the user, skip it
+ if ((s->mode & mode_size) && (s->total_bytes > s->size_threshold))
{
if (s->mode & mode_size_all)
{
@@ -432,7 +441,6 @@ int hash_file(state *s, TCHAR *fn)
if (s->mode & mode_estimate)
{
- // The find file size returns a value of type off_t, so we must cast it
s->total_megs = s->total_bytes / ONE_MEGABYTE;
shorten_filename(s->short_name,s->full_name);
}
diff --git a/common/helpers.c b/common/helpers.c
index 34c2e2a..8357968 100644
--- a/common/helpers.c
+++ b/common/helpers.c
@@ -10,10 +10,38 @@
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
//
-// $Id: helpers.c 172 2009-01-16 10:36:59Z jessekornblum $
+// $Id: helpers.c 228 2010-03-23 12:09:17Z jessekornblum $
#include "main.h"
+void setup_expert_mode(state *s, char *arg)
+{
+ unsigned int i = 0;
+
+ while (i < strlen(arg)) {
+ switch (*(arg+i)) {
+ case 'b': // Block Device
+ s->mode |= mode_block; break;
+ case 'c': // Character Device
+ s->mode |= mode_character; break;
+ case 'p': // Named Pipe
+ s->mode |= mode_pipe; break;
+ case 'f': // Regular File
+ s->mode |= mode_regular; break;
+ case 'l': // Symbolic Link
+ s->mode |= mode_symlink; break;
+ case 's': // Socket
+ s->mode |= mode_socket; break;
+ case 'd': // Door (Solaris)
+ s->mode |= mode_door; break;
+ default:
+ print_error(s,"%s: Unrecognized file type: %c",__progname,*(arg+i));
+ }
+ ++i;
+ }
+}
+
+
uint64_t find_block_size(state *s, char *input_str)
{
unsigned char c;
@@ -133,9 +161,13 @@ void generate_filename(state *s, TCHAR *fn, TCHAR *cwd, TCHAR *input)
int my_basename(TCHAR *str)
{
size_t len;
- TCHAR *tmp = _tcsrchr(str,DIR_SEPARATOR);
+ TCHAR *tmp;
- if (NULL == tmp || NULL == str)
+ if (NULL == str)
+ return TRUE;
+
+ tmp = _tcsrchr(str,DIR_SEPARATOR);
+ if (NULL == tmp)
return TRUE;
len = _tcslen(tmp);
@@ -427,7 +459,6 @@ off_t find_dev_size(int fd, int blk_size)
off_t curr = 0, amount = 0;
void *buf;
- // RBF - How do we validate the file descriptor here?
if (blk_size == 0)
return 0;
@@ -475,6 +506,8 @@ off_t find_file_size(FILE *f)
if (NULL == f)
return 0;
+ // The error checking for this is above. If f is not NULL
+ // fd should be vald.
int fd = fileno(f);
struct stat sb;
@@ -506,6 +539,10 @@ off_t find_file_size(FILE *f)
// TODO: Find a way to estimate device sizes on Windows
// Perhaps an IOTCL_DISK_GET_DRIVE_GEOMETRY_EX would work?
+ // RBF - We don't really have the fseeko and ftello functions
+ // on windows. They are functions like _ftelli64 or some such
+ // RBF - Fix find_file_size for large files on Win32
+
if ((fseeko(f,0,SEEK_END)))
return 0;
diff --git a/configure b/configure
index 22f1f99..94dad05 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.4.
+# Generated by GNU Autoconf 2.63 for MD5DEEP 3.6.
#
# 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.4'
-PACKAGE_STRING='MD5DEEP 3.4'
+PACKAGE_VERSION='3.6'
+PACKAGE_STRING='MD5DEEP 3.6'
PACKAGE_BUGREPORT='research at jessekornblum.com'
# Factoring default headers for most tests.
@@ -636,7 +636,9 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='LTLIBOBJS
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
EXTRA_HASHDEEP
LIBOBJS
host_os
@@ -1293,7 +1295,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.4 to adapt to many kinds of systems.
+\`configure' configures MD5DEEP 3.6 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1363,7 +1365,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of MD5DEEP 3.4:";;
+ short | recursive ) echo "Configuration of MD5DEEP 3.6:";;
esac
cat <<\_ACEOF
@@ -1451,7 +1453,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-MD5DEEP configure 3.4
+MD5DEEP configure 3.6
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1465,7 +1467,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.4, which was
+It was created by MD5DEEP $as_me 3.6, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -1833,7 +1835,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-am__api_version='1.10'
+am__api_version='1.11'
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -1964,16 +1966,33 @@ $as_echo_n "checking whether build environment is sane... " >&6; }
# Just in case
sleep 1
echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
+ { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5
+$as_echo "$as_me: error: unsafe absolute working directory name" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
+ { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5
+$as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+
# Do `set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
if test "$*" = "X"; then
# -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
+ set X `ls -t "$srcdir/configure" conftest.file`
fi
rm -f conftest.file
if test "$*" != "X $srcdir/configure conftest.file" \
@@ -2017,7 +2036,14 @@ program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
# Use eval to expand $SHELL
if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
@@ -2027,6 +2053,115 @@ else
$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
@@ -2181,7 +2316,7 @@ fi
# Define the identity of the package.
PACKAGE='md5deep'
- VERSION='3.4'
+ VERSION='3.6'
cat >>confdefs.h <<_ACEOF
@@ -2209,108 +2344,6 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
# Always define AMTAR for backward compatibility.
@@ -2333,7 +2366,7 @@ ac_config_commands="$ac_config_commands depfiles"
am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
- @echo done
+ @echo this is the am__doit target
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
@@ -2344,24 +2377,24 @@ am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
fi
@@ -3350,6 +3383,11 @@ else
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
@@ -3367,7 +3405,17 @@ else
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
nosideeffect)
# after this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested
@@ -3377,19 +3425,23 @@ else
break
fi
;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
none) break ;;
esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
@@ -5092,6 +5144,11 @@ else
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
@@ -5109,7 +5166,17 @@ else
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
nosideeffect)
# after this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested
@@ -5119,19 +5186,23 @@ else
break
fi
;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
none) break ;;
esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
@@ -8417,6 +8488,14 @@ LIBOBJS=$ac_libobjs
LTLIBOBJS=$ac_ltlibobjs
+ if test -n "$EXEEXT"; then
+ am__EXEEXT_TRUE=
+ am__EXEEXT_FALSE='#'
+else
+ am__EXEEXT_TRUE='#'
+ am__EXEEXT_FALSE=
+fi
+
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
{ { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
@@ -8761,7 +8840,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.4, which was
+This file was extended by MD5DEEP $as_me 3.6, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -8824,7 +8903,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.4
+MD5DEEP config.status 3.6
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -9606,27 +9685,28 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || # Autoconf 2.62 quotes --file arguments for eval, but not when files
-# are listed without --file. Let's play safe and only enable the eval
-# if we detect the quoting.
-case $CONFIG_FILES in
-*\'*) eval set x "$CONFIG_FILES" ;;
-*) set x $CONFIG_FILES ;;
-esac
-shift
-for mf
-do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
X"$mf" : 'X\(//\)$' \| \
@@ -9649,28 +9729,28 @@ $as_echo X"$mf" |
q
}
s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$file" : 'X\(//\)[^/]' \| \
X"$file" : 'X\(//\)$' \| \
@@ -9693,7 +9773,7 @@ $as_echo X"$file" |
q
}
s/.*/./; q'`
- { as_dir=$dirpart/$fdir
+ { as_dir=$dirpart/$fdir
case $as_dir in #(
-*) as_dir=./$as_dir;;
esac
@@ -9734,10 +9814,11 @@ $as_echo X"$as_dir" |
} || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
done
-done
+}
;;
esac
diff --git a/configure.ac b/configure.ac
index cd854be..ba0ff93 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
AC_PREREQ(2.57)
-AC_INIT([MD5DEEP],[3.4],[research at jessekornblum.com])
+AC_INIT([MD5DEEP],[3.6],[research at jessekornblum.com])
AM_INIT_AUTOMAKE
#AM_MAINTAINER_MODE
diff --git a/hashdeep/Makefile.in b/hashdeep/Makefile.in
index 392ef9d..23d752e 100644
--- a/hashdeep/Makefile.in
+++ b/hashdeep/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,8 +17,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -42,8 +44,8 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am__objects_1 = hash.$(OBJEXT) dig.$(OBJEXT) cycles.$(OBJEXT) \
ui.$(OBJEXT) helpers.$(OBJEXT) md5.$(OBJEXT) sha1.$(OBJEXT) \
@@ -56,12 +58,34 @@ am__DEPENDENCIES_1 =
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(hashdeep_SOURCES) $(EXTRA_hashdeep_SOURCES)
DIST_SOURCES = $(hashdeep_SOURCES) $(EXTRA_hashdeep_SOURCES)
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
man1dir = $(mandir)/man1
NROFF = nroff
MANS = $(man_MANS)
@@ -202,9 +226,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu hashdeep/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu hashdeep/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu hashdeep/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu hashdeep/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -222,26 +246,41 @@ $(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
@@ -275,202 +314,195 @@ distclean-compile:
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
hash.o: ${COMMON_DIR}/hash.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hash.o -MD -MP -MF $(DEPDIR)/hash.Tpo -c -o hash.o `test -f '${COMMON_DIR}/hash.c' || echo '$(srcdir)/'`${COMMON_DIR}/hash.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hash.Tpo $(DEPDIR)/hash.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/hash.Tpo $(DEPDIR)/hash.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/hash.c' object='hash.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hash.o `test -f '${COMMON_DIR}/hash.c' || echo '$(srcdir)/'`${COMMON_DIR}/hash.c
hash.obj: ${COMMON_DIR}/hash.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hash.obj -MD -MP -MF $(DEPDIR)/hash.Tpo -c -o hash.obj `if test -f '${COMMON_DIR}/hash.c'; then $(CYGPATH_W) '${COMMON_DIR}/hash.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/hash.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hash.Tpo $(DEPDIR)/hash.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/hash.Tpo $(DEPDIR)/hash.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/hash.c' object='hash.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hash.obj `if test -f '${COMMON_DIR}/hash.c'; then $(CYGPATH_W) '${COMMON_DIR}/hash.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/hash.c'; fi`
dig.o: ${COMMON_DIR}/dig.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dig.o -MD -MP -MF $(DEPDIR)/dig.Tpo -c -o dig.o `test -f '${COMMON_DIR}/dig.c' || echo '$(srcdir)/'`${COMMON_DIR}/dig.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dig.Tpo $(DEPDIR)/dig.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dig.Tpo $(DEPDIR)/dig.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/dig.c' object='dig.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dig.o `test -f '${COMMON_DIR}/dig.c' || echo '$(srcdir)/'`${COMMON_DIR}/dig.c
dig.obj: ${COMMON_DIR}/dig.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dig.obj -MD -MP -MF $(DEPDIR)/dig.Tpo -c -o dig.obj `if test -f '${COMMON_DIR}/dig.c'; then $(CYGPATH_W) '${COMMON_DIR}/dig.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/dig.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dig.Tpo $(DEPDIR)/dig.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dig.Tpo $(DEPDIR)/dig.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/dig.c' object='dig.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dig.obj `if test -f '${COMMON_DIR}/dig.c'; then $(CYGPATH_W) '${COMMON_DIR}/dig.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/dig.c'; fi`
cycles.o: ${COMMON_DIR}/cycles.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cycles.o -MD -MP -MF $(DEPDIR)/cycles.Tpo -c -o cycles.o `test -f '${COMMON_DIR}/cycles.c' || echo '$(srcdir)/'`${COMMON_DIR}/cycles.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cycles.Tpo $(DEPDIR)/cycles.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/cycles.Tpo $(DEPDIR)/cycles.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/cycles.c' object='cycles.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cycles.o `test -f '${COMMON_DIR}/cycles.c' || echo '$(srcdir)/'`${COMMON_DIR}/cycles.c
cycles.obj: ${COMMON_DIR}/cycles.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cycles.obj -MD -MP -MF $(DEPDIR)/cycles.Tpo -c -o cycles.obj `if test -f '${COMMON_DIR}/cycles.c'; then $(CYGPATH_W) '${COMMON_DIR}/cycles.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/cycles.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cycles.Tpo $(DEPDIR)/cycles.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/cycles.Tpo $(DEPDIR)/cycles.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/cycles.c' object='cycles.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cycles.obj `if test -f '${COMMON_DIR}/cycles.c'; then $(CYGPATH_W) '${COMMON_DIR}/cycles.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/cycles.c'; fi`
ui.o: ${COMMON_DIR}/ui.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ui.o -MD -MP -MF $(DEPDIR)/ui.Tpo -c -o ui.o `test -f '${COMMON_DIR}/ui.c' || echo '$(srcdir)/'`${COMMON_DIR}/ui.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ui.Tpo $(DEPDIR)/ui.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ui.Tpo $(DEPDIR)/ui.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/ui.c' object='ui.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ui.o `test -f '${COMMON_DIR}/ui.c' || echo '$(srcdir)/'`${COMMON_DIR}/ui.c
ui.obj: ${COMMON_DIR}/ui.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ui.obj -MD -MP -MF $(DEPDIR)/ui.Tpo -c -o ui.obj `if test -f '${COMMON_DIR}/ui.c'; then $(CYGPATH_W) '${COMMON_DIR}/ui.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/ui.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ui.Tpo $(DEPDIR)/ui.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ui.Tpo $(DEPDIR)/ui.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/ui.c' object='ui.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ui.obj `if test -f '${COMMON_DIR}/ui.c'; then $(CYGPATH_W) '${COMMON_DIR}/ui.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/ui.c'; fi`
helpers.o: ${COMMON_DIR}/helpers.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT helpers.o -MD -MP -MF $(DEPDIR)/helpers.Tpo -c -o helpers.o `test -f '${COMMON_DIR}/helpers.c' || echo '$(srcdir)/'`${COMMON_DIR}/helpers.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/helpers.Tpo $(DEPDIR)/helpers.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/helpers.Tpo $(DEPDIR)/helpers.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/helpers.c' object='helpers.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o helpers.o `test -f '${COMMON_DIR}/helpers.c' || echo '$(srcdir)/'`${COMMON_DIR}/helpers.c
helpers.obj: ${COMMON_DIR}/helpers.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT helpers.obj -MD -MP -MF $(DEPDIR)/helpers.Tpo -c -o helpers.obj `if test -f '${COMMON_DIR}/helpers.c'; then $(CYGPATH_W) '${COMMON_DIR}/helpers.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/helpers.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/helpers.Tpo $(DEPDIR)/helpers.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/helpers.Tpo $(DEPDIR)/helpers.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/helpers.c' object='helpers.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o helpers.obj `if test -f '${COMMON_DIR}/helpers.c'; then $(CYGPATH_W) '${COMMON_DIR}/helpers.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/helpers.c'; fi`
md5.o: ${COMMON_DIR}/md5.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT md5.o -MD -MP -MF $(DEPDIR)/md5.Tpo -c -o md5.o `test -f '${COMMON_DIR}/md5.c' || echo '$(srcdir)/'`${COMMON_DIR}/md5.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/md5.c' object='md5.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o md5.o `test -f '${COMMON_DIR}/md5.c' || echo '$(srcdir)/'`${COMMON_DIR}/md5.c
md5.obj: ${COMMON_DIR}/md5.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT md5.obj -MD -MP -MF $(DEPDIR)/md5.Tpo -c -o md5.obj `if test -f '${COMMON_DIR}/md5.c'; then $(CYGPATH_W) '${COMMON_DIR}/md5.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/md5.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/md5.c' object='md5.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o md5.obj `if test -f '${COMMON_DIR}/md5.c'; then $(CYGPATH_W) '${COMMON_DIR}/md5.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/md5.c'; fi`
sha1.o: ${COMMON_DIR}/sha1.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sha1.o -MD -MP -MF $(DEPDIR)/sha1.Tpo -c -o sha1.o `test -f '${COMMON_DIR}/sha1.c' || echo '$(srcdir)/'`${COMMON_DIR}/sha1.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sha1.Tpo $(DEPDIR)/sha1.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sha1.Tpo $(DEPDIR)/sha1.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/sha1.c' object='sha1.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sha1.o `test -f '${COMMON_DIR}/sha1.c' || echo '$(srcdir)/'`${COMMON_DIR}/sha1.c
sha1.obj: ${COMMON_DIR}/sha1.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sha1.obj -MD -MP -MF $(DEPDIR)/sha1.Tpo -c -o sha1.obj `if test -f '${COMMON_DIR}/sha1.c'; then $(CYGPATH_W) '${COMMON_DIR}/sha1.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/sha1.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sha1.Tpo $(DEPDIR)/sha1.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sha1.Tpo $(DEPDIR)/sha1.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/sha1.c' object='sha1.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sha1.obj `if test -f '${COMMON_DIR}/sha1.c'; then $(CYGPATH_W) '${COMMON_DIR}/sha1.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/sha1.c'; fi`
sha256.o: ${COMMON_DIR}/sha256.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sha256.o -MD -MP -MF $(DEPDIR)/sha256.Tpo -c -o sha256.o `test -f '${COMMON_DIR}/sha256.c' || echo '$(srcdir)/'`${COMMON_DIR}/sha256.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sha256.Tpo $(DEPDIR)/sha256.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sha256.Tpo $(DEPDIR)/sha256.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/sha256.c' object='sha256.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sha256.o `test -f '${COMMON_DIR}/sha256.c' || echo '$(srcdir)/'`${COMMON_DIR}/sha256.c
sha256.obj: ${COMMON_DIR}/sha256.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sha256.obj -MD -MP -MF $(DEPDIR)/sha256.Tpo -c -o sha256.obj `if test -f '${COMMON_DIR}/sha256.c'; then $(CYGPATH_W) '${COMMON_DIR}/sha256.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/sha256.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sha256.Tpo $(DEPDIR)/sha256.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sha256.Tpo $(DEPDIR)/sha256.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/sha256.c' object='sha256.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sha256.obj `if test -f '${COMMON_DIR}/sha256.c'; then $(CYGPATH_W) '${COMMON_DIR}/sha256.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/sha256.c'; fi`
tiger.o: ${COMMON_DIR}/tiger.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tiger.o -MD -MP -MF $(DEPDIR)/tiger.Tpo -c -o tiger.o `test -f '${COMMON_DIR}/tiger.c' || echo '$(srcdir)/'`${COMMON_DIR}/tiger.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/tiger.Tpo $(DEPDIR)/tiger.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/tiger.Tpo $(DEPDIR)/tiger.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/tiger.c' object='tiger.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tiger.o `test -f '${COMMON_DIR}/tiger.c' || echo '$(srcdir)/'`${COMMON_DIR}/tiger.c
tiger.obj: ${COMMON_DIR}/tiger.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tiger.obj -MD -MP -MF $(DEPDIR)/tiger.Tpo -c -o tiger.obj `if test -f '${COMMON_DIR}/tiger.c'; then $(CYGPATH_W) '${COMMON_DIR}/tiger.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/tiger.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/tiger.Tpo $(DEPDIR)/tiger.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/tiger.Tpo $(DEPDIR)/tiger.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/tiger.c' object='tiger.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tiger.obj `if test -f '${COMMON_DIR}/tiger.c'; then $(CYGPATH_W) '${COMMON_DIR}/tiger.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/tiger.c'; fi`
whirlpool.o: ${COMMON_DIR}/whirlpool.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT whirlpool.o -MD -MP -MF $(DEPDIR)/whirlpool.Tpo -c -o whirlpool.o `test -f '${COMMON_DIR}/whirlpool.c' || echo '$(srcdir)/'`${COMMON_DIR}/whirlpool.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/whirlpool.Tpo $(DEPDIR)/whirlpool.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/whirlpool.Tpo $(DEPDIR)/whirlpool.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/whirlpool.c' object='whirlpool.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o whirlpool.o `test -f '${COMMON_DIR}/whirlpool.c' || echo '$(srcdir)/'`${COMMON_DIR}/whirlpool.c
whirlpool.obj: ${COMMON_DIR}/whirlpool.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT whirlpool.obj -MD -MP -MF $(DEPDIR)/whirlpool.Tpo -c -o whirlpool.obj `if test -f '${COMMON_DIR}/whirlpool.c'; then $(CYGPATH_W) '${COMMON_DIR}/whirlpool.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/whirlpool.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/whirlpool.Tpo $(DEPDIR)/whirlpool.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/whirlpool.Tpo $(DEPDIR)/whirlpool.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/whirlpool.c' object='whirlpool.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o whirlpool.obj `if test -f '${COMMON_DIR}/whirlpool.c'; then $(CYGPATH_W) '${COMMON_DIR}/whirlpool.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/whirlpool.c'; fi`
-install-man1: $(man1_MANS) $(man_MANS)
+install-man1: $(man_MANS)
@$(NORMAL_INSTALL)
test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ { for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
done; \
- for i in $$list; do \
- if test -f $$i; then file=$$i; \
- else file=$(srcdir)/$$i; fi; \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
- $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
- done
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
uninstall-man1:
@$(NORMAL_UNINSTALL)
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
- rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
- done
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ test -z "$$files" || { \
+ echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -484,7 +516,7 @@ tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -492,34 +524,52 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
+ @list='$(MANS)'; if test -n "$$list"; then \
+ list=`for p in $$list; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+ if test -n "$$list" && \
+ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
+ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+ echo " typically \`make maintainer-clean' will remove them" >&2; \
+ exit 1; \
+ else :; fi; \
+ else :; fi
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -535,13 +585,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -572,6 +626,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -592,6 +647,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -600,18 +657,28 @@ install-data-am: install-man
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am: install-binPROGRAMS
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man: install-man1
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -651,6 +718,7 @@ uninstall-man: uninstall-man1
tags uninstall uninstall-am uninstall-binPROGRAMS \
uninstall-man uninstall-man1
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/hashdeep/audit.c b/hashdeep/audit.c
index 617901d..0517293 100644
--- a/hashdeep/audit.c
+++ b/hashdeep/audit.c
@@ -1,5 +1,5 @@
-// $Id: audit.c 137 2008-07-08 04:41:48Z jessekornblum $
+// $Id: audit.c 207 2009-12-22 00:33:33Z jessekornblum $
#include "main.h"
@@ -109,9 +109,10 @@ int audit_update(state *s)
if (tmp->data->used != s->hash_round)
{
- tmp->data->used = s->hash_round;
+
switch (tmp->status) {
case status_match:
+ tmp->data->used = s->hash_round;
exact_match = TRUE;
break;
diff --git a/hashdeep/hashdeep.1 b/hashdeep/hashdeep.1
index f210688..68140a0 100644
--- a/hashdeep/hashdeep.1
+++ b/hashdeep/hashdeep.1
@@ -1,4 +1,4 @@
-.TH HASHDEEP "1" "v3.3 \- 4 Apr 2009" "AFOSI" "United States Air Force"
+.TH HASHDEEP "1" "v3.6 \- 23 Mar 2010" "AFOSI" "United States Air Force"
.SH NAME
hashdeep \- Compute, compare, or audit multiple message digests
@@ -8,7 +8,7 @@ hashdeep \- Compute, compare, or audit multiple message digests
-V | -h
.br
.B hashdeep
-[-c <alg1>[,<alg2>]] [-k <file>] [-i <size>] [-amxwMXrespblvv] [\fBFILES\fR]
+[-c <alg1>[,<alg2>]] [-k <file>] [-i <size>] [\-o <fbcplsd>] [-amxwMXrespblvv] [\fBFILES\fR]
.SH DESCRIPTION
@@ -123,12 +123,35 @@ remaining for each file being processed. Time estimates for files
larger than 4GB are not available on Windows. This mode may not be
used with th \-p mode.
+
.TP
\fB\-i <size> \fR
Size threshold mode. Only hash files smaller than the given the
threshold. Sizes may be specified
using multiplers b,k,m,g,t,p, and e.
+
+.TP
+\fB\-o\fR <bcpflsd>
+Enables expert mode. Allows the user specify which (and only which) types of
+files are processed. Directory processing is still controlled with the
+\-r flag. The expert mode options allowed are:
+.br
+f \- Regular files
+.br
+b \- Block Devices
+.br
+c \- Character Devices
+.br
+p \- Named Pipes
+.br
+l \- Symbolic Links
+.br
+s \- Sockets
+.br
+d \- Solaris Doors
+
+
.TP
\fB\-s\fR
Enables silent mode. All error messages are supressed.
@@ -182,7 +205,7 @@ Unicode characters in its name by using tab completition or an asterisk
Returns zero on success, one on error.
.SH AUTHOR
-hashdeep was written by Jesse Kornblum, md5deep [at] jessekornblum [dot] com.
+hashdeep was written by Jesse Kornblum, research [at] jessekornblum [dott] com.
.SH KNOWN ISSUES
Using the \-r flag cannot be used to recursively process all files
@@ -199,8 +222,7 @@ forensic integrity of this program could have serious consequenses on
people's lives. When submitting a bug report, please include a description
of the problem, how you found it, and your contact information.
.PP
-Send bug reports to:
-md5deep [at] jessekornblum [dot] com
+Send bug reports to the author at the address above.
.PP
.SH COPYRIGHT
diff --git a/hashdeep/hashtable.c b/hashdeep/hashtable.c
index 186e641..dee7bdf 100644
--- a/hashdeep/hashtable.c
+++ b/hashdeep/hashtable.c
@@ -1,7 +1,7 @@
#include "main.h"
-/* $Id: hashtable.c 108 2008-03-29 20:32:09Z jessekornblum $ */
+/* $Id: hashtable.c 207 2009-12-22 00:33:33Z jessekornblum $ */
status_t file_data_compare(state *s, file_data_t *a, file_data_t *b)
{
@@ -202,7 +202,7 @@ hashtable_contains(state *s, hashname_t alg)
// print_status("First entry %d", status);
if (status != status_no_match)
{
- // print_status("hit on first entry %d", status);
+ // print_status("hit on first entry %d", status);
ret = (hashtable_entry_t *)malloc(sizeof(hashtable_entry_t));
ret->next = NULL;
ret->status = status;
diff --git a/hashdeep/main.c b/hashdeep/main.c
index 31de53e..702f1a9 100644
--- a/hashdeep/main.c
+++ b/hashdeep/main.c
@@ -1,17 +1,17 @@
-
-/* $Id: main.c 161 2008-10-22 21:51:12Z jessekornblum $ */
+// HASHDEEP
+// $Id: main.c 228 2010-03-23 12:09:17Z jessekornblum $
#include "main.h"
-/* So that the usage message fits in a standard DOS window, this
- function should produce no more than 22 lines of text. */
+// So that the usage message fits in a standard DOS window, this
+// function should produce no more than 22 lines of text.
static void usage(state *s)
{
hashname_t i;
print_status("%s version %s by %s.",__progname,VERSION,AUTHOR);
- print_status("%s %s [-c <alg>] [-k <file>] [-amxwMXrespblvv] [-V|-h] [FILES]",CMD_PROMPT,__progname);
+ print_status("%s %s [-c <alg>] [-k <file>] [-amxwMXrespblvv] [-V|-h] [-o <mode>] [FILES]",CMD_PROMPT,__progname);
print_status("");
@@ -34,6 +34,7 @@ static void usage(state *s)
print_status("-b - prints only the bare name of files; all path information is omitted");
print_status("-l - print relative paths for filenames");
print_status("-i - only process files smaller than the given threshold");
+ print_status("-o - only process certain types of files. See README/manpage");
print_status("-v - verbose mode. Use again to be more verbose.");
print_status("-V - display version number and exit");
}
@@ -248,10 +249,15 @@ static int process_command_line(state *s, int argc, char **argv)
{
int i;
- while ((i=getopt(argc,argv,"I:i:c:MmXxtablk:resp:wvVh")) != -1)
+ while ((i=getopt(argc,argv,"o:I:i:c:MmXxtablk:resp:wvVh")) != -1)
{
switch (i)
{
+ case 'o':
+ s->mode |= mode_expert;
+ setup_expert_mode(s,optarg);
+ break;
+
case 'I':
s->mode |= mode_size_all;
// Note no break here;
diff --git a/include/common.h b/include/common.h
index 6875e6f..2541010 100644
--- a/include/common.h
+++ b/include/common.h
@@ -1,5 +1,5 @@
-// $Id: common.h 175 2009-01-25 13:33:01Z jessekornblum $
+// $Id: common.h 227 2010-03-06 14:46:36Z jessekornblum $
#ifndef __COMMON_H
#define __COMMON_H
@@ -13,7 +13,6 @@
# define __MSVCRT_VERSION__ 0x0601
#endif
-
// The version information, VERSION, is defined in config.h
#define AUTHOR "Jesse Kornblum"
@@ -130,6 +129,9 @@ NEWLINE, NEWLINE, NEWLINE
#define MAX_TIME_STRING_LENGTH 31
+// This denotes when we don't know the file size.
+#define UNKNOWN_FILE_SIZE -1
+
// LINE_LENGTH is different between UNIX and WIN32 and is defined below
#define MAX_FILENAME_LENGTH LINE_LENGTH - 41
@@ -263,8 +265,9 @@ memset(VAR,0,SIZE * sizeof(TYPE));
#define mode_timestamp 1<<21
#define mode_csv 1<<22
+#define mode_read_from_file 1<<25
-// Modes 23-48 are reserved for future use.
+// Modes 26-48 are reserved for future use.
//
// Note that the LL is required to avoid overflows of 32-bit words.
// LL must be used for any value equal to or above 1<<31.
@@ -289,7 +292,8 @@ memset(VAR,0,SIZE * sizeof(TYPE));
// These are the types of files we can encounter while hashing
-
+// Note these will be stored in a uint8_t, so should be between
+// zero and 255.
#define stat_regular 0
#define stat_directory 1
#define stat_door 2
@@ -337,6 +341,8 @@ int done_processing_dir(TCHAR *fn);
// ------------------------------------------------------------------
// HELPER FUNCTIONS
// ------------------------------------------------------------------
+void setup_expert_mode(state *s, char *arg);
+
void generate_filename(state *s, TCHAR *fn, TCHAR *cwd, TCHAR *input);
uint64_t find_block_size(state *s, char *input_str);
diff --git a/md5deep/Makefile.in b/md5deep/Makefile.in
index 40dfe7d..9819d84 100644
--- a/md5deep/Makefile.in
+++ b/md5deep/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,8 +17,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -43,8 +45,8 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am__objects_1 = hash.$(OBJEXT) dig.$(OBJEXT) cycles.$(OBJEXT) \
ui.$(OBJEXT) helpers.$(OBJEXT)
@@ -77,6 +79,7 @@ whirlpooldeep_DEPENDENCIES =
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
@@ -86,6 +89,27 @@ SOURCES = $(md5deep_SOURCES) $(sha1deep_SOURCES) $(sha256deep_SOURCES) \
DIST_SOURCES = $(md5deep_SOURCES) $(sha1deep_SOURCES) \
$(sha256deep_SOURCES) $(tigerdeep_SOURCES) \
$(whirlpooldeep_SOURCES)
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
man1dir = $(mandir)/man1
NROFF = nroff
MANS = $(man_MANS)
@@ -223,9 +247,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu md5deep/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu md5deep/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu md5deep/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu md5deep/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -243,26 +267,41 @@ $(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
@@ -311,202 +350,195 @@ distclean-compile:
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
hash.o: ${COMMON_DIR}/hash.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hash.o -MD -MP -MF $(DEPDIR)/hash.Tpo -c -o hash.o `test -f '${COMMON_DIR}/hash.c' || echo '$(srcdir)/'`${COMMON_DIR}/hash.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hash.Tpo $(DEPDIR)/hash.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/hash.Tpo $(DEPDIR)/hash.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/hash.c' object='hash.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hash.o `test -f '${COMMON_DIR}/hash.c' || echo '$(srcdir)/'`${COMMON_DIR}/hash.c
hash.obj: ${COMMON_DIR}/hash.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hash.obj -MD -MP -MF $(DEPDIR)/hash.Tpo -c -o hash.obj `if test -f '${COMMON_DIR}/hash.c'; then $(CYGPATH_W) '${COMMON_DIR}/hash.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/hash.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hash.Tpo $(DEPDIR)/hash.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/hash.Tpo $(DEPDIR)/hash.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/hash.c' object='hash.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hash.obj `if test -f '${COMMON_DIR}/hash.c'; then $(CYGPATH_W) '${COMMON_DIR}/hash.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/hash.c'; fi`
dig.o: ${COMMON_DIR}/dig.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dig.o -MD -MP -MF $(DEPDIR)/dig.Tpo -c -o dig.o `test -f '${COMMON_DIR}/dig.c' || echo '$(srcdir)/'`${COMMON_DIR}/dig.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dig.Tpo $(DEPDIR)/dig.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dig.Tpo $(DEPDIR)/dig.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/dig.c' object='dig.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dig.o `test -f '${COMMON_DIR}/dig.c' || echo '$(srcdir)/'`${COMMON_DIR}/dig.c
dig.obj: ${COMMON_DIR}/dig.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dig.obj -MD -MP -MF $(DEPDIR)/dig.Tpo -c -o dig.obj `if test -f '${COMMON_DIR}/dig.c'; then $(CYGPATH_W) '${COMMON_DIR}/dig.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/dig.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dig.Tpo $(DEPDIR)/dig.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dig.Tpo $(DEPDIR)/dig.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/dig.c' object='dig.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dig.obj `if test -f '${COMMON_DIR}/dig.c'; then $(CYGPATH_W) '${COMMON_DIR}/dig.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/dig.c'; fi`
cycles.o: ${COMMON_DIR}/cycles.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cycles.o -MD -MP -MF $(DEPDIR)/cycles.Tpo -c -o cycles.o `test -f '${COMMON_DIR}/cycles.c' || echo '$(srcdir)/'`${COMMON_DIR}/cycles.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cycles.Tpo $(DEPDIR)/cycles.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/cycles.Tpo $(DEPDIR)/cycles.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/cycles.c' object='cycles.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cycles.o `test -f '${COMMON_DIR}/cycles.c' || echo '$(srcdir)/'`${COMMON_DIR}/cycles.c
cycles.obj: ${COMMON_DIR}/cycles.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cycles.obj -MD -MP -MF $(DEPDIR)/cycles.Tpo -c -o cycles.obj `if test -f '${COMMON_DIR}/cycles.c'; then $(CYGPATH_W) '${COMMON_DIR}/cycles.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/cycles.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cycles.Tpo $(DEPDIR)/cycles.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/cycles.Tpo $(DEPDIR)/cycles.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/cycles.c' object='cycles.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cycles.obj `if test -f '${COMMON_DIR}/cycles.c'; then $(CYGPATH_W) '${COMMON_DIR}/cycles.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/cycles.c'; fi`
ui.o: ${COMMON_DIR}/ui.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ui.o -MD -MP -MF $(DEPDIR)/ui.Tpo -c -o ui.o `test -f '${COMMON_DIR}/ui.c' || echo '$(srcdir)/'`${COMMON_DIR}/ui.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ui.Tpo $(DEPDIR)/ui.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ui.Tpo $(DEPDIR)/ui.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/ui.c' object='ui.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ui.o `test -f '${COMMON_DIR}/ui.c' || echo '$(srcdir)/'`${COMMON_DIR}/ui.c
ui.obj: ${COMMON_DIR}/ui.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ui.obj -MD -MP -MF $(DEPDIR)/ui.Tpo -c -o ui.obj `if test -f '${COMMON_DIR}/ui.c'; then $(CYGPATH_W) '${COMMON_DIR}/ui.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/ui.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ui.Tpo $(DEPDIR)/ui.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ui.Tpo $(DEPDIR)/ui.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/ui.c' object='ui.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ui.obj `if test -f '${COMMON_DIR}/ui.c'; then $(CYGPATH_W) '${COMMON_DIR}/ui.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/ui.c'; fi`
helpers.o: ${COMMON_DIR}/helpers.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT helpers.o -MD -MP -MF $(DEPDIR)/helpers.Tpo -c -o helpers.o `test -f '${COMMON_DIR}/helpers.c' || echo '$(srcdir)/'`${COMMON_DIR}/helpers.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/helpers.Tpo $(DEPDIR)/helpers.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/helpers.Tpo $(DEPDIR)/helpers.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/helpers.c' object='helpers.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o helpers.o `test -f '${COMMON_DIR}/helpers.c' || echo '$(srcdir)/'`${COMMON_DIR}/helpers.c
helpers.obj: ${COMMON_DIR}/helpers.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT helpers.obj -MD -MP -MF $(DEPDIR)/helpers.Tpo -c -o helpers.obj `if test -f '${COMMON_DIR}/helpers.c'; then $(CYGPATH_W) '${COMMON_DIR}/helpers.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/helpers.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/helpers.Tpo $(DEPDIR)/helpers.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/helpers.Tpo $(DEPDIR)/helpers.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/helpers.c' object='helpers.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o helpers.obj `if test -f '${COMMON_DIR}/helpers.c'; then $(CYGPATH_W) '${COMMON_DIR}/helpers.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/helpers.c'; fi`
md5.o: ${COMMON_DIR}/md5.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT md5.o -MD -MP -MF $(DEPDIR)/md5.Tpo -c -o md5.o `test -f '${COMMON_DIR}/md5.c' || echo '$(srcdir)/'`${COMMON_DIR}/md5.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/md5.c' object='md5.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o md5.o `test -f '${COMMON_DIR}/md5.c' || echo '$(srcdir)/'`${COMMON_DIR}/md5.c
md5.obj: ${COMMON_DIR}/md5.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT md5.obj -MD -MP -MF $(DEPDIR)/md5.Tpo -c -o md5.obj `if test -f '${COMMON_DIR}/md5.c'; then $(CYGPATH_W) '${COMMON_DIR}/md5.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/md5.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/md5.c' object='md5.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o md5.obj `if test -f '${COMMON_DIR}/md5.c'; then $(CYGPATH_W) '${COMMON_DIR}/md5.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/md5.c'; fi`
sha1.o: ${COMMON_DIR}/sha1.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sha1.o -MD -MP -MF $(DEPDIR)/sha1.Tpo -c -o sha1.o `test -f '${COMMON_DIR}/sha1.c' || echo '$(srcdir)/'`${COMMON_DIR}/sha1.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sha1.Tpo $(DEPDIR)/sha1.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sha1.Tpo $(DEPDIR)/sha1.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/sha1.c' object='sha1.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sha1.o `test -f '${COMMON_DIR}/sha1.c' || echo '$(srcdir)/'`${COMMON_DIR}/sha1.c
sha1.obj: ${COMMON_DIR}/sha1.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sha1.obj -MD -MP -MF $(DEPDIR)/sha1.Tpo -c -o sha1.obj `if test -f '${COMMON_DIR}/sha1.c'; then $(CYGPATH_W) '${COMMON_DIR}/sha1.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/sha1.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sha1.Tpo $(DEPDIR)/sha1.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sha1.Tpo $(DEPDIR)/sha1.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/sha1.c' object='sha1.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sha1.obj `if test -f '${COMMON_DIR}/sha1.c'; then $(CYGPATH_W) '${COMMON_DIR}/sha1.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/sha1.c'; fi`
sha256.o: ${COMMON_DIR}/sha256.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sha256.o -MD -MP -MF $(DEPDIR)/sha256.Tpo -c -o sha256.o `test -f '${COMMON_DIR}/sha256.c' || echo '$(srcdir)/'`${COMMON_DIR}/sha256.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sha256.Tpo $(DEPDIR)/sha256.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sha256.Tpo $(DEPDIR)/sha256.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/sha256.c' object='sha256.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sha256.o `test -f '${COMMON_DIR}/sha256.c' || echo '$(srcdir)/'`${COMMON_DIR}/sha256.c
sha256.obj: ${COMMON_DIR}/sha256.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sha256.obj -MD -MP -MF $(DEPDIR)/sha256.Tpo -c -o sha256.obj `if test -f '${COMMON_DIR}/sha256.c'; then $(CYGPATH_W) '${COMMON_DIR}/sha256.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/sha256.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sha256.Tpo $(DEPDIR)/sha256.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sha256.Tpo $(DEPDIR)/sha256.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/sha256.c' object='sha256.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sha256.obj `if test -f '${COMMON_DIR}/sha256.c'; then $(CYGPATH_W) '${COMMON_DIR}/sha256.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/sha256.c'; fi`
tiger.o: ${COMMON_DIR}/tiger.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tiger.o -MD -MP -MF $(DEPDIR)/tiger.Tpo -c -o tiger.o `test -f '${COMMON_DIR}/tiger.c' || echo '$(srcdir)/'`${COMMON_DIR}/tiger.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/tiger.Tpo $(DEPDIR)/tiger.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/tiger.Tpo $(DEPDIR)/tiger.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/tiger.c' object='tiger.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tiger.o `test -f '${COMMON_DIR}/tiger.c' || echo '$(srcdir)/'`${COMMON_DIR}/tiger.c
tiger.obj: ${COMMON_DIR}/tiger.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tiger.obj -MD -MP -MF $(DEPDIR)/tiger.Tpo -c -o tiger.obj `if test -f '${COMMON_DIR}/tiger.c'; then $(CYGPATH_W) '${COMMON_DIR}/tiger.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/tiger.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/tiger.Tpo $(DEPDIR)/tiger.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/tiger.Tpo $(DEPDIR)/tiger.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/tiger.c' object='tiger.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tiger.obj `if test -f '${COMMON_DIR}/tiger.c'; then $(CYGPATH_W) '${COMMON_DIR}/tiger.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/tiger.c'; fi`
whirlpool.o: ${COMMON_DIR}/whirlpool.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT whirlpool.o -MD -MP -MF $(DEPDIR)/whirlpool.Tpo -c -o whirlpool.o `test -f '${COMMON_DIR}/whirlpool.c' || echo '$(srcdir)/'`${COMMON_DIR}/whirlpool.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/whirlpool.Tpo $(DEPDIR)/whirlpool.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/whirlpool.Tpo $(DEPDIR)/whirlpool.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/whirlpool.c' object='whirlpool.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o whirlpool.o `test -f '${COMMON_DIR}/whirlpool.c' || echo '$(srcdir)/'`${COMMON_DIR}/whirlpool.c
whirlpool.obj: ${COMMON_DIR}/whirlpool.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT whirlpool.obj -MD -MP -MF $(DEPDIR)/whirlpool.Tpo -c -o whirlpool.obj `if test -f '${COMMON_DIR}/whirlpool.c'; then $(CYGPATH_W) '${COMMON_DIR}/whirlpool.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/whirlpool.c'; fi`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/whirlpool.Tpo $(DEPDIR)/whirlpool.Po
+ at am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/whirlpool.Tpo $(DEPDIR)/whirlpool.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${COMMON_DIR}/whirlpool.c' object='whirlpool.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o whirlpool.obj `if test -f '${COMMON_DIR}/whirlpool.c'; then $(CYGPATH_W) '${COMMON_DIR}/whirlpool.c'; else $(CYGPATH_W) '$(srcdir)/${COMMON_DIR}/whirlpool.c'; fi`
-install-man1: $(man1_MANS) $(man_MANS)
+install-man1: $(man_MANS)
@$(NORMAL_INSTALL)
test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ { for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
done; \
- for i in $$list; do \
- if test -f $$i; then file=$$i; \
- else file=$(srcdir)/$$i; fi; \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
- $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
- done
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
uninstall-man1:
@$(NORMAL_UNINSTALL)
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
- rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
- done
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ test -z "$$files" || { \
+ echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -520,7 +552,7 @@ tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -528,34 +560,52 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
+ @list='$(MANS)'; if test -n "$$list"; then \
+ list=`for p in $$list; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+ if test -n "$$list" && \
+ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
+ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+ echo " typically \`make maintainer-clean' will remove them" >&2; \
+ exit 1; \
+ else :; fi; \
+ else :; fi
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -571,13 +621,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -608,6 +662,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -628,6 +683,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -636,16 +693,26 @@ install-data-am: install-man
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am: install-binPROGRAMS
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -697,6 +764,7 @@ update-manpages: md5deep.1
cp $< sha256deep.1
cp $< tigerdeep.1
cp $< whirlpooldeep.1
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/md5deep/main.c b/md5deep/main.c
index 27fab3d..f1b75dd 100644
--- a/md5deep/main.c
+++ b/md5deep/main.c
@@ -9,7 +9,7 @@
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
//
-// $Id: main.c 175 2009-01-25 13:33:01Z jessekornblum $
+// $Id: main.c 228 2010-03-23 12:09:17Z jessekornblum $
#include "main.h"
@@ -55,34 +55,6 @@ static void usage(void)
}
-static void setup_expert_mode(state *s, char *arg)
-{
- unsigned int i = 0;
-
- while (i < strlen(arg)) {
- switch (*(arg+i)) {
- case 'b': // Block Device
- s->mode |= mode_block; break;
- case 'c': // Character Device
- s->mode |= mode_character; break;
- case 'p': // Named Pipe
- s->mode |= mode_pipe; break;
- case 'f': // Regular File
- s->mode |= mode_regular; break;
- case 'l': // Symbolic Link
- s->mode |= mode_symlink; break;
- case 's': // Socket
- s->mode |= mode_socket; break;
- case 'd': // Door (Solaris)
- s->mode |= mode_door; break;
- default:
- print_error(s,"%s: Unrecognized file type: %c",__progname,*(arg+i));
- }
- ++i;
- }
-}
-
-
static void check_flags_okay(state *s)
{
sanity_check(s,
@@ -130,9 +102,14 @@ static int process_command_line(state *s, int argc, char **argv)
while ((i = getopt(argc,
argv,
- "I:i:M:X:x:m:o:A:a:tnwczsSp:erhvV0lbkqU")) != -1) {
+ "f:I:i:M:X:x:m:o:A:a:tnwczsSp:erhvV0lbkqU")) != -1) {
switch (i) {
+ case 'f':
+ s->input_list = strdup(optarg);
+ s->mode |= mode_read_from_file;
+ break;
+
case 'I':
s->mode |= mode_size_all;
// Note that there is no break here
@@ -319,15 +296,78 @@ static int prepare_windows_command_line(state *s)
#endif
+int process_input_list(state *s)
+{
+ TCHAR * t_name;
+ int done = FALSE;
+ FILE * handle = fopen(s->input_list,"rb");
+ char * fn;
+
+ t_name = (TCHAR *)malloc(sizeof(TCHAR) * PATH_MAX);
+ if (NULL == t_name)
+ return TRUE;
+
+ if (NULL == handle)
+ {
+ perror(s->input_list);
+ return TRUE;
+ }
+
+ fn = (char *)malloc(MAX_STRING_LENGTH * sizeof(char));
+ if (NULL == fn)
+ {
+ fclose(handle);
+ return TRUE;
+ }
+
+ while (!done)
+ {
+ if (NULL == fgets(fn, MAX_STRING_LENGTH, handle))
+ {
+ done = TRUE;
+ }
+ else
+ {
+ chop_line(fn);
+
+#ifdef _WIN32
+ // We have to convert value from the file, a char value, into a
+ // Unicode TCHAR value. We assume that we can only handle parameters
+ // as long as PATH_MAX, regardless of what the user gave us.
+ int t_size = MultiByteToWideChar(CP_ACP,
+ 0,
+ fn,
+ lstrlenA(fn),
+ t_name,
+ PATH_MAX);
+ if (0 == t_size)
+ return TRUE;
+
+ t_name[t_size] = 0;
+
+ process_win32(s,t_name);
+#else
+ process_normal(s,fn);
+#endif
+ }
+ }
+
+ free(t_name);
+ free(fn);
+ fclose(handle);
+ return FALSE;
+}
+
+
int main(int argc, char **argv)
{
TCHAR *fn, *cwd;
state *s;
int count, status = STATUS_OK;
- /* Because the main() function can handle wchar_t arguments on Win32,
- we need a way to reference those values. Thus we make a duplciate
- of the argc and argv values. */
+ // Because the main() function can handle wchar_t arguments on Win32,
+ // we need a way to reference those values. Thus we make a duplciate
+ // of the argc and argv values.
#ifndef __GLIBC__
__progname = basename(argv[0]);
@@ -362,10 +402,11 @@ int main(int argc, char **argv)
s->argv = argv;
#endif
- /* Anything left on the command line at this point is a file
- or directory we're supposed to process. If there's nothing
- specified, we should tackle standard input */
- if (optind == argc)
+ // Anything left on the command line at this point is a file
+ // or directory we're supposed to process. If there's nothing
+ // specified, we should tackle standard input UNLESS the user
+ // has specified a list of input files
+ if (optind == argc && (!(s->mode & mode_read_from_file)))
hash_stdin(s);
else
{
@@ -388,12 +429,15 @@ int main(int argc, char **argv)
status = process_normal(s,fn);
#endif
- // if (status != STATUS_OK)
- // return status;
-
++count;
}
+ if (s->mode & mode_read_from_file)
+ {
+ process_input_list(s);
+ }
+
+
free(fn);
free(cwd);
}
diff --git a/md5deep/main.h b/md5deep/main.h
index 8c2e7c4..83adada 100644
--- a/md5deep/main.h
+++ b/md5deep/main.h
@@ -1,15 +1,15 @@
-/* MD5DEEP
- *
- * By Jesse Kornblum
- *
- * This is a work of the US Government. In accordance with 17 USC 105,
- * copyright protection is not available for any work of the US Government.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
+// MD5DEEP
+//
+// By Jesse Kornblum
+//
+// This is a work of the US Government. In accordance with 17 USC 105,
+// copyright protection is not available for any work of the US Government.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+//
+//
// $Id: main.h,v 1.5 2007/12/08 16:34:50 jessekornblum Exp $
@@ -22,7 +22,7 @@
-/* These are the types of files that we can match against */
+// These are the types of files that we can match against
#define TYPE_PLAIN 0
#define TYPE_BSD 1
#define TYPE_HASHKEEPER 2
@@ -38,26 +38,30 @@
-
-
-
typedef struct _state {
- /* Basic program state */
+ // Basic program state
uint64_t mode;
int return_value;
time_t start_time, last_time;
- /* Command line arguments */
+ // Command line arguments
TCHAR **argv;
int argc;
+ char *input_list;
- /* The input file */
+ // The input file
int is_stdin;
FILE * handle;
- // The size of the input file, in megabytes
- uint64_t total_megs;
+
+ // The type of file, as report by stat
+ uint8_t input_type;
+
+ // Size of the input file, in bytes
uint64_t total_bytes;
+ // and megabytes
+ uint64_t total_megs;
+
uint64_t bytes_read;
#ifdef _WIN32
__time64_t timestamp;
@@ -66,12 +70,12 @@ typedef struct _state {
#endif
char * time_str;
- /* Lists of known hashes */
+ // Lists of known hashes
int hashes_loaded;
hashTable known_hashes;
uint32_t expected_hashes;
- /* Size of blocks used in normal hashing */
+ // Size of blocks used in normal hashing
uint64_t block_size;
// Size of blocks used in piecewise hashing
@@ -82,20 +86,20 @@ typedef struct _state {
// These strings are used in hash.c to hold the filename
TCHAR * full_name;
- TCHAR * short_name;
- TCHAR * msg;
+ TCHAR * short_name;
+ TCHAR * msg;
- /* Hashing algorithms */
+ // Hashing algorithms
- /* We don't define hash_string_length, it's just twice this length.
- We use a signed value as this gets compared with the output of strlen() */
+ // We don't define hash_string_length, it's just twice this length.
+ // We use a signed value as this gets compared with the output of strlen() */
size_t hash_length;
// Which filetypes this algorithm supports and their position in the file
uint8_t h_plain, h_bsd, h_md5deep_size, h_hashkeeper;
uint8_t h_ilook, h_ilook3, h_ilook4, h_nsrl15, h_nsrl20, h_encase;
- // Function used to do the actual hashing
+ // Functions used to do the actual hashing
int ( *hash_init)(void *);
int ( *hash_update)(void *, unsigned char *, uint64_t );
int ( *hash_finalize)(void *, unsigned char *);
@@ -104,6 +108,8 @@ typedef struct _state {
unsigned char * hash_sum;
char * hash_result;
+
+ // Used in matching operations
char * known_fn;
} _state;
@@ -113,25 +119,25 @@ typedef struct _state {
void sanity_check(state *s, int condition, char *msg);
-/* ----------------------------------------------------------------
- PROGRAM ENGINE
- ---------------------------------------------------------------- */
+// ----------------------------------------------------------------
+// PROGRAM ENGINE
+// ----------------------------------------------------------------
-/* Hashing functions */
+// Hashing functions
int hash_file(state *s, TCHAR *file_name);
int hash_stdin(state *s);
-/* Sets up hashing algorithm and allocates memory */
+// Sets up hashing algorithm and allocates memory
int setup_hashing_algorithm(state *s);
-/* ----------------------------------------------------------------
- FILE MATCHING
- ---------------------------------------------------------------- */
+// ----------------------------------------------------------------
+// FILE MATCHING
+// ----------------------------------------------------------------
-/* Load a file of known hashes from the disk */
+// Load a file of known hashes from the disk
int load_match_file(state *s, char *fn);
int is_known_hash(char *h, char *known_fn);
@@ -141,7 +147,7 @@ int finalize_matching(state *s);
// Add a single hash to the matching set
void add_hash(state *s, char *h, char *fn);
-/* Functions for file evaluation (files.c) */
+// Functions for file evaluation (files.c)
int valid_hash(state *s, char *buf);
int hash_file_type(state *s, FILE *f);
int find_hash_in_line(state *s, char *buf, int fileType, char *filename);
@@ -152,35 +158,35 @@ int find_hash_in_line(state *s, char *buf, int fileType, char *filename);
-/* ------------------------------------------------------------------
- HASH TABLE
- ------------------------------------------------------------------ */
+// ------------------------------------------------------------------
+// HASH TABLE
+// ------------------------------------------------------------------
void hashTableInit(hashTable *knownHashes);
-/* Adds the string n to the hashTable, along with the filename fn.
-Returns TRUE if an error occured (i.e. Out of memory) */
+// Adds the string n to the hashTable, along with the filename fn.
+// Returns TRUE if an error occured (i.e. Out of memory)
int hashTableAdd(state *s, hashTable *knownHashes, char *n, char *fn);
-/* Returns TRUE if the hashTable contains the hash n and stores the
-filename of the known hash in known. Returns FALSE and does not
-alter known if the hashTable does not contain n. This function
-assumes that fn has already been malloc'ed to hold at least
-PATH_MAX characters */
+// Returns TRUE if the hashTable contains the hash n and stores the
+// filename of the known hash in known. Returns FALSE and does not
+// alter known if the hashTable does not contain n. This function
+// assumes that fn has already been malloc'ed to hold at least
+// PATH_MAX characters
int hashTableContains(hashTable *knownHashes, char *n, char *known);
-/* Find any hashes that have not been used. If there are any, and display
-is TRUE, prints them to stdout. Regardless of display, then returns
-TRUE. If there are no unused hashes, returns FALSE. */
+// Find any hashes that have not been used. If there are any, and display
+// is TRUE, prints them to stdout. Regardless of display, then returns
+// TRUE. If there are no unused hashes, returns FALSE.
int hashTableDisplayNotMatched(hashTable *t, int display);
-/* This function is for debugging */
+// This function is for debugging
void hashTableEvaluate(hashTable *knownHashes);
-#endif /* __MD5DEEP_H */
+#endif // ifndef __MD5DEEP_H
diff --git a/md5deep/match.c b/md5deep/match.c
index bc8ad50..13864c9 100644
--- a/md5deep/match.c
+++ b/md5deep/match.c
@@ -10,7 +10,7 @@
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
//
//
-// $Id: match.c 188 2009-04-20 10:28:52Z jessekornblum $
+// $Id: match.c 228 2010-03-23 12:09:17Z jessekornblum $
#include "main.h"
#include "hashTable.h"
@@ -219,9 +219,8 @@ int load_match_file(state *s, char *fn)
void add_hash(state *s, char *h, char *fn)
{
- // RBF - Display error and crash on NULL state or filename?
if (NULL == s || NULL == h || NULL == fn)
- return;
+ internal_error("%s: Null values passed into add_hash", __progname);
init_table();
switch (hashTableAdd(s,&knownHashes,h,fn))
@@ -242,8 +241,7 @@ int is_known_hash(char *h, char *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);
+ internal_error("%s: Null values passed into is_known_hash",__progname);
if (!table_initialized)
internal_error("%s: Attempt to check hash before table was initialized",
diff --git a/md5deep/md5deep.1 b/md5deep/md5deep.1
index 03fd470..497150a 100644
--- a/md5deep/md5deep.1
+++ b/md5deep/md5deep.1
@@ -1,4 +1,4 @@
-.TH MD5DEEP "1" "v3.4 \- 11 Jun 2009" "AFOSI" "United States Air Force"
+.TH MD5DEEP "1" "v3.6 \- 23 Mar 2010" "AFOSI" "United States Air Force"
.SH NAME
md5deep \- Compute and compare MD5 message digests
@@ -16,7 +16,7 @@ whirlpooldeep \- Compute and compare Whirlpool message digests
-v | -V | -h
.br
.B md5deep
-[\-m|\-M|\-x|\-X <file>] [-a|-A <hash>]
+[\-m|\-M|\-x|\-X <file>] [-a|-A <hash>] [\-f <file>]
[\-p <size>] [\-i <size>] [\-tnwzresS0lbkq] [\-o <fbcplsd>] [\fBFILES\fR]
.SH DESCRIPTION
@@ -111,6 +111,13 @@ Same as \-a above, but does negative matching.
This flag may not be used in conjunction with the \-m, \-M, or \-A flags.
.TP
+\fB\-f\fR <file>
+Takes a list of files to be hashed from the specified file. Each
+line is assumed to be a filename. This flag can only be used once
+per invocation. If it's used a second time, the second instance will
+clobber the first.
+
+.TP
\fB\-w\fR
During any of the matching modes (\-m,\-M,\-x,or \-X), displays the filename
of the known hash that matched the input file.
@@ -248,7 +255,7 @@ be reported to the developer! See the section "Reporting Bugs" below.
.SH AUTHOR
-md5deep was written by Jesse Kornblum, md5deep [at] jessekornblum [dot] com.
+md5deep was written by Jesse Kornblum, research [at] jessekornblum [dot] com.
.SH KNOWN ISSUES
Using the \-r flag cannot be used to recursively process all files
@@ -261,8 +268,7 @@ forensic integrity of this program could have serious consequenses on
people's lives. When submitting a bug report, please include a description
of the problem, how you found it, and your contact information.
.PP
-Send bug reports to:
-md5deep [at] jessekornblum [dot] com
+Send bug reports to the author at the address above.
.PP
.SH COPYRIGHT
diff --git a/md5deep/sha1deep.1 b/md5deep/sha1deep.1
index 03fd470..497150a 100644
--- a/md5deep/sha1deep.1
+++ b/md5deep/sha1deep.1
@@ -1,4 +1,4 @@
-.TH MD5DEEP "1" "v3.4 \- 11 Jun 2009" "AFOSI" "United States Air Force"
+.TH MD5DEEP "1" "v3.6 \- 23 Mar 2010" "AFOSI" "United States Air Force"
.SH NAME
md5deep \- Compute and compare MD5 message digests
@@ -16,7 +16,7 @@ whirlpooldeep \- Compute and compare Whirlpool message digests
-v | -V | -h
.br
.B md5deep
-[\-m|\-M|\-x|\-X <file>] [-a|-A <hash>]
+[\-m|\-M|\-x|\-X <file>] [-a|-A <hash>] [\-f <file>]
[\-p <size>] [\-i <size>] [\-tnwzresS0lbkq] [\-o <fbcplsd>] [\fBFILES\fR]
.SH DESCRIPTION
@@ -111,6 +111,13 @@ Same as \-a above, but does negative matching.
This flag may not be used in conjunction with the \-m, \-M, or \-A flags.
.TP
+\fB\-f\fR <file>
+Takes a list of files to be hashed from the specified file. Each
+line is assumed to be a filename. This flag can only be used once
+per invocation. If it's used a second time, the second instance will
+clobber the first.
+
+.TP
\fB\-w\fR
During any of the matching modes (\-m,\-M,\-x,or \-X), displays the filename
of the known hash that matched the input file.
@@ -248,7 +255,7 @@ be reported to the developer! See the section "Reporting Bugs" below.
.SH AUTHOR
-md5deep was written by Jesse Kornblum, md5deep [at] jessekornblum [dot] com.
+md5deep was written by Jesse Kornblum, research [at] jessekornblum [dot] com.
.SH KNOWN ISSUES
Using the \-r flag cannot be used to recursively process all files
@@ -261,8 +268,7 @@ forensic integrity of this program could have serious consequenses on
people's lives. When submitting a bug report, please include a description
of the problem, how you found it, and your contact information.
.PP
-Send bug reports to:
-md5deep [at] jessekornblum [dot] com
+Send bug reports to the author at the address above.
.PP
.SH COPYRIGHT
diff --git a/md5deep/sha256deep.1 b/md5deep/sha256deep.1
index 03fd470..497150a 100644
--- a/md5deep/sha256deep.1
+++ b/md5deep/sha256deep.1
@@ -1,4 +1,4 @@
-.TH MD5DEEP "1" "v3.4 \- 11 Jun 2009" "AFOSI" "United States Air Force"
+.TH MD5DEEP "1" "v3.6 \- 23 Mar 2010" "AFOSI" "United States Air Force"
.SH NAME
md5deep \- Compute and compare MD5 message digests
@@ -16,7 +16,7 @@ whirlpooldeep \- Compute and compare Whirlpool message digests
-v | -V | -h
.br
.B md5deep
-[\-m|\-M|\-x|\-X <file>] [-a|-A <hash>]
+[\-m|\-M|\-x|\-X <file>] [-a|-A <hash>] [\-f <file>]
[\-p <size>] [\-i <size>] [\-tnwzresS0lbkq] [\-o <fbcplsd>] [\fBFILES\fR]
.SH DESCRIPTION
@@ -111,6 +111,13 @@ Same as \-a above, but does negative matching.
This flag may not be used in conjunction with the \-m, \-M, or \-A flags.
.TP
+\fB\-f\fR <file>
+Takes a list of files to be hashed from the specified file. Each
+line is assumed to be a filename. This flag can only be used once
+per invocation. If it's used a second time, the second instance will
+clobber the first.
+
+.TP
\fB\-w\fR
During any of the matching modes (\-m,\-M,\-x,or \-X), displays the filename
of the known hash that matched the input file.
@@ -248,7 +255,7 @@ be reported to the developer! See the section "Reporting Bugs" below.
.SH AUTHOR
-md5deep was written by Jesse Kornblum, md5deep [at] jessekornblum [dot] com.
+md5deep was written by Jesse Kornblum, research [at] jessekornblum [dot] com.
.SH KNOWN ISSUES
Using the \-r flag cannot be used to recursively process all files
@@ -261,8 +268,7 @@ forensic integrity of this program could have serious consequenses on
people's lives. When submitting a bug report, please include a description
of the problem, how you found it, and your contact information.
.PP
-Send bug reports to:
-md5deep [at] jessekornblum [dot] com
+Send bug reports to the author at the address above.
.PP
.SH COPYRIGHT
diff --git a/md5deep/tigerdeep.1 b/md5deep/tigerdeep.1
index 03fd470..497150a 100644
--- a/md5deep/tigerdeep.1
+++ b/md5deep/tigerdeep.1
@@ -1,4 +1,4 @@
-.TH MD5DEEP "1" "v3.4 \- 11 Jun 2009" "AFOSI" "United States Air Force"
+.TH MD5DEEP "1" "v3.6 \- 23 Mar 2010" "AFOSI" "United States Air Force"
.SH NAME
md5deep \- Compute and compare MD5 message digests
@@ -16,7 +16,7 @@ whirlpooldeep \- Compute and compare Whirlpool message digests
-v | -V | -h
.br
.B md5deep
-[\-m|\-M|\-x|\-X <file>] [-a|-A <hash>]
+[\-m|\-M|\-x|\-X <file>] [-a|-A <hash>] [\-f <file>]
[\-p <size>] [\-i <size>] [\-tnwzresS0lbkq] [\-o <fbcplsd>] [\fBFILES\fR]
.SH DESCRIPTION
@@ -111,6 +111,13 @@ Same as \-a above, but does negative matching.
This flag may not be used in conjunction with the \-m, \-M, or \-A flags.
.TP
+\fB\-f\fR <file>
+Takes a list of files to be hashed from the specified file. Each
+line is assumed to be a filename. This flag can only be used once
+per invocation. If it's used a second time, the second instance will
+clobber the first.
+
+.TP
\fB\-w\fR
During any of the matching modes (\-m,\-M,\-x,or \-X), displays the filename
of the known hash that matched the input file.
@@ -248,7 +255,7 @@ be reported to the developer! See the section "Reporting Bugs" below.
.SH AUTHOR
-md5deep was written by Jesse Kornblum, md5deep [at] jessekornblum [dot] com.
+md5deep was written by Jesse Kornblum, research [at] jessekornblum [dot] com.
.SH KNOWN ISSUES
Using the \-r flag cannot be used to recursively process all files
@@ -261,8 +268,7 @@ forensic integrity of this program could have serious consequenses on
people's lives. When submitting a bug report, please include a description
of the problem, how you found it, and your contact information.
.PP
-Send bug reports to:
-md5deep [at] jessekornblum [dot] com
+Send bug reports to the author at the address above.
.PP
.SH COPYRIGHT
diff --git a/md5deep/whirlpooldeep.1 b/md5deep/whirlpooldeep.1
index 03fd470..497150a 100644
--- a/md5deep/whirlpooldeep.1
+++ b/md5deep/whirlpooldeep.1
@@ -1,4 +1,4 @@
-.TH MD5DEEP "1" "v3.4 \- 11 Jun 2009" "AFOSI" "United States Air Force"
+.TH MD5DEEP "1" "v3.6 \- 23 Mar 2010" "AFOSI" "United States Air Force"
.SH NAME
md5deep \- Compute and compare MD5 message digests
@@ -16,7 +16,7 @@ whirlpooldeep \- Compute and compare Whirlpool message digests
-v | -V | -h
.br
.B md5deep
-[\-m|\-M|\-x|\-X <file>] [-a|-A <hash>]
+[\-m|\-M|\-x|\-X <file>] [-a|-A <hash>] [\-f <file>]
[\-p <size>] [\-i <size>] [\-tnwzresS0lbkq] [\-o <fbcplsd>] [\fBFILES\fR]
.SH DESCRIPTION
@@ -111,6 +111,13 @@ Same as \-a above, but does negative matching.
This flag may not be used in conjunction with the \-m, \-M, or \-A flags.
.TP
+\fB\-f\fR <file>
+Takes a list of files to be hashed from the specified file. Each
+line is assumed to be a filename. This flag can only be used once
+per invocation. If it's used a second time, the second instance will
+clobber the first.
+
+.TP
\fB\-w\fR
During any of the matching modes (\-m,\-M,\-x,or \-X), displays the filename
of the known hash that matched the input file.
@@ -248,7 +255,7 @@ be reported to the developer! See the section "Reporting Bugs" below.
.SH AUTHOR
-md5deep was written by Jesse Kornblum, md5deep [at] jessekornblum [dot] com.
+md5deep was written by Jesse Kornblum, research [at] jessekornblum [dot] com.
.SH KNOWN ISSUES
Using the \-r flag cannot be used to recursively process all files
@@ -261,8 +268,7 @@ forensic integrity of this program could have serious consequenses on
people's lives. When submitting a bug report, please include a description
of the problem, how you found it, and your contact information.
.PP
-Send bug reports to:
-md5deep [at] jessekornblum [dot] com
+Send bug reports to the author at the address above.
.PP
.SH COPYRIGHT
--
debian-forensics/md5deep
More information about the forensics-changes
mailing list