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 overriden 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