3 # grab tokens in case they were dropped by sudo
4 if [ -x "$(which aklog)" ]; then
9 sudo
-u domtool
touch /var
/domtool
/local_domains.cfg
/var
/domtool
/relay_domains.cfg
/var
/domtool
/mailman_domains.cfg
10 /bin
/echo -n "domainlist local_domains = " >/etc
/exim
4/conf.d
/main
/10_domtool-domains
11 /bin
/cat /var
/domtool
/local_domains.cfg
>>/etc
/exim
4/conf.d
/main
/10_domtool-domains
12 /bin
/echo "" >>/etc
/exim
4/conf.d
/main
/10_domtool-domains
13 /bin
/echo -n "domainlist relay_to_domains = " >>/etc
/exim
4/conf.d
/main
/10_domtool-domains
14 /bin
/cat /var
/domtool
/relay_domains.cfg
>>/etc
/exim
4/conf.d
/main
/10_domtool-domains
15 /bin
/echo "" >>/etc
/exim
4/conf.d
/main
/10_domtool-domains
16 /bin
/echo -n "domainlist mm_domains = " >>/etc
/exim
4/conf.d
/main
/10_domtool-domains
17 /bin
/cat /var
/domtool
/mailman_domains.cfg
>>/etc
/exim
4/conf.d
/main
/10_domtool-domains
18 /bin
/echo "" >>/etc
/exim
4/conf.d
/main
/10_domtool-domains
24 /usr
/bin
/rsync
-r --delete /var
/domtool
/vhosts
/ /etc
/apache
2/vhosts
/
25 service apache2 reload
31 /usr
/bin
/rsync
-r --delete /var
/domtool
/vhosts
/ /etc
/apache
2/vhosts
/
35 /usr
/bin
/rsync
-r --delete /var
/domtool
/vhosts
/ /etc
/apache
/vhosts
/
42 /usr
/bin
/rsync
-r --delete /var
/domtool
/vhosts
/ /etc
/apache
/vhosts
/
46 /usr
/bin
/rsync
-r --delete /var
/domtool
/zones
/ /etc
/bind
/zones
/
47 /bin
/chown
-R bind /etc
/bind
/zones
48 /bin
/cp /var
/domtool
/named.conf.
local /etc
/bind
/
49 /bin
/chown root
:bind /etc
/bind
/named.conf.
local
50 /bin
/chmod 644 /etc
/bind
/named.conf.
local
54 sudo
-u domtool
touch /var
/domtool
/aliases
/var
/domtool
/aliases.default
55 /bin
/cp /var
/domtool
/aliases
/etc
/aliases.hosted
56 /bin
/cp /var
/domtool
/aliases.default
/etc
/aliases.wildcard
60 /bin
/echo "HCOOP_VHOSTS = {" >/etc
/mailman
/vhosts_cfg.py
61 /bin
/cat /var
/domtool
/mailman.map
>>/etc
/mailman
/vhosts_cfg.py
62 /bin
/echo "}" >>/etc
/mailman
/vhosts_cfg.py
63 service mailman reload
67 VMAILDB
=`domtool-config -path vmaildb`
68 if [ -z "$VMAILDB" ]; then
69 echo "domtool-config not found, not syncing courier vmail userdb"
72 /usr
/bin
/rsync
-r --delete ${VMAILDB}/ /etc
/courier
/userdb
74 /bin
/chown
-R domtool
:nogroup
/etc
/courier
/userdb
75 /bin
/cat /etc
/courier
/userdb
/* >/etc
/courier
/exim
76 /bin
/chmod o-r
/etc
/courier
/exim
77 /usr
/sbin
/exim_dbmbuild
/etc
/courier
/exim
/etc
/courier
/exim.dat
78 /bin
/chgrp
mail /etc
/courier
/exim.dat
79 /bin
/chmod o-r
/etc
/courier
/exim.dat
82 SHAREDROOT
=`domtool-config -path shared-root`
83 /usr
/bin
/rsync
-r --delete ${SHAREDROOT}/email
/spamassassin
/addrs
/ /etc
/spamassassin
/addrs
86 /bin
/grep $2 /var
/log
/exim
4/mainlog
89 /bin
/chown
-R domtool
:nogroup
/var
/log
/apache
2/user
92 /bin
/chown
-R domtool
:nogroup
/var
/log
/apache
/user
95 /bin
/cp /var
/domtool
/waklog.conf
/etc
/apache
2/
96 service apache2 reload
99 # Ideally this would check if the config worked first
100 # (ferm failing just uses the previous config at
101 # least). Does it need to chown/chmod the generated
103 /bin
/cp /var
/domtool
/firewall
/*.conf
/etc
/ferm
/
107 # new firewall publishing method that integrates with puppet (sort of)
108 /bin
/cp /var
/domtool
/firewall
/*.conf
/etc
/ferm
/
109 if [ ! -d /etc
/puppetlabs
]; then
114 if ( /usr
/sbin
/ferm
--noexec /etc
/ferm
/ferm.conf
); then
115 for chain
in FERM-INPUT FERM-OUTPUT
; do
116 /sbin
/iptables
-F $chain
117 /sbin
/ip6tables
-F $chain
119 /usr
/sbin
/ferm
--domain ip
--noexec --lines /etc
/ferm
/ferm.conf | iptables-restore
--noflush
120 /usr
/sbin
/ferm
--domain ip6
--noexec --lines /etc
/ferm
/ferm.conf | ip6tables-restore
--noflush
123 echo "firewall: ferm failed, aborting regeneration."
127 echo "Usage: domtool-publish [apache|bind|courier|exim|mailman|smtplog STRING|users|firewall]"