Commit 0c88c8b5 authored by Christophe Monniez's avatar Christophe Monniez

Imported Upstream version 20121209

parent f947b91f
Acknowledgements: libewf
Copyright (c) 2006-2011, Joachim Metz <jbmetz@users.sourceforge.net>
Copyright (c) 2006-2012, Joachim Metz <jbmetz@users.sourceforge.net>
This code is derived from information and software contributed by:
- Expert Witness Compression Format specification by Andrew Rosen
......
TODO
* ewf.net single files support
* improve detection of zlib and makefiles
* fix double _FILE_OFFSET_BITS=64
* pyewf
- update (+/-)
- file entry data ? instead of file entry
- set codepage support (requires libclocale)
* ewfmount
- check access rights on fuse mount point
- add stat info on readdir (see regfmount)
* complete ewfrecover
- max segment size
- add project files: msvscpp, builder5, codegear
* ideas for libmfdata
- merge table offsets into groups on write (with backup range) in
libewf_segment_file_write_chunks_section_correction() ?
......@@ -10,12 +22,6 @@ TODO
- add flags to by-pass cache ? direct read/write
* check performance
Next beta/stable release:
* full test
* disable ewfdebug
* clean up configure.ac and acinclude.m4
- check if all functions are checked for
Roadmap:
* lvf support
- add support for permissions
......@@ -26,6 +32,7 @@ Roadmap:
- make write debug output similar to read debug output
* error tollerance
- allow for missing segment file(s)
- allow for missing section(s)
- allow for missing chunk(s)
* bindings
- Python (partial)
......@@ -58,8 +65,6 @@ Roadmap:
Code clean up:
* clean up configure.ac and acinclude.m4
- refactor dfxml check
- refactor fuse check - to acinclude
- refactor guid check - to acinclude
- refactor zlib check - to acinclude
* ewfinfo
- move DFXML code to separate code files, what about separate library ?
......@@ -102,7 +107,7 @@ Features
although if linux write fails (write_count != write_size) before ENOSPC is set
there is still room left on the device, but cannot be claimed by libewf
* what about header values parsing with preservation of timestamps?
- change localtime to gmtime in libewf_date_time_values_copy_to_string ?
- change localtime to gmtime in libewf_date_time_values_copy_to_string ? (NO!)
- force set header value to require string formatted in the date format ?
Recovery and analysis:
......@@ -126,6 +131,7 @@ Error handling/tollerance
* handle corruption in both table and table2 sections
- non-overlapping corruption
- overlapping corruption
* handle missing sections
* handle missing segment files
* handle corrupt segment files
* handle missing delta segment files
......@@ -167,11 +173,15 @@ Possible performance improvements:
Python bindings (pyewf)
* add WINAPI wide character support for open() and glob()
* add more functions
- sessions
- acquiry errors
- read errors
.Net bindings (ewf.net)
* add single file functions
ewf.net_file_entry.h
* add more functions
* handle
- add more functions
* file entry
- add more functions
* mono support ?
API changes
......@@ -233,21 +243,19 @@ Tools:
* ewfdebug
- create a tool to analyse a single segment file
- implement low and high level api separation
* ewfrecover
- create a tool recover ewf files
* ewfmount
- LEV support
- Windows use imgdisk, MacOS use API?
- Windows use ImDisk
- MacOS native API support ?
* process status
- improve and remove "This could take a while." ?
* libsystem path implement GetVolumeInformation
Tests
* glob: .ezz, .faa ... .zzz
* implement read/write chunk test
- allow to set maximum delta file size default 4 GiB?
* ewfexport: export of split RAW
* implement pyewf tests
* write resume from volume/disk section - basically re-image
Deployment:
* configure move openssl zlib check in to separate function
......@@ -275,9 +283,253 @@ Known issues:
Closed:
* libewf_single_files refactor to use UTF-16 split string
- does not really matter still need to do conversion to runtime UTF-16
* write resume, allow resume from volume/disk section + test scenario
* write resume, allow resume from volume/disk section
- why bother no media data has been written anyway
20121209
* removed memwatch and gettext
20120819
* bug fix for not writing SHA-1 hash
20120603
* bug fix for MinGW in liberror
* updates for zlib-1.2.7
20120504
* bug fix for setting media size of L01 file
20120421
* small changes to dpkg files
20120416
* added fuse destroy function to ewfmount
* bug fix in libewf_utf8_string_day_of_month_copy_to_time_elements
* changes to debug output
20120414
* ewfverify: fixed printing the same segment filename multiple times for CRC errors
* worked on pyewf
* bug fix in libewf_utf16_string_month_copy_from_time_elements
* updated libuna: fix in codepage 932
20120304
* small changes to debug error output
* small changes for error tolerability
* updated libfvalue
20120225
* promoted to stable
20120213
* small changes to ewftools
* pyewf: added -avoid-version to Makefile.am
* updated macosx package maker files
20120212
* update for zlib-1.2.6
* added API functions for file entry data offset, data size and
duplicate data offset
* added file entry flags and media data value functions to ewf.net
* updated libnotify, libodraw, libfvalue, libsmraw
20120209
* small changes
20120208
* added dpkg files
20120122
* bug fix in write finalize
20120118
* updated gettext files
* updated libbfio
* preparations for beta testing
20120111
* updated spec file
20120102
* 2012 update
20111231
* updated libhmac, libsmraw, libsmdev
20111228
* updated libcstring, libuna, libbfio
* updated msvscpp, builder5 and codegear files
20111226
* updated libbfio
20111224
* updated libsystem, libuna, libbfio, libhmac, libfvalue, libodraw
20111221
* small fixes in ewftools
20111208
* worked on dealing with missing segment files
20111207
* worked on dealing with missing segment files
20111205
* worked on ewfrecover
20111204
* updated msvscpp files
* updated builder5 files
* updated codegear files
20111203
* worked on ewfrecover
* code clean in ewftools
* updated libcstring, libsystem
* added libmfcache
20111121
* fixed bug introduced by error tollerance changes
20111120
* updated libfvalue, libmfdata
* worked on error tollerance
20111117
* updated libmfdata
20111115
* code clean up
* updated libmfdata
20111114
* code clean up
* updated array type, list type, tree type
* updated libcstring, libfvalue, libhmac
20111105
* worked on libewf_file_get_file_entry_by_utf8_path and
libewf_file_get_file_entry_by_utf16_path
* changes to ewfmount to deal with file names containing
the path separator character /
20111103
* worked on libewf_file_get_file_entry_by_utf8_path and
libewf_file_get_file_entry_by_utf16_path
* code clean up changed name of file entry item flags and moved it to
definitions
20111101
* small changes
20111031
* updated README.macosx
* added setvbuf
* updated libcstring, libsystem, libuna, libbfio, libfvalue, libhmac
* added windows codepage 932 and 936 support
20111030
* updated configure.ac and m4 files
* updated libhmac, libodraw, libsmraw, libfvalue, libsmdev
* updated tree type
* changes for libfvalue
20111023
* worked on ewf.net
* bug fixes in ewfmount
20111020
* updated README.static
20111017
* worked on ewf.net file entry support
* changes to m4/libuuid.m4
20111016
* added libewf_file_entry_get_offset
* worked on pyewf file entry support
* changed file entry date and time values to 32-bit values
* worked on ewfmount LEV support
* worked on ewf.net file entry support
20111015
* worked on pyewf file entry support
20111011
* fixes in comment in include header
* implemented OSXFuse support
* bug fix for libfuse detection
20111010
* fix in spec file
* ewfmount changed EBADFD into ENODEV
* checked if all functions are checked for
* bug fix in include header macros
20111009
* small fixes in ewfmount
* small changes in configure
20111008
* updated configure.ac and m4 files
* updated libsmdev, libodraw, libsmraw, libhmac
* bug fix in libsystem
* improved session and tracks detection in libsmdev
20111006
* updated configure.ac and m4 files
* bug fix in ewfacuire for handling -w option
20111002
* bug fix for cross compilation
20110926
* updated libuna, libbfio
20110922
* updated README files
20110918
* updated spec file
* added ewfmount.1 man page
* update libsmraw, libodraw, libsmdev
20110914
* prepated temporary libsmdev version
20110908
* added chunk offset grouping after chunk table section write
reduced memory usage during write
20110906
* libsmdev:
- worked on improved session/track support
20110905
* libsmdev:
- worked on improved session/track support
20110904
* pyewf: code clean up
* libsmdev:
- worked on improved session/track support
- reduced IO timeouts
- bug fix for information value strings
20110903
* ewfverify
- fix for verifying empty single files
- added error tollerance for "corrupt" single files
- added support for sparse data
20110901
* updated libsmraw
20110831
* updated libuna, libbfio, libhmac, libfvalue, libodraw, libsmdev
* updated m4/libsmdev.m4
20110829
* bug fix in ewfmount
......
Installation Instructions
*************************
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
2006, 2007, 2008, 2009 Free Software Foundation, Inc.
Copyright (C) 1994-1996, 1999-2002, 2004-2012 Free Software Foundation,
Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
......@@ -226,6 +226,11 @@ order to use an ANSI C compiler:
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
HP-UX `make' updates targets which have the same time stamps as
their prerequisites, which makes it generally unusable when shipped
generated files such as `configure' are involved. Use GNU `make'
instead.
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
a workaround. If GNU CC is not installed, it is therefore recommended
......@@ -304,9 +309,10 @@ causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
an Autoconf bug. Until the bug is fixed you can use this workaround:
an Autoconf limitation. Until the limitation is lifted, you can use
this workaround:
CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
`configure' Invocation
======================
......@@ -362,4 +368,3 @@ operates.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.
......@@ -8,8 +8,9 @@ SUBDIRS = \
libnotify \
libuna \
libbfio \
libmfdata \
libfvalue \
libmfcache \
libmfdata \