Lines 15-20
Link Here
|
15 |
# |
15 |
# |
16 |
# milterdkim_enable (bool): Set to "NO" by default. |
16 |
# milterdkim_enable (bool): Set to "NO" by default. |
17 |
# Set it to "YES" to enable dkim-milter |
17 |
# Set it to "YES" to enable dkim-milter |
|
|
18 |
# milterdkim_uid (str): Set username to run milter. |
18 |
# milterdkim_profiles (list): Set to "" by default. |
19 |
# milterdkim_profiles (list): Set to "" by default. |
19 |
# Define your profiles here. |
20 |
# Define your profiles here. |
20 |
# milterdkim_socket (str): Path to the milter socket. |
21 |
# milterdkim_socket (str): Path to the milter socket. |
Lines 30-35
Link Here
|
30 |
# DO NOT CHANGE THESE DEFAULT VALUES HERE |
31 |
# DO NOT CHANGE THESE DEFAULT VALUES HERE |
31 |
# |
32 |
# |
32 |
milterdkim_enable=${milterdkim_enable:-"NO"} |
33 |
milterdkim_enable=${milterdkim_enable:-"NO"} |
|
|
34 |
milterdkim_uid=${milterdkim_uid:-"dkimfilter"} |
33 |
milterdkim_profiles=${milterdkim_profiles:-} |
35 |
milterdkim_profiles=${milterdkim_profiles:-} |
34 |
milterdkim_socket=${milterdkim_socket:-"local:/var/run/milterdkim/filter.sock"} |
36 |
milterdkim_socket=${milterdkim_socket:-"local:/var/run/milterdkim/filter.sock"} |
35 |
milterdkim_domain=${milterdkim_domain:-"example.com"} |
37 |
milterdkim_domain=${milterdkim_domain:-"example.com"} |
Lines 45-61
name="milterdkim"
Link Here
|
45 |
rcvar=`set_rcvar` |
47 |
rcvar=`set_rcvar` |
46 |
|
48 |
|
47 |
start_precmd="dkim_prepcmd" |
49 |
start_precmd="dkim_prepcmd" |
48 |
stop_postcmd="dkim_prepcmd" |
50 |
stop_postcmd="dkim_postcmd" |
49 |
command="%%PREFIX%%/libexec/dkim-filter" |
51 |
command="%%PREFIX%%/libexec/dkim-filter" |
50 |
_pidprefix="/var/run/dkim-filter" |
52 |
_piddir="/var/run/milterdkim" |
51 |
pidfile="${_pidprefix}.pid" |
53 |
pidfile="${_piddir}/pid" |
52 |
|
54 |
|
53 |
load_rc_config $name |
55 |
load_rc_config $name |
54 |
|
56 |
|
55 |
if [ -n "$2" ]; then |
57 |
if [ -n "$2" ]; then |
56 |
profile="$2" |
58 |
profile="$2" |
57 |
if [ "x${milterdkim_profiles}" != "x" ]; then |
59 |
if [ "x${milterdkim_profiles}" != "x" ]; then |
58 |
pidfile="${_pidprefix}.${profile}.pid" |
60 |
pidfile="${_piddir}/${profile}.pid" |
59 |
eval milterdkim_enable="\${milterdkim_${profile}_enable:-${milterdkim_enable}}" |
61 |
eval milterdkim_enable="\${milterdkim_${profile}_enable:-${milterdkim_enable}}" |
60 |
eval milterdkim_socket="\${milterdkim_${profile}_socket:-}" |
62 |
eval milterdkim_socket="\${milterdkim_${profile}_socket:-}" |
61 |
if [ "x${milterdkim_socket}" = "x" ];then |
63 |
if [ "x${milterdkim_socket}" = "x" ];then |
Lines 65-71
if [ -n "$2" ]; then
Link Here
|
65 |
eval milterdkim_domain="\${milterdkim_${profile}_domain:-${milterdkim_domain}}" |
67 |
eval milterdkim_domain="\${milterdkim_${profile}_domain:-${milterdkim_domain}}" |
66 |
eval milterdkim_key="\${milterdkim_${profile}_key:-${milterdkim_key}}" |
68 |
eval milterdkim_key="\${milterdkim_${profile}_key:-${milterdkim_key}}" |
67 |
eval milterdkim_flags="\${milterdkim_${profile}_flags:-${milterdkim_flags}}" |
69 |
eval milterdkim_flags="\${milterdkim_${profile}_flags:-${milterdkim_flags}}" |
68 |
command_args="-l -p ${milterdkim_socket} -P ${pidfile}" |
70 |
command_args="-l -p ${milterdkim_socket} -u ${milterdkim_uid} -P ${pidfile}" |
69 |
else |
71 |
else |
70 |
echo "$0: extra argument ignored" |
72 |
echo "$0: extra argument ignored" |
71 |
fi |
73 |
fi |
Lines 74-80
else
Link Here
|
74 |
if [ "x$1" != "xrestart" ]; then |
76 |
if [ "x$1" != "xrestart" ]; then |
75 |
for profile in ${milterdkim_profiles}; do |
77 |
for profile in ${milterdkim_profiles}; do |
76 |
echo "===> milterdkim profile: ${profile}" |
78 |
echo "===> milterdkim profile: ${profile}" |
77 |
%%PREFIX%%/etc/rc.d/milter-dkim.sh $1 ${profile} |
79 |
$0 $1 ${profile} |
78 |
retcode="$?" |
80 |
retcode="$?" |
79 |
if [ "0${retcode}" -ne 0 ]; then |
81 |
if [ "0${retcode}" -ne 0 ]; then |
80 |
failed="${profile} (${retcode}) ${failed:-}" |
82 |
failed="${profile} (${retcode}) ${failed:-}" |
Lines 88-94
else
Link Here
|
88 |
fi |
90 |
fi |
89 |
else |
91 |
else |
90 |
milterdkim_flags=${milterdkim_flags} |
92 |
milterdkim_flags=${milterdkim_flags} |
91 |
command_args="-l -p ${milterdkim_socket} -P ${pidfile}" |
93 |
command_args="-l -p ${milterdkim_socket} -u ${milterdkim_uid} -P ${pidfile}" |
92 |
fi |
94 |
fi |
93 |
fi |
95 |
fi |
94 |
|
96 |
|
Lines 99-104
dkim_prepcmd ()
Link Here
|
99 |
elif [ -S ${milterdkim_socket##unix:} ] ; then |
101 |
elif [ -S ${milterdkim_socket##unix:} ] ; then |
100 |
rm -f ${milterdkim_socket##unix:} |
102 |
rm -f ${milterdkim_socket##unix:} |
101 |
fi |
103 |
fi |
|
|
104 |
if [ -d ${_piddir} ] ; then |
105 |
return; |
106 |
fi |
107 |
mkdir -p ${_piddir} |
108 |
if [ -n "${milterdkim_uid}" ] ; then |
109 |
chown ${milterdkim_uid} ${_piddir} |
110 |
fi |
111 |
} |
112 |
|
113 |
dkim_postcmd() |
114 |
{ |
115 |
if [ -S ${milterdkim_socket##local:} ] ; then |
116 |
rm -f ${milterdkim_socket##local:} |
117 |
elif [ -S ${milterdkim_socket##unix:} ] ; then |
118 |
rm -f ${milterdkim_socket##unix:} |
119 |
fi |
120 |
# just if the directory is empty |
121 |
rmdir ${_piddir} > /dev/null 2>&1 |
102 |
} |
122 |
} |
103 |
|
123 |
|
104 |
run_rc_command "$1" |
124 |
run_rc_command "$1" |