240 lines
7.9 KiB
Perl
Executable File
240 lines
7.9 KiB
Perl
Executable File
#!/usr/bin/perl -w
|
|
|
|
use esmith::Build::CreateLinks qw(:all);
|
|
use File::Basename;
|
|
use File::Path;
|
|
|
|
# email-conf - console-save, bootstrap-console-save, domain-create, domain-delete,
|
|
# ip-change, email-update, host-create, host-delete, host-modify, post-upgrade
|
|
|
|
|
|
foreach (qw(
|
|
bouncefrom
|
|
bouncehost
|
|
concurrencylocal
|
|
concurrencyremote
|
|
databytes
|
|
defaultdomain
|
|
defaulthost
|
|
doublebounceto
|
|
envnoathost
|
|
helohost
|
|
locals
|
|
me
|
|
plusdomain
|
|
rcpthosts
|
|
smtproutes
|
|
virtualdomains
|
|
))
|
|
{
|
|
templates2events("/var/qmail/control/$_", qw(
|
|
console-save
|
|
bootstrap-console-save
|
|
domain-create
|
|
domain-delete
|
|
ip-change
|
|
email-update
|
|
host-create
|
|
host-delete
|
|
host-modify
|
|
post-upgrade
|
|
e-smith-qmail-update
|
|
));
|
|
}
|
|
|
|
foreach (qw(
|
|
/var/qmail/alias/.qmail-default
|
|
/var/qmail/alias/.qmail-localdelivery-default
|
|
))
|
|
{
|
|
templates2events($_, qw(
|
|
console-save
|
|
bootstrap-console-save
|
|
domain-create
|
|
domain-delete
|
|
ip-change
|
|
email-update
|
|
host-create
|
|
host-delete
|
|
host-modify
|
|
post-upgrade
|
|
e-smith-qmail-update
|
|
));
|
|
}
|
|
|
|
templates2events("/var/qmail/alias/.qmail-shared" , qw(bootstrap-console-save user-create user-modify user-delete));
|
|
|
|
#--------------------------------------------------
|
|
# actions for console-save event:
|
|
# write config files and create startup link
|
|
#--------------------------------------------------
|
|
$event = "console-save";
|
|
|
|
# If qmail-send is running, it will receive the SIGHUP and ignore the
|
|
# start command. If it is not running then the signal will be ignored
|
|
# and qmail-send will read its new configuration files anyway.
|
|
|
|
safe_symlink("sighup", "root/etc/e-smith/events/$event/services2adjust/qmail");
|
|
|
|
#--------------------------------------------------
|
|
# actions for bootstrap-console-save event:
|
|
# write config files and create startup link
|
|
#--------------------------------------------------
|
|
$event = "bootstrap-console-save";
|
|
|
|
event_link("pseudonym-cleanup", $event, "03");
|
|
event_link("qmail-update-group", $event, "20");
|
|
event_link("qmail-update-user", $event, "55");
|
|
templates2events("/var/qmail/users/assign", $event);
|
|
safe_symlink("/var/qmail/bin/qmail-newu", "root/etc/e-smith/events/$event/S55email-assign");
|
|
|
|
#--------------------------------------------------
|
|
# actions for domain-create event:
|
|
# rewrite config files and restart server
|
|
#--------------------------------------------------
|
|
$event = "domain-create";
|
|
|
|
# If qmail-send is running, it will receive the SIGHUP and ignore the
|
|
# start command. If it is not running then the signal will be ignored
|
|
# and qmail-send will read its new configuration files anyway.
|
|
|
|
safe_symlink("sighup", "root/etc/e-smith/events/$event/services2adjust/qmail");
|
|
|
|
#--------------------------------------------------
|
|
# actions for domain-delete event:
|
|
# rewrite config files and restart server
|
|
#--------------------------------------------------
|
|
$event = "domain-delete";
|
|
|
|
|
|
# If qmail-send is running, it will receive the SIGHUP and ignore the
|
|
# start command. If it is not running then the signal will be ignored
|
|
# and qmail-send will read its new configuration files anyway.
|
|
|
|
safe_symlink("sighup", "root/etc/e-smith/events/$event/services2adjust/qmail");
|
|
|
|
#--------------------------------------------------
|
|
# actions for email-update event:
|
|
# email parameters have been changed in the e-smith
|
|
# manager; update system security, rewrite email config
|
|
# files, configure other system files (crontab is the
|
|
# important one), and restart server
|
|
#--------------------------------------------------
|
|
$event = "email-update";
|
|
|
|
event_link("qmail-update-user", $event, "03");
|
|
event_link("pseudonym-cleanup", $event, "30");
|
|
|
|
# If qmail-send is running, it will receive the SIGHUP and ignore the
|
|
# start command. If it is not running then the signal will be ignored
|
|
# and qmail-send will read its new configuration files anyway.
|
|
|
|
safe_symlink("sighup", "root/etc/e-smith/events/$event/services2adjust/qmail");
|
|
safe_symlink("adjust", "root/etc/e-smith/events/$event/services2adjust/masq");
|
|
safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/smtp-auth-proxy");
|
|
|
|
#--------------------------------------------------
|
|
# actions for group-create event:
|
|
#--------------------------------------------------
|
|
$event = "group-create";
|
|
|
|
event_link("pseudonym-cleanup", $event, "03");
|
|
event_link("qmail-update-group", $event, "20");
|
|
templates2events("/var/qmail/users/assign", $event);
|
|
safe_symlink("/var/qmail/bin/qmail-newu", "root/etc/e-smith/events/$event/S55email-assign");
|
|
safe_symlink("sighup", "root/etc/e-smith/events/$event/services2adjust/qmail");
|
|
|
|
#--------------------------------------------------
|
|
# actions for group-delete event:
|
|
#--------------------------------------------------
|
|
$event = "group-delete";
|
|
|
|
event_link("pseudonym-cleanup", $event, "03");
|
|
event_link("qmail-delete-group", $event, "20");
|
|
templates2events("/var/qmail/users/assign", $event);
|
|
safe_symlink("/var/qmail/bin/qmail-newu", "root/etc/e-smith/events/$event/S55email-assign");
|
|
safe_symlink("sighup", "root/etc/e-smith/events/$event/services2adjust/qmail");
|
|
|
|
#--------------------------------------------------
|
|
# actions for group-modify event:
|
|
#--------------------------------------------------
|
|
$event = "group-modify";
|
|
|
|
event_link("pseudonym-cleanup", $event, "03");
|
|
event_link("qmail-update-group", $event, "20");
|
|
templates2events("/var/qmail/users/assign", $event);
|
|
safe_symlink("/var/qmail/bin/qmail-newu", "root/etc/e-smith/events/$event/S55email-assign");
|
|
safe_symlink("sighup", "root/etc/e-smith/events/$event/services2adjust/qmail");
|
|
|
|
#--------------------------------------------------
|
|
# actions for user-create event:
|
|
#--------------------------------------------------
|
|
$event = "user-create";
|
|
|
|
event_link("qmail-update-user", $event, "20");
|
|
event_link("qmail-update-group", $event, "20");
|
|
|
|
#--------------------------------------------------
|
|
# actions for user-modify event
|
|
#--------------------------------------------------
|
|
$event = "user-modify";
|
|
|
|
event_link("qmail-update-user", $event, "20");
|
|
event_link("qmail-update-group", $event, "20");
|
|
|
|
#--------------------------------------------------
|
|
# actions for user-modify-admin event
|
|
#--------------------------------------------------
|
|
$event = "user-modify-admin";
|
|
|
|
event_link("qmail-update-user", $event, "20");
|
|
|
|
#--------------------------------------------------
|
|
# actions for user-delete event
|
|
#--------------------------------------------------
|
|
$event = "user-delete";
|
|
|
|
event_link("qmail-update-group", $event, "25");
|
|
|
|
#--------------------------------------------------
|
|
# actions for ip-up event:
|
|
#--------------------------------------------------
|
|
$event = "ip-up";
|
|
|
|
event_link("qmail-ipup", $event, "20");
|
|
|
|
#--------------------------------------------------
|
|
# actions for ip-change event:
|
|
#--------------------------------------------------
|
|
$event = "ip-change";
|
|
|
|
safe_symlink("sighup", "root/etc/e-smith/events/$event/services2adjust/qmail");
|
|
|
|
#--------------------------------------------------
|
|
# actions for e-smith-qmail-update event:
|
|
#--------------------------------------------------
|
|
$event = "e-smith-qmail-update";
|
|
|
|
safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/qmail");
|
|
event_link("systemd-reload", $event, "89");
|
|
event_link("systemd-default", $event, "88");
|
|
event_link("pseudonym-cleanup", $event, "03");
|
|
|
|
#--------------------------------------------------
|
|
# actions for pseudonym-{create,delete,modify}
|
|
#--------------------------------------------------
|
|
foreach $event ( qw(pseudonym-create pseudonym-modify pseudonym-delete
|
|
user-create user-modify user-delete
|
|
))
|
|
{
|
|
event_link("pseudonym-cleanup", $event, "03");
|
|
templates2events("/var/qmail/control/virtualdomains", $event);
|
|
templates2events("/var/qmail/users/assign", $event);
|
|
safe_symlink("/var/qmail/bin/qmail-newu", "root/etc/e-smith/events/$event/S55email-assign");
|
|
safe_symlink("sighup", "root/etc/e-smith/events/$event/services2adjust/qmail");
|
|
}
|
|
|
|
safe_symlink(".qmail", "root/home/e-smith/.qmail-default");
|
|
safe_symlink(".qmail-shared", "root/var/qmail/alias/.qmail-shared-default");
|
|
|