secure-delete New Package
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
diff -Nur secure_delete-3.1-old/smem.1 secure_delete-3.1/smem.1
|
||||
--- secure_delete-3.1-old/smem.1 2011-06-20 16:31:36.890599669 +0300
|
||||
+++ secure_delete-3.1/smem.1 2011-06-20 16:37:11.867622820 +0300
|
||||
@@ -9,7 +9,7 @@
|
||||
sdmem \- secure memory wiper (secure_deletion toolkit)
|
||||
|
||||
.SH SYNOPSIS
|
||||
-.B sdmem [-f] [-l] [-l] [-v]
|
||||
+.B sdmem [-f] [-l] [-l] [-m] [-v]
|
||||
|
||||
.SH DESCRIPTION
|
||||
.I sdmem
|
||||
@@ -54,6 +54,9 @@
|
||||
-l for a second time lessons the security even more: only one pass with
|
||||
0x00 is written.
|
||||
.TP
|
||||
+.B \-m
|
||||
+moderate security. Five passes are written.
|
||||
+.TP
|
||||
.B \-v
|
||||
verbose mode
|
||||
.PP
|
||||
diff -Nur secure_delete-3.1-old/smem.c secure_delete-3.1/smem.c
|
||||
--- secure_delete-3.1-old/smem.c 2011-06-20 16:31:36.889599617 +0300
|
||||
+++ secure_delete-3.1/smem.c 2011-06-20 16:32:58.805684329 +0300
|
||||
@@ -46,6 +46,7 @@
|
||||
printf("Options:\n");
|
||||
printf("\t-f fast (and insecure mode): no /dev/urandom.\n");
|
||||
printf("\t-l lessens the security (use twice for total insecure mode).\n");
|
||||
+ printf("\t-m moderate security (5 writes).\n");
|
||||
printf("\t-v is verbose mode.\n");
|
||||
printf("\nsmem does a secure overwrite of the memory (RAM), because memory contents can\n");
|
||||
printf("be recovered even after a shutdown! Default is secure mode (38 writes).\n");
|
||||
@@ -127,7 +128,19 @@
|
||||
alarm(600); /* needed to prevent mem caching */
|
||||
|
||||
while ( (ptr = calloc(4096, 16)) != NULL) {
|
||||
- if (mode > 0) {
|
||||
+ if (mode == 3) {
|
||||
+ __sdel_fill_buf(write_modes[0], BLOCKSIZE + 2, buf);
|
||||
+ memcpy(ptr, buf, BLOCKSIZE);
|
||||
+ __sdel_fill_buf(write_modes[1], BLOCKSIZE + 2, buf);
|
||||
+ memcpy(ptr, buf, BLOCKSIZE);
|
||||
+ __sdel_random_buf(BLOCKSIZE + 2, buf);
|
||||
+ memcpy(ptr, buf, BLOCKSIZE);
|
||||
+ __sdel_fill_buf(write_modes[0], BLOCKSIZE + 2, buf);
|
||||
+ memcpy(ptr, buf, BLOCKSIZE);
|
||||
+ __sdel_fill_buf(write_modes[1], BLOCKSIZE + 2, buf);
|
||||
+ memcpy(ptr, buf, BLOCKSIZE);
|
||||
+ }
|
||||
+ else if (mode > 0) {
|
||||
for (turn=0; turn<=36; turn++) {
|
||||
if ((mode == 1) && (turn > 0)) break;
|
||||
if ((turn>=5) && (turn<=31)) {
|
||||
@@ -170,7 +183,7 @@
|
||||
help();
|
||||
|
||||
while (1) {
|
||||
- result = getopt(argc, argv, "FfLlSsVvZz");
|
||||
+ result = getopt(argc, argv, "FfLlmSsVvZz");
|
||||
if (result<0) break;
|
||||
switch (result) {
|
||||
case 'F' :
|
||||
@@ -179,6 +192,8 @@
|
||||
case 'L' :
|
||||
case 'l' : if (secure) secure--;
|
||||
break;
|
||||
+ case 'm' : secure = 3;
|
||||
+ break;
|
||||
case 'S' :
|
||||
case 's' : secure++;
|
||||
break;
|
||||
Reference in New Issue
Block a user