12021-10-18 Simson Garfinkel
2	* Removed plugins directory
3	* Updated to 2.0.0-beta1
4
52020-06-20 simson garfinkel
6	* Removed Java GUI
7
82020-06-14  fedora Cloud User  <fedora@ip-172-30-4-244.ec2.internal>
9
10	* src/threadpool.cpp: numCPU() now simply calls std::thread::hardware_concurrency(). Perhaps more should be replaced over time, but it would be super-exciting to see the threadpool be able to spin of threads onto other servers, which was the original intent.
11
122020-06-13  Simson Garfinkel <simsong@acm.org>
13	* updated license to MIT License, copyright Simson L. Garfinkel, consistent with the fact that this is no longer an official US Government work product.
14
152019-11-10  Simson Garfinkel  <simsong@acm.org>
16
17	* tests/data_check.txt: updated offset for JAVA.EXE
18	sadly, Data/WindowsXPPrefetch_JAVA.exe.pdf was removed because it seems that the file was not in the git repo.
19
20	* src/scan_wordlist.cpp (scan_wordlist): changed sbuf.buf[i] to sbuf.get8u(i) to eliminate crash.
21	(scan_wordlist): cleaned up state machine. (The above fix made it clear there was a state machine error.)
22
23	* configure.ac: increased version number to 1.6.0 to celebrate the new scanners
24
25	* src/scan_utmp.cpp: added scanner
26
27	* src/scan_ntfsmft.cpp: added scanner
28
29	* src/scan_ntfslogfile.cpp: added scanner
30
31	* src/scan_ntfsindx.cpp: added scanner
32
33	* src/scan_evtx.cpp: added scanner
34
352019-11-09 Overall <simsong@acm.org>
36
37	* ChangeLog - cleaned up for current release. Incremented version number to 1.5.6
38
392014-08-20  Basic  <simsong@r4.ncr.nps.edu>
40
41	* src/scan_pipe.cpp (scan_pipe): removed scan_pipe (since you don't want to fork with threads)
42
432014-08-12  Man Page  <simsong@mncrnpsedu.local>
44
45	* doc/announce_1.5.2.md: annouced release 1.5.2
46
472014-08-03  Basic  <simsong@r4.ncr.nps.edu>
48
49	* configure.ac: incremented version number
50
512014-07-18  Basic  <simsong@r4.ncr.nps.edu>
52
53	* src/image_process.cpp: multi-split files was not working properly on Windows. Fixed
54
552014-07-17  Basic  <simsong@r4.ncr.nps.edu>
56
57	* src/scan_rar.cpp (scan_rar): fixed typo. raw_find_volume becomes rar_find_volume
58
592014-05-17  Basic  <simsong@Dance.local>
60
61	* src/scan_base16.flex (public): fixed decoder so that what is decoded is a child sbuf with a specific offset and length
62
632014-04-17  Basic  <simsong@r4.ncr.nps.edu>
64
65	* src/be13_api/feature_recorder.cpp (hexval): fixed hexval(); it was not working properly for letters A through F. (I wrote this myself becuase it isn't present on mingw.)
66
672014-04-15  Basic  <simsong@r3.ncr.nps.edu>
68
69	* src/be13_api/feature_recorder.h (f): several of the flags were the same, resulting in behavior that was incorrect.
70
712014-04-03  Basic  <simsong@Dance.local>
72
73	* src/be13_api/feature_recorder_set.cpp (feature_recorder_set::unset_flag): changed clear_flag to unset_flag for consistency.
74
752014-04-02  Basic  <simsong@Dance.local>
76
77	* bugfix: featurefiles for carved elements no longer include the name of the -o directory.
78
792014-02-25  Man Page  <simsong@mncrnpsedu.local>
80
81	* src/scan_vcard.cpp (scan_vcard): removed     string myString;
82
83
842014-01-26  Basic  <simsong@Dance.local>
85
86	* src/image_process.h (class process_dir): changed blocks() to max_blocks().
87
882014-01-10  Basic  <simsong@t193-251.demo.tuwien.ac.at>
89
90	* src/be13_api/feature_recorder.cpp (feature_recorder::dump_histogram): moved regex into histogram_def so that it could be run in write(), rather than in post-processing.
91
922014-01-07  Basic  <simsong@Dance.local>
93
94	* src/be13_api/feature_recorder.h (class feature_recorder): removed outdir and input_fname from feature_recorder, since they are in the feature_recorder_set
95
962014-01-02  Man Page  <simsong@mncrnpsedu.local>
97
98	* src/be13_api/feature_recorder.h (class feature_recorder): carve no longer needs hasher passed in, becuase it is in the feature_recorder_set
99
100	* src/be13_api/bulk_extractor_i.h (be13): hash_def moved from be13 namespace to feature_recorder_set
101
1022013-12-13  Basic  <simsong@npsair.local>
103
104	* src/image_process.h (class process_dir): implemented const correctness for a whole bunch of methods
105
106	* src/be13_api/feature_recorder.h: removed using namespace std
107
1082013-12-11  Basic  <simsong@npsair.local>
109
110	* src/be13_api/feature_recorder_set.h (class feature_recorder_set): process_histograms changed to make_histograms, because that's what it is doing
111
112	* src/be13_api/feature_recorder.h (class feature_recorder): make_histogram renamed to dump_histogram (because that's what it's doing; callback function added)
113
1142013-11-13  Basic  <simsong@Mucha.local>
115
116	* src/be13_api: USE_HISTOGRAMS is gone; everybody uses them now.
117
118	* src/main.cpp (main): alert_list and stop_list are no longer global variables; they are now local to main() and added to the feature_recorder_set
119
120	* src/be13_api/feature_recorder_set.cpp (feature_recorder_set::init): stop_list and alert_list are now part of the feature_recorder_set.
121
1222013-11-11  Basic  <simsong@Mucha.local>
123
124	* src/be13_api/Makefile.defs: moved word_and_context_list.* from bulk_extractor to be13_api
125
126	* src/be13_api/feature_recorder.cpp (feature_recorder::feature_recorder): now has reference to feature_recorder_set
127
128	* src/stand.cpp (main): replaced manual histogram generator in stand with call to phase_histogram in be13::plugin
129
1302013-11-08  Basic  <simsong@Mucha.local>
131
132	* src/be13_api/bulk_extractor_i.h (be13): added proper #ifdefs for each type
133
1342013-11-05  Basic  <simsong@mucha.local.tld>
135
136	* src/be13_api/feature_recorder_set.h (class feature_recorder_set): more functions were made virtual and more instance values were made private
137
1382013-10-26  Basic  <simsong@Mucha.local>
139
140	* src/be13_api/bulk_extractor_i.h: process_packet_info renamed to process_packet.
141
142	* src/be13_api/sbuf.h (class sbuf_t): removed pos0_t from map_file because it can be inferred.
143
1442013-09-27  Basic  <simsong@ncr.nps.edu>
145
146	* python/bulk_extractor_reader.py (BulkReport): changed .imagefile() to .image_filename
147
148	* python/identify_filenames.py: changed .imagefile to .image_filename
1492013-10-22  Basic  <simsong@Mucha.local>
150
151	* configure.ac: updated for C++ and MacOS Mavericks. Changed version to 1.4.2
152
1532013-10-15  Basic  <simsong@Mucha.local>
154
155	* src/main.cpp (main): removed BULK_EXTRACTOR_DEBUG.
156
1572013-10-08  Basic  <simsong@npsair.local>
158
159	* src/scan_net.cpp (p): removed packetset (no longer used)
160
161	* src/be13_api/sbuf.h (stoi64): stoi() removed because it is part of stdc11
162
1632013-10-08  Simson Garfinkel  <simsong@npsair.local>
164
165	* src/be13_api/feature_recorder.h (f): removed tags
166
1672013-10-07  Basic  <simsong@arlington-38-68-232-163.ncr.vt.edu>
168
169	* src/be13_api/plugin.cpp (plugin::phase_histogram): cleaned up printing of newlines during histogram output printing.
170
171	* src/be13_api/feature_recorder.cpp (feature_recorder::write): replace substr with in-place resize
172
1732013-10-07  Basic  <simsong@npsair.local>
174
175	* src/be13_api/feature_recorder.h (class feature_recorder): added MAINTHREAD() to set_flag(), becuase flags should only be set in the main thread. Also moved definition into feature_recorder.cpp, so that the in-memory histogram can be created if that flag is set.
176
1772013-09-25  Basic  <simsong@Mucha.local>
178
179	* src/bulk_extractor.cpp (main): added reporting of MD5 of disk image
180
1812013-09-18  Simson Garfinkel  <simsong@npsair.local>
182
183	* src/be13_api/feature_recorder.cpp (carve): valid_dosname has to be applied to ext, since ext may come with slashes in it.
184
1852013-09-17  Simson Garfinkel  <simsong@npsair.local>
186
187	* src/scan_bulk.cpp (dfrws2012_bulk_process_dump): removed DFRWS code.
188
1892013-09-16  Simson Garfinkel  <simsong@npsair.local>
190
191	* configure.ac: incremented version to 1.4.1-dev. Enabled LT_INIT support; removed RANLIB support.
192
1932013-08-20  Basic  <simsong@Mucha.local>
194
195	* src/scan_accts.flex (dob): DOBs, Fedex#s, and SSNs are now recorded to a feature recorder called 'pii.txt'.
196
1972013-08-20  Man Page  <simsong@mncrnpsedu.local>
198
199	* configure.ac: updated to beta6
200
201	* src/be13_api/feature_recorder.cpp (feature_recorder::write_tag): disabled recorders no longer carve or have tag support.
202
2032013-08-18  Man Page  <simsong@mncrnpsedu.local>
204
205	* src/be13_api/feature_recorder_set.cpp (feature_recorder_set::create_name): added warning if feature recorder already exists.
206
207	* src/bulk_extractor.cpp (main): removed explicit creation of alert recorder; no longer needed.
208
209	* src/be13_api/feature_recorder_set.h (class feature_recorder_set): alert_recorder should not be a global static; it is now per feature_recorder_set.
210
2112013-08-02  Basic  <simsong@Mucha.local>
212
213	* src/be13_api/feature_recorder.cpp (feature_recorder::feature_recorder): removed carved_set that was keeping track of what was carved, as it is no longer necessary.
214
2152013-08-01  Basic  <simsong@ncr.nps.edu>
216
217	* src/scan_exif.cpp (scan_exif): jpeg carver feature recorder renamed to jpeg_carved.
218
2192013-07-30  Basic  <simsong@ncr.nps.edu>
220
221	* src/be13_api/plugin.cpp (info_scanners): now only prints -H info if it is provided by the scanner.
2222013-07-29  Man Page  <simsong@mncrnpsedu.local>
223
224	* src/scan_zip.cpp (scan_zip_component): now records general_purpose_bit_flags in XML. Bit 1 indicates that a component is encrypted
225	(scan_zip_component): removed max_depth check; it's in plugin system
226
2272013-07-26  Simson Garfinkel  <simsong@Mucha.local>
228
229	* src/scan_net.cpp (scan_net): the -S variable carve_tcp is now implemented by the scan_net scanner to enable or disable TCP/IP memory structure carving. It is disabled by default.
230
2312013-07-17  Basic  <simsong@sg1.ncr.nps.edu>
232
233	* src/scan_windirs.cpp (scan_windirs): windirs now only runs at top level
234
235	* src/scan_zip.cpp (scan_zip_component): now prints mtime in ISO8601 format
236	(scan_zip_component): (previously mtime and ctime were wrong parts)
237
2382013-07-16  Man Page  <simsong@mncrnpsedu.local>
239
240	* src/scan_xor.cpp (scan_xor): will not XOR on either side of a ZIP. improved error handling
241
242	* tests/regress.py: updated numbers for 1.4 release
243
2442013-07-14  Basic  <simsong@Mucha.local>
245
246	* configure.ac: updated to beta4
247
2482013-07-11  Basic  <simsong@Mucha.local>
249
250	* configure.ac: updated to beta3
251
252	* src/scan_exif.cpp: fixed jpeg validation. carving now works.
253
2542013-07-09  Simson Garfinkel  <simsong@sg1.ncr.nps.edu>
255
256	* src/be13_api/plugin.cpp (GET_CONFIG): fixed bug in handling of uint8_t config values. They weren't getting set properly.. Ugh.
257
258	* src/scan_xor.cpp (scan_xor): fixed error when XOR mask was specified as 0. Previously it recused; now it does not.
259
2602013-07-02  Simson Garfinkel  <simsong@Mucha.local>
261
262	* configure.ac: removed defines we aren't using anymore
263
2642013-06-27  Basic  <simsong@Mucha.local>
265
266	* src/be13_api/feature_recorder.h (class feature_recorder): as a result of popular demand, the UTF8 BOM and BOM EXPLAINATION have been removed from the feature files
267
2682013-06-26  Basic  <simsong@Mucha.local>
269
270	* src/be13_api/feature_recorder_set.cpp (feature_recorder_set::get_name): get_name() now returns NULL if feature recorder does not exist.
271
272	* src/be13_api/feature_recorder.h (class feature_recorder): added context_window_before() and context_window_after().
273
274	* src/bulk_extractor.cpp (main): replaced context_window with context_window_default.
275
2762013-06-21  Man Page  <simsong@mncrnpsedu.local>
277
278	* src/be13_api/bulk_extractor_i.h (class scanner_params): made more variables const.
279	(class recursion_control_block): removed returnAfterFound(raf); now implemented with exceptions
280
2812013-06-19  Basic  <simsong@Mucha.local>
282
283	* src/bulk_extractor.cpp (]): fixed handling of LIB_EXPAT
284	(b): restart logic did not compile. Now it is fixed.
285
286	* configure.ac: fixed bug in which expat.h was not being checked for. use AC_CHECK_HEADERS() instead of AC_CHECK_HEADER(), as AC_CHECK_HEADER() requires that you add additional logic and AC_CHECK_HEADERS() automatically adds HAVE_HEADER_H.
287
2882013-06-18  Basic  <simsong@Mucha.local>
289
290	* src/scan_zip.cpp (scan_zip): removed name_len (not needed)
291
2922013-06-17  Basic  <simsong@mucha.lan>
293
294	* src/pyxpress.h: removed 'extern' designation
295
296	* src/image_process.h (i): removed extern size_t opt_pagesize and extern size_t opt_margin. These are now phase1 configuration variables that are passed into the image_iterator.
297
2982013-06-15  Basic  <simsong@Mucha.local>
299
300	* src/scan_email.flex (Host): removed ip_written and ip_tested (always remove dead code)
301
3022013-06-08  Basic  <simsong@Mucha.local>
303
304	* src/be13_api/feature_recorder.cpp (feature_recorder::carve): changed carving so that carved files are stored with the filename of their location. Also, fixed check-then-access race error in feature_record.cpp
305	(feature_recorder::carve): fixed race conditon in carving.
306
3072013-05-28  Basic  <simsong@ncr.nps.edu>
308
309	* feature_recorder_set.cpp - debug is now a static variable
310
311	* src/image_process.h (image_process): debug is now a local variable for image_process.h
312
3132013-05-22  Man Page  <simsong@mncrnpsedu.local>
314
315	* src/be13_api/bulk_extractor_i.h (DEBUG_EXIT_EARLY): removed DEBUG_MALLOC and DEBUG_MALLOC_FAIL_FREQUENCY; now is handled with -S system
316
317	* src/bulk_extractor.h: removed all global options; replaced with the be config system
318
319	* src/pyxpress.c: added OpenSSL exemption per email from Matthieu Suiche
320
321	* src/be13_api/sbuf.h: md5 support removed from sbuf
322
3232013-05-21  Basic  <simsong@public-172-21-213-43.near.uiuc.edu>
324
325	* src/be13_api/plugin.cpp (plugin::get_scanner_feature_file_names): extensive changes to make the global functions part of the be13::plugin class.
326
3272013-05-20  Basic  <simsong@npsair.local>
328
329	* src/bulk_extractor.cpp (main): -S now sets options; -s now sets sampling fraction.
330
3312013-05-13  Simson Garfinkel  <simsong@Mucha.local>
332
333	* src/bulk_extractor.cpp (usage): The -B option for specifying the blocksize for bulk data analysis has been removed. Instead specify it with -S block_size=NN.
334
335	* src/be13_api/xml.cpp (xml::xml): Routine for opening an existing DFXML file is removed. Anyone who processes XML with regular expressions is in a state of sin.
336
3372013-05-12  Basic  <simsong@Mucha.local>
338
339	* src/be13_api/plugin.cpp: max_depth changed to 7
3402013-05-11    <simsong@ncr.nps.edu>
341
342	* src/scan_winpe.cpp (scan_winpe_verify): added verification of section names and DLL names to reject false positives.
343
3442013-05-09    <simsong@ncr.nps.edu>
345
346	* src/scan_net.cpp (p): carved ethernet packets are now properly recorded in ether.txt and tcp.txt
347
348	* packet carving for disembodied ethernet packets fixed!  In 3ad21780, simsong was creating the hz structure but not setting it, so all carved packets had zero length
349
3502013-05-08    <simsong@ncr.nps.edu>
351
352	* src/be13_api/feature_recorder.cpp (banner_stamp): added \n to # BANNER FILE NOT PROVIDED
353
354	* src/scan_elf.cpp (scan_elf_verify): fixed bug in scan_elf where XML was incorrect and being generated for invalid ELF headers.
355
3562013-03-23  Simson Garfinkel  <simsong@Mucha.local>
357
358	* src/bulk_extractor.cpp (main): -Z is no longer fatal if directory does not exist.
3592013-03-23  Simson Garfinkel  <simsong@r2.ncr.nps.edu>
360
361	* configure.ac: fixed AX_PTHREAD test to fail if pthreads are not found.
362
3632013-03-22    <simsong@ncr.nps.edu>
364
365	* src/be13_api/feature_recorder_set.cpp (get_name): renamed Mstats to Mlock. Added Mlock to get_name() (apparently this isn't thread safe?)
366
3672013-01-29  Simson Garfinkel  <simsong@Mucha.local>
368
369	* src/threadpool.h (class worker): removed pesky noreturn problem with threadpool.
370
3712012-12-25  Simson Garfinkel  <simsong@Mucha.local>
372
373	* python/identify_filenames.py (process_featurefile): added #'s to report printed at bottom
374	(process_featurefile): added format
375
376	* python/bulk_extractor_reader.py (is_feature_line): Now handles annotated feature files.
377	(BulkReport.__init__.validate): added programmer notice for error of providing a feature file instead of a report directory
378
3792012-11-25  Simson Garfinkel  <simsong@mncrnpsedu.local>
380
381	* src/be13_api/feature_recorder.cpp (feature_recorder::carve): fixed bad mode on mkdir
382
3832012-11-22  Simson Garfinkel  <simsong@Mucha.local>
384
385	* src/scan_aes.cpp (rotate): changed implementation to avoid casting error.
386
387	* src/be13_api/bulk_extractor_i.h (class scanner_def): const scanner_t *changed to scanner_t for compliance with clang.
388
389	* src/be13_api/sbuf.h (class sbuf_t): changed cast for clang
390
3912012-11-21  Simson Garfinkel  <simsong@ubuntu>
392
393	* src/utils.h: moved ishexnumber from bulk_extractor.h to utils.h
394
3952012-11-14  Simson Garfinkel  <simsong@npsair.local>
396
397	* src/plugin.cpp (process_sbuf): renamed process_extract to process_sbuf and put it here.
398
399	* src/bulk_extractor.h: removed lowerstr() as it wasn't being used.
400
401	* src/word_and_context_list.h: replaced multimap with tr1/unordered_map
402
4032012-11-06  Simson Garfinkel  <simsong@mncrnpsedu.local>
404
405	* src/scan_email.flex (Host): maximum URL size increased to 384 bytes
406
4072012-11-05  Simson Garfinkel  <simsong@npsair.local>
408
409	* src/be13_api/feature_recorder_set.h (class feature_recorder_set): changed constructor so that ALERT_RECORDER is now created in bulk_extractor.cpp and not in the constructor. This improves code reuse in other programs
410
411	* src/feature_recorder_set.cpp (feature_recorder_set::get_alert_recorder): changed ALERT_RECORDER to ALERT_RECORDER_NAME.
412
4132012-10-27  Simson Garfinkel  <simsong@npsair.local>
414
415	* src/sbuf_private.h (sbuf_t::get16i): fixed get16i return error.
416
4172012-10-29  Simson Garfinkel  <simsong@air2.local>
418
419	* src/Makefile.am: updated for be13_api directory
420
4212012-10-22  Simson Garfinkel  <simsong@air2.local>
422
423	* src/sbuf_private.h (sbuf_t::get16u): fixed typo in get16u().
424
4252012-10-14  user  <user@localhost.localdomain>
426
427	* src_win/Makefile.am (EXTRA_DIST): folded CONFIGURE_LIBRARIES into CONFIGURE_FC17.sh. Modified script so that tre gets built static under windows.
428
4292012-10-09  Simson Garfinkel  <simsong@air2.local>
430
431	* Makefile.am (release): removed AM_CFLAGS   = -Wall; AM_CPPFLAGS = -Wall ; AM_CXXFLAGS = -Wall as they didn't do anything
432
433
434
4352012-09-29  Simson Garfinkel  <simsong@air2.local>
436
437	* java_gui/BEViewer: added #!/bin/sh
438
4392012-09-20  Simson Garfinkel  <simsong@air2.local>
440
441	* configure.ac: version 1.3
442
443	* src/xml.cpp (xml::add_DFXML_build_environment): now checks for TRE version
444
4452012-09-16  Simson Garfinkel  <simsong@Mucha.local>
446
447	* src/xml.cpp (xml::add_DFXML_execution_environment): replaced call to gmtime with gmtime_r
448
4492012-09-13  Simson Garfinkel  <simsong@mncrnpsedu.local>
450
451	* configure.ac: fixed introduced bug with GET_DIAGNOSTIC_PRAGMA and exiv2
452
4532012-09-13  Simson Garfinkel  <simsong@air2.local>
454
455	* configure.ac (HAVE_ASM_CPUID): now choses -O3
456
4572012-09-13  Simson Garfinkel  <simsong@mncrnpsedu.local>
458
459	* src/feature_recorder.cpp (feature_recorder::write_tag): #ifdef'ed out write_tag debug point
460
4612012-09-12  Simson Garfinkel  <simsong@air2.local>
462
463	* src/bulk_extractor.cpp (phase1): removed trapping of zero-length pages. Yes, pages may be zero length. Now it just iterates through them. Who knows, some scanner may want to count them.
464
4652012-09-05  Simson Garfinkel  <simsong@air2>
466
467	* src/exif_entry.cpp (add_user_comment_entry): corrected potential overflow error
468
4692012-09-03  Simson Garfinkel  <simsong@air2.local>
470
471	* src/scan_net.cpp (class packet_carver): no longer reports bad checksums unless option is set. (option is not set by default and there is no way to set it)
472
4732012-09-02  Simson Garfinkel  <simsong@air2.local>
474
475	* src/scan_email.flex (Host): added a cast for both sides of the for loop.
476
477	* src/bulk_extractor.cpp (main): now reports overall performance in MBytes/sec and total number of email features found after each rune.
478
4792012-09-03  Simson Garfinkel  <simsong@imac3.local>
480
481	* src/xml.cpp (xml::add_DFXML_build_environment): added support for libtree in DFXML output.
482
4832012-09-02  Simson Garfinkel  <simsong@FC17>
484
485	* src/xml.cpp (add_rusage): now reports win32 usage information.
486
4872012-09-01  Simson Garfinkel  <simsong@localhost.localdomain>
488
489	* configure.ac: removed FlexLexer.h test, as we no longer use the c++ flex
490
4912012-08-27  Simson Garfinkel  <simsong@mncrnpsedu.local>
492
493	* src/image_process.cpp (image_process_open):  now gives error if directory specified but opt_recurse not set
494
495	* configure.ac: removed fts; imageprocess will now use dig.
496
4972012-08-25  Simson Garfinkel  <simsong@FC17>
498
499	* configure.ac: increased version number to 1.3b8
500
5012012-08-22  Simson Garfinkel  <simsong@imac3.local>
502
503	* src/bulk_extractor_i.h: phase2 now can flush report
504
505	* src/scan_email.flex (Host): no longer reports ethernet addresses 00:00:00:00:00:00 and 00:11:22:33:44:55
506
5072012-08-21  Simson Garfinkel  <simsong@imac3.local>
508
509	* src/bulk_extractor.cpp: pagesize moved back to 16MiB
510
5112012-08-21  Simson Garfinkel  <simsong@FC17>
512
513	* src/scan_winprefetch.cpp (p): added initializations for declared variables.
514
5152012-08-20  Simson Garfinkel  <simsong@FC17>
516
517	* configure.ac: removed ,,[AC_MSG_WARN([libewf_handle_get_utf8_header_value_notes not found, no E01 Header Notes])]) warning, becuase I'm really tired of seeing it. If they don't have the right libewf they won't get the notes.
518
5192012-08-12  Simson Garfinkel  <simsong@Mucha.local>
520
521	* src/Makefile.am (bulk_extractor_SOURCES): removed regex_list.h; it's now in beregex.h
522
523	* src/beregex.h: myregex.h renamed to beregex.h.
524	(class beregex): bulk_extractor regular expressions are now pure regular expressions, and not globs
525
5262012-08-11  Simson Garfinkel  <simsong@FC17>
527
528	* src/base64_forensic.cpp (b64_pton_forensic): added initializers to avoid warnings.
529
5302012-08-08  Simson Garfinkel  <simsong@imac3.local>
531
532	* src/scan_bulk.cpp (sd_autocorrelation_cosine_variance): removed alloca, since it is bad.
533
5342012-08-05  Simson Garfinkel  <simsong@Mucha.local>
535
536	* python/Makefile.am (EXTRA_DIST): cda2.py removed  cda_test.py removed
537
5382012-08-04  Simson Garfinkel  <simsong@mncrnpsedu.local>
539
540	* python/bulk_diff.py: minor changes to sort order and formatting; increased vesion number to 1.3
541
542	* src/word_and_context_list.cpp (word_and_context_list::readfile): changed printout
543
5442012-07-29  Simson Garfinkel  <simsong@FC17>
545
546	* src/utils.cpp (get_filesize): changed pread64() to ::pread64 to avoid some weird linking problem that never showed up before.
547
548	* src/cppmutex.h: added <string.h>, as strerror is defined there on Linux
549
550	* configure.ac (HAVE_ASM_CPUID): now only adds -D_FORTIFY_SOURCE=2 if we are compiling with the optimizer
551
552	* src/utils.cpp: renamed utils.c to be utils.cpp
553
554	* src/utils.c: removed support for PRIVATE_REGEX
555
556	* configure.ac (HAVE_REGEX_H): removed support for PRIVATE_REGEX
557
558	* src_win/CONFIGURE_FC17.sh (MPKGS): now adds mingw64-libgnurx and mingw32-libgnurx
559
5602012-07-29  Simson Garfinkel  <simsong@Mucha.local>
561
562	* src/exif_entry.cpp (exif_entry::get_full_name): made invalid ifd type return that as a message, rather than assert(0)
563
5642012-07-26  Simson Garfinkel  <simsong@ncr.nps.edu>
565
566	* src/sbuf.h: added #define SBUF_TRACK to disable reference tracking (causing crash in scan_net)
567
5682012-07-20  Simson Garfinkel  <simsong@ncr.nps.edu>
569
570	* src/histogram.cpp (HistogramMaker::add): now catches utf8->utf16 and utf16->utf8 conversion exceptions when FLAG_LOWERCASE or FLAG_NUMERIC is specified.
571
5722012-07-22  Simson Garfinkel  <simsong@ncr.nps.edu>
573
574	* src/scan_find.cpp (scan_find): find now makes a histogram
575
5762012-07-21  Simson Garfinkel  <simsong@Mucha.local>
577
578	* src/sbuf.h (class sbuf_t): made sbuf_t() empty allocator private.
579	(class sbuf_t): cleaned up code by adding some explicits, per "More Effective C++"
580
5812012-07-17  Simson Garfinkel  <simsong@Mucha.local>
582
583	* src/sbuf.cpp (sbuf_t::map_file): was not closing files when MMAP was not included.
584
585	* src/bulk_extractor.cpp (phase1): added debug:exception to report.xml
586
5872012-07-16  Simson Garfinkel  <simsong@Mucha.local>
588
589	* configure.ac: increased version to 1.3b5
590
591	* Makefile.am (EXTRA_DIST): changed from CONFIGURE_F17.sh to CONFIGURE_FC17.sh
592
5932012-07-14  Simson Garfinkel  <simsong@mncrnpsedu.local>
594
595	* src/bulk_extractor.cpp: default pagesize changed to 4MiB; default margin size changed to 4MiB.
596
597	* configure.ac: version number bumped to 1.3b4
598
5992012-07-12  Simson Garfinkel  <simsong@mncrnpsedu.local>
600
601	* src/threadpool.cpp (worker::do_work): added threadid to debug:work_end (why wasn't it there?)
602
603	* src/utils.c (gmtime_r): moved to utils.c
604	(localtime_r): moved to utils.c
605
6062012-07-07  Simson Garfinkel  <simsong@mncrnpsedu.local>
607
608	* src/scan_windirs.cpp (scan_ntfsdirs): scan_windirs now prints $NOFILENAME for no file name
609
6102012-07-05  Simson Garfinkel  <simsong@mncrnpsedu.local>
611
612	* src/histogram.cpp: added UTF-8 escaping to histogram file.
613
6142012-07-04  Simson Garfinkel  <simsong@mncrnpsedu.local>
615
616	* src/unicode_escape.cpp (validateOrEscapeUTF8): UTF-8 that expands to surrogate pairs is now also invalid UTF-8
617
618	* src/threadpool.h (class threadpool): added thread_status vector
619
620	* src/scan_json.cpp (scan_json): the json scanner now writes the MD5 hash of the feature as its context
621
6222012-07-01  Simson Garfinkel  <simsong@ncr.nps.edu>
623
624	* configure.ac: upgraded version number to 1.3b1-dev1
625
6262012-06-23  Simson Garfinkel  <simsong@mncrnpsedu.local>
627
628	* src/Makefile.am (bulk_extractor_SOURCES): added TSK3 includes
629
630	* COPYING: clarified copyright.
631
6322012-06-15  Simson Garfinkel  <simsong@ncr.nps.edu>
633
634	* src/scan_kml.cpp: Complete rewrite on KML scanner. Faster now.
635
636	* src/scan_accts.flex: modified regular expressions, replaced [^0-9] with [^0-9a-z] so that a CCN or phone number can't be immediately prefixed with a letter.
637
6382012-06-13  Simson Garfinkel  <simsong@mncrnpsedu.local>
639
640	* src/sbuf.h (class sbuf_t): fixed error when adding an size_t
641	offset to an sbuf where the offset was larger than the pagesize.
642
6432012-06-03  Simson Garfinkel  <simsong@Mucha.local>
644
645	* src/bulk_extractor_i.h (class scanner_params): added phase_t as an additional quantifier to all scanner_params
646
647	* src/scan_lift/linear_binary_svm.h (class LinearBinarySVM): added wt_max(), which is the maximum weights read.
648	(class LinearBinarySVM): changed classifier numbers from signed to unsigned
649
6502012-05-29  Simson Garfinkel  <simsong@mncrnpsedu.local>
651
652	* src/scan_lift/linear_binary_svm.cpp (LinearBinarySVM::clear): replaced REP(i,wt_capacity) weights[i]=0 with memset(weights,0,sizeof(weights[0])*wt_capacity);
653
654	* configure.ac: increased version to 1.3-devel_005
655
6562012-05-24  Bruce Allen  <bdallen@nps.edu>
657
658	* ../branches/: Added and then removed testing branch
659	../branches/1.2.x_Bruce, r9369 for testing scan_winprefetch on
660	Windows.
661
6622012-05-24  Bruce Allen  <bdallen@nps.edu>
663
664	* ../branches/: Added ../branches/ directory to stage work on older
665	revisions.  bulk_extractor V1.2.x is r8561.  bulk_extractor V1.2.0 is
666	r8193.  Removed ../tags/1.2.x and ../tags/1.2.0.
667
6682012-05-16  Simson Garfinkel  <simsong@Mucha.local>
669
670	* src/feature_recorder.h (class feature_recorder): banner_stamp is no longer static, as we now want to put the name in the feature file.
671
672	* src/scan_base16.flex (public): changed from case-insensitive to sensitive. Let's see if that gets rid of the junk.
673
6742012-05-08  Simson Garfinkel  <simsong@mncrnpsedu.local>
675
676	* src/sbuf.h (class sbuf_t): get32i changed to get32u (because that's what it is)
677
6782012-05-07  Simson Garfinkel  <simsong@mncrnpsedu.local>
679
680	* src/scan_zip.cpp (scan_zip): now only processes buffer in phase 1
681
682	* src/scan_wordlist.cpp (scan_wordlist): now only processes buffer in phase 1
683
684	* src/scan_winprefetch.cpp (scan_winprefetch): now only processes buffer in phase 1
685
686	* src/scan_vcard.cpp (scan_vcard): now only processes buffer in phase 1
687
688	* src/scan_pipe.cpp (scan_pipe): now only processes buffer in phase 1
689
690	* src/scan_pdf.cpp (scan_pdf): now only processes buffer in phase 1
691
692	* src/scan_net.cpp (scan_net): now only processes buffer in phase 1
693
694	* src/scan_json.cpp (scan_json): now only processes buffer in phase 1
695
696	* src/scan_hiberfile.cpp (scan_hiberfile): now only processes buffer in phase 1
697
698	* src/scan_gzip.cpp (scan_gzip): now only processes buffer in phase 1
699
700	* src/scan_gps.flex: now only processes buffer in phase 1
701
702	* src/scan_exiv2.cpp (scan_exiv2): now only processes buffer in phase 1
703
704	* src/scan_exif.cpp (scan_exif): now only processes buffer in phase 1
705
706	* src/scan_email.flex (Host): now only processes buffer in phase 1
707
708	* src/scan_base64.cpp (scan_base64): now only processes buffer in phase 1
709
710	* src/scan_ascii85.cpp (scan_ascii84): now only processes buffer in phase 1
711
712	* src/scan_aes.cpp (scan_aes): now only processes buffer in phase 1
713
714	* src/scan_accts.flex (dob): now only processes scanner in phase1
715
7162012-04-27  Simson Garfinkel  <simsong@Mucha.local>
717
718	* src/bulk_extractor.cpp (validate_fn): usage now goes to stdout.
719
7202012-04-25  Simson Garfinkel  <simsong@Mucha.local>
721
722	* src/scan_email.flex (Host): ethernet "MAC" suppressed there is a : on either side
723
724	* src/scan_accts.cpp (scan_accts): added author information.
725
7262012-04-22  Simson Garfinkel  <simsong@ncr.nps.edu>
727
728	* src/bulk_extractor.cpp (usage): usage now sorts scanners
729
7302012-04-21  Simson Garfinkel  <simsong@imac3.home>
731
732	* src/scan_exif.cpp: renamed from scan_be_exif.cpp
733
734	* src/scan_exiv2.cpp: renamed from scan_exif.cpp
735
7362012-04-20  Simson Garfinkel  <slgarfin@submit-0.local>
737
738	* src/bulk_extractor.cpp: scan_be_exif now enabled by default.
739
7402012-04-20  Simson Garfinkel  <simsong@imac3.home>
741
742	* configure.ac: incremented to 1.3-devel_003
743
744	* src/scan_exif.cpp (scan_exif): disabled by default now.
745
746	* src/scan_be_exif.cpp (scan_be_exif): enabled by default.
747
7482012-03-27  Simson Garfinkel  <simsong@mncrnpsedu.local>
749
750	* src/scan_base64.cpp: changed startup code to be called in Phase 1. (Why didn't I do that before?)
751
752	* src/scan_winprefetch.cpp (class PrefetchDecoder): now stops if string has fewewr than 8 characters
753
7542012-03-27  Simson Garfinkel  <simsong@imac3.home>
755
756	* src/cppmutex.h: added stdlib.h
757
758	* src/scan_headers.flex: updated scanner for years in 201x
759
7602012-03-26  Simson Garfinkel  <simsong@imac3.home>
761
762	* configure.ac: increased devel to 002
763
764	* src/scan_zip.cpp (scan_zip): changed sanity check so that compr_size and uncompr_size need to be <0, not <=0.
765
7662012-03-19  Simson Garfinkel  <simsong@imac3.home>
767
768	* src/scan_accts.flex: YEAR now accepts dates in years 2010-2009
769
7702012-03-12  Simson Garfinkel  <simsong@mncrnpsedu.local>
771
772	* src/bulk_extractor_i.h (class scanner_params): moved #include <tr1/unordered_map> to bulk_extractor_i.h
773
7742012-03-03  Simson Garfinkel  <simsong@imac3.home>
775
776	* src/scan_winprefetch.cpp (PrefetchDecoder::identifyBuf): patches provided by Ketil Froyn and Luis Garcia fixes behavior under for Windows 7 Super Prefetch.
777
7782012-02-22  Simson Garfinkel  <simsong@Mucha.local>
779
780	* configure.ac: changed revision to 1.3-devel_001
781
7822012-03-09  Simson Garfinkel  <simsong@Mucha.local>
783
784	* src/threadpool.cpp (threadpool::win32_init): created for administrative simplification.
785
786	* src/threadpool.h (class cppmutex): moved cppmutex to this file.
787
788	* src/feature_recorder.h: replaced #include "cppmutex.h" with #include "threadpool.h"
789
7902012-03-06  Simson Garfinkel  <simsong@Mucha.local>
791
792	* src/xml.cpp (xml::close): removed dtd making
793
7942012-03-05  Simson Garfinkel  <simsong@Mucha.local>
795
796	* src/cppmutex.h: added cppmutex.h
797
798	* src/feature_recorder.h (class feature_recorder): replaced pthread_mutex_t with cppmutex, a C++ cover class for mutexes.
799
800	* src/bulk_extractor.cpp (phase1): added #ifdef HAVE_LOCALTIME_R to cover systems that do not have localtime_r.
801
802	* src/aftimer.h (aftimer::eta_time): changed from 'when' to 't' for consistency.
803
8042012-02-21  Simson Garfinkel  <simsong@Mucha.local>
805
806	* src/scan_aes.cpp (scan_aes): added check -- if sp.buf.bufsize<WINDOW_SIZE, don't scan.
807
8082012-02-15  Simson Garfinkel  <simsong@arlington-8-30-72-63.ncr.vt.edu>
809
810	* python/Makefile.am (EXTRA_DIST): version 1.2.0 released.
811
8122012-02-11  Simson Garfinkel  <simsong@imac3.home>
813
814	* src/regex_list.h (class regex_list): removed globbing
815
8162012-02-05  Simson Garfinkel  <simsong@ncr.nps.edu>
817
818	* src/scan_zip.cpp (scan_zip): now detects decmopression bomb attack and changes mode of operation so that buffers are hashed prior to being decompressed and the same buffer will only be hashed just one.
819
8202012-02-04  Simson Garfinkel  <simsong@ncr.nps.edu>
821
822	* src/feature_recorder_set.cpp (scan_zip): alert_recorder is now in feature_recorder_set.
823
8242012-02-03  Simson Garfinkel  <simsong@Mucha.local>
825
826	* src/feature_recorder.cpp (feature_recorder::banner_stamp): banner_stamp moved to feature_recorder
827
828	* src/bulk_extractor.h: opt_banner_file moved to feature_recorder
829
830	* src/bulk_extractor.cpp (main): outdir now an instance variable
831
832	* src/feature_recorder_set.h (class feature_recorder_set): outdir now an instance variable
833
834	* src/feature_recorder_set.cpp (feature_recorder_set::feature_recorder_set): outdir now an instance variable
835
836	* src/feature_recorder.h (class feature_recorder): outdir now an instance variables
837
838	* src/feature_recorder.cpp (feature_recorder::feature_recorder): outdir now an instance variable
839
840	* src/scan_net.cpp (class packet_carver): outdir now read from feature recorder.
841
842	* src/scan_wordlist.cpp (wordlist_split_and_dedup): outdir now read from feature recorder.
843
844	* src/MANY - outdir is no longer global.
845
8462012-02-01  Simson Garfinkel  <simsong@ncr.nps.edu>
847
848	* src/bulk_extractor.cpp (main): added -G to specify page size
849
8502012-01-29  Simson Garfinkel  <simsong@imac3.home>
851
852	* src/xml.h (class xml): added svn_version to DFXML output.
853
854	* src/scan_net.cpp: now carries its own ipv6 implementation.
855
8562012-01-27  Simson Garfinkel  <simsong@Mucha.local>
857
858	* configure.ac: advanced version number to 1.2.0RC1
859	GNUC_HAS_DIAGNOSTIC_PRAGMA now set in configure.ac
860
861	* src/bulk_extractor.cpp (main): the -s (context-sensitive stop
862	list) option is removed. The -r (alert list) and -w (stop list)
863	will now take a list of regular expressions, a list of globs or
864	feature files.
865
866	* src/feature_recorder.cpp (feature_recorder::make_histogram): removed get_line_offset(); no longer needed
867
8682012-01-20  Simson Garfinkel  <simsong@ncr.nps.edu>
869
870	* src/scan_email.flex: eliminated an increment in LexerInput()
871	validate_email now inline.
872	find_domain_in_email now inline.
873	find_domain_in_url now inline
874
8752012-01-18  Simson Garfinkel  <simsong@imac3.home>
876
877	* src/scan_aes.cpp (scan_aes): scan_aes now runs in 15% the time of the original version. It is now, therefore, enabled by default.
878
8792012-01-16  Simson Garfinkel  <simsong@ncr.nps.edu>
880
881	* src/feature_recorder_set.cpp (feature_recorder_set::dump_stats): seconds scanners in states changed to scanner_times
882
8832012-01-13  Simson Garfinkel  <simsong@ncr.nps.edu>
884
885	* src/bulk_extractor.h: removed gnuexif
886
887	* src/bulk_extractor.cpp (scanners_builtin): removed gnuexif info.
888
889	* src/scan_gnuexif.cpp: removed file.
890
891	* src/xml.cpp (xml::add_DFXML_build_environment): removed gnuexif support.
892
893	* configure.ac (HAVE_LIBEWF_H): removed gnuexif support.
894
8952011-12-29  Simson Garfinkel  <simsong@Mucha.local>
896
897	* configure.ac: removed check for libpcap because we don't actually use it.
898
899	* src/scan_net.cpp: removed #include for libpcap because we didn't actually use it.
900
901	* Makefile.am (EXTRA_DIST): added m4/ax_pthread.m4 to EXTRA_DIST.
902
9032011-12-25  Simson Garfinkel  <simsong@Mucha.local>
904
905	* src/scan_exif.cpp (scan_exif): removed md5hex_4k since the code was already in sbuf_t.
906
9072011-12-20  Simson Garfinkel  <simsong@arlington-8-30-79-4.ncr.vt.edu>
908
909	* src/sbuf.h (class sbuf_t): whoops. should have been assert(bufsize>=pagesize), not vice-versa
910	(class pos0_t): stoi64() moved to pos0_t.
911
9122011-12-18  Simson Garfinkel  <simsong@imac3.home>
913
914	* src/sbuf.h (class sbuf_t): When we create a new sbuf with the + operator, we need to also add +i to the pos0.
915	(class sbuf_t): + now asserts that bufsize cannot be smaller than pagesize.
916
917	* src/scan_exif.cpp (md5hex_4k): Whoops. Should be hashing min of the pagesize and 4096, not max.
918
9192011-12-14  Simson Garfinkel  <simsong@imac3.home>
920
921	* src/xml.cpp: now works with older and newer versions of exiv2
922
9232011-12-01  Simson Garfinkel  <simsong@imac3.home>
924
925	* src/histogram.cpp (HistogramMaker::add): looks for \000 in utf16 strings converted to utf8 and erases them (We were getting them in histograms)
926
9272011-11-26  Simson Garfinkel  <simsong@ncr.nps.edu>
928
929	* src/scan_wordlist.cpp (wordlist_split_and_dedup): no longer adds zero-length words to wordlist
930
931	* src/feature_recorder.cpp (feature_recorder::make_histogram): histograms no longer banner stamp or version stamp if there is no corresponding feature.
932
9332011-11-25  Simson Garfinkel  <simsong@imac3.home>
934
935	* src/scan_net.cpp (pcap_writepkt): changed file extension from .dmp to .pcap for packets
936
9372011-11-23  Simson Garfinkel  <simsong@imac3.home>
938
939	* src/bulk_extractor.cpp (phase1): added -Y  start-end notation in addition to -Y start notation.
940	* src/bulk_extractor.cpp (phase1): added -A offset to add an offset.
941
942	* src/feature_recorder.cpp (feature_recorder::write): added support for opt_offset_add to allow output to be shifted (for parallelizing across multiple systems.)
943
944	* src/sbuf.h (class pos0_t): removed snprintf; now uses stringstream.
945	(operator +): changed most functions to take const & rather than a new object.
946
947	* src/feature_recorder.cpp (feature_recorder::write): now always writes out the second \t for the context, even if there is no context.
948
9492011-11-21  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
950
951	* configure.ac: advanced to beta9
952	added AC_PROG_CC AC_PROG_CXX and AC_PROG_INSTALL
953
954	* src/Makefile.am (.flex.o): FlexLexer.h moved to MyFlexLexer.h to support CentOS where an out-of-date flex is installed.
955
9562011-11-16  Simson Garfinkel  <simsong@FC15>
957
958	* src/bulk_extractor.cpp (process_path): fixed handling of /h and /r with -p option
959
9602011-11-12  Simson Garfinkel  <simsong@imac3.home>
961
962	* configure.ac: removed pcap.h tests becuase its not needed
963	increased to beta4
964
9652011-11-05  Simson Garfinkel  <simsong@ncr.nps.edu>
966
967	* src/scan_email.flex (Host): now only writes domains>0.
968
969	* src/scan_zip.cpp (scan_zip): zip components with no name are now given <NONAME>
970
971	* src/scan_winprefetch.cpp (scan_winprefetch): modified to only write out prefect files with non-zero exec name
972
973	* src/scan_net.cpp (scan_net): significant update --- I don't need libpcap to do packet carving!
974
9752011-11-09  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
976
977	* configure.ac: updated to beta3
978
9792011-11-08  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
980
981	* src/image_process.cpp (sbuf_alloc): added a new iterator method it->pos0() returns the pos0 of the sbuf to be allocated by it->sbuf_alloc()
982	(sbuf_alloc): changed calloc to malloc for performance
983	(process_aff::sbuf_alloc): now thorws bad_alloc if an exception is encountered
984	(process_ewf::sbuf_alloc): now thorws bad_alloc
985	(process_raw::sbuf_alloc): now thorws bad_alloc
986
9872011-11-07  Simson Garfinkel  <simsong@alphonse-mucha>
988
989	* src/bulk_extractor.cpp: removed scanner_enabled().
990
991	* src/Makefile.am (bulk_extractor_SOURCES): removed checkpoint.h
992
993	* src/bulk_extractor.cpp (main): checkpoint removed; restarting now done through dfxml file.
994	(phase1): do_phase1 renamed phase1; just_phase1 renamed do_phase1. phase1 and phase2 flags removed. Now automatic.
995	(main): -2 option removed
996
9972011-11-04  Simson Garfinkel  <simsong@arlington-8-30-77-137.ncr.vt.edu>
998
999	* src/image_process_fts.cpp (process_dir::process_dir): added E01 detection.
1000
10012011-11-04  Simson Garfinkel  <simsong@t.nitroba.org>
1002
1003	* src/scan_email.flex (Host): fixed crashing bug on context extraction in MAKESTRING6.
1004
1005	* configure.ac: fixed conforming/non-conforming test for strchr
1006
10072011-11-03  Simson Garfinkel  <simsong@imac3.home>
1008
1009	* src/bulk_extractor.cpp: added HTTP_EOL which is \r\n in Unix and Mac and
1010
10112011-10-19  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
1012
1013	* src/histogram.cpp (HistogramMaker::looks_like_utf16): now recognizes both little-endian and big-endian UTF-16 strings and properly converts them.
1014
1015	* regress.py (analyze): now enables all scanners including wordlist
1016
1017	* python/bulk_extractor.py (BulkReport.open): openfile renamed open
1018
10192011-10-18  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
1020
1021	* src/bulk_extractor.cpp (process_find_file): now ignores lines that begin with #
1022
10232011-10-17  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
1024
1025	* src/scan_winprefetch.cpp (P): changed utf16_string to wstring (which is the standard).
1026
1027	* src/scan_accts.flex: replaced unicode16_to_string with utf16to8
1028
10292011-10-16  Simson Garfinkel  <simsong@alphonse-mucha.home>
1030
1031	* configure.ac: increased version to 1.1.0_alpha3
1032
10332011-10-15  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
1034
1035	* src/checkpoint.h (load): named and val no longer shadow values
1036
10372011-10-11  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
1038
1039	* src/histogram.h (>): big surprise: it turns out that you should not subclass STL containers! Who knew? Well, a lot of people, apparently:
1040	http://stackoverflow.com/questions/4353203/thou-shalt-not-inherit-from-stdvector
1041	http://stackoverflow.com/questions/245475/how-do-i-create-a-generic-stdvector-destructor
1042	http://stackoverflow.com/questions/3601431/base-class-class-stdvector-has-a-non-virtual-destructor
1043	http://stackoverflow.com/questions/1647298/why-dont-stl-containers-have-virtual-destructors
1044
1045	* src/threadpool.cpp (threadpool): modified so that master and worker are now references, rather than pointers.
1046
10472011-10-11  Simson Garfinkel  <simsong@alphonse-mucha>
1048
1049	* configure.ac (HAVE_PTHREAD): added warnings for C++
1050
1051	* src/base64_forensic.cpp: cleaned up prototypes.
1052
10532011-10-07  Simson Garfinkel  <simsong@alphonse-mucha.home>
1054
1055	* src/scan_aes.cpp (valid_aes256_schedule): updated off-by-one problem.
1056	(valid_aes192_schedule): updated off-by-one problem.
1057	(valid_aes128_schedule): updated off-by-one problem.
1058
10592011-09-29  Simson Garfinkel  <simsong@alphonse-mucha.home>
1060
1061	* configure.ac: updated version to 1.0.7; don't want anyone using 1.0.5
1062
1063	* python/identify_filenames.py: updated for 0-fill files
1064
1065	* configure.ac: updated version to 1.0.6; don't want anyone using 1.0.5
1066
10672011-09-29  System Administrator  <root@arlington-8-30-77-137.ncr.vt.edu>
1068
1069	* src/sbuf.h (class sbuf_t): whoops! Fixed bug in find() where it was running off the end.
1070
1071	* src/bulk_extractor.cpp (do_phase1): -Y (opt_offst_start) was not implemented. Now it is.
1072
10732011-09-29  Simson Garfinkel  <simsong@arlington-8-30-77-137.ncr.vt.edu>
1074
1075	* src/scan_email.flex: removed #include utils.h; now uses private ISHEXNUMBER implementation. All to avoid including config.h
1076
1077	* src/Makefile.am (EXTRA_DIST): removed flexpp.pl
1078	(bulk_extractor_SOURCES): broke feature_recorder_set into its own file
1079
1080	* configure.ac: config header renamed from config.h to src/config.h to deal with flex compile issue
1081
10822011-09-29  Simson Garfinkel  <simsong@alphonse-mucha.home>
1083
1084	* configure.ac: increased version number to 1.0.5
1085
1086	* src/scan_pdf.cpp (scan_pdf): individual searches for beginstream and endstream replaced with find commands.
1087
1088	* src/bulk_extractor.cpp (main): -3 option changed to -2, since there is no longer a phase 3.
1089	(main): -Z option added to zap output directory.
1090
10912011-09-28  Simson Garfinkel  <simsong@arlington-8-30-77-137.ncr.vt.edu>
1092
1093	* src/sbuf.h (class sbuf_t): added find for strings.
1094
1095	* src/scan_pdf.cpp (scan_pdf): modified to not call recursively if no data is found.
1096
10972011-09-28  Simson Garfinkel  <simsong@ncr.nps.edu>
1098
1099	* src/bulk_extractor.cpp (process_find_file): no longer prints added find expressions.
1100	(main): prints package version on start up.
1101
11022011-09-28  Simson Garfinkel  <simsong@alphonse-mucha.home>
1103
1104	* src/feature_recorder.cpp (unquote_string): fixed termination bug. Function no longer modifies its argument. I really should stop doing that.
1105
11062011-09-27  Simson Garfinkel  <simsong@alphonse-mucha.home>
1107
1108	* configure.ac: updated to 1.0.4
1109
1110	* src/scan_pdf.cpp: added termination code to handle with infinite loop in image 0005.aff
1111
11122011-09-26  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
1113
1114	* configure.ac: increased version number to 1.0.3.
1115
1116	* configure.ac: Fixed CPPFLAG issue
1117
11182011-09-25  Simson Garfinkel  <simsong@alphonse-mucha.home>
1119
1120	* src/feature_recorder.cpp (feature_recorder_set): added mechanisms for recording number of calls
1121
11222011-09-22  Simson Garfinkel  <simsong@FC15>
1123
1124	* src/md5.h (md5_t): added some #include files for md5_t class.
1125
11262011-09-19  Simson Garfinkel  <simsong@dhcp184-49-148-159.whfp.phl.wayport.net>
1127
1128	* configure.ac: changed #include on strchr test from #include <cstring> to #include <string.h>
1129
11302011-09-18  Simson Garfinkel  <simsong@imac3.home>
1131
1132	* src/md5.h (class md5_t): bulk_extractor now has its own md5 implementation and no longer relies on openssl.
1133
1134	* src/bulk_extractor_i.h (class scanner_info): histograms_defs_t has been renamed histograms_t.
1135
11362011-09-13  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
1137
1138	* configure.ac: turns out that adding -I/opt/usr/include to CPPFLAGS was not causing the directory to be added on compiles. This caused bulk_extractor to crash when compiled on MacOS X 10.7 when the OpenSSL library in /opt was incompatiable with the include files in /usr/. Now -I flags are added to CFLAGS, CXXFLAGS, and CPPFLAGS. Also the plugins are now not compiled as part of bulk_extractor, so we can remove bulk_extractor's usage of libtool
1139
11402011-08-22  Simson Garfinkel  <simsong@Alphonse-Mucha.cust.hotspot.t-mobile.com>
1141
1142	* src/scan_email.flex (Host): domains.txt now includes domains from email.txt and url.txt
1143
11442011-08-22  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
1145
1146	* src/feature_recorder.h (class feature_recorder): DISALBED renamed FLAG_DISABLED.  FLAG_NOCONTEXT created.
1147
1148	* src/feature_recorder.cpp (feature_recorder::write): write now takes a std::string &, instead of a buf*, as prelude to eliminating FILE *.
1149
11502011-08-21  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
1151
1152	* src/scan_json.cpp: added json carver
1153
11542011-08-17  Simson Garfinkel  <simsong@imac3.local>
1155
1156	* src/scan_email.flex (Host): added finding of ethernet addresses in ASCII
1157	(Host): added histograms for microsoft-live and facebook-id
1158
11592011-08-14  Simson Garfinkel  <simsong@t.nitroba.org>
1160
1161	* src/bulk_extractor.cpp (usage): To remove the OpenSSL dependency, the wordlist is now deduplciated with a red/black tree, and not with a bloom filter. This may require the use of a 64-bit computer in some cases.
1162
11632011-07-31  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
1164
1165	* README: added information to the README.
1166
11672011-07-25  Simson Garfinkel  <simsong@imac3.home>
1168
1169	* python/identify_filenames.py (featuredb.add): fixed off-by-one erro
1170
11712011-07-24  Simson Garfinkel  <simsong@imac3.home>
1172
1173	* src/feature_recorder.cpp: feature_recorder now escapes features and context with \000 (octal) notation.
1174
11752011-07-17  Simson Garfinkel  <simsong@imac3.home>
1176
1177	* configure.ac: increased version number to 1.0.1
1178
11792011-06-27  Simson Garfinkel  <simsong@163.sub-75-195-180.myvzw.com>
1180
1181	* src/scan_exif.cpp (scan_exif): increased exif_gulp_size from 64K to 1MiB
1182
11832011-06-20  Simson L. Garfinkel  <simsong@ps14412.dreamhostps.com>
1184
1185	* Makefile.am (ACLOCAL_AMFLAGS): Added -ldl because dlopen must now be explicitly logged in on new versions of Linux.
1186
11872011-06-17  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
1188
1189	* src/bulk_extractor.cpp (main): sp.fs is now set on phase 2 in plug-in
1190
11912011-06-14  Simson Garfinkel  <simsong@imac3.home>
1192
1193	* configure.ac: updated to version 1.0.0
1194
1195	* Makefile.am (ACLOCAL_AMFLAGS): fixed longstanding -I m4 error in Makefile.am; (should have been -Im4)
1196
1197	* man/bulk_extractor.1: updated man page.
1198
11992011-06-14  Simson Garfinkel  <simsong@alphonse-mucha.local.tld>
1200
1201	* src/bulk_extractor_i.h (class scanner_info): added author, description, and other fields to scanner_info.
1202
12032011-06-13  Simson Garfinkel  <simsong@imac3.home>
1204
1205	* src/bulk_extractor.cpp (process_extract): removed crash protection; it was causing incorrect errors when the system wasn't crashing.
1206
12072011-06-13  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
1208
1209	* src/scan_exif.cpp (md5hex_4k): fixed CRASHING BUG present in 0.7.25 (and other versions) in which the first 4k of the buffer was being hashed, even when the buffer was less than 4K in size.
1210
12112011-06-08  Simson L. Garfinkel  <simsong@ps14412.dreamhostps.com>
1212
1213	* src/feature_recorder.h: added support for flags, for disabled recorders, for ALERT_ONLY.
1214
1215	* src/bulk_extractor.cpp (process_path_printer): now passes sp.fs through to next sp when calling self recursively.
1216
1217
12182011-06-01  Simson Garfinkel  <simsong@alphonse-mucha>
1219
1220	* src/scan_pdf.cpp (scan_pdf): corrected cc[1]=='\n' to cc[7]==']\n';
1221
12222011-05-24  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
1223
1224	* configure.ac: increased version to 0.8.0
1225
1226	* src/scan_gps.flex: added with support for Garmin <trkpt> records
1227
12282011-05-14  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
1229
1230	* src/bulk_extractor.cpp: bulk_extractor now automatically computes the MD5 of any disk image that it reads and reports the MD5 in the report.xml file. If there is a bad block or break in the data the MD5 is not reported.
1231
12322011-05-11  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
1233
1234	* src/scan_wordlist.cpp: changed max_outfile_size back to 100M
1235
12362011-05-09  Simson Garfinkel  <simsong@75.sub-75-208-78.myvzw.com>
1237
1238	* configure.ac (HAVE_EXIV2): changed all LIBS to LDFLAGS; wonder why they stopped working? Perhaps I'm now using an older version of autoconf/automake?
1239	increased version counter to 0.7.24
1240
12412011-05-07  Simson Garfinkel  <simsong@imac3.home>
1242
1243	* configure.ac: increased version number to 0.7.23
1244
1245	* src/image_process.h: fixed iterator comparision and initialization problems.
1246
1247	* configure.ac: cleaned up error message when libexiv2-dev is not installed.
1248
12492011-05-07  Simson Garfinkel  <simsong@alphonse-mucha.home>
1250
1251	* src/bulk_extractor.cpp (main): now only creates histograms if there is an actual feature recorder.
1252
12532011-05-06  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
1254
1255	* configure.ac: increased version number to 0.7.21
1256
1257	* src/bulk_extractor.cpp (main): added explicit exit if error count is exceeded.
1258
1259	* src/image_process.cpp (process_dir::sbuf_alloc): now can set EOF flag in iterator if reaches end of file.
1260
12612011-05-05  Simson Garfinkel  <simsong@alphonse-mucha.home>
1262
1263	* src/utils.c (get_filesize): significantly cleaner handling of systems with 4-byte off_t that don't have pread64.
1264
12652011-05-05  Simson Garfinkel  <simsong@imac3.home>
1266
1267	* src/image_process.cpp (process_dir::process_dir): fts is incompatiable with -D_FILE_OFFSET_BITS==64 on some systems.
1268	(process_raw::pread): removed lseek; now only uses ::pread.
1269
1270	* configure.ac: fixed -DUTC_OFFSET bug
1271
12722011-05-04  Simson L. Garfinkel  <simsong@ps14412.dreamhostps.com>
1273
1274	* src/image_process.cpp (end): removed using_raw_offset and using_page_counter as they were redundent.
1275
12762011-05-01  Simson Garfinkel  <simsong@localhost6.localdomain6>
1277
1278	* src/bulk_extractor.cpp (main): hostname is now always reported.
1279
1280	* src/image_process.h: cleaned up include files. removed wincrypt.
1281
12822011-04-23  Simson Garfinkel  <simsong@imac3.home>
1283
1284	* src/bulk_extractor.cpp (load_scanner_file): dlopen() is now conditional
1285
1286	* src/image_process.h: removed wincrypt.h
1287
1288	* src/sbuf.cpp: removed wincrypt.h
1289
1290	* src/support.cpp (lowerstr): commented out wincrypt.h
1291
12922011-04-20  Simson Garfinkel  <simsong@213.sub-75-243-6.myvzw.com>
1293
1294	* src/bulk_extractor.cpp (main): outer tag changed from <bulk_extractor> to <dfxml>
1295
12962011-04-15  Simson Garfinkel  <simsong@Magneto.local>
1297
1298	* src/bulk_extractor.cpp (scanners_builtin): removed scan_bulk, as it is now a plug_in
1299	(usage): loadable plugins implemented
1300
1301	* src/feature_recorder.h: made pthread mandatory
1302
1303	* src/bulk_extractor.cpp: made pthread mandatory
1304
13052011-04-13  Simson Garfinkel  <simsong@Magneto.local>
1306
1307	* src/support.cpp: changed #ifdef WIN to appropriate #ifdefs
1308
1309	* src/scan_email.flex: #ifdef WIN32 and #include malloc removed, as we are now using C++ objects.
1310
1311	* src/bulk_extractor.h: largefile defines moved to image_process.h
1312
13132011-03-24  Simson Garfinkel  <simsong@imac3.home>
1314
1315	* configure.ac: updated version number
1316
13172011-03-23  Simson Garfinkel  <simsong@imac3.home>
1318
1319	* src/bulk_extractor.cpp (usage): fixed usage.
1320
13212011-03-20  Simson Garfinkel  <simsong@imac3.home>
1322
1323	* configure.ac: added -D_FORTIFY_SOURCE=2 to configure script.
1324	increased version number to 0.7.17
1325
13262011-01-29  User User  <user@ubuntu>
1327
1328	* src/image_process.cpp: added #include <string.h> for sterrror on Linux
1329	added #include <algorithm> to get transform()
1330
13312011-03-19  Simson Garfinkel  <simsong@imac3.home>
1332
1333	* Makefile.am (EXTRA_DIST): removed FlexLexer.h from libs.
1334
13352011-03-16  Simson Garfinkel  <simsong@imac3.local>
1336
1337	* src/scan_wordlist.cpp (wordlist_split_and_dedup): moved to scan_wordlist.cpp
1338
1339	* src/bulk_extractor.cpp (set): significant rewrite to enable plug-in system.
1340
1341	* src/feature_recorder.cpp (feature_recorder::write_buf): all feature recorders are now context recorders. If you don't want to record context, don't call write_buf.
1342
13432011-03-07  Simson Garfinkel  <simsong@imac3.home>
1344
1345	* configure.ac: increased version to 0.7.16
1346
13472011-03-03  simsong  <simsong@domex.nps.edu>
1348
1349	* src/bulk_extractor.cpp (process_path_printer): fixed handling of http options for compound paths
1350
13512011-03-01  Simson Garfinkel  <simsong@Silver-Surfer.local>
1352
1353	* configure.ac: incremented to 0.7.15
1354
1355	* src/image_process.cpp (process_ewf::pread): better handling of libewf not present, and of errno not being declared in the scope (which seems weird)
1356
13572011-02-26  Simson Garfinkel  <simsong@imac3.home>
1358
1359	* src/scan_zip.cpp (scan_zip): no longer carves zero-length names or with compr_size or uncompr_size less than 0.
1360	(scan_zip):
1361
13622011-02-26  Simson Garfinkel  <simsong@imac3.local>
1363
1364	* src/bulk_extractor.cpp (process_path_printer): now handles byte-range requested larger than the 16MB page.
1365
13662011-02-25  Simson Garfinkel  <simsong@imac3.home>
1367
1368	* src/bulk_extractor.cpp (main): fixed error message
1369
13702011-02-24  Simson Garfinkel  <simsong@imac3.home>
1371
1372	* src/bulk_extractor.cpp (main): restart logic now checks to make
1373	sure that the restart directory is valid.
1374
13752011-02-23  Simson Garfinkel  <simsong@imac3.local>
1376
1377	* src/bulk_extractor.cpp (usage): now suppresses scanner usage for scanners that have no usage.
1378
13792011-02-23  Simson Garfinkel  <simsong@m-ern-nps-edu.local>
1380
1381	* configure.ac: version updated to 0.7.14
1382
1383	* src/bulk_extractor.cpp (main): better status reporting at end of scan.
1384
13852011-02-23  Simson Garfinkel  <simsong@imac3.local>
1386
1387	* src/scan_find.cpp (scan_find): made a bit faster and defended against 0-length patterns.
1388
13892011-02-22  Simson Garfinkel  <simsong@imac3.home>
1390
1391	* src/bulk_extractor.cpp (process_extract): now has alerts.txt.
1392
1393	* src/scan_accts.flex: now finds bitlocker recovery keys in text and UTF-16 and writes them to alerts.txt
1394
13952011-02-22  Simson Garfinkel  <simsong@216.sub-75-197-79.myvzw.com>
1396
1397	* src/bulk_extractor.cpp (main): scan_find no longer appears in usage (it was confusing people.)
1398
13992011-02-22  Simson Garfinkel  <simsong@m-ern-nps-edu.local>
1400
1401	* configure.ac: increased version counter to 0.7.13
1402
1403	* src/bulk_extractor.cpp (process_path_printer): fixed http handling for Content-Range specifications at end of a compressed region.
1404
14052011-02-18  Simson Garfinkel  <simsong@imac3.local>
1406
1407	* configure.ac: updated to version 0.7.12
1408
1409	* src/bulk_extractor.cpp (process_path): removed final "." on raw printing
1410	(process_path_printer): fixed http handling.
1411
14122011-02-15  Simson Garfinkel  <simsong@imac3.home>
1413
1414	* src/image_process.h: added #include sbuf.h, <vector>
1415	(class process_raw): removed process_with_callback.
1416
1417	* configure.ac: incremented version counter
1418
1419	* src/bulk_extractor.cpp (main): added -C switch to set context window size.
1420
14212011-02-13  Simson Garfinkel  <simsong@imac3.home>
1422
1423	* configure.ac: version number increased to 0.7.10
1424
1425	* src/bulk_extractor.cpp (process_path): options now reset after each HTTP GET
1426	(process_path_printer): Overcomes off by one on print_len.
1427
14282011-02-07  Simson Garfinkel  <simsong@imac3.local>
1429
1430	* src/bulk_extractor.cpp (process_path_printer): updated http mode to termiante lines \r\n and not\n.
1431	(remove_cr): removed \r at the end of input HTTP lines
1432
14332011-02-06  Simson Garfinkel  <simsong@imac3.home>
1434
1435	* src/bulk_extractor.cpp (process_path_printer): added full support for HTTP interface for GUI
1436
14372011-01-31  Simson Garfinkel  <simsong@imac3.local>
1438
1439	* configure.ac: version increased to 0.7.9
1440
1441	* configure.ac: added python tools to distribution
1442
1443
14442011-01-27  Simson Garfinkel  <simsong@Silver-Surfer.local>
1445
1446	* src/bulk_extractor.cpp (main): -R removed. Restart is now automatic.
1447	(main): Completely rewrote the restart logic so that now you can just hit up-arrow and restart.
1448
14492011-01-24  Simson Garfinkel  <simsong@Silver-Surfer.local>
1450
1451	* src/bulk_extractor.cpp (usage): removed -k option.
1452
1453	* man/bulk_extractor.1: significant updates to man page to make it correct.
1454
14552011-01-23  Simson Garfinkel  <simsong@Silver-Surfer.local>
1456
1457	* src/Makefile.am (bulk_SCANNERS): added scan_aes.cpp
1458
14592011-01-23  Simson Garfinkel  <simsong@imac3.local>
1460
1461	* configure.ac: increased version counter to 0.7.7
1462
14632011-01-22  Simson Garfinkel  <simsong@imac3.local>
1464
1465	* src/scan_find.cpp (scan_find): fixed scanner; it actually works now.
1466
1467	* src/bulk_extractor.cpp (set_scanner_enabled): removed     feature_recorder_control since child scanners are no longer run.
1468	(main): cleaned up code for set_scanner_enabled()
1469
14702011-01-21  Simson Garfinkel  <simsong@imac3.home>
1471
1472	* src/image_process.h (class process_ewf): removed process_with_callback
1473
1474	* src/bulk_extractor.cpp (main): removed report.txt. Removed -P and -T.
1475
1476	* src/feature_recorder.h (feature_recorder *>): removed num_slots and this_slot, mandating that we will only support -P threading.
1477
14782011-01-18  Simson Garfinkel  <simsong@imac3.home>
1479
1480	* Makefile.am (RELEASE_USER): added win32/bulk_extractor_dlls.zip to distribution
1481
1482	* src/feature_recorder.cpp (feature_recorder::carve): mkdir=>MKDIR for compilation on windows
1483
14842011-01-17  Simson Garfinkel  <slgarfin@submit-0.local>
1485
1486	* src/image_process.cpp (open): opening up invalid AFF files now produces error
1487
1488	* src/scan_hiberfile.cpp (scan_hiberfile): modified so it won't call itself recursively.
1489	(scan_hiberfile):
1490
14912011-01-16  simsong  <simsong@domex.nps.edu>
1492
1493	* src/scan_hiberfile.cpp (scan_hiberfile): error in memory allocation found and fixed.
1494
14952011-01-15  Simson Garfinkel  <simsong@silver-surfer.home>
1496
1497	* src/feature_recorder.cpp (feature_recorder::carve): KML carving works
1498
14992011-01-12  Simson Garfinkel  <simsong@imac3.home>
1500
1501	* configure.ac: version number incremented to 0.7.6
1502
1503	* src/scan_pdf.cpp (pdf_extract_text): rewritten to avoid the allocation of strings.
1504
15052011-01-11  Simson Garfinkel  <simsong@imac3.home>
1506
1507	* configure.ac: version number increased to 0.7.5
1508
1509	* src/bulk_extractor.h (class scanner_params): moved print_raw flag into the constructor
1510
15112011-01-10  Simson Garfinkel  <slgarfin@compute-1-33.local>
1512
1513	* src/bulk_extractor.cpp (numCPU): now picks up number of cores on RHEL systems where only _SC_NPROCESSORS_ONLN is defined.
1514
15152011-01-07  Simson Garfinkel  <simsong@imac3.local>
1516
1517	* src/bulk_extractor.cpp (main): now turns off opt_pthread if -S is specified.
1518
15192011-01-06  Simson Garfinkel  <simsong@imac3.home>
1520
1521	* configure.ac: increased verison to 0.7.4
1522
1523	* src/scan_accts.flex: added more context to the email scanner. No more false positives from PDF files.
1524
1525	* src/feature_recorder.cpp (feature_recorder::write): write with context now calls write.
1526
1527	* src/feature_recorder.cpp (feature_recorder::write): Created a new mutex for redlist file.
1528
15292011-01-04  Simson Garfinkel  <simsong@imac3.local>
1530
1531	* configure.ac: increased version number to 0.7.3
1532
15332011-01-04  Simson Garfinkel  <slgarfin@submit-0.local>
1534
1535	* src/xml.h: fixed overloading problem
1536
1537	* configure.ac: updated to use _lseeki64
1538
1539	* src/utils.c: changed to use _lseeki64 instead of lseek64
1540
15412011-01-04  Simson Garfinkel  <simsong@Silver-Surfer.local>
1542
1543	* src/image_process.cpp: added #define HAVE_STL for new AFFLIB
1544
15452010-12-31  Simson Garfinkel  <simsong@imac3.local>
1546
1547	* configure.ac: increased version number to 0.7.1
1548
1549	* src/Makefile.am (bulk_SCANNERS): removed scan_net.h; it's now part of scan_net.cpp
1550
1551	* src/bulk_extractor.cpp: changed opt_margin to 1MiB after testing.
1552
1553	* src/scan_wordlist.cpp (scan_wordlist): scan to the end of the page
1554
1555	* src/scan_net.cpp (scan_net): only scan to the end of the page
1556
1557	* src/scan_bulk.cpp (scan_bulk): only scan to the end of the page
1558
1559	* src/scan_find.cpp (scan_find): only scan to the end of the page
1560
1561	* src/scan_hiberfile.cpp (scan_hiberfile): only scans to end of the page.
1562
1563	* src/scan_pdf.cpp (scan_pdf): only scans to end of page.
1564
1565	* src/scan_base64.cpp (scan_base64): only scans to end of page, not end of buffer.
1566
1567	* src/scan_gzip.cpp (scan_gzip): only scans to end of the page, not end of the buffer
1568
1569	* src/scan_zip.cpp (scan_zip): only scans to end of page, not end of buffer (ignores zipfiles starting in margin)
1570
1571	* src/bulk_extractor.cpp: increased pagesize to 16MiB and Margin
1572	to 4MiB after testing revealed that larger margins found
1573	significantly more features.
1574
15752010-12-22  Simson Garfinkel  <simsong@Silver-Surfer.local>
1576
1577	* src/utils.h: cleaned up __BEGIN_DECLS and __END_DECLS
1578
1579	* src/utils.c: moved atoi64 to here.
1580
1581	* src/sbuf.cpp: moreve dto an independent file
1582
1583	* src/sbuf.h: moved to an independent file.
1584
15852010-12-21  Simson Garfinkel  <simsong@Silver-Surfer.local>
1586
1587	* src/scan_hiberfile.cpp (scan_hiberfile): if max_uncompr_size<4096, set it to 4096. (A full page.)
1588
1589	* src/bulk_extractor.cpp (histogram_files): added ip, tcp and ether to the list of histogram_files.
1590
15912010-12-20  Simson Garfinkel  <slgarfin@submit-0.local>
1592
1593	* src/image_process.cpp (open): err message now prints name of libewf that can't be opened.
1594
15952010-12-18  Simson Garfinkel  <simsong@imac3.local>
1596
1597	* src/scan_*.cpp (scan_zip):  now all free their decompression buf before returning in case of rcb.returnAfterFound.
1598
1599	* src/bulk_extractor.cpp (process_path_printer): only prints process_path_printer in debug mode.
1600
1601	* src/scan_*.cpp (scan_wordlist): sp.fs==0 on -p traversal, so sp.feature_names!=0 now used to indicate no scanning necessary.
1602
1603	* src/scan_zip.cpp (scan_zip): added name to XML <zipinfo> structure; I can't believe it wasn't there!
1604	(scan_zip): added crc32 to zip structure
1605	(scan_zip): added extra_field_len to structure.
1606
1607	* src/bulk_extractor.cpp (usage): announced EXIV2 prominently in usage
1608	(main): added hostname reporting
1609
1610	* configure.ac: increased version number to 0.7.0
1611
1612	* src/bulk_extractor.cpp (main): set POSIX threads to be the default.
1613
16142010-12-17  Simson Garfinkel  <simsong@imac3.home>
1615
1616	* src/image_process.cpp (process_ewf::open): open() now returns -1 if it fails, rather than 0
1617	(process_ewf::open): Now states if E01 is not compiled in.
1618
1619	* src/bulk_extractor.cpp: removed call to increase number of file descriptors with setrlimit, as it is no longer needed
1620
1621	* configure.ac: removed check for setrlimit and limits.h
1622
16232010-12-16  Simson Garfinkel  <simsong@247.sub-69-99-140.myvzw.com>
1624
1625	* src/bulk_extractor.h (class scanner_params): added print_raw field.
1626
1627	* src/bulk_extractor.cpp (process_path): added /r support for printing raw.
1628
16292010-12-14  Simson Garfinkel  <simsong@m.ern.nps.edu>
1630
1631	* src/support.cpp: added #include <stdarg.h>
1632
16332010-12-13  Simson Garfinkel  <simsong@m.ern.nps.edu>
1634
1635	* configure.ac: increased version number to 0.6.7.
1636
1637	* src/bulk_extractor.cpp: added /c to the feature files we wanted
1638	to histogram because they were all the context-enabled feature
1639	files.
1640
1641	* src/bulk_extractor.cpp: re-enabled histogram files
1642
1643
1644
16452010-12-13  Simson Garfinkel  <simsong@Silver-Surfer.local>
1646
1647	* src/bulk_extractor.cpp (process_extract): re-worked
1648	scanner_params so be passed in, not constructed.
1649
16502010-12-12  Simson Garfinkel  <simsong@silver-surfer.home>
1651
1652	* configure.ac: increased version counter to 0.6.6
1653
1654	* src/bulk_extractor.cpp (process_extract): depth processing moved
1655	from feature_recorder_set to scanner_params, since POSIX threading
1656	uses a single fs structure for all threads.
1657
16582010-12-10  Simson Garfinkel  <simsong@imac3.home>
1659
1660	* src/support.cpp: added windows defs
1661
16622010-12-10  Simson Garfinkel  <simsong@silver-surfer.home>
1663
1664	* configure.ac: increased version counter to 0.6.5.
1665
1666	* src/bulk_extractor.cpp: changed default from -P to -T
1667
1668	* src/bulk_extractor.h: documented that putting /c on a feature name causes the feature file to be context enabled.
1669
1670	* configure.ac: increased version counter to 0.6.4
1671
16722010-12-08  Simson Garfinkel  <simsong@imac3.home>
1673
1674	* src/bulk_extractor.cpp (scanners): cleaned up multi threading a bit more
1675
1676	* src/scan_pdf.cpp (scan_pdf_text): fixed PDF handling
1677
16782010-12-06  Simson Garfinkel  <simsong@imac3.home>
1679
1680	* src/bulk_extractor.cpp (usage): detects number of CPUs and enables -P by default.
1681	(restart): changed this_num to -1  for recombining
1682
16832010-12-06  Simson Garfinkel  <simsong@imac3.local>
1684
1685	* src/Makefile.am (bulk_SCANNERS): added scan_net.h
1686
1687	* src/scan_net.cpp (testSockAddrIn): added HAVE_SOCKADDR_IN_SIN_LEN check
1688
1689	* configure.ac (HAVE_SOCKADDR_IN): added HAVE_SOCKADDR_IN_SIN_LEN test
1690
16912010-12-06  sansforensics  <sansforensics@SIFT-Workstation>
1692
1693	* src/image_process.cpp (pread): updated to use libewf_read_random when old libewf is present
1694
16952010-12-05  Simson Garfinkel  <simsong@imac3.local>
1696
1697	* configure.ac: increased version number to 0.6.2
1698
1699	* configure.ac: fixed test because uname -a works on Msys but not on darwin
1700
1701
17022010-12-05  Robert Beverly <rbeverly@nps.edu>
1703
1704	* configure.ac: check for netinet/ip.h
1705
1706	* src/scan_tcp.cpp: renamed to scan_net.cpp as it's more general than tcp
1707
1708        * src/scan_net.cpp: added Ethernet, sockaddr_in carving
1709
1710 2010-12-05  Robert Beverly <rbeverly@nps.edu>
1711
1712	* src/image_process.cpp: fix macros for EWF
1713
17142010-12-05  Simson Garfinkel  <simsong@imac3.local>
1715
1716	* configure.ac: updated to 0.6.1
1717
17182010-12-04  Simson L. Garfinkel  <simsong@ps14412.dreamhostps.com>
1719
1720	* src/utils.c (get_filesize): updated for Linux.
1721
1722	* src/bulk_extractor.cpp: updated resource limits to work properly on Linux.
1723
1724	* configure.ac (HAVE_EXIV2): updated to make work in Linux.
1725
17262010-12-04  Simson Garfinkel  <simsong@imac3.home>
1727
1728	* src/utils.c (get_filesize): changed all u_int64_t to uint64_t.
1729
1730	* configure.ac: added /usr/local/ssl to the list of searched directories
1731
17322010-12-03  Simson Garfinkel  <simsong@imac3.home>
1733
1734	* src/feature_recorder.cpp (feature_recorder::write): Implemented margin. removed recent_offsets hack. Not needed with margin
1735	(feature_recorder::write): removed debugging code
1736
17372010-12-02  Simson Garfinkel  <simsong@Silver-Surfer.local>
1738
1739	* src/bulk_extractor.cpp (process_extract): added "once" to recursion control block so that printer only prints 4096 bytes (and doesn't keep printing other areas).
1740
17412010-12-01  Simson Garfinkel  <simsong@m.ern.nps.edu>
1742
1743	* src/scan_pdf.cpp (scan_pdf): ignore inflate() return and reprocess if zs.total_out>0;
1744
17452010-11-30  Simson Garfinkel  <simsong@m.ern.nps.edu>
1746
1747	* src/bulk_extractor.cpp (process_extract): suppression of identical pages removed.
1748
17492010-11-28  Simson Garfinkel  <simsong@Silver-Surfer.local>
1750
1751	* src/bulk_extractor.cpp (main): opt_margin can now be specified by the user.
1752
1753	* configure.ac: version number incremented to 0.6.0.
1754
1755	* src/scan_find.cpp (scan_find): added.
1756
1757	* src/myregex.h (class myregex): made search threadsafe
1758
1759	* src/scan_exif.cpp (md5hex_4k): moved to scan_exif.cpp.
1760
1761	* src/feature_recorder.h: removed Bloom from feature_recorder. Now
1762	it is only used for deduplication of the wordlist.
1763
17642010-11-26  Simson Garfinkel  <simsong@Silver-Surfer.local>
1765
1766	* src/feature_recorder.cpp (feature_recorder::write): removed
1767	"unique" feature from feature recorder. uniqueness is now done in
1768	post-processing (only wordlist employs uniqueness.)
1769
17702010-11-25  Simson Garfinkel  <simsong@223.sub-75-222-6.myvzw.com>
1771
1772	* src/bulk_extractor.cpp (main): path processing now works with the -p option.
1773
17742010-11-24  Simson Garfinkel  <simsong@silver-surfer.home>
1775
1776	* src/bulk_extractor.h (struct recursion_control_block): added so
1777	that recursive scanners can callback to a different caller than
1778	process_extract. This allows the process_path_printer to decode a path.
1779
1780	* src/scan_zip.cpp (scan_zip): changed compr_size and uncompr_size
1781	from u_int to int in an attempt to fix the crashing problem.  I
1782	suspect that they are being caused by improper sign extension
1783	under Windows.
1784
1785	* (scan_zip): fixed bug where a name extending beyond the end of the
1786	zip region might cause a crash.
1787
17882010-11-22  Simson Garfinkel  <simsong@imac3.local>
1789
1790	* configure.ac: increased version counter to 0.5.8
1791
17922010-11-21  Simson Garfinkel  <simsong@imac3.local>
1793
1794	* src/scan_zip.cpp (scan_zip): changed r==0 to r>=0 so that it will process partially decompressed stream
1795
17962010-11-20  Simson Garfinkel  <simsong@imac3.local>
1797
1798	* src/feature_recorder.h (feature_recorder *>): removed histogram_all; histograms now specified in bulk_extractor.
1799
1800	* src/bulk_extractor.cpp (scanners): added scan_pdf to remove the text from PDF files.
1801
18022010-11-03  Simson Garfinkel  <simsong@imac3.home>
1803
1804	* src/image_process.cpp (process_raw::process): now handles multi-volume VMDK files as well
1805
18062010-11-01  Simson Garfinkel  <simsong@m.ern.nps.edu>
1807
1808	* src/feature_recorder.h (feature_recorder *>): getname() now
1809	generates an error if the feature file doesn't exist. We don't
1810	want to have a file created in just one high-numbered thread
1811
1812	* src/checkpoint.h (class checkpoint): added debug option.
1813
18142010-10-31  Simson Garfinkel  <simsong@imac3.home>
1815
1816	* configure.ac: updated version number to 0.5.5
1817
1818	* src/scan_zip.cpp (scan_zip): now scans on any decompression that results in partial results.
1819
18202010-10-29  Simson Garfinkel  <simsong@imac3.local>
1821
1822	* src/bulk_extractor.cpp (main): added quotes to progname and outdir when run under windows.
1823
18242010-10-27  Simson Garfinkel  <simsong@imac3.home>
1825
1826	* src/bulk_extractor.cpp (seen_sbuf): renamed seen_page to seen_sbuf and process_page to process_sbuf
1827
18282010-10-27  Simson Garfinkel  <simsong@imac3.local>
1829
1830	* src/image_process.cpp (process_raw::process): big bug - wasn't freeing data allocated in reading raw
1831
18322010-10-19  Simson Garfinkel  <simsong@Silver-Surfer.local>
1833
1834	* src/bulk_extractor.h: removed a lot of legacy junk.
1835
18362010-10-15  Simson Garfinkel  <simsong@imac3.home>
1837
1838	* src/bulk_extractor.cpp (itos): itos now takes 64bit number to avoid 32-bit overflow.
1839
18402010-10-15  Simson Garfinkel  <simsong@imac3.local>
1841
1842	* Patches applied to add support for additional credit card numbers.
1843
18442010-10-13  Simson Garfinkel  <simsong@Silver-Surfer.local>
1845
1846	* src/image_process.cpp (process_ewf::open_ewf): removed routine that print the libewf filenames on globbing
1847
18482010-10-12  Simson Garfinkel  <simsong@Silver-Surfer.local>
1849
1850	* src/bulk_extractor.cpp: word_min changed to 6.
1851
1852	* removed "margin" feature.
1853
1854	* src/feature_recorder.h (class feature_recorder): pos0 is now a type, pos0_t, which has more info
1855
1856	* src/feature_recorder.h (class feature_recorder): changed order of write_buf arguments.
1857
18582010-10-01  Simson Garfinkel  <simsong@fc13>
1859
1860	* src/image_process.cpp: moved get_filesize to image_process.cpp
1861
18622010-09-27  simsong  <simsong@domex.nps.edu>
1863
1864	* src/image_process.cpp (process_ewf::process): now works with older libewf
1865
18662010-09-22  Simson Garfinkel  <simsong@Silver-Surfer.local>
1867
1868	* src/scan_exif.cpp (scan_exif): removed offset and sector from exif XML. It broke the stop list.
1869
18702010-09-13  Simson Garfinkel  <simsong@Silver-Surfer.local>
1871
1872	* src/image_process.cpp (image_process::seen_page): previously seen_page only ran if we had MD5. Now it runs all the time and we need to have a local MD5 implementation.
1873
18742010-08-26  Simson Garfinkel  <simsong@Silver-Surfer.local>
1875
1876	* src/feature_recorder.h (feature_recorder *>): removed outdir from all of the prototypes; it's never changed, so it only needs to be in one place.
1877
1878	* src/bulk_extractor.cpp (main): significant changes in handling
1879	of scanners. Now we enable or disable scanners (not feature
1880	recorders), and disabled scanners do not run (rather than having
1881	them run but not record their results.) This will improve speed significantly.
1882
18832010-08-25  Simson Garfinkel  <simsong@Silver-Surfer.local>
1884
1885	* src/bulk_extractor.cpp (main): wordlist disabled by default.
1886
18872010-08-04  Simson Garfinkel  <simsong@host-241-211.pubnet.pdx.edu>
1888
1889	* src/feature_recorder.cpp (feature_recorder::write): removes invalid text from feature
1890
18912010-08-02  Simson Garfinkel  <simsong@host-241-211.pubnet.pdx.edu>
1892
1893	* configure.ac: increased the version to 0.3.5
1894
1895	* src/feature_recorder.cpp: now uses atoi64() instead of atoi() for recombining feature files, to avoid negative offsets.
1896
18972010-07-13  Simson Garfinkel  <simsong@Silver-Surfer.local>
1898
1899	* src/bulk_extractor.cpp (main): now prints version number with -V.
1900
19012010-07-02  Simson L. Garfinkel  <simsong@imac2.home>
1902
1903	* src/image_process.cpp: now handles split-raw files. Just specify filename.000 or filename.001 as the first file, and it will search for and use them all.
1904
19052010-06-26  Simson Garfinkel  <simsong@Silver-Surfer.local>
1906
1907	* src/image_process.cpp (process): created with code from bulk_extractor.cpp.
1908
1909	* src/image_process.h (image_process_): created with code from bulk_extractor.cpp
1910
1911	* src/bulk_extractor.cpp (main): now using nsrl_print_usage print_usage into
1912
19132010-06-22  Simson Garfinkel  <simsong@Silver-Surfer.local>
1914
1915	* removed ringbuffer.h
1916
19172010-06-04  Simson L. Garfinkel  <simsong@imac2.local>
1918
1919	* src/scan_accts.flex: fixed regular expression scan_accts.flex:REGEX7 to allow:
1920	  - no space between (800)555-1212
1921	  - periods to terminate (800)555-1212.
1922
1923
19242010-06-03  Simson Garfinkel  <simsong@m.ern.nps.edu>
1925
1926	* src/bulk_extractor.cpp (process_aff::process): fixed bug where multi-threading did not work with AFF files.
1927
19282010-06-02  Simson Garfinkel  <simsong@Silver-Surfer.local>
1929
1930	* src/scan_email.flex (Host): fixed bug in which domains.txt had the offset of the original email address, not the domain itself.
1931
19322010-06-01  Simson L. Garfinkel  <simsong@imac2.local>
1933
1934	* src/utils.c (get_filesize): fixed search feature to operate properly with raw partitions with mingw, which apparenly handles << differently than on Unix.
1935
19362010-06-01  Simson Garfinkel  <simsong@m.ern.nps.edu>
1937
1938	* src/bulk_extractor.cpp (main): added _ to url_searches.txt and url_services.txt
1939	(process_aff::process): fixed handling of AFF files.
1940
19412010-05-24  Simson L. Garfinkel  <simsong@imac2.local>
1942
1943	* configure.ac: increased version number to 0.3.2
1944
1945	* src/scan_email.flex (Host): fixed crashing bug on some numeric IP addresses.
1946
19472010-05-22  Simson L. Garfinkel  <simsong@imac2.local>
1948
1949	* configure.ac: increased version number to 0.3.1
1950
19512010-05-17  Simson Garfinkel  <simsong@t>
1952
1953	* src/scan_accts.flex: Credit Card number detector now requirest 15-digit Amex numbers or 16-digit Visas.
1954
19552010-05-16  Simson Garfinkel  <simsong@t>
1956
1957	* src/scan_tcp.cpp: modified scan_tcp.cpp to work with any header style.
1958
19592010-05-13  Simson Garfinkel  <simsong@Silver-Surfer.local>
1960
1961	* Added recognition of phone numbers and fedex numbers.
1962
19632010-05-01  Simson Garfinkel  <simsong@Silver-Surfer.local>
1964
1965	* released version 0.3.0
1966
19672010-04-25  Simson Garfinkel  <simsong@Silver-Surfer.local>
1968
1969	* configure.ac: version increased to 0.2.1
1970
19712010-04-24  Simson Garfinkel  <simsong@Silver-Surfer.local>
1972
1973	* src/bulk_extractor.cpp (found_feature): fixed a bug in which COOKIES caused crash in CCN handler.
1974
19752010-04-12  Simson Garfinkel  <simsong@Silver-Surfer.local>
1976
1977
1978	* configure.ac: version increased to 0.1.0
1979	* src/bulk_reporter.cpp (bulk_reporter): created file; simplified histogram creation.
1980
19812010-04-08  Simson Garfinkel  <simsong@46.sub-75-211-31.myvzw.com>
1982
1983	* src/scan_wordlist.cpp: added support for extracting wordlist.
1984	* src/bulk_extractor.cpp (main): removed verbose flag.
1985	* Added explicit support for E01 files.
1986	* implemented two-phase process with lots of easy-to-use temp files.
1987
19882009-10-05  Simson Garfinkel  <simsong@Silver-Surver.local>
1989
1990	* configure.ac: version counter bumped to 0.0.13
1991
1992	* java/Makefile.am (CONFIG_CLEAN_FILES): extensive work to make "make dist", "make distcheck" and "make distclean" work.
1993
1994	* java/BinaryLexer.flex: made TokenObject an embedded class inside BinaryLexer to avoid compilation order issues in autoconf "make distcheck"
1995
19962009-10-01  Simson L. Garfinkel  <simsong@imac2.local>
1997
1998	* src/bloom.c: updated for Win32
1999
20002008-11-15  Simson Garfinkel  <simsong@Silver-Surfer.lan>
2001
2002	* src/bulk_extractor.cpp (feature_found): removed -a option; now use -m for low memory
2003
20042008-10-07  Simson Garfinkel  <simsong@Silver-Surfer.local>
2005
2006	* configure.ac: incremented version number to 0.0.8.
2007
2008	* src/scan_email.fp (Cookie): added emaillex_destroy() to scan_email.fp. This was the memory leak!
2009
20102008-08-29  Simson Garfinkel  <simsong@m.ern.nps.edu>
2011
2012	* src/bulk_extractor.cpp (main): added -s option to specify starting page number.
2013
2014	Will no longer overwrite existing output files.
2015