Initial commit

Migration to github.
replacing link of histogram.py with the actual file
Adding a small bootstrap shell script containing automake an autoconf commands
Fixes an error related to strftime
Merge branch 'master' of github.com:simsong/dfxml
Rename html.py to dfxml.py

Python 3 includes a library "html," so html.py here creates a conflict.
Conflict noticed on using BeautifulSoup for Python 3.
Fixes a Popen error

Add if-else logic into creation of cmd argument
changed img_start to img_offset
Add null-value checks for dftime inequalities

Some time comparisons were being made against None, which caused an
exception.  That no longer occurs, and regression tests for this error
are now in place.
Remove assertions on null-vs.-dftime inequalities

This partially reverts commit 071d5970f460584af817802b7ea07103fb7f5088.

I had mistakenly assumed Python treated binary operations with None as SQL
does with NULL.  Instead of None values propagating, Python 2 and 3 each
have their semantics, both different from SQL.  Session transcripts follow.

I had missed this in the regression tests because of finding another error
earlier in a nearby regression test.  I mistook the stack trace for the
other error.

OS X Lion 2.7.1:
>>> None > 2
False
>>> 2 > None
True

3.2.2:
>>> None > 3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  TypeError: unorderable types: NoneType() > int()
>>> 3 > None
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  TypeError: unorderable types: int() > NoneType()
Correct dftime regression failures

SLG had started iso8601Tdatetime, seemingly to replace parse_iso8601.  It
works pretty well as a drop-in replacement.  With these corrections, no
unit tests for dftime raise an exception.  Some incorrect values are
occurring consistently in Python 2 and 3, though, noted below.

a=2000-01-02T02:03:04-0100 b=2000-01-02T02:03:04-0200 want=False equal=True (!)
a=2000-01-02T02:03:04-0100 b=2000-01-02T01:03:04-0200 want=True equal=False (!)
a=2009-11-17T00:33:30.9375Z b=2009-11-17T00:33:30Z want=True greater=False (!)
a=2009-11-17T00:33:30.9375Z b=2009-11-17T00:33:30Z want=False equal=True (!)
Merge pull request #1 from ajnelson/master

Pull in better-but-not-perfect dftime corrections
revised deidentify_xml for python 3.2
fixed space problem
Correct byte_run comparator

Python 3 no longer uses <class>.__cmp__ for comparison.  The official
notice is in the class comment.  This fixes cmp() on byte_runs by im-
plementing __eq__ and __lt__.

This changeset fixes an error in `dfxml.py --regress` in Python 3.
The regression tests now exit successfully in Python 2 and 3.

Signed-off-by: Alex Nelson <ajnelson@cs.ucsc.edu>
added file
Add parser and tests for email timestamp format

This patch implements parsing date time values as found in RFC 822 and
later RFCs.  Several new unit tests demonstrate the expected values.

For consistency with the class's data representations, dftimes can now
be made from datetime.datetime objects.

Signed-off-by: Alex Nelson <ajnelson@cs.ucsc.edu>
Catch extra tag for allocation

The Fiwalk integrated into TSK generates "alloc" and "unalloc" tags.
Catch both to represent actual file allocation.

Signed-off-by: Alex Nelson <ajnelson@cs.ucsc.edu>
Correct file content extraction in Python 3

The "//" operator is required for integer division.  Use of "/"
caused icat to be fed a float for an offset.  Further, stderr is
a byte string, not a string, so the error message was also failing
in Python3.

This change is compatible with Python 2 and 3.

Signed-off-by: Alex Nelson <ajnelson@cs.ucsc.edu>
fixed version checking