lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 3 Jun 2019 21:27:12 -0700
From:   "Darrick J. Wong" <darrick.wong@...cle.com>
To:     "Theodore Ts'o" <tytso@....edu>
Cc:     linux-ext4@...r.kernel.org
Subject: [PATCH] e2scrub: remove -C from e2scrub_all

From: Darrick J. Wong <darrick.wong@...cle.com>

We already have the "SERVICE_MODE=1" feature that signals to e2scrub
that we're running as a background daemon and therefore we should exit
quietly if conditions aren't right.

It's therefore unnecessary to have a separate -C flag to achieve the
same outcome for cron jobs.  Merge the two together.

Signed-off-by: Darrick J. Wong <darrick.wong@...cle.com>
---
 scrub/e2scrub_all.cron.in     |    4 ++--
 scrub/e2scrub_all.in          |   12 +++---------
 scrub/e2scrub_all.service.in  |    2 +-
 scrub/e2scrub_all_cron.in     |    2 +-
 scrub/e2scrub_reap.service.in |    3 ++-
 5 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/scrub/e2scrub_all.cron.in b/scrub/e2scrub_all.cron.in
index 5bf83ec97..395fb2ab4 100644
--- a/scrub/e2scrub_all.cron.in
+++ b/scrub/e2scrub_all.cron.in
@@ -1,2 +1,2 @@
-30 3 * * 0 root test -e /run/systemd/system || @pkglibdir@...scrub_all_cron
-10 3 * * * root test -e /run/systemd/system || @root_sbindir@...scrub_all -C -A -r
+30 3 * * 0 root test -e /run/systemd/system || SERVICE_MODE=1 @pkglibdir@...scrub_all_cron
+10 3 * * * root test -e /run/systemd/system || SERVICE_MODE=1 @root_sbindir@...scrub_all -A -r
diff --git a/scrub/e2scrub_all.in b/scrub/e2scrub_all.in
index d99c81978..cdc37ced4 100644
--- a/scrub/e2scrub_all.in
+++ b/scrub/e2scrub_all.in
@@ -26,7 +26,6 @@ if (( $EUID != 0 )); then
 fi
 
 scrub_all=0
-run_from_cron=0
 snap_size_mb=256
 reap=0
 conffile="@root_sysconfdir@...scrub.conf"
@@ -69,12 +68,11 @@ exitcode() {
 	exit "${ret}"
 }
 
-while getopts "nrACV" opt; do
+while getopts "nrAV" opt; do
 	case "${opt}" in
 	"n") DBG="echo Would execute: " ;;
 	"r") scrub_args="${scrub_args} -r"; reap=1;;
 	"A") scrub_all=1;;
-	"C") run_from_cron=1;;
 	"V") print_version; exitcode 0;;
 	*) print_help; exitcode 2;;
 	esac
@@ -86,17 +84,13 @@ shift "$((OPTIND - 1))"
 # when e2scrub_all is run out of cron or a systemd timer.
 
 if ! type lsblk >& /dev/null ; then
-    if [ "${run_from_cron}" -eq 1 ] ; then
-	exitcode 0
-    fi
+    test -n "${SERVICE_MODE}" && exitcode 0
     echo "e2scrub_all: can't find lsblk --- is util-linux installed?"
     exitcode 1
 fi
 
 if ! type lvcreate >& /dev/null ; then
-    if [ "${run_from_cron}" -eq 1 ] ; then
-	exitcode 0
-    fi
+    test -n "${SERVICE_MODE}" && exitcode 0
     echo "e2scrub_all: can't find lvcreate --- is lvm2 installed?"
     exitcode 1
 fi
diff --git a/scrub/e2scrub_all.service.in b/scrub/e2scrub_all.service.in
index 77b6ad599..20f42bfe3 100644
--- a/scrub/e2scrub_all.service.in
+++ b/scrub/e2scrub_all.service.in
@@ -8,5 +8,5 @@ Documentation=man:e2scrub_all(8)
 [Service]
 Type=oneshot
 Environment=SERVICE_MODE=1
-ExecStart=@...t_sbindir@...scrub_all -C
+ExecStart=@...t_sbindir@...scrub_all
 SyslogIdentifier=e2scrub_all
diff --git a/scrub/e2scrub_all_cron.in b/scrub/e2scrub_all_cron.in
index bc26fee3d..f9cff878c 100644
--- a/scrub/e2scrub_all_cron.in
+++ b/scrub/e2scrub_all_cron.in
@@ -65,4 +65,4 @@ on_ac_power() {
 test -e /run/systemd/system && exit 0
 on_ac_power || exit 0
 
-exec @root_sbindir@...scrub_all -C
+exec @root_sbindir@...scrub_all
diff --git a/scrub/e2scrub_reap.service.in b/scrub/e2scrub_reap.service.in
index 40511f735..10d25f06f 100644
--- a/scrub/e2scrub_reap.service.in
+++ b/scrub/e2scrub_reap.service.in
@@ -16,7 +16,8 @@ NoNewPrivileges=yes
 User=root
 IOSchedulingClass=idle
 CPUSchedulingPolicy=idle
-ExecStart=@...t_sbindir@...scrub_all -C -A -r
+Environment=SERVICE_MODE=1
+ExecStart=@...t_sbindir@...scrub_all -A -r
 SyslogIdentifier=%N
 RemainAfterExit=no
 

Powered by blists - more mailing lists