diff --git a/html/cgi-bin/dns.cgi b/html/cgi-bin/dns.cgi index 450d5c484..cb6f16f67 100755 --- a/html/cgi-bin/dns.cgi +++ b/html/cgi-bin/dns.cgi @@ -28,6 +28,7 @@ use IO::Socket; require '/var/ipfire/general-functions.pl'; require "${General::swroot}/geoip-functions.pl"; +require "${General::swroot}/ids-functions.pl"; require "${General::swroot}/lang.pl"; require "${General::swroot}/header.pl"; @@ -801,6 +802,16 @@ END sub _handle_unbound_and_more () { # Restart unbound system('/usr/local/bin/unboundctrl restart >/dev/null'); + + # Check if the IDS is running. + if(&IDS::ids_is_running()) { + # Re-generate the file which contains the DNS Server + # details. + &IDS::generate_dns_servers_file(); + + # Call suricatactrl to perform a reload. + &IDS::call_suricatactrl("restart"); + } } # Check if the system is online (RED is connected).