import scrub-2.5.2-16.el8
This commit is contained in:
parent
f7b04fd465
commit
a07958b044
77
SOURCES/scrub-2.5.2-symlinkresolve.patch
Normal file
77
SOURCES/scrub-2.5.2-symlinkresolve.patch
Normal file
@ -0,0 +1,77 @@
|
||||
--- scrub-2.5.2.ori/src/scrub.c 2012-06-21 00:00:27.000000000 +0200
|
||||
+++ scrub-2.5.2/src/scrub.c 2021-08-09 18:25:00.355142963 +0200
|
||||
@@ -283,8 +283,8 @@
|
||||
}
|
||||
scrub_disk(filename, sopt, seq, bopt, Sopt, Topt);
|
||||
break;
|
||||
- case FILE_LINK:
|
||||
- if (Lopt) {
|
||||
+ case FILE_REGULAR:
|
||||
+ if (is_symlink(filename) && Lopt) {
|
||||
if (ropt) {
|
||||
printf("%s: unlinking %s\n", prog, filename);
|
||||
if (unlink(filename) != 0) {
|
||||
@@ -295,7 +295,6 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
- case FILE_REGULAR:
|
||||
if (access(filename, R_OK|W_OK) < 0) {
|
||||
fprintf(stderr, "%s: no rw access to %s\n", prog, filename);
|
||||
exit(1);
|
||||
@@ -570,7 +570,7 @@
|
||||
struct stat sb;
|
||||
filetype_t ftype = filetype(path);
|
||||
|
||||
- assert(ftype == FILE_REGULAR || ftype == FILE_LINK);
|
||||
+ assert(ftype == FILE_REGULAR);
|
||||
|
||||
if (stat(path, &sb) < 0) {
|
||||
fprintf(stderr, "%s: stat %s: %s\n", prog, path, strerror(errno));
|
||||
--- scrub-2.5.2.ori/src/util.c 2012-06-21 00:00:27.000000000 +0200
|
||||
+++ scrub-2.5.2/src/util.c 2021-08-10 15:38:26.748107704 +0200
|
||||
@@ -72,6 +72,15 @@
|
||||
return n;
|
||||
}
|
||||
|
||||
+/* Indicates whether the file represented by 'path' is a symlink.
|
||||
+ */
|
||||
+int
|
||||
+is_symlink(char *path)
|
||||
+{
|
||||
+ struct stat sb;
|
||||
+ return lstat(path, &sb) == 0 && S_ISLNK(sb.st_mode);
|
||||
+}
|
||||
+
|
||||
/* Return the type of file represented by 'path'.
|
||||
*/
|
||||
filetype_t
|
||||
@@ -90,10 +90,6 @@
|
||||
|
||||
filetype_t res = FILE_NOEXIST;
|
||||
|
||||
- if (lstat(path, &sb) == 0 && S_ISLNK(sb.st_mode)) {
|
||||
- return FILE_LINK;
|
||||
- }
|
||||
-
|
||||
if (stat(path, &sb) == 0) {
|
||||
if (S_ISREG(sb.st_mode))
|
||||
res = FILE_REGULAR;
|
||||
--- scrub-2.5.2.ori/src/util.h 2012-06-21 00:00:27.000000000 +0200
|
||||
+++ scrub-2.5.2/src/util.h 2021-08-16 16:12:25.306572001 +0200
|
||||
@@ -35,7 +35,6 @@
|
||||
FILE_REGULAR,
|
||||
FILE_CHAR,
|
||||
FILE_BLOCK,
|
||||
- FILE_LINK,
|
||||
FILE_OTHER,
|
||||
} filetype_t;
|
||||
|
||||
@@ -43,6 +42,7 @@
|
||||
|
||||
int read_all(int fd, unsigned char *buf, int count);
|
||||
int write_all(int fd, const unsigned char *buf, int count);
|
||||
+int is_symlink(char *path);
|
||||
filetype_t filetype(char *path);
|
||||
off_t blkalign(off_t offset, int blocksize, round_t rtype);
|
||||
void * alloc_buffer(int bufsize);
|
239
SOURCES/scrub-2.5.2-test-use-power-2-filesizes.patch
Normal file
239
SOURCES/scrub-2.5.2-test-use-power-2-filesizes.patch
Normal file
@ -0,0 +1,239 @@
|
||||
From 9f37f5d29f255285cbc7822788963681a8f659dd Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Tue, 26 Jan 2021 15:22:57 -0500
|
||||
Subject: [PATCH] test: use a power of 2 for file sizes
|
||||
|
||||
Reduce the change of tests failing due to block size round-up.
|
||||
Freebsd was failing that way.
|
||||
|
||||
Upstream: https://github.com/chaos/scrub/commit/5c66fc0537f4ecb21d4c3dcdd9020a02c8a2d819
|
||||
---
|
||||
test/t02 | 2 +-
|
||||
test/t02.exp | 2 +-
|
||||
test/t03 | 2 +-
|
||||
test/t03.exp | 2 +-
|
||||
test/t04 | 2 +-
|
||||
test/t04.exp | 2 +-
|
||||
test/t05 | 2 +-
|
||||
test/t05.exp | 2 +-
|
||||
test/t06 | 2 +-
|
||||
test/t06.exp | 2 +-
|
||||
test/t07 | 2 +-
|
||||
test/t11 | 2 +-
|
||||
test/t11.exp | 2 +-
|
||||
test/t12 | 8 ++++----
|
||||
test/t12.exp | 12 ++++++------
|
||||
15 files changed, 23 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/test/t02 b/test/t02
|
||||
index d09a517..14c5ca7 100755
|
||||
--- a/test/t02
|
||||
+++ b/test/t02
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
|
||||
rm -f $TESTFILE
|
||||
-./pad 400k $TESTFILE || exit 1
|
||||
+./pad 512k $TESTFILE || exit 1
|
||||
$PATH_SCRUB -r $TESTFILE 2>&1 | sed -e "s!${TESTFILE}!file!" >t02.out || exit 1
|
||||
diff t02.exp t02.out >t02.diff
|
||||
diff --git a/test/t02.exp b/test/t02.exp
|
||||
index 848c9b7..e026a17 100644
|
||||
--- a/test/t02.exp
|
||||
+++ b/test/t02.exp
|
||||
@@ -1,5 +1,5 @@
|
||||
scrub: using NNSA NAP-14.1-C patterns
|
||||
-scrub: scrubbing file 409600 bytes (~400KB)
|
||||
+scrub: scrubbing file 524288 bytes (~512KB)
|
||||
scrub: random |................................................|
|
||||
scrub: random |................................................|
|
||||
scrub: 0x00 |................................................|
|
||||
diff --git a/test/t03 b/test/t03
|
||||
index db9ca61..917ec52 100755
|
||||
--- a/test/t03
|
||||
+++ b/test/t03
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
|
||||
rm -f $TESTFILE
|
||||
-./pad 400k $TESTFILE || exit 1
|
||||
+./pad 512k $TESTFILE || exit 1
|
||||
$PATH_SCRUB -r -p dod $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >t03.out || exit 1
|
||||
diff t03.exp t03.out >t03.diff
|
||||
diff --git a/test/t03.exp b/test/t03.exp
|
||||
index e7e8015..4456149 100644
|
||||
--- a/test/t03.exp
|
||||
+++ b/test/t03.exp
|
||||
@@ -1,5 +1,5 @@
|
||||
scrub: using DoD 5220.22-M patterns
|
||||
-scrub: scrubbing file 409600 bytes (~400KB)
|
||||
+scrub: scrubbing file 524288 bytes (~512KB)
|
||||
scrub: random |................................................|
|
||||
scrub: 0x00 |................................................|
|
||||
scrub: 0xff |................................................|
|
||||
diff --git a/test/t04 b/test/t04
|
||||
index 3dd4165..a33e9cd 100755
|
||||
--- a/test/t04
|
||||
+++ b/test/t04
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
|
||||
rm -f $TESTFILE
|
||||
-./pad 400k $TESTFILE || exit 1
|
||||
+./pad 512k $TESTFILE || exit 1
|
||||
$PATH_SCRUB -r -p bsi $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >t04.out || exit 1
|
||||
diff t04.exp t04.out >t04.diff
|
||||
diff --git a/test/t04.exp b/test/t04.exp
|
||||
index 2bb6822..ac98d54 100644
|
||||
--- a/test/t04.exp
|
||||
+++ b/test/t04.exp
|
||||
@@ -1,5 +1,5 @@
|
||||
scrub: using BSI patterns
|
||||
-scrub: scrubbing file 409600 bytes (~400KB)
|
||||
+scrub: scrubbing file 524288 bytes (~512KB)
|
||||
scrub: 0xff |................................................|
|
||||
scrub: 0xfe |................................................|
|
||||
scrub: 0xfd |................................................|
|
||||
diff --git a/test/t05 b/test/t05
|
||||
index 474fcd3..d9a6061 100755
|
||||
--- a/test/t05
|
||||
+++ b/test/t05
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
|
||||
rm -f $TESTFILE
|
||||
-./pad 400k $TESTFILE || exit 1
|
||||
+./pad 512k $TESTFILE || exit 1
|
||||
$PATH_SCRUB -r -p fastold $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >t05.out || exit 1
|
||||
diff t05.exp t05.out >t05.diff
|
||||
diff --git a/test/t05.exp b/test/t05.exp
|
||||
index 48ba9b7..118d7e4 100644
|
||||
--- a/test/t05.exp
|
||||
+++ b/test/t05.exp
|
||||
@@ -1,5 +1,5 @@
|
||||
scrub: using pre v1.7 scrub (skip random) patterns
|
||||
-scrub: scrubbing file 409600 bytes (~400KB)
|
||||
+scrub: scrubbing file 524288 bytes (~512KB)
|
||||
scrub: 0x00 |................................................|
|
||||
scrub: 0xff |................................................|
|
||||
scrub: 0xaa |................................................|
|
||||
diff --git a/test/t06 b/test/t06
|
||||
index 28eb856..48bde5a 100755
|
||||
--- a/test/t06
|
||||
+++ b/test/t06
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
|
||||
rm -f $TESTFILE
|
||||
-./pad 400k $TESTFILE || exit 1
|
||||
+./pad 512k $TESTFILE || exit 1
|
||||
$PATH_SCRUB -r -p old $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >t06.out || exit 1
|
||||
diff t06.exp t06.out >t06.diff
|
||||
rc=$?
|
||||
diff --git a/test/t06.exp b/test/t06.exp
|
||||
index 49967ec..e84360a 100644
|
||||
--- a/test/t06.exp
|
||||
+++ b/test/t06.exp
|
||||
@@ -1,5 +1,5 @@
|
||||
scrub: using pre v1.7 scrub patterns
|
||||
-scrub: scrubbing file 409600 bytes (~400KB)
|
||||
+scrub: scrubbing file 524288 bytes (~512KB)
|
||||
scrub: 0x00 |................................................|
|
||||
scrub: 0xff |................................................|
|
||||
scrub: 0xaa |................................................|
|
||||
diff --git a/test/t07 b/test/t07
|
||||
index cb935bf..69eab76 100755
|
||||
--- a/test/t07
|
||||
+++ b/test/t07
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
|
||||
rm -f $TESTFILE
|
||||
-./pad 400k $TESTFILE
|
||||
+./pad 512k $TESTFILE
|
||||
(./tsig $TESTFILE && ./tsig $TESTFILE) >t07.out 2>&1
|
||||
diff t07.exp t07.out >t07.diff
|
||||
rc=$?
|
||||
diff --git a/test/t11 b/test/t11
|
||||
index 5a17b46..dd5444f 100755
|
||||
--- a/test/t11
|
||||
+++ b/test/t11
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
|
||||
rm -f $TESTFILE
|
||||
-./pad 400k $TESTFILE || exit 1
|
||||
+./pad 512k $TESTFILE || exit 1
|
||||
$PATH_SCRUB -r -p gutmann $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >t11.out || exit 1
|
||||
diff t11.exp t11.out >t11.diff
|
||||
rc=$?
|
||||
diff --git a/test/t11.exp b/test/t11.exp
|
||||
index abd2abf..895d903 100644
|
||||
--- a/test/t11.exp
|
||||
+++ b/test/t11.exp
|
||||
@@ -1,5 +1,5 @@
|
||||
scrub: using Gutmann patterns
|
||||
-scrub: scrubbing file 409600 bytes (~400KB)
|
||||
+scrub: scrubbing file 524288 bytes (~512KB)
|
||||
scrub: random |................................................|
|
||||
scrub: random |................................................|
|
||||
scrub: random |................................................|
|
||||
diff --git a/test/t12 b/test/t12
|
||||
index c312220..260198f 100755
|
||||
--- a/test/t12
|
||||
+++ b/test/t12
|
||||
@@ -1,14 +1,14 @@
|
||||
#!/bin/sh
|
||||
TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
|
||||
rm -f $TESTFILE
|
||||
-./pad 400k $TESTFILE || exit 1
|
||||
-$PATH_SCRUB -s 400k $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >t12.out
|
||||
+./pad 512k $TESTFILE || exit 1
|
||||
+$PATH_SCRUB -s 512k $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >t12.out
|
||||
test $? = 0 || exit 1
|
||||
./tsize $TESTFILE >>t12.out 2>&1
|
||||
-$PATH_SCRUB -f -s 300k $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >>t12.out
|
||||
+$PATH_SCRUB -f -s 256k $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >>t12.out
|
||||
test $? = 0 || exit 1
|
||||
./tsize $TESTFILE >>t12.out 2>&1
|
||||
-$PATH_SCRUB -f -s 500k $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >>t12.out
|
||||
+$PATH_SCRUB -f -s 1024k $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >>t12.out
|
||||
test $? = 0 || exit 1
|
||||
./tsize $TESTFILE >>t12.out 2>&1
|
||||
diff t12.exp t12.out >t12.diff
|
||||
diff --git a/test/t12.exp b/test/t12.exp
|
||||
index 33f2c97..4c5d987 100644
|
||||
--- a/test/t12.exp
|
||||
+++ b/test/t12.exp
|
||||
@@ -1,22 +1,22 @@
|
||||
scrub: using NNSA NAP-14.1-C patterns
|
||||
-scrub: scrubbing file 409600 bytes (~400KB)
|
||||
+scrub: scrubbing file 524288 bytes (~512KB)
|
||||
scrub: random |................................................|
|
||||
scrub: random |................................................|
|
||||
scrub: 0x00 |................................................|
|
||||
scrub: verify |................................................|
|
||||
-409600
|
||||
+524288
|
||||
scrub: warning: -s size < file size
|
||||
scrub: using NNSA NAP-14.1-C patterns
|
||||
-scrub: scrubbing file 307200 bytes (~300KB)
|
||||
+scrub: scrubbing file 262144 bytes (~256KB)
|
||||
scrub: random |................................................|
|
||||
scrub: random |................................................|
|
||||
scrub: 0x00 |................................................|
|
||||
scrub: verify |................................................|
|
||||
-409600
|
||||
+524288
|
||||
scrub: using NNSA NAP-14.1-C patterns
|
||||
-scrub: scrubbing file 512000 bytes (~500KB)
|
||||
+scrub: scrubbing file 1048576 bytes (~1024KB)
|
||||
scrub: random |................................................|
|
||||
scrub: random |................................................|
|
||||
scrub: 0x00 |................................................|
|
||||
scrub: verify |................................................|
|
||||
-512000
|
||||
+1048576
|
||||
--
|
||||
2.27.0
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
Name: scrub
|
||||
Version: 2.5.2
|
||||
Release: 14%{?dist}
|
||||
Release: 16%{?dist}
|
||||
Summary: Disk scrubbing program
|
||||
License: GPLv2+
|
||||
Group: System Environment/Base
|
||||
@ -14,6 +14,8 @@ BuildRequires: libgcrypt-devel
|
||||
|
||||
Patch0: scrub-2.5.2-extentonly.patch
|
||||
Patch1: scrub-2.5.2-remove-aes-implementation.patch
|
||||
Patch2: scrub-2.5.2-test-use-power-2-filesizes.patch
|
||||
Patch3: scrub-2.5.2-symlinkresolve.patch
|
||||
|
||||
%description
|
||||
Scrub writes patterns on files or disk devices to make
|
||||
@ -29,6 +31,8 @@ the file system is full, then scrubbed as in 2).
|
||||
|
||||
%patch0 -p1 -b .extent-only
|
||||
%patch1 -p1 -b .remove-aes
|
||||
%patch2 -p1 -b .test-use-power-2-filesizes
|
||||
%patch3 -p1 -b .symlinkresolve
|
||||
|
||||
%build
|
||||
./autogen.sh
|
||||
@ -50,6 +54,14 @@ make DESTDIR=%{buildroot} install
|
||||
%{_mandir}/man1/scrub.1*
|
||||
|
||||
%changelog
|
||||
* Mon Aug 16 2021 Sergio Arroutbi <sarroutb@redhat.com> - 2.5.2-16
|
||||
- Fix covscan issues introduced in previous version
|
||||
Resolves: rhbz#1920252
|
||||
|
||||
* Thu Aug 12 2021 Sergio Arroutbi <sarroutb@redhat.com> - 2.5.2-15
|
||||
- Fix for symbolic link resolution
|
||||
Resolves: rhbz#1920252
|
||||
|
||||
* Tue Jul 16 2019 Daniel Kopecek <dkopecek@redhat.com> - 2.5.2-14
|
||||
Resolves: rhbz#1689897 - Missing '--extent-only' patch
|
||||
Resolves: rhbz#1630298 - Removal of component scrub or its crypto from RHEL
|
||||
|
Loading…
Reference in New Issue
Block a user