forked from chaos/scrub
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
414 lines (236 loc) · 11.4 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
This file is no longer used.
See git log at https://code.google.com/p/diskscrub/
2008-11-14 Jim Garlick <[email protected]>
* : 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 <[email protected]>
* htdocs/index.html : Add SF logo per policy.
2008-05-30 Jim Garlick <[email protected]>
* : 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 <[email protected]>
* scrub.spec : Set --program-prefix to prevent AIX from adding one.
2008-05-27 Jim Garlick <[email protected]>
* test/pad.c, src/scrub.c, src/getsize.c : Eliminate warnings on
HP-UX 11.
2008-05-26 Jim Garlick <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* : 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 <[email protected]>
* : 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 <[email protected]>
* scrub.c, scrub.1 : Added -v option [suggested by Daniel Hoit].
2007-03-30 Jim Garlick <[email protected]>
* fillfile.c : Open with O_SYNC instead of calling fsync()
periodically on non-char-special files.
2007-03-20 Jim Garlick <[email protected]>
* : 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 <[email protected]>
* getsize.c : Handle > 2TB device size in Linux.
2007-01-18 Jim Garlick <[email protected]>
* scrub.c, scrub.1 : Changed default blocksize to 1M [Graham Smith].
* getsize.c : Cleanup [Graham Smith].
2007-01-05 Jim Garlick <[email protected]>
* scrub.c : Add -r option to unlink file after scrub [Sean Morrison].
2006-12-28 Jim Garlick <[email protected]>
* getsize.c : Added getsize() implementation for hpux [Graham Smith].
2006-11-27 Jim Garlick <[email protected]>
* scrub.c : Refuse to scrub a zero length file (avoids
assertion failure in progress.c) [Markus Schatzl].
2006-11-22 Jim Garlick <[email protected]>
* scrub.c : Change sprintf's to snprintf [Markus Schatzl].
2006-10-18 Jim Garlick <[email protected]>
* : add __hpux to large file ifdef
* getsize.c : use sscanf("%llu") instead of strtoull for hpux
portability.
2006-08-17 Jim Garlick <[email protected]>
* getsize.c: Fixed logic error in main (only affects test prog).
2006-08-16 Jim Garlick <[email protected]>
* NEWS: Renamed README.
* scrub.c: Added -S option to skip writing scrub signature.
* : tag scrub-1.8
2006-08-07 Jim Garlick <[email protected]>
* getsize.c: Added str2int().
* scrub.c: Call str2int() to parse blocksize arg.
2006-08-04 Jim Garlick <[email protected]>
* scrub.spec: Minor change to support building RPM's on AIX.
* : make error reporting more verbose all around.
2006-08-03 Jim Garlick <[email protected]>
* 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 <[email protected]>
* sig.[ch]: Read/write even blocksize multiples for AIX.
2006-07-23 Jim Garlick <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* filldentry.c: on AIX, call sync() not fsync() after rename.
* : tag scrub-1.7
2006-02-14 Jim Garlick <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* getsize.c: replace lseek algorithm (not portable!) with arch-
specific ioctls.
2006-02-01 Jim Garlick <[email protected]>
* scrub.spec: fixed some problems uncovered by rpmlint [Ben Woodard]
2006-01-30 Jim Garlick <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* scrub.1: cleanup.
2003-08-26 Jim Garlick <[email protected]>
* scrub.spec: add %defattr(-,root,root)
* : tag scrub-1-6-1
2003-05-10 Jim Garlick <[email protected]>
* 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 <[email protected]>
* : Finally getting around to public release
* : Tagged scrub-1-5-1
2002-12-08 Jim Garlick <[email protected]>
* : 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 <[email protected]>
* : Initial import to CVS.
* : Tagged scrub-1-3