diff -urp audit-2.6.5.orig/src/auditd-config.c audit-2.6.5/src/auditd-config.c --- audit-2.6.5.orig/src/auditd-config.c 2016-07-14 15:53:39.000000000 +0000 +++ audit-2.6.5/src/auditd-config.c 2017-01-20 15:59:31.719704789 +0000 @@ -841,8 +841,7 @@ static int log_format_parser(struct nv_p if (config->log_format == LF_NOLOG) { audit_msg(LOG_WARNING, "The NOLOG option to log_format is deprecated. Please use the write_logs option."); - if (config->log_format == LF_NOLOG && - config->write_logs != 0) + if (config->write_logs != 0) audit_msg(LOG_WARNING, "The NOLOG option is overriding the write_logs current setting."); config->write_logs = 0; diff -urp audit-2.6.5.orig/src/auditd-event.c audit-2.6.5/src/auditd-event.c --- audit-2.6.5.orig/src/auditd-event.c 2017-01-20 15:54:57.969419865 +0000 +++ audit-2.6.5/src/auditd-event.c 2017-01-20 16:04:17.562133973 +0000 @@ -48,6 +48,8 @@ extern volatile int stop; /* Local function prototypes */ +static void send_ack(const struct auditd_event *e, int ack_type, + const char *msg); static void write_to_log(const struct auditd_event *e); static void check_log_file_size(void); static void check_space_left(void); @@ -496,7 +498,7 @@ void handle_event(struct auditd_event *e if (config->write_logs == 0) return; } - if (!logging_suspended) { + if (!logging_suspended && config->write_logs) { write_to_log(e); /* See if we need to flush to disk manually */ @@ -537,7 +539,10 @@ void handle_event(struct auditd_event *e } } } - } + } else if (!config->write_logs) + send_ack(e, AUDIT_RMW_TYPE_ACK, ""); + // FIXME: When logging is suspended, what should remote do? + // Should probably be new response type } static void send_ack(const struct auditd_event *e, int ack_type,