Bonjour (j'ai oublié le dkimproxy modifier pour que vous ayez les
modifications effectuée),

j'ai trouvé ça sur le sujet mais je ne trouve pas ça suffisant
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=886441

En effet il y a un bug dans /etc/init.d/dkimproxy je vous passe mon
fichier modifier (qui fonctionne sauf pour --keyfile). J'ai modifier des
testes en gros if [ -n ...] par des des if [ -z ...].

Le derniers bug viendrais de dkimproxy: il va chercher la clef
/var/lib/dkimproxy/private.key quoi que l'on fasse.

Il y a un truc à ajouter c'est que la clef d'origine:elle n'a pas la
bonne permission.(tant mieux car ça oblige à poser ça clef dans
/var/lib/dkimproxy avec le nom private.key).

-- 
Cordialement Thomas Marsaleix



#!/bin/sh
#
# Copyright (C) 2005 Messiah College.
# Copyright (C) 2008 Thomas Goirand <tho...@goirand.fr>

### BEGIN INIT INFO
# Provides:             dkimproxy
# Required-Start:       $local_fs $remote_fs
# Required-Stop:        $local_fs $remote_fs
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Domain key filter init script
# Description:          dkimproxy is an SMTP-proxy designed for Postfix. It
#                       implements DKIM message signing and verification.
#                       It comprises two separate filters, an "outbound" filter
#                       for signing outgoing email, and an "inbound" filter for
#                       verifying signatures of incoming email. The filters can
#                       operate as either Before-Queue or After-Queue Postfix
#                       content filters.
### END INIT INFO

. /lib/lsb/init-functions

if [ -e /etc/default/dkimproxy ] ; then
        . /etc/default/dkimproxy
fi

### START OF CONFIGURATION READINGS FROM /etc/default/dkimproxy ###
# Check if dkimproxy in or out has been disabled
RUN_DKOUT=1
RUN_DKIN=1
if [ -z "${RUN_DKIMPROXY_OUT}" ] ; then
        if ! [ ${RUN_DKIMPROXY_OUT} -eq 1 ] ; then
                RUN_DKOUT=0
        fi
fi
if [ -z "${RUN_DKIMPROXY_IN}" ] ; then
        if ! [ "${RUN_DKIMPROXY_IN}" -eq 1 ] ; then
                RUN_DKIN=0
        fi
fi

# Check if the path to dkimproxy in or out has been overwritten
DKIN_CONF=/etc/dkimproxy/dkimproxy_in.conf
DKOUT_CONF=/etc/dkimproxy/dkimproxy_out.conf
if [ -z "${DKIMPROXY_IN_CONF}" ] ; then
        DKIN_CONF=${DKIMPROXY_IN_CONF}
fi
if [ -z "${DKIMPROXY_OUT_CONF}" ] ; then
        DKOUT_CONF=${DKIMPROXY_OUT_CONF}
fi
echo "${DKIMPROXY_OUT_PRIVKEY}" >> /tmp/log.txt
# Check if the path to the private key has been overwritten
# In fact, if no value, then set the default...
if [ -z "${DKIMPROXY_OUT_PRIVKEY}" ] ; then
        DKIMPROXY_OUT_PRIVKEY="/var/lib/dkimproxy/private.key"
fi

# Set the default number of process to prefork.
if [ -z "${DKIMPROXY_IN_MIN_SERVERS}" ] ; then
        DKIMPROXY_IN_MIN_SERVERS=5
fi
if [ -z "${DKIMPROXY_OUT_MIN_SERVERS}" ] ; then
        DKIMPROXY_OUT_MIN_SERVERS=5
fi

# Check if the path to the hostname has been overwritten
# In fact, if no value, then set the default...
if [ -z "${DKIM_HOSTNAME}" ] ; then
        DKIM_HOSTNAME=`hostname -d`
fi
if [ -z "${DKIM_HOSTNAME}" ] ; then
        echo 'Warning: no domain name from `hostname -d`, using "localdomain".'
        DKIM_HOSTNAME=localdomain
fi

# Get the host domains dynamically. You can change this to the location where
# you have your virtual table here, or best: ehance this script to support more
# situations with packages others than DTC
HOST_DOMAIN=${DKIM_HOSTNAME}
if [ -z "${DOMAIN}" ] ; then
        if [ -f /var/lib/dtc/etc/local_domains ] ; then
                DTC_DOMAIN=`cat /var/lib/dtc/etc/local_domains | grep -v 
^${HOST_DOMAIN} | tr \\\r\\\n ,,`
        else
                DTC_DOMAIN=""
        fi
fi
if [ -z "${DOMAIN}" ] ; then
        DOMAIN=${DTC_DOMAIN}${HOST_DOMAIN}
fi

# Configure usernames to run under
if [ -z "${DKIMPROXYUSER}" ] ; then
        DKIMPROXYUSER=dkimproxy
fi
if [ -z "${DKIMPROXYGROUP}" ] ; then
        DKIMPROXYGROUP=dkimproxy
fi

### END OF CONFIGURATION READINGS FROM /etc/default/dkimproxy ###

DKIMPROXY_IN_BIN="/usr/sbin/dkimproxy.in"
DKIMPROXY_OUT_BIN="/usr/sbin/dkimproxy.out"
PIDDKIMPROXY_IN="/var/run/dkimproxy.in"
PIDDKIMPROXY_OUT="/var/run/dkimproxy.out"

COMMON_ARGS="--user=${DKIMPROXYUSER} --group=${DKIMPROXYGROUP} --daemonize"
DKIMPROXY_IN_ARGS="--hostname=${DKIM_HOSTNAME} --conf_file=${DKIN_CONF} 
${COMMON_ARGS} --pidfile=${PIDDKIMPROXY_IN} 
--min_servers=${DKIMPROXY_IN_MIN_SERVERS}"
#DKIMPROXY_OUT_ARGS="--domain=${DOMAIN} --method=simple 
--conf_file=${DKOUT_CONF} --keyfile=${DKIMPROXY_OUT_PRIVKEY} ${COMMON_ARGS} 
--pidfile=${PIDDKIMPROXY_OUT} --signature=dkim --signature=domainkeys 
--min_servers=${DKIMPROXY_OUT_MIN_SERVERS}"
DKIMPROXY_OUT_ARGS="--domain=${DOMAIN} --method=simple 
--conf_file=${DKOUT_CONF} --keyfile=${DKIMPROXY_OUT_PRIVKEY} ${COMMON_ARGS} 
--pidfile=${PIDDKIMPROXY_OUT} --signature=dkim 
--min_servers=${DKIMPROXY_OUT_MIN_SERVERS}"

if [ -x /sbin/start-stop-daemon ] ; then
        STRT_STP_DMN=/sbin/start-stop-daemon
else
        STRT_STP_DMN=`which start-stop-daemon`
fi
if [ -z "${STRT_STP_DMN}" ] ; then
        echo "Can't find the start-stop-daemon binary"
fi

case "$1" in
start)
        START_ERROR=0
        RETVAL=0
        if [ -x ${DKIMPROXY_IN_BIN} ] ; then
                if [ "${RUN_DKIN}" -eq 1 ] ; then
                        log_daemon_msg "Starting inbound DomainKeys-filter" 
"dkimproxy.in"
                        echo "===>${DKIMPROXY_IN_BIN} ${DKIMPROXY_IN_ARGS}"
                        ${DKIMPROXY_IN_BIN} ${DKIMPROXY_IN_ARGS}
                        RETVAL=$?
                        START_ERROR=${RETVAL}
                        log_end_msg ${RETVAL}
                        if ! [ "${RETVAL}" -eq 0 ] ; then
                                exit ${RETVAL}
                        fi
                else
                        echo "DomainKeys-filter dkimproxy.in disabled in 
/etc/default/dkimproxy"
                fi
        fi

        if [ -x ${DKIMPROXY_OUT_BIN} ] ; then
                if [ "${RUN_DKOUT}" -eq 1 ] ; then
                        log_daemon_msg "Starting outbound DomainKeys-signing" 
"dkimproxy.out"
                        echo "===>${DKIMPROXY_OUT_BIN} ${DKIMPROXY_OUT_ARGS}"
                        ${DKIMPROXY_OUT_BIN} ${DKIMPROXY_OUT_ARGS}
                        #${STRT_STP_DMN} --background --make-pidfile --start -p 
${PIDDKIMPROXY_OUT} -u ${DKIMPROXYUSER} -g ${DKIMPROXYGROUP} -x 
${DKIMPROXY_OUT_BIN} -- ${DKIMPROXY_OUT_ARGS}
                        RETVAL=$?
                        log_end_msg ${RETVAL}
                else
                        echo "DomainKeys-signing dkimproxy.out disabled in 
/etc/default/dkimproxy"
                fi
        fi
        if ! [ "${RETVAL}" -eq 0 -a "${START_ERROR}" -eq 0 ] ; then
                if ! [ ${START_ERROR} -eq 0 ] ; then
                        echo "Error ${START_ERROR} when starting 
${DKIMPROXY_IN_BIN}"
                fi
                if ! [ "${RETVAL}" -eq 0 ] ; then
                        echo "Error ${RETVAL} when starting 
${DKIMPROXY_OUT_BIN}"
                fi
        fi
        ;;

stop)
        RETVALIN=0
        RETVALOUT=0
        if [ -x ${DKIMPROXY_IN_BIN} ] ; then
                if [ "${RUN_DKIN}" -eq 1 ] ; then
                        log_daemon_msg "Shutting down inbound 
DomainKeys-filter" "dkimproxy.in"
                        if [ -f "${PIDDKIMPROXY_IN}" ] ; then
                                kill `cat ${PIDDKIMPROXY_IN}`
                                RETVALIN=$?
                        else
                                echo -n " ${PIDDKIMPROXY_IN} not found "
                                RETVALIN=1
                        fi
                        log_end_msg ${RETVALIN}
                else
                        echo "DomainKeys-filter dkimproxy.in disabled in 
/etc/default/dkimproxy"
                fi
        fi
        if [ -x ${DKIMPROXY_OUT_BIN} ] ; then
                if [ "${RUN_DKOUT}" -eq 1 ] ; then
                        log_daemon_msg "Shutting down outbound 
DomainKeys-filter" "dkimproxy.out"
                        if [ -f "${PIDDKIMPROXY_OUT}" ] ; then
                                kill `cat ${PIDDKIMPROXY_OUT}`
                                RETVALOUT=$?
                        else
                                echo -n " ${PIDDKIMPROXY_OUT} not found "
                                RETVALOUT=1
                        fi
                        log_end_msg ${RETVALOUT}
                else
                        echo "DomainKeys-signing dkimproxy.out disabled in 
/etc/default/dkimproxy"
                fi
        fi
        rm -f "${PIDDKIMPROXY_IN}" "${PIDDKIMPROXY_OUT}"
        if ! [ ${RETVALIN} -eq 0 -a ${RETVALOUT} -eq 0 ]; then
                if ! [ ${RETVALIN} -eq 0 ] ; then
                        echo "Error ${RETVALIN} when shutting down 
${PIDDKIMPROXY_IN}"
                fi
                if ! [ "${RETVALOUT}" -eq 0 ] ; then
                        echo "Error ${RETVALOUT} when shutting down 
${PIDDKIMPROXY_OUT}"
                fi
        fi
        ;;
force-reload)
        $0 stop
        sleep 1
        $0 start
        ;;
reload)
        $0 stop
        sleep 1
        $0 start
        ;;
restart)
        $0 stop
        sleep 1
        $0 start
        ;;
*)
        echo "Usage: $0 {start|stop|restart|reload|force-reload}"
        exit 1
        ;;
esac

exit 0

Attachment: signature.asc
Description: OpenPGP digital signature

  • dkimproxy Thomas Marsaleix
    • dkimproxy Thomas Marsaleix

Répondre à