#!/usr/bin/perl -w use esmith::Build::CreateLinks qw(:all); my $event; my $service; my $daemon; my $config; foreach $event (qw( email-update domain-modify domain-create domain-delete bootstrap-console-save smeserver-qpsmtpd-update )) { event_link("domains-update-dkim", $event, "30"); } $service = "/var/service/qpsmtpd"; templates2events("$service/ssl/cert.pem", qw( bootstrap-console-save console-save email-update ssl-update smeserver-qpsmtpd-update )); templates2events($_, qw( bootstrap-console-save console-save email-update smeserver-qpsmtpd-update )) for (qw( /etc/mail-dmarc.ini /home/e-smith/dkim_keys/default/selector )); #### start do this for qpsmtpd /sqpsmtpd/ uqpsmtpd for $daemon ( qw(qpsmtpd sqpsmtpd uqpsmtpd) ) { $service = "/var/service/$daemon"; $config = "$service/config"; foreach $event (qw( bootstrap-console-save console-save email-update network-create network-delete smeserver-qpsmtpd-update )) { templates2events("$service/peers/0", $event); templates2events("$service/peers/local", $event); templates2events("$service/config/peers/0", $event); templates2events("$service/config/peers/local", $event); } templates2events("$config/$_", qw( bootstrap-console-save console-save email-update smeserver-qpsmtpd-update )) for (qw( IP badhelo badrcptto badrcptto_ext badmailfrom dnsbl_zones dnsbl_allow uribl_zones loglevel memory_threshold plugins relayclients norelayclients rhsbl_zones signatures_patterns plugin_dirs smtpgreeting spool_dir subject_prefix invalid_resolvable_fromhost timeout timeoutsmtpd tls_before_auth tls_ciphers tls_protocols )); templates2events("$config/$_", qw( console-save bootstrap-console-save domain-create domain-delete ip-change email-update host-create host-delete host-modify post-upgrade smeserver-qpsmtpd-update )) for (qw( rcpthosts smtproutes )); templates2events("$config/badrcptto_ext", qw( domain-create domain-delete user-create user-delete user-modify group-create group-delete group-modify pseudonym-create pseudonym-delete pseudonym-modify smeserver-qpsmtpd-update )); templates2events("$config/relayclients", qw( network-create network-delete smeserver-qpsmtpd-update )); templates2events("$config/$_", qw( ssl-update smeserver-qpsmtpd-update )) for (qw( tls_before_auth tls_ciphers tls_protocols )); templates2events("$config/badhelo", 'ip-change'); templates2events("$config/goodrcptto", qw( bootstrap-console-save email-update domain-create domain-delete user-create user-delete user-modify pseudonym-create pseudonym-delete pseudonym-modify group-create group-delete group-modify smeserver-qpsmtpd-update )); safe_touch("root/etc/e-smith/templates/$config/forcespamcheck/template-begin"); templates2events("$config/forcespamcheck", qw( bootstrap-console-save email-update domain-create domain-delete user-create user-delete user-modify pseudonym-create pseudonym-delete pseudonym-modify group-create group-delete group-modify smeserver-qpsmtpd-update )); safe_symlink("restart", "root/etc/e-smith/events/email-update/services2adjust/$daemon"); safe_symlink("sighup", "root/etc/e-smith/events/ssl-update/services2adjust/$daemon"); for $event ( qw(smeserver-qpsmtpd-update email-update console-save bootstrap-console-save post-install post-upgrade) ) { templates2events("/usr/lib/systemd/system/$daemon.service.d/50koozali.conf", $event); } } #######end of per config dir for $event ( qw(network-create network-delete) ) { safe_symlink("sigusr1", "root/etc/e-smith/events/$event/services2adjust/qpsmtpd"); safe_symlink("sigusr1", "root/etc/e-smith/events/$event/services2adjust/sqpsmtpd"); safe_symlink("sigusr1", "root/etc/e-smith/events/$event/services2adjust/uqpsmtpd"); } $event = 'smeserver-qpsmtpd-update'; safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/qpsmtpd"); safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/sqpsmtpd"); safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/uqpsmtpd"); templates2events("/etc/systemd/system-preset/49-koozali.preset", $event); event_link("systemd-reload", $event, "89"); event_link("systemd-default", $event, "88");