This file is no longer used.

See git log at https://code.google.com/p/diskscrub/

2008-11-14 Jim Garlick <garlick@llnl.gov>

	* : tag scrub-2.1

	* src/sig.c : Fix a bug where uninitialized malloc buffer
	was written to first block of file/device when writing signature.
	That buffer could contain some data from the original file.
	This bug was introduced with scrub 1.8 on 2006-08-16.

	* tests/t14 : Test for above regression.

	* tests/pat.c : Utility program for above test.

2008-06-03 Jim Garlick <garlick@llnl.gov>

	* htdocs/index.html : Add SF logo per policy.

2008-05-30 Jim Garlick <garlick@llnl.gov>

	* : tag scrub-2.0

	* src/scrub.c : Drop warning about zero length resource fork to
	address failing tests on darwin.

	* test/t10-marklar.exp : Add test for checking disk size on darwin.

2008-05-28 Jim Garlick <garlick@llnl.gov>

	* scrub.spec : Set --program-prefix to prevent AIX from adding one.

2008-05-27 Jim Garlick <garlick@llnl.gov>

	* test/pad.c, src/scrub.c, src/getsize.c : Eliminate warnings on
	HP-UX 11.

2008-05-26 Jim Garlick <garlick@llnl.gov>

	* src/fillfile.[ch] : Get rid of growfile(). Add ENOSPC handling
	to fillfile().  Elminiate is_char() and instead call filetype().

	* src/scrub.c : Re-implement scrub -X to create many ulimit-size
	files in a directory rather than one big file. 
	
	* src/progress.[ch] : Fill remaining progress-space with 'x' if
	progress_destroy() is called with < 100% complete.

	* src/util.[ch] : Move bool definition, filetype(), and blkalign()
	from scrub.c.  Add an UP|DOWN parameter to blkalign.
	Split filetype() return value SPECIAL into BLOCK and CHAR.

2008-05-25 Jim Garlick <garlick@llnl.gov>

	* src/scrub.1 : Add longopts to option description.

	* src/scrub.c : Add longopts to usage message.

	* src/scrub.c : Add support for Gutmann pattern sequence.

	* src/pattern.[ch] : Factor out pattern handling stuff from scrub.c.

	* test/t11 : New, verify Gutmann sequence.

	* src/scrub.c : Allow -s on a regular file for testing.

	* test/t12 : New, ensure -s grows a file to the correct size.

2008-05-21 Jim Garlick <garlick@llnl.gov>

	* : tag scrub-1.10

	* test/* : Add test infrastructure.

	* src/scrub.c : Add --test-sparse option.

	* src/* : Replace perror() with strerror(errno).

	* src/fillfile.c : Fix a bug where file argument to -X had to exist.

2008-05-20 Jim Garlick <garlick@llnl.gov>

	* : Integrated automake/autoconf.

	* htdocs/* : Added small web page.

	* src/scrub.c : Put main() at the top and add getopt_long() support.

	* src/*.c : Large file support through autoconf.

2007-09-26 Jim Garlick <garlick@llnl.gov>

	* scrub.c, scrub.1 : Added -v option [suggested by Daniel Hoit].

2007-03-30 Jim Garlick <garlick@llnl.gov>

	* fillfile.c : Open with O_SYNC instead of calling fsync() 
	periodically on non-char-special files.

2007-03-20 Jim Garlick <garlick@llnl.gov>

	* : tag scrub-1.9

	* progress.c : Fflush stdout in the batch case so progress
	can still be assessed by looking at log file [reported by Jim Harm].

2007-01-28 Jim Garlick <garlick@llnl.gov>

	* getsize.c : Handle > 2TB device size in Linux.

2007-01-18 Jim Garlick <garlick@llnl.gov>

	* scrub.c, scrub.1 : Changed default blocksize to 1M [Graham Smith].

	* getsize.c : Cleanup [Graham Smith].

2007-01-05 Jim Garlick <garlick@llnl.gov>

	* scrub.c : Add -r option to unlink file after scrub [Sean Morrison].

2006-12-28 Jim Garlick <garlick@llnl.gov>

	* getsize.c : Added getsize() implementation for hpux [Graham Smith].

2006-11-27 Jim Garlick <garlick@llnl.gov>

	* scrub.c : Refuse to scrub a zero length file (avoids
	assertion failure in progress.c) [Markus Schatzl].

2006-11-22 Jim Garlick <garlick@llnl.gov>

	* scrub.c : Change sprintf's to snprintf [Markus Schatzl].

2006-10-18 Jim Garlick <garlick@llnl.gov>

	* : add __hpux to large file ifdef

	* getsize.c : use sscanf("%llu") instead of strtoull for hpux
	portability.

2006-08-17 Jim Garlick <garlick@llnl.gov>

	* getsize.c: Fixed logic error in main (only affects test prog).

2006-08-16 Jim Garlick <garlick@llnl.gov>

	* NEWS: Renamed README.

	* scrub.c: Added -S option to skip writing scrub signature.

	* : tag scrub-1.8

2006-08-07 Jim Garlick <garlick@llnl.gov>

	* getsize.c: Added str2int().

	* scrub.c: Call str2int() to parse blocksize arg.

2006-08-04 Jim Garlick <garlick@llnl.gov>

	* scrub.spec: Minor change to support building RPM's on AIX.

	* : make error reporting more verbose all around.

2006-08-03 Jim Garlick <garlick@llnl.gov>

	* Makefile: Add CC, CFLAGS, LDADD for AIX compilers.

	* sig.c: Fix typo.

	* pad.c, sig.c: Add large file includes.

2006-07-28 Jim Garlick <garlick@llnl.gov>

	* sig.[ch]: Read/write even blocksize multiples for AIX.

2006-07-23 Jim Garlick <garlick@llnl.gov>

	* scrub.c: Emit a warning if off_t is not 64 bits.

	* scrub.c, filldentry.[ch]: Use int instead of char for pattern
	  array elements, and encode VERIFY and RANDOM in high bits to 
	  allow for all possible byte values in a pattern, 

	* sig.[ch]: New.

	* scrub.c: Refuse to scrub a previously scrubbed file, unless 
	  the -f option is specified.

	* getsize.c: Clean up size2str(), silence compiler warnings.

	* scrub.c: Abort before progress bar display if no permission.

2006-07-17 Jim Garlick <garlick@llnl.gov>

	* fillfile.c: Only fsync() regular files.

	* scrub.c: Change scrub_disk() size argument from size_t to off_t,
	  yet another 32 bit truncation bug on some systems.

2006-07-07 Jim Garlick <garlick@llnl.gov>

	* getsize.c: Fix truncation bug in AIX getsize(). 

	* scrub.c, getsize.c: Fix truncation bug in -s option handling.
	  Move parsing out of main() to str2size() function.
	  Add support for parsing KkMmGg suffix in size specification.
	  Added size2str() function.

	* Makefile: Add targets for scrub.1.lpr and scrub.1.cat.

	* scrub.c: Add support for BSI patterns [Florian Heigl].

	* pad.c: Use str2size() to parse size argument instead of assuming MB.

2006-05-17 Jim Garlick <garlick@llnl.gov>

	* getsize.c: Add code for AIX [Dave Fox]

	* scrub.c: Added -p fastold option which is like old without 
	  the random pass.

2006-02-15 Jim Garlick <garlick@llnl.gov>

	* filldentry.c: on AIX, call sync() not fsync() after rename.

	* : tag scrub-1.7

2006-02-14 Jim Garlick <garlick@llnl.gov>

	* scrub.spec: additional fixes for Fedora standards [Ben Woodard]

	* scrub.c: change dirent_pattern[] so it will work on OS X.

2006-02-13 Jim Garlick <garlick@llnl.gov>

	* scrub.c: force char special file on !linux, allow char or blk 
	special file on linux.

	* scrub.c: refactored main().

	* scrub.c: write first pattern while filling up disk with -X.

	* fillfile.c: growfile() now takes pattern buffer.

2006-02-09 Jim Garlick <garlick@llnl.gov>

	* getsize.c: replace lseek algorithm (not portable!) with arch-
	specific ioctls.

2006-02-01 Jim Garlick <garlick@llnl.gov>

	* scrub.spec: fixed some problems uncovered by rpmlint [Ben Woodard]

2006-01-30 Jim Garlick <garlick@llnl.gov>

	* util.[ch]: use uint8_t * instead of void * to avoid warnings
	  with solaris cc. [Review: John]

	* scrub.c: replace BLKSIZE macro with blksize function with no
	  power of two constraints, also more readable. [Review: Jimmy]

	* Makefile: fix rule for genrand test. [Review: Jimmy]

	* genrand.c: fix incorrect buffer calculation in genrand().

	* scrub.c: added -p nnsa|dod|old option. [Review: Jimmy]

	* scrub.c: removed -o option.

	* scrub.1: updated to reflect option changes and make the three
	  scrub modes more explicit. [Review: Jimmy]

	* */*.c: include stdint.h only ifdef __FreeBSD__. [Review: Jimmy]

2006-01-20 Jim Garlick <garlick@llnl.gov>

	* scrub.c: Apple OS X: scrub HFS resource fork if present.
	  Ref: SourceForge SRM feature request 668257. [Review: Jimmy, Chuck]

	* scrub.c: refuse to play if file to be scrubbed is zero length.

	* scrub.c: change checks for random verify and 0/random filldentry
	  into assertions.

	* fillfile.c: open file O_WRONLY intead of O_RDWR.

2005-12-13 Jim Garlick <garlick@llnl.gov>

	* scrub.c: give -D an argument which will be the new name for
	the file.

	* scrub.1: reference NNSA document

2005-11-24 Jim Garlick <garlick@llnl.gov>

	* util.[ch]: New

	* genrand.c, fillfile.c: make short reads/writes non-fatal.

	* scrub.c, filldentry.c: use libc dirname(), basename().

2005-11-23 Jim Garlick <garlick@llnl.gov>

	* aes.[ch]: New.

	* md5.[ch]: Removed.

	* scrub.c: 
	- replace md5 with aes algorithm for generating random content
	- change passes to r,r,r,r,0,v which is better for modern drives
	- added -o option to get the old algorithm.

2005-11-22 Jim Garlick <garlick@llnl.gov>

	* fillfile.[ch]: New.  Functions to fill file with pattern, 
	verify file contains pattern, and create a file and append to 
	it until ENOSPC.

	* filldentry.[ch]: New.  Scrub directory entry.

	* getsize.[ch]: New.  Determine the size of a special file by
	lseeking until EINVAL is returned.

	* progress.[ch]: New.  General ASCII progress bar thingie.

	* scrub.c:  Refactored and cleaned up:
	- Remove the -d option (debug).
	- Remove the -x option (write one block past size of file).
	- If file contains a partial fs block, round up to scrub full blocks.
	- Write 8K blocks unless overridden by new -b command line option.
	- Determine the size of the device ahead of time using lseek instead
	  of treating write failures as normal "end of file" while scrubbing.
	- Remove the -r option (disable random pass).  Always do random pass.
	- Display the amount of data to be scrubbed at the beginning, and
	  show uniformly sized progress bars for every pass.
	- After scrubbing a dirent with -D, open the directory and fsync(2).

2005-11-21 Jim Garlick <garlick@llnl.gov>

	* md5.[ch]: replaced RSA MD5 code with md5.h 1.20 md5.c 1.22 
	from gnulib CVS repo http://www.gnu.org/software/gnulib/. These 
	versions are licensed under the GPL as opposed to RSA's license.

	* genrand.c: cleaned up and fixed for md5.[ch] update.

	* shred.1: caveats 

2003-08-26 Jim Garlick <garlick@llnl.gov>

	* scrub.1: cleanup.

2003-08-26 Jim Garlick <garlick@llnl.gov>

	* scrub.spec: add %defattr(-,root,root)

	* : tag scrub-1-6-1

2003-05-10 Jim Garlick <garlick@llnl.gov>

	* scrub.c: define large file support for solaris.

	* scrub.c: if -X option, do not show number of blocks that will be
	written.  Progress is shown in MB not percent (which crashed with -X). 
	Show when fsync is being called.

	* scrub.c: fixed bug where scrubfile() would enter endless loop after
	filesystem filled up.  Comparison of write() return value of -1 was 
	always succeding.

	* : tag drop_to_paul_clayton

	* scrub.c: make activity() take a long long megabytes arg and display 
	three digits of MB/GB/TB to indicate progress.

	* scrub.c: set file mode to 644 for O_CREAT in -X.

2003-01-21 Jim Garlick <garlick@llnl.gov>

	* : Finally getting around to public release

	* : Tagged scrub-1-5-1

2002-12-08 Jim Garlick <garlick@llnl.gov>

	* : Update source headers, COPYING and DISCLAIMER file for re-release 
	under GPL.

	* Make-rpm.mk: Update to latest

	* : Ran through "indent --no-tabs -kr *.[ch]" (except md5.[ch])
	and installed standard vi footers.

	* scrub.c: Made scrub large-file aware on Linux

	* scrub.c: Show propellers and percentage instead of dots to 
	indicate progress

	* scrub.c: Eliminate -q (quiet) option and show progress only if 
	stdout is a tty

	* Makefile: Add -Wall to CFLAGS and silence warnings.

	* scrub.c: Fixed bug in basename() function.

	* : Tagged scrub-1-4-1chaos

2001-04-25 Jim Garlick <garlick@llnl.gov>

	* : Initial import to CVS.

	* : Tagged scrub-1-3
