Dovecot verfügt ab Version 2 über die Konfigurationoption include_try. Damit können Teile der Konfiguration ausgelagert werden.
Leider nutzt liveconfig diese Möglichkeit nicht so das man hier in der custom.lua etwas nachhelfen muss.
Mit folgender Funktion in der custom.lua wird an das Ende der dovecot.conf ein Eintrag gesetzt der die local.conf einbindet.
Code
MY = {}
LC.dovecot = require("dovecot")
MY.dovecot = {}
MY.dovecot.configure = LC.dovecot.configure
function LC.dovecot.configure(cfg, opts)
local configpath = cfg['configpath']
local configfile = cfg['configfile']
local rv = MY.dovecot.configure(cfg,opts)
if rv == false then
return rv
else
fh, msg = io.open(configfile, "a")
fh:write("!include_try local.conf\n")
fh:close()
end
return rv
end
Alles anzeigen
Dieser Code macht nichts anderes als an die dovecot.conf folgenden Eintrag anzuhängen:
Alles von dem man nicht will das liveconfig es überschreibt kann man jetzt in die local.conf schreiben.