# $Id: Changelog,v 1.3 92/11/03 13:34:39 genek Exp $

The following is the official list of changes between revisions:

first official release
1.0:					 Tue Nov  3 02:35:17 EST 1992
    reorganized distribution into heirarchy. 
    changed pathnames (./Tests -> ./tests, ./Databases -> ./databases).
    tripwire now creates ./databases directory if it doesn't already exist
	when -initialize.
    finished TODO list.

ended beta testing period
0.92 beta 6:				 Tue Oct 20 14:55:03 EST 1992
    attempting to fix macro recursion problem.  (thanks Shabbir Safdar)
    fixed 'make test' variable assignment problem.  (thanks Tom Gutnick)
    fixed lstat()/SVR3 problem.  (thanks Simon Leinen)

0.92 beta 5:				 Sun Oct 18 19:33:19 EST 1992
    integrated substantial source code cleanup patch.
	(thanks Ken McDonell)
    added types.c to glean struct stat info.
    added -i #|all flags, to specify which signatures to skip.
	this feature was added to make running Tripwire on an hourly
	basis reasonable.  i.e., on hourly runs, check only CRC's.
	On daily runs, check md5.  On weekly runs, check all signatures.
	(thanks John Rouillard)
    fixed usage message, and -D and -U error handling.
    added "-initialise" for people who don't speak American.  :-)
	(thanks Michael Barnett)
    got signature object file dependencies right, finally.

0.92 beta 4: 				 Fri Oct 16 18:32:36 EST 1992
    the day of patch-infamy.
    a one-line fix to stop tripwire from saying all filenames are
	not absolutely qualified.  *sigh*

0.92 beta 3:				 Fri Oct 16 18:02:59 EST 1992
    fixed Makefile rule.  (thanks Rich Salz)
    fixed duplicate yacc token.  (thanks Rich Salz)
    fixed qualified filename bug.  (thanks Ken McDonnel)
    removed htonl(), ntohl() routines in utils.c.
    added -D, -U flags to do command-line defines and undefines.
	(thanks John Rouillard)
    added more checks for null lists in list.c.
    @@ifdef and @@ifhost support logical expressions:
	@@ifdef (x || y && (z1 && (z2))) is now legal in tw.config grammar.
	@@ifhost (x || y && (z1 && (z2))) is now legal in tw.config grammar.
    added line continuation with '\' in tw.config grammar.
    added @@echo for testing.  maybe we'll keep it?
    default ignore flags and templates now ignore signatures 3-9.
    added [()|&] as characters that need to be escaped in database.
    fixed filename_escape_expand().

0.92 beta 2: 				Fri Oct 16 12:18:28 EST 1992
    finally fixed up '=' pruning.  (thanks David Wiseman)
    added Porting database.
    added transient file handling in config.parse.c.
    fixed comment handling in config.parse.c.
    merged gazillions of platform dependencies.  let's hope everything
	still works.
    reorganized Makefile so it's easier to spot your own platform, I hope.
    make Tripwire compiles bearable for systems w/o BSD filesystems.
    various semantic and lint cleanups.
    reorganized phase 3 presenation.  more verbose, hopefully clearer.
	(thanks Christopher Samuel)
    added user-contributed tripwire.config files.
    purged >14 character filenames:
	database.build.c 	-> dbase.build.c
	tripwire.config		-> tw.config
	tripwire.database_@	-> tw.db_@
					^^-- room for 9-character hostname
    added COPS interface in ./contrib.  (thanks Shabbir Safdar)
    added "-f dbasefile" option to specify alternate dbase file.
	(allows "-f -" to read from stdin.) 
    added "-c configfile" option to specify alternate config file
	(allows "-c -" to read from stdin.) 
    added code to escape filenames starting with '#'.
    added tw.config preprocessor directives:
	@@ifhost
	@@define x VAR
	@@undef x
	@@ifdef x
	@@endif
	@@include
	...and 
	    variable substition (@@x --(turns into)--> VAR)
    added "-E" or "-preprocess" to print out processed tw.config
	file.  (ala "cc -E" or "cpp".)
    added incremental database. (-update entry)
    md5 fix for Cray. (thanks John Cristy)
    AIX fix for stat structure.  (thanks Shabbir Safdar)
    config_interpolate() now caches vectors, instead recomputing every
	time.
    tripwire now makes backup of files when doing "-update".
    played with profiler.  halved the number of calls strlen().  
	(I wonder if we can do the same with strcpy().)
    made backup file 14-character length friendly for SVR3 people.
    so, now tripwire is completely 14-character filename friendly, right?
    implemented tw.config parsing routines in lex and yacc
    added @@dbaseversion directive to specify what format the tw_db files
	use.  this is to prevent reading in unknown database files.
    completed filename_escape_expand() to handle all sorts of escape
	sequences (escaped octals, cooked-style escaped characters,
	and all of tripwire's special characters [e.g., '\@']).
    added warning of null characters in filename.
    created consistent escaping and de-escaping of characters to and 
	from database.
    sped up character escaping routines by using all table-lookups.
    moved database format strings into the header file.
    list generation sped up (1500 files in 20 seconds on Sequent).
    added tw.config.5 manual page, which describes the tw.config
	syntax and preprocessor directives.
    added @@else directive to tw.config parser.
    changed signature routines to return number in base-64.
	this has the unfortunate effect of making all the signatures look
	like pathnames, but it does make signature storage 6 bytes instead
	of 8 bytes.
    added support for 10 signatures.
    fixed tripwire -update.  now skips directory entries when regenerating
	database.
    added CRC16 and CRC32 to signature routine repository.
    added "sigs.h" to make signature routines more general.
    added MD2 and MD4.
    changed 'make test' so no files are clobbered.
    fixed '-d dbasefile' bug.
    
    

0.9beta8: 				Thu Sep 17 19:06:18 EST 1992
    eliminated use of 'sort' and 'diff', using list routines instead
	(fixed tripwire confusion in parsing '=' additions from diff
	which generated zillions of bogus changed file entries.)
    this speeds up Phase 3 considerably, since we don't sort!
    sped up linked-list/hash routines (HASHSZ increased by 100x)
    removed diff.sorted.c
    (thanks to the five people who tested this:  David Wiseman, John
	Sutton, Lance Bailey, John Rouillard, David Smith).

0.9beta7: 				Thu Sep 10 20:45:02 EST 1992
    fixed list initialization routine.
    fixed Makefile, README, manual page.
    fixed memory leak problems (spotted by Purify).
    fixed default ignore-masking handling bug.
	(didn't convert to internal form first)
    fixed ignore-mask parsing.  (David Smith)
    added banner to Tripwire databases on creation.
    taught tripwire to say what version it is.
    sped up most commonly called routines (config_interpolate() and
	slash_count()).  Thanks Rich Salz!

0.9beta6:				Wed Sep 09 21:04:35 EST 1992
    First version of Tripwire to see the light of day.

