Commit 380362ee authored by Christophe Monniez's avatar Christophe Monniez

Imported Upstream version 20110504

parent 324f7c61
This diff is collapsed.
Acknowledgements: libewf
Copyright (c) 2006-2009, Joachim Metz <forensics@hoffmannbv.nl>,
Hoffmann Investigations.
Copyright (c) 2006-2011, Joachim Metz <jbmetz@users.sourceforge.net>
This code is derived from information and software contributed by:
- Expert Witness Compression Format specification by Andrew Rosen
......@@ -10,11 +9,12 @@ This code is derived from information and software contributed by:
(http://pyflag.sourceforge.net/)
- Zlib for the implementation of the Zlib compression and optimized
Adler32 function
- Open SSL for the implementation of the MD5 hash algorithm
- libuuid for the implementation of GUID (UUID) calculation
- OpenSSL for the implementation of the MD5 and SHA1 hash algorithm
- libuuid for the implementation of GUID/UUID calculation
- Wietse Venema for an example of the initial error handling code
Additional credits go to:
- Kees Mastwijk, Hoffmann Invesigations for writing the initial man pages
- Robert Jan Mora, Hoffmann Invesigations for testing and other contribution
(http://www.hoffmannbv.nl/)
- Rob Meijer, KLPD for providing libtool and header installation,
......@@ -28,6 +28,9 @@ Additional credits go to:
- David Loveall <sourceforge@loveall.org> for creating mount-ewf,
a MacOS-X installation package and the providing for the delta segment file idea
- David Collett <david.collett@gmail.com> for providing the Python bindings (pyewf)
- Simson Garfinkel for providing the MinGW compilation adjustments, Digital
Forensics XML (DFXML) output for the ewftools and various input and support
e.g. for autoconf/automake optimization.
- Several others for pointing out flaws within the product and its related
documentation. Refer to the project website for more information:
http://libewf.sourceforge.net/
......
This diff is collapsed.
......@@ -3,29 +3,50 @@ ACLOCAL_AMFLAGS = -I m4
SUBDIRS = \
include \
common \
libcstring \
liberror \
libnotify \
libuna \
libbfio \
libmfdata \
libfvalue \
libewf \
libodraw \
libsmdev \
libsmraw \
libsystem \
ewftools \
ewf.net \
pyewf \
po \
documents \
manuals \
tests \
examples \
macosx \
borlandc \
msvscpp
GETTEXT_FILES = \
config.rpath \
po/Makevars.in
PKGCONFIG_FILES = \
libewf.pc.in
SPEC_FILES = \
libewf.spec \
libewf.spec.in
EXTRA_DIST = \
$(DPKG_FILES) \
$(SPEC_FILES) \
libewf.pc \
libewf.pc.in
README.mingw \
README.static \
$(GETTEXT_FILES) \
$(PKGCONFIG_FILES) \
$(SPEC_FILES)
MAINTAINERCLEANFILES = \
Makefile.in
pkgconfigdir = $(libdir)/pkgconfig
......@@ -39,11 +60,15 @@ lib: library
library:
(cd $(srcdir)/common && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/libcstring && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/liberror && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/libnotify && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/libuna && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/libbfio && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/libmfdata && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/libfvalue && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/libewf && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/po && $(MAKE) $(AM_MAKEFLAGS))
distclean: clean
/bin/rm -f Makefile
......@@ -52,17 +77,27 @@ distclean: clean
/bin/rm -f config.log
/bin/rm -f libewf.pc
/bin/rm -f libewf.spec
/bin/rm -f dpkg/changelog
/bin/rm -f dpkg/shlibs.local.ex
@for dir in ${subdirs}; do \
(cd $$dir && $(MAKE) distclean) \
|| case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
splint:
(cd $(srcdir)/libcstring && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/liberror && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libnotify && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libuna && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libbfio && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libmfdata && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libfvalue && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libewf && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libodraw && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libsmdev && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libsmraw && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libsystem && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/ewftools && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/po && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/tests && $(MAKE) splint $(AM_MAKEFLAGS))
......@@ -40,13 +40,17 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/libewf.spec.in $(top_srcdir)/configure \
$(top_srcdir)/include/libewf/definitions.h.in \
$(top_srcdir)/include/libewf/features.h.in \
$(top_srcdir)/include/libewf/types.h.in AUTHORS COPYING \
ChangeLog INSTALL NEWS config.guess config.sub depcomp \
install-sh ltmain.sh missing
$(top_srcdir)/include/libewf/types.h.in ABOUT-NLS AUTHORS \
COPYING ChangeLog INSTALL NEWS config.guess config.rpath \
config.sub depcomp install-sh ltmain.sh missing ylwrap
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
......@@ -159,10 +163,21 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
HAVE_LIBBFIO = @HAVE_LIBBFIO@
HAVE_LIBODRAW = @HAVE_LIBODRAW@
HAVE_LIBSMDEV = @HAVE_LIBSMDEV@
HAVE_LIBSMRAW = @HAVE_LIBSMRAW@
HAVE_LOCAL_LIBBFIO = @HAVE_LOCAL_LIBBFIO@
HAVE_LOCAL_LIBFVALUE = @HAVE_LOCAL_LIBFVALUE@
HAVE_LOCAL_LIBMFDATA = @HAVE_LOCAL_LIBMFDATA@
HAVE_LOCAL_LIBODRAW = @HAVE_LOCAL_LIBODRAW@
HAVE_LOCAL_LIBSMDEV = @HAVE_LOCAL_LIBSMDEV@
HAVE_LOCAL_LIBSMRAW = @HAVE_LOCAL_LIBSMRAW@
HAVE_LOCAL_LIBUNA = @HAVE_LOCAL_LIBUNA@
HAVE_OFF64_T = @HAVE_OFF64_T@
HAVE_OPENSSL_EVP_H = @HAVE_OPENSSL_EVP_H@
......@@ -173,7 +188,6 @@ HAVE_SSIZE64_T = @HAVE_SSIZE64_T@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
HAVE_V1_API = @HAVE_V1_API@
HAVE_V2_API = @HAVE_V2_API@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
HAVE_WIDE_CHARACTER_TYPE = @HAVE_WIDE_CHARACTER_TYPE@
INSTALL = @INSTALL@
......@@ -181,14 +195,32 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBBFIO_CPPFLAGS = @LIBBFIO_CPPFLAGS@
LIBBFIO_LIBADD = @LIBBFIO_LIBADD@
LIBCRYPTO_LIBADD = @LIBCRYPTO_LIBADD@
LIBDL_LIBADD = @LIBDL_LIBADD@
LIBEWF_DLL_IMPORT = @LIBEWF_DLL_IMPORT@
LIBFVALUE_CPPFLAGS = @LIBFVALUE_CPPFLAGS@
LIBFVALUE_LIBADD = @LIBFVALUE_LIBADD@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBMFDATA_CPPFLAGS = @LIBMFDATA_CPPFLAGS@
LIBMFDATA_LIBADD = @LIBMFDATA_LIBADD@
LIBOBJS = @LIBOBJS@
LIBODRAW_CPPFLAGS = @LIBODRAW_CPPFLAGS@
LIBODRAW_LIBADD = @LIBODRAW_LIBADD@
LIBS = @LIBS@
LIBSMDEV_CPPFLAGS = @LIBSMDEV_CPPFLAGS@
LIBSMDEV_LIBADD = @LIBSMDEV_LIBADD@
LIBSMRAW_CPPFLAGS = @LIBSMRAW_CPPFLAGS@
LIBSMRAW_LIBADD = @LIBSMRAW_LIBADD@
LIBTOOL = @LIBTOOL@
LIBTOOL_DEPS = @LIBTOOL_DEPS@
LIBUNA_CPPFLAGS = @LIBUNA_CPPFLAGS@
......@@ -196,11 +228,16 @@ LIBUNA_LIBADD = @LIBUNA_LIBADD@
LIBUUID_LIBADD = @LIBUUID_LIBADD@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MEMWATCH_CPPFLAGS = @MEMWATCH_CPPFLAGS@
MEMWATCH_LIBADD = @MEMWATCH_LIBADD@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
......@@ -212,8 +249,10 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POSUB = @POSUB@
PYTHON = @PYTHON@
PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
......@@ -229,7 +268,13 @@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STATIC_LDFLAGS = @STATIC_LDFLAGS@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
YACC = @YACC@
YFLAGS = @YFLAGS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
......@@ -264,11 +309,23 @@ infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libewf_pc_libs_private_libbfio = @libewf_pc_libs_private_libbfio@
libewf_pc_libs_private_libfvalue = @libewf_pc_libs_private_libfvalue@
libewf_pc_libs_private_libmfdata = @libewf_pc_libs_private_libmfdata@
libewf_pc_libs_private_libuna = @libewf_pc_libs_private_libuna@
libewf_spec_build_requires_libbfio = @libewf_spec_build_requires_libbfio@
libewf_spec_build_requires_libfvalue = @libewf_spec_build_requires_libfvalue@
libewf_spec_build_requires_libmfdata = @libewf_spec_build_requires_libmfdata@
libewf_spec_build_requires_libodraw = @libewf_spec_build_requires_libodraw@
libewf_spec_build_requires_libsmdev = @libewf_spec_build_requires_libsmdev@
libewf_spec_build_requires_libsmraw = @libewf_spec_build_requires_libsmraw@
libewf_spec_build_requires_libuna = @libewf_spec_build_requires_libuna@
libewf_spec_build_requires_libuuid = @libewf_spec_build_requires_libuuid@
libewf_spec_requires_libbfio = @libewf_spec_requires_libbfio@
libewf_spec_requires_libfvalue = @libewf_spec_requires_libfvalue@
libewf_spec_requires_libmfdata = @libewf_spec_requires_libmfdata@
libewf_spec_requires_libodraw = @libewf_spec_requires_libodraw@
libewf_spec_requires_libsmdev = @libewf_spec_requires_libsmdev@
libewf_spec_requires_libsmraw = @libewf_spec_requires_libsmraw@
libewf_spec_requires_libuna = @libewf_spec_requires_libuna@
libewf_spec_requires_libuuid = @libewf_spec_requires_libuuid@
libexecdir = @libexecdir@
......@@ -298,29 +355,50 @@ ACLOCAL_AMFLAGS = -I m4
SUBDIRS = \
include \
common \
libcstring \
liberror \
libnotify \
libuna \
libbfio \
libmfdata \
libfvalue \
libewf \
libodraw \
libsmdev \
libsmraw \
libsystem \
ewftools \
ewf.net \
pyewf \
po \
documents \
manuals \
tests \
examples \
macosx \
borlandc \
msvscpp
GETTEXT_FILES = \
config.rpath \
po/Makevars.in
PKGCONFIG_FILES = \
libewf.pc.in
SPEC_FILES = \
libewf.spec \
libewf.spec.in
EXTRA_DIST = \
$(DPKG_FILES) \
$(SPEC_FILES) \
libewf.pc \
libewf.pc.in
README.mingw \
README.static \
$(GETTEXT_FILES) \
$(PKGCONFIG_FILES) \
$(SPEC_FILES)
MAINTAINERCLEANFILES = \
Makefile.in
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = \
......@@ -746,6 +824,7 @@ distclean-generic:
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
......@@ -841,11 +920,15 @@ lib: library
library:
(cd $(srcdir)/common && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/libcstring && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/liberror && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/libnotify && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/libuna && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/libbfio && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/libmfdata && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/libfvalue && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/libewf && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/po && $(MAKE) $(AM_MAKEFLAGS))
distclean: clean
/bin/rm -f Makefile
......@@ -854,19 +937,29 @@ distclean: clean
/bin/rm -f config.log
/bin/rm -f libewf.pc
/bin/rm -f libewf.spec
/bin/rm -f dpkg/changelog
/bin/rm -f dpkg/shlibs.local.ex
@for dir in ${subdirs}; do \
(cd $$dir && $(MAKE) distclean) \
|| case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
splint:
(cd $(srcdir)/libcstring && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/liberror && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libnotify && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libuna && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libbfio && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libmfdata && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libfvalue && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libewf && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libodraw && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libsmdev && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libsmraw && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/libsystem && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/ewftools && $(MAKE) splint $(AM_MAKEFLAGS))
(cd $(srcdir)/po && $(MAKE) $(AM_MAKEFLAGS))
(cd $(srcdir)/tests && $(MAKE) splint $(AM_MAKEFLAGS))
# 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.
......
library:
* added support for EnCase 6.12 SHA-1 digest hash
* added expirimental version 2 of the API
* added write resume mode
ewftools:
* ewfacquire
- added support for \\.\PhysicalDrive# on Windows requires MS Visual Studio build
- added resume acquiry support requires -R argument
* switched to v2 API
- breaks libewf_check_file_signature, libewf_check_file_signature_wide,
libewf_glob, libewf_glob_wide
Dependencies
Libewf requires:
* zlib
* lybcrypto (OpenSSL)
or Windows Crypto API from the Windows Platform SDK
ewftools require:
* libcrypto (OpenSSL)
or Windows Crypto API from the Windows Platform SDK
* libuuid (optional)
Static compilation
Creating a static library
./configure --enable-shared=no
Creating static executables
CFLAGS=-static ./configure
Creating a DLL
Multiple methods of creating a DLL are supported:
* using Borland C++
* using CodeGear
* using Cygwin
* using Microsoft Visual Studio C++
* using MingW
Creating a libewf DLL
Currently 2 methods of creating a libewf DLL are supported:
* using libtool