This module re-adds all X:Lines at IRCd boot only, inside MOD_INIT (so before it has fully booted), as long as they shouldn't expire at the time of booting. It also skips spamfilters added through config files entirely, as there's really no need to keep track of those. ;] The DB file is refreshed everytime someone adds/removes an X:Line (this includes using RMTKL if you update that one), when they expire and if they should expire when "cold" booting the IRCd.
Module output can be seen through the Unreal user's shell session as the IRCd boots (it's logged to LOG_ERROR which only becomes the actual ircd.log file once Unreal has forked off):
Code: Select all
$ /home/unreal/ircd/unrealircd start
Starting UnrealIRCd
...
Loading IRCd configuration..
[storetkl] Reading stored X:Lines from '/home/unreal/ircd/data/tkl.db'
[storetkl] Not re-adding G:Line 'ham@*' [AYYYY LMAO] because it should be expired
[storetkl] Not re-adding G:Line 'hueaj@*' [AYYYY LMAO] because it should be expired
[storetkl] Not re-adding G:Line 'hhhh@*' [AYYYY LMAO] because it should be expired
[storetkl] Re-added 15 X:Lines
[storetkl] Rewriting DB file due to 3 skipped/expired X:Lines
Configuration loaded without any problems.
...
UnrealIRCd started.