diff options
author | J William Piggott | 2017-04-19 00:51:43 +0200 |
---|---|---|
committer | J William Piggott | 2017-04-19 04:39:05 +0200 |
commit | d8949acaa7a5b3023df115f1bb8b41d0c01f21dd (patch) | |
tree | a34e152e699b626337595e8fbc892ef5cccfefd7 /sys-utils/hwclock.c | |
parent | hwclock: --set and --predict segmentation fault (diff) | |
download | kernel-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.c | 17 |
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); |