#!/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 # rcpthosts template was in smeserver qpsmtpd, and not used if qpsmtpd in use anymore foreach (qw( badmailfrom badrcptto 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 smeserver-qmail-update )); templates2events("/var/qmail/control/badrcptto", qw( user-create user-delete user-modify group-create group-delete group-modify pseudonym-create pseudonym-delete pseudonym-modify )); } 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 smeserver-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 smeserver-qmail-update event: #-------------------------------------------------- $event = "smeserver-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");