X-Git-Url: http://git.ipfire.org/?p=people%2Fstevee%2Fguardian.git;a=blobdiff_plain;f=guardian;h=d01612525dfe2ec2332b3aefc6afd3b74dd8f111;hp=3e6128f955d75c9bb81a3236801b22775e5e1bbc;hb=ab7c10eb2c226795115499b3ab2f88cd4f958c0b;hpb=900cad7f5f64548c892995a4869dfef37b71b974 diff --git a/guardian b/guardian index 3e6128f..d016125 100644 --- a/guardian +++ b/guardian @@ -2,7 +2,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2015 IPFire Development Team # +# Copyright (C) 2015-2016 IPFire Development Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -333,6 +333,7 @@ sub SignalHandler { $SIG{TERM} = \&Shutdown; $SIG{QUIT} = \&Shutdown; $SIG{HUP} = \&Reload; + $SIG{USR1} = \&ReloadIgnoreList; } # @@ -394,10 +395,8 @@ sub Reload () { # Update logger object in mainsettings hash. $mainsettings{Logger} = $logger; - # Update ignore list, if one has been specified. - if (exists($mainsettings{IgnoreFile})) { - &Guardian::Events::GenerateIgnoreList($mainsettings{IgnoreFile}); - } + # Update ignore list. + &ReloadIgnoreList(); # Re-generate hash of monitored files. %monitored_files = &Guardian::Base::GenerateMonitoredFiles(\%mainsettings, \%monitored_files); @@ -406,6 +405,25 @@ sub Reload () { &StartWorkers(); } +# +## ReloadIgnoreList function. +# +## This function will be called if the signal handler recieves a "SIGUSR1" signal, +## or the reload-ignore-list command will be sent via the socket connection. It just +## performs a simple check if an ignore file has been configured and calls the responsible +## function on the events module. +# +sub ReloadIgnoreList () { + # Update ignore list, if an ignorefile has been specified. + if (exists($mainsettings{IgnoreFile})) { + # Log reload of the ignore list. + $logger->Log("info", "Reloading ignore list..."); + + # Call responsible function from the events module. + &Guardian::Events::GenerateIgnoreList($mainsettings{IgnoreFile}); + } +} + # ## Shutdown function. #