Skip to content
This repository has been archived by the owner on Mar 2, 2018. It is now read-only.

Commit

Permalink
Created repository on github
Browse files Browse the repository at this point in the history
migrated from afflib.org to github.
  • Loading branch information
simsong committed Mar 31, 2012
1 parent c2991e6 commit 7514500
Show file tree
Hide file tree
Showing 316 changed files with 61,687 additions and 0 deletions.
92 changes: 92 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# http://help.github.com/ignore-files/
# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so
*.a

# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

# Logs and databases #
######################
*.log
*.sql
*.sqlite

# OS generated files #
######################
.DS_Store*
ehthumbs.db
Icon?
Thumbs.db

# Backup Files and autoconf nonsense
# http://stackoverflow.com/questions/3290908/which-files-generated-by-autotools-should-i-keep-in-git-repository
autom4te.cache
*.aff
*.obj
*.sig
*~
Makefile
Makefile.in
Makefile.in
TAGS
a.out.dSYM
aclocal.m4
affconfig.h
affconfig.h.in
afflib-*.tar.gz
afflib.lib
afflib.pc
afflib.spec
autom4te.cache
config.guess
config.log
config.status
config.sub
configure
install-sh
libtool
ltmain.sh
m4
missing
stamp-h*

# Executables
.deps
.libs
TAGS
tools/affdiskprint
tools/affcat
tools/affcompare
tools/affconvert
tools/affcopy
tools/affcrypto
tools/affinfo
tools/affix
tools/affrecover
tools/affsegment
tools/affsign
tools/affstats
tools/affuse
tools/affverify
tools/affxml

lib/version.h
*.lo
*.la
30 changes: 30 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
The primary author of AFF is:

Simson L. Garfinkel <[email protected]>

Special thanks also to those who have contributed bug reports and fixes:

Jean-Francois Beckers
Sebastien Coutaz
Eric C.
Timothy Lyons
Nicolas (kwizart)
Joachim Metz
David Collett (PyFlag), for the PyAFF integration
Phillip Hellewell (AccessData) for port to VC2008 and catching a few bugs.

The AFF Project received substantial financial support in 2005 and
2006 from Basis Technology Corporation. For that reason some of the
some of the files (as indicated) have the 4-part Berkeley Copyright
License.

We would also like to thank the following organizations for their
interest and support:

- Naval Postgraduate School
- National Institutes of Standards and Technology
- I.D.E.A.L. Technology Corporation
- US Department of Defense
- AccessData


75 changes: 75 additions & 0 deletions BUGLIST.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
AFFLIB Buglist and roadmap.


PERFORMANCE IMPROVEMENTS:
* afconvert should calculate MD5, SHA256 and SHA1
* Store TOC sorted and find entries with binary search.
(A 1TB TOC has 62,500 pages or 100K segments; with fixed size records that would be 8,000,000, which is not much.)
* aff_write_seg() shouldn't be calling af_rewind_seg after every call
* af_write() shouldn't be calling lseek() and write() so many times.
- move to scatter/gather writing.
- look at the TOC to know how much space is available.
- Make the TOC always used. Trust the TOC.

BUGS:
* Test all programs with file://-style URLs. You can't test for existence of a file with
access(). This is an issue for -z in afcopy.
* image_size not set for AFM files; does it need to be set, or is it generated on the fly?
* afcrypto should note if a file can't be decrypted.
* library doesn't automatically write SHA1s and SHA256s; need to be selectable.
* combine affix and afrecover into a single executable.
* combine afconvert and afcopy into a single executable.
* better error handling in aimage?
* Graacefully handle expat not installed?
* improve performance of
- cache memory selection size - * Automatically increase cache to use 1/2 of physical RAM?
- cache algorithm

FEATURES:

library:
* Add support for http://mingw.org/
* badflag needs to be reimplemented as a bitfield.
* Since we have the TOC, is there EVER a case in which we need to scan the whole file?
If not, perhaps we can take out those scan routines.
* Keep track of sectors that have been touched and output.
* Some kind of sector map array. (Bit array? Byte array?)
* A 1TB disk has 2 billion sectors and 62,500 AFF pages; do we need to store this in a better
data structure than an unsorted linear list?

aimage:
* Have aimage update more often
* Final report on bytes written is wrong.
* Fix imaging over the network
* Keep a log of everything imaged, # of bad blocks, MD5, etc.
* Image from an SSL tcp connection.
* notify user of kernel error messages; write them to segment
* Report if drive is wiped
* -A mode needs some work; it sometimes compresses too much.
* Digitally sign the AFFs

afcat:
* option - BADFLAG or BLANK errors
* Option to output a specific sector or a range of sectors
* Multiple ranges of bytes

afcompare:
* Make SIGINFO work
* -d - just compare data
* -s3 - just check to see if the named segments got written.
- Just compare MD5s!

afcopy:
* don't copy the file if it won't fit.
* preserve timestamps
* have the file names .aff.new, and rename to .aff after complete.
* if there are _md5/_sha1/_sha256 segments, read all of those segments first and verify them.
* if AFFLIB_PASSPHRASE is set and a file is copied, the resultant file is broken.

afconvert:
* This didn't work: afconvert -q -o /project3/1028.raw /project2/p3/1028.aff

afupload:
* Uploading shouldn't decrypt first.


142 changes: 142 additions & 0 deletions COPYING
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
AFFLIB is covered under two copyright regimes.

Items that were created in 2005 and 2006 are covered under the
four-part Berkeley copyright license. The advertising clause is
intentional included and can only be removed with the permission of
Basis Technology Corp. In the past Basis has been willing to waive the
advertising requirement when requested:

/*
* AFFLIB(tm)
*
* Copyright (c) 2005-2006 Simson L. Garfinkel and Basis Technology Corp.
* All rights reserved.
*
* This code is derived from software contributed by
* Simson L. Garfinkel
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Simson L. Garfinkel
* and Basis Technology Corp.
* 4. Neither the name of Simson L. Garfinkel, Basis Technology, or other
* contributors to this program may be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY SIMSON L. GARFINKEL, BASIS TECHNOLOGY,
* AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL SIMSON L. GARFINKEL, BASIS TECHNOLOGY,
* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* AFF and AFFLIB is a trademark of Simson Garfinkel and Basis Technology Corp.
*/

AFFLIB 2.0a14, dated December 8, 2006, was the last version of AFFLIB
to be exclusively licensed under the four-part Berkeley license.

On December 24, 2006, Simson Garfinkel became a full-time employee of
the US Government. Works of US Government employees developed as part
of their employment are not subject to copyright. Therefore all
files contributed to AFFLIB after December 24, 2006 developed by
Simson Garfinkel, any copyright notice notwithstanding, are not
covered under US copyright law and are in the public domain.

The files in AFFLIB 2.0a14 that are covered under the four-part
Berkeley license are:

714 Dec 8 2006 .
29821 Dec 1 2006 ./aimage/aimage.cpp
2319 Nov 18 2006 ./aimage/aimage.h
14399 Oct 20 2006 ./aimage/aimage_os.cpp
13961 Nov 21 2006 ./aimage/gui.cpp
231 Oct 20 2006 ./aimage/gui.h
8087 Nov 15 2006 ./aimage/ident.cpp
1719 Oct 20 2006 ./aimage/ident.h
23327 Nov 25 2006 ./aimage/imager.cpp
3729 Nov 25 2006 ./aimage/imager.h
301 Nov 8 2006 ./aimage/Makefile.am
13466 Dec 8 2006 ./aimage/Makefile.in
461 Dec 8 2006 ./AUTHORS
26608 Nov 28 2006 ./ChangeLog
7765 Dec 8 2006 ./config.h.in
427990 Dec 8 2006 ./configure
5351 Dec 8 2006 ./configure.ac
1909 Oct 19 2006 ./COPYING
15205 Oct 20 2006 ./depcomp
152 Oct 22 2006 ./INSTALL
9212 Oct 20 2006 ./install-sh
1292 Dec 8 2006 ./lib
4831 Nov 15 2006 ./lib/aff_db.cpp
105 Oct 19 2006 ./lib/aff_db.h
2517 Nov 15 2006 ./lib/aff_toc.cpp
12907 Nov 25 2006 ./lib/afflib.cpp
17363 Nov 25 2006 ./lib/afflib.h
11721 Nov 25 2006 ./lib/afflib_i.h
3932 Dec 1 2006 ./lib/afflib_os.cpp
18713 Nov 25 2006 ./lib/afflib_pages.cpp
9462 Nov 25 2006 ./lib/afflib_stream.cpp
5725 Nov 15 2006 ./lib/afflib_util.cpp
1925 Nov 15 2006 ./lib/aftimer.cpp
836 Oct 31 2006 ./lib/aftimer.h
10819 Oct 20 2006 ./lib/base64.cpp
692 Oct 19 2006 ./lib/base64.h
4652 Nov 15 2006 ./lib/lzma_glue.cpp
1978 Nov 1 2006 ./lib/Makefile.am
73313 Dec 8 2006 ./lib/Makefile.in
12649 Dec 8 2006 ./lib/s3.cpp
19190 Dec 7 2006 ./lib/s3_glue.cpp
3841 Dec 1 2006 ./lib/s3_glue.h
14470 Nov 27 2006 ./lib/vnode_afd.cpp
98 Oct 19 2006 ./lib/vnode_afd.h
17078 Nov 21 2006 ./lib/vnode_aff.cpp
13654 Dec 6 2006 ./lib/vnode_afm.cpp
76 Oct 19 2006 ./lib/vnode_afm.h
7305 Nov 15 2006 ./lib/vnode_evd.cpp
54 Oct 19 2006 ./lib/vnode_evd.h
47317 Nov 15 2006 ./lib/vnode_evf.cpp
8156 Oct 19 2006 ./lib/vnode_evf.h
7301 Nov 15 2006 ./lib/vnode_raw.cpp
156 Oct 19 2006 ./lib/vnode_raw.h
8371 Nov 25 2006 ./lib/vnode_s3.cpp
52 Oct 19 2006 ./lib/vnode_s3.h
17982 Dec 6 2006 ./lib/vnode_split_raw.cpp
84 Oct 19 2006 ./lib/vnode_split_raw.h
690 Nov 27 2006 ./Makefile.am
18908 Dec 8 2006 ./Makefile.in
10678 Oct 20 2006 ./missing
333 Nov 18 2006 ./NEWS
9977 Oct 19 2006 ./README
578 Dec 8 2006 ./tools
9067 Nov 28 2006 ./tools/afcat.cpp
22564 Nov 28 2006 ./tools/afcompare.cpp
19102 Nov 28 2006 ./tools/afconvert.cpp
14755 Nov 28 2006 ./tools/afcopy.cpp
4216 Nov 28 2006 ./tools/affix.cpp
16266 Nov 28 2006 ./tools/afinfo.cpp
7498 Nov 28 2006 ./tools/afsegment.cpp
5044 Nov 28 2006 ./tools/afstats.cpp
6573 Nov 28 2006 ./tools/afxml.cpp
502 Nov 14 2006 ./tools/Makefile.am
17176 Dec 8 2006 ./tools/Makefile.in
382 Oct 20 2006 ./tools/quads.cpp
116 Oct 20 2006 ./tools/quads.h
541 Nov 21 2006 ./tools/utils.cpp
1004 Nov 14 2006 ./tools/utils.h
Loading

0 comments on commit 7514500

Please sign in to comment.