summaryrefslogtreecommitdiffstats
path: root/sys-utils/hwclock.c
diff options
context:
space:
mode:
authorJ William Piggott2017-04-19 00:51:43 +0200
committerJ William Piggott2017-04-19 04:39:05 +0200
commitd8949acaa7a5b3023df115f1bb8b41d0c01f21dd (patch)
treea34e152e699b626337595e8fbc892ef5cccfefd7 /sys-utils/hwclock.c
parenthwclock: --set and --predict segmentation fault (diff)
downloadkernel-qcow2-util-linux-d8949acaa7a5b3023df115f1bb8b41d0c01f21dd.tar.gz
kernel-qcow2-util-linux-d8949acaa7a5b3023df115f1bb8b41d0c01f21dd.tar.xz
kernel-qcow2-util-linux-d8949acaa7a5b3023df115f1bb8b41d0c01f21dd.zip
hwclock: improve audit control
Move audit control to option parsing. This fixes non-alpha build error and cleans up an unruly 'if' statement. Having audit control in option parsing may also draw awareness to the audit system when adding new functions, which could easily be overlooked otherwise. Signed-off-by: J William Piggott <elseifthen@gmx.com>
Diffstat (limited to 'sys-utils/hwclock.c')
-rw-r--r--sys-utils/hwclock.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/sys-utils/hwclock.c b/sys-utils/hwclock.c
index bb3a9d897..a98f4e325 100644
--- a/sys-utils/hwclock.c
+++ b/sys-utils/hwclock.c
@@ -1395,6 +1395,7 @@ int main(int argc, char **argv)
case 'a':
ctl.adjust = 1;
ctl.show = 0;
+ ctl.hwaudit_on = 1;
break;
case 'r':
ctl.show = 1;
@@ -1402,6 +1403,7 @@ int main(int argc, char **argv)
case 's':
ctl.hctosys = 1;
ctl.show = 0;
+ ctl.hwaudit_on = 1;
break;
case 'u':
ctl.utc = 1;
@@ -1409,10 +1411,12 @@ int main(int argc, char **argv)
case 'w':
ctl.systohc = 1;
ctl.show = 0;
+ ctl.hwaudit_on = 1;
break;
case OPT_SET:
ctl.set = 1;
ctl.show = 0;
+ ctl.hwaudit_on = 1;
break;
#if defined(__linux__) && defined(__alpha__)
case OPT_GETEPOCH:
@@ -1422,6 +1426,7 @@ int main(int argc, char **argv)
case OPT_SETEPOCH:
ctl.setepoch = 1;
ctl.show = 0;
+ ctl.hwaudit_on = 1;
break;
case OPT_EPOCH:
ctl.epoch_option = /* --epoch */
@@ -1480,16 +1485,6 @@ int main(int argc, char **argv)
argc -= optind;
argv += optind;
-#ifdef HAVE_LIBAUDIT
- if (!ctl.testing) {
- if (ctl.adjust || ctl.hctosys || ctl.systohc || ctl.set
-# if defined(__linux__) && defined(__alpha__)
- || ctl.setepoch
-# endif
- )
- ctl.hwaudit_on = 1;
- }
-#endif
if (argc > 0) {
warnx(_("%d too many arguments given"), argc);
errtryhelp(EXIT_FAILURE);
@@ -1550,7 +1545,7 @@ hwclock_exit(const struct hwclock_control *ctl
, int status)
{
#ifdef HAVE_LIBAUDIT
- if (ctl->hwaudit_on) {
+ if (ctl->hwaudit_on && !ctl->testing) {
audit_log_user_message(hwaudit_fd, AUDIT_USYS_CONFIG,
"op=change-system-time", NULL, NULL, NULL,
status ? 0 : 1);