Commit 54334d07 authored by Hilko Bengen's avatar Hilko Bengen

Imported Upstream version 20160318

parent 2f57f21c
Acknowledgements: libewf
Copyright (C) 2006-2015, Joachim Metz <joachim.metz@gmail.com>
Copyright (C) 2006-2016, Joachim Metz <joachim.metz@gmail.com>
This code is derived from information and software contributed by:
- Expert Witness Compression Format specification by Andrew Rosen
* Expert Witness Compression Format specification by Andrew Rosen
(http://www.arsdata.com/SMART/whitepaper.html)
- libevf from PyFlag by Michael Cohen
* libevf from PyFlag by Michael Cohen
(http://pyflag.sourceforge.net/)
- Zlib for the implementation of the Zlib compression and optimized
* Zlib for the implementation of the Zlib compression and optimized
Adler32 function
- 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
* 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
* 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,
* Rob Meijer, KLPD for providing libtool and header installation,
and ISO8601 date string support patches/adjustments.
- The OCFA team <ocfa@dnpa.nl>, for EWF Fuse integration.
- George M. Garner Jr. for his support with the native Windows port.
- Christophe Grenier for his various input and support for the SPEC file
* The OCFA team <ocfa@dnpa.nl>, for EWF Fuse integration.
* George M. Garner Jr. for his support with the native Windows port.
* Christophe Grenier for his various input and support for the SPEC file
autoconf/automake integration.
- Guy Voncken for his support and thorough testing of the EWF files
* Guy Voncken for his support and thorough testing of the EWF files
generated by libewf and for help with the deb package support.
- David Loveall <sourceforge@loveall.org> for creating mount-ewf,
* 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
* 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.
- Bernhard Zach, for providing a C++ multi-threaded version of ewfacquirestream
* Bernhard Zach, for providing a C++ multi-threaded version of ewfacquirestream
and proposing multiple write performance enhancements.
- Several others for pointing out flaws within the product and its related
* Several others for pointing out flaws within the product and its related
documentation. Refer to the project website for more information:
https://github.com/libyal/libewf
TODO
* re-enable bzip2 tests
* throttle the size of the sections list?
* ewfacquire allow to set the the maximum number of table entries?
Tests:
* clean up ewf_test_read_chunk.c to match ewf_test_read.c
* finish migrating tests to test_runner
- move test_read_chunk to test runner
- move test_read_delta to test runner
- move test_ewfexport to test runner
- done ewfverify, ewfverify_logical, ewfinfo, glob, seek
* split test_read_delta in test_read_delta and test_read_delta_chunk
* add tests for Python-bindings (pyewf)
* implement read/write chunk test
- allow to set maximum delta file size default 4 GiB?
* ewftools: test with -x
* ewfexport: export of split RAW
* ewfinfo: DFXML output
* write resume from volume/disk section - basically re-image
Clean up:
* remove random and other deprecated functions
- libewf
- pyewf
- ewf.net
* ewfacquire:
- add non-unattended tests
* add large file tests
- Add 2 TiB image size test
- Add 8 TiB image size test
* ewfacquire_optical:
- add non-unattended tests
* ewfexport:
- add non-unattended tests
- export of split RAW
* ewfexport_logical:
- add non-unattended tests
* ewfinfo:
- add DFXML output tests
* libewf:
- add unpacked_data_size to chunk data?
......@@ -53,12 +53,6 @@ Clean up:
- sections list on write: cache section descriptors instead of free-ing them?
- add delta segment files cache ? caching happens based on element index
but will cause a cache miss - 2 separate caches more efficient ?
- split segment file and delta segment file to separate code files?
- yes, no need for chunk groups in delta segment files
- segment files cache on write set to 1 ?
- create a single chunk groups cache ? instead per segment file ?
......@@ -86,8 +80,6 @@ Clean up:
- add write support to the various fdata lists ?
- add delta chunks range list to libewf_chunk_table_chunk_exists_for_offset ?
- add delta chunks range list to libewf_chunk_table_set_chunk_data_by_offset ?
and refactor it to have a generic solution if range list is not set fall back
* pyewf
......@@ -134,9 +126,6 @@ Clean up:
* check if compression level none is passed for EWF-S01
- validate SMART forced compression of uncompressed chunks
* Add 2 TiB image size test
* Add 8 TiB image size test
* Ex01/Lx01 format
- encryption support (read/write)
- analytical data
......@@ -298,8 +287,6 @@ Error handling/tollerance
* handle missing sections
* handle missing segment files
* handle corrupt segment files
* handle missing delta segment files
* handle corrupt delta segment files
* write resume
- add support for ENCASE1/SMART table section
......@@ -451,6 +438,34 @@ Closed:
also the naming schema does not support this without creating odd names
for now not adding support for this, unless there is a good reason to do so
20160320
* worked on tests
* fix for printing sha256 in ewfexport
20160319
* worked on tests
* fix for deployment using synclibs.sh
* removed v1 API
* removed delta file support
- outside the concern of this library
* removed "random" functions from:
- libewf
- ewf.net
- pyewf
20160318
* applied updates
* worked on tests
20160124
* worked on refactor
20160119
* worked on combined Python 2 and 3 build support
20160110
* 2016 update
20150126
* fix in ewf.net
......
Installation Instructions
*************************
Copyright (C) 1994-1996, 1999-2002, 2004-2012 Free Software Foundation,
Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
Inc.
Copying and distribution of this file, with or without modification,
......@@ -12,8 +12,8 @@ without warranty of any kind.
Basic Installation
==================
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
Briefly, the shell command `./configure && make && make install'
should configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package. Some packages provide this
`INSTALL' file but do not implement all of the features documented
......
......@@ -28,8 +28,9 @@ SUBDIRS = \
ewftools \
ewf.net \
pyewf \
pyewf-python2 \
pyewf-python3 \
po \
documents \
manuals \
tests \
msvscpp
......@@ -42,8 +43,10 @@ DPKG_FILES = \
dpkg/copyright \
dpkg/copyright.in \
dpkg/rules \
dpkg/libewf-dev.docs \
dpkg/libewf.docs \
dpkg/libewf-dev.docs \
dpkg/libewf-python.docs \
dpkg/libewf-python3.docs \
dpkg/libewf-tools.docs \
dpkg/source/format
......@@ -54,6 +57,9 @@ GETTEXT_FILES = \
PKGCONFIG_FILES = \
libewf.pc.in
SETUP_PY_FILES = \
setup.py
SPEC_FILES = \
libewf.spec \
libewf.spec.in
......@@ -62,6 +68,7 @@ EXTRA_DIST = \
$(DPKG_FILES) \
$(GETTEXT_FILES) \
$(PKGCONFIG_FILES) \
$(SETUP_PY_FILES) \
$(SPEC_FILES)
MAINTAINERCLEANFILES = \
......
This diff is collapsed.
......@@ -31,33 +31,6 @@ AC_DEFUN([AX_LIBEWF_CHECK_LOCAL],
AC_CHECK_FUNCS([bindtextdomain])
])
dnl Function to detect whether version 1 API support should be enabled
AC_DEFUN([AX_LIBEWF_CHECK_ENABLE_V1_API],
[AX_COMMON_ARG_ENABLE(
[v1-api],
[v1_api],
[enable version 1 API],
[no])
AS_IF(
[test "x$ac_cv_enable_v1_api" != xno],
[AC_DEFINE(
[HAVE_V1_API],
[1],
[Define to 1 if the version 1 API should be available.])
AC_SUBST(
[HAVE_V1_API],
[1])
ac_cv_enable_v1_api=yes],
[AC_SUBST(
[HAVE_V1_API],
[0]) ])
AM_CONDITIONAL(
HAVE_V1_API,
[test "x$ac_cv_enable_v1_api" != xno])
])
dnl Function to determine the host operating system
AC_DEFUN([AX_LIBEWF_CHECK_HOST_OPERATING_SYSTEM],
[ac_libewf_determine_operating_system_target_string="$target";
......
This diff is collapsed.
This diff is collapsed.
/*
* Byte stream functions
*
* Copyright (C) 2006-2015, Joachim Metz <joachim.metz@gmail.com>
* Copyright (C) 2006-2016, Joachim Metz <joachim.metz@gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
......@@ -253,5 +253,5 @@ typedef union byte_stream_float64
}
#endif
#endif
#endif /* !defined( _BYTE_STREAM_H ) */
/*
* Common include file
*
* Copyright (C) 2006-2015, Joachim Metz <joachim.metz@gmail.com>
* Copyright (C) 2006-2016, Joachim Metz <joachim.metz@gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
......@@ -39,5 +39,5 @@
#include <config_winapi.h>
#endif
#endif /* !defined( _COMMON_H ) */
......@@ -5,17 +5,14 @@
language is requested. */
#define ENABLE_NLS 1
/* Define to 1 if adler32 funtion is available in zlib. */
#define HAVE_ADLER32 1
/* Define to 1 if you have the `bindtextdomain' function. */
#define HAVE_BINDTEXTDOMAIN 1
/* Define to 1 if you have the 'bzip2' library (-lbz2). */
#define HAVE_BZIP2 1
/* #undef HAVE_BZIP2 */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* #undef HAVE_BZLIB_H */
/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
CoreFoundation framework. */
......@@ -31,9 +28,6 @@
/* Define to 1 if you have the `close' function. */
#define HAVE_CLOSE 1
/* Define to 1 if compressBound funtion is available in zlib. */
#define HAVE_COMPRESS_BOUND 1
/* Define to 1 if you have the `ctime' function. */
/* #undef HAVE_CTIME */
......@@ -161,7 +155,7 @@
#define HAVE_GMTIME_R 1
/* Define to 1 if GUID/UUID support is available. */
/* #undef HAVE_GUID_SUPPORT */
#define HAVE_GUID_SUPPORT 1
/* Define if you have the iconv() function and it works. */
/* #undef HAVE_ICONV */
......@@ -188,7 +182,7 @@
/* #undef HAVE_LIBBFIO_H */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* #undef HAVE_LIBBZ2 */
/* Define to 1 if you have the `caes' library (-lcaes). */
/* #undef HAVE_LIBCAES */
......@@ -323,7 +317,7 @@
/* #undef HAVE_LIBUNA_H */
/* Define to 1 if you have the 'libuuid' library (-luuid). */
/* #undef HAVE_LIBUUID */
#define HAVE_LIBUUID 1
/* Define to 1 if you have the `z' library (-lz). */
/* #undef HAVE_LIBZ */
......@@ -499,6 +493,12 @@
/* Define to 1 if you have Python */
/* #undef HAVE_PYTHON */
/* Define to 1 if you have Python 2 */
/* #undef HAVE_PYTHON2 */
/* Define to 1 if you have Python 3 */
/* #undef HAVE_PYTHON3 */