This allows for easier build-time disabling of the listener-specific
code in auditd-event.c.
---
 src/auditd-event.c  |   23 ++---------------------
 src/auditd-listen.c |   28 +++++++++++++++++++++++++++-
 src/auditd-listen.h |    3 ++-
 3 files changed, 31 insertions(+), 23 deletions(-)

diff --git a/src/auditd-event.c b/src/auditd-event.c
index b1b2f0a..acf5aa1 100644
--- a/src/auditd-event.c
+++ b/src/auditd-event.c
@@ -1177,27 +1177,8 @@ static void reconfigure(struct auditd_consumer_data 
*data)
                }
        }
 
-       /* Look at network things that do not need restarting */
-       if (oconf->tcp_client_min_port != nconf->tcp_client_min_port ||
-                   oconf->tcp_client_max_port != nconf->tcp_client_max_port ||
-                   oconf->tcp_max_per_addr != nconf->tcp_max_per_addr) {
-               oconf->tcp_client_min_port = nconf->tcp_client_min_port;
-               oconf->tcp_client_max_port = nconf->tcp_client_max_port;
-               oconf->tcp_max_per_addr = nconf->tcp_max_per_addr;
-               auditd_set_ports(oconf->tcp_client_min_port,
-                               oconf->tcp_client_max_port,
-                               oconf->tcp_max_per_addr);
-       }
-       if (oconf->tcp_client_max_idle != nconf->tcp_client_max_idle) {
-               oconf->tcp_client_max_idle = nconf->tcp_client_max_idle;
-               periodic_reconfigure();
-       }
-       if (oconf->tcp_listen_port != nconf->tcp_listen_port ||
-                       oconf->tcp_listen_queue != nconf->tcp_listen_queue) {
-               oconf->tcp_listen_port = nconf->tcp_listen_port;
-               oconf->tcp_listen_queue = nconf->tcp_listen_queue;
-               // FIXME: need to restart the network stuff
-       }
+       // network listener
+       auditd_tcp_listen_reconfigure(nconf, oconf);
        
        /* At this point we will work on the items that are related to 
         * a single log file. */
diff --git a/src/auditd-listen.c b/src/auditd-listen.c
index 741c424..0caf324 100644
--- a/src/auditd-listen.c
+++ b/src/auditd-listen.c
@@ -866,7 +866,7 @@ static void auditd_tcp_listen_handler( struct ev_loop *loop,
        send_audit_event(AUDIT_DAEMON_ACCEPT, emsg);
 }
 
-void auditd_set_ports(int minp, int maxp, int max_p_addr)
+static void auditd_set_ports(int minp, int maxp, int max_p_addr)
 {
        min_port = minp;
        max_port = maxp;
@@ -1009,3 +1009,29 @@ void auditd_tcp_listen_check_idle (struct ev_loop *loop )
                free(ev);
        }
 }
+
+void auditd_tcp_listen_reconfigure ( struct daemon_conf *nconf,
+                                    struct daemon_conf *oconf )
+{
+       /* Look at network things that do not need restarting */
+       if (oconf->tcp_client_min_port != nconf->tcp_client_min_port ||
+                   oconf->tcp_client_max_port != nconf->tcp_client_max_port ||
+                   oconf->tcp_max_per_addr != nconf->tcp_max_per_addr) {
+               oconf->tcp_client_min_port = nconf->tcp_client_min_port;
+               oconf->tcp_client_max_port = nconf->tcp_client_max_port;
+               oconf->tcp_max_per_addr = nconf->tcp_max_per_addr;
+               auditd_set_ports(oconf->tcp_client_min_port,
+                               oconf->tcp_client_max_port,
+                               oconf->tcp_max_per_addr);
+       }
+       if (oconf->tcp_client_max_idle != nconf->tcp_client_max_idle) {
+               oconf->tcp_client_max_idle = nconf->tcp_client_max_idle;
+               periodic_reconfigure();
+       }
+       if (oconf->tcp_listen_port != nconf->tcp_listen_port ||
+                       oconf->tcp_listen_queue != nconf->tcp_listen_queue) {
+               oconf->tcp_listen_port = nconf->tcp_listen_port;
+               oconf->tcp_listen_queue = nconf->tcp_listen_queue;
+               // FIXME: need to restart the network stuff
+       }
+}
diff --git a/src/auditd-listen.h b/src/auditd-listen.h
index 81e0ad3..440b6ab 100644
--- a/src/auditd-listen.h
+++ b/src/auditd-listen.h
@@ -25,9 +25,10 @@
 #define AUDITD_LISTEN_H
 
 #include "ev.h"
-void auditd_set_ports(int minp, int maxp, int max_p_addr);
 int auditd_tcp_listen_init ( struct ev_loop *loop, struct daemon_conf *config 
);
 void auditd_tcp_listen_uninit ( struct ev_loop *loop );
 void auditd_tcp_listen_check_idle ( struct ev_loop *loop );
+void auditd_tcp_listen_reconfigure ( struct daemon_conf *nconf,
+                                    struct daemon_conf *oconf );
 
 #endif
-- 
1.7.9.5

--
Linux-audit mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/linux-audit

Reply via email to