From: J William Piggott Date: Tue, 18 Apr 2017 22:51:43 +0000 (-0400) Subject: hwclock: improve audit control X-Git-Tag: v2.30-rc1~93^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d8949acaa7a5b3023df115f1bb8b41d0c01f21dd;p=thirdparty%2Futil-linux.git 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 --- diff --git a/sys-utils/hwclock.c b/sys-utils/hwclock.c index bb3a9d8970..a98f4e3259 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); diff --git a/sys-utils/hwclock.h b/sys-utils/hwclock.h index 7830ef60ad..7d2cc45acc 100644 --- a/sys-utils/hwclock.h +++ b/sys-utils/hwclock.h @@ -26,9 +26,7 @@ struct hwclock_control { #endif unsigned int debug; unsigned int -#ifdef HAVE_LIBAUDIT hwaudit_on:1, -#endif adjust:1, show:1, hctosys:1,