]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
hwclock: improve audit control
authorJ William Piggott <elseifthen@gmx.com>
Tue, 18 Apr 2017 22:51:43 +0000 (18:51 -0400)
committerJ William Piggott <elseifthen@gmx.com>
Wed, 19 Apr 2017 02:39:05 +0000 (22:39 -0400)
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>
sys-utils/hwclock.c
sys-utils/hwclock.h

index bb3a9d8970ae15b36d57ae2b09dd29d0fdd77bab..a98f4e3259d36ab26a6db5c296ffd1a5f672b0f7 100644 (file)
@@ -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);
index 7830ef60ada2535aa20009e542be26e083a9bbea..7d2cc45acc70efac46009198b5c9795242930d75 100644 (file)
@@ -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,