SHA256
1
0
forked from pool/postfix
postfix/postfix-SuSE-SASL_SOCKET_DIR.patch

131 lines
3.9 KiB
Diff

diff -ruN postfix-SuSE-orig/rc.postfix postfix-SuSE/rc.postfix
--- postfix-SuSE-orig/rc.postfix 2011-04-10 08:59:58.000000000 +0200
+++ postfix-SuSE/rc.postfix 2011-08-09 13:01:08.000000000 +0200
@@ -28,6 +28,7 @@
POSTFIX_BIN=/usr/sbin/postfix
POSTCONF=/usr/sbin/postconf
OPENSLP_BIN=/usr/bin/slptool
+PF_CHROOT=/var/spool/postfix
print_defaults=/usr/bin/my_print_defaults
test -x $POSTFIX_BIN || exit 5
@@ -61,7 +62,6 @@
}
chk_mysql_sock(){
- PF_CHROOT="/var/spool/postfix"
if [ -n "$($print_defaults mysqld)" ]; then
MYSQL_SOCKET=$($print_defaults mysqld | grep -e '--socket[[:blank:]=]' | awk -F"=" '{print $2}')
MYSQL_SOCKET_DIR=$(dirname $MYSQL_SOCKET)
@@ -86,6 +86,27 @@
return $RET
}
+chk_sasl_sock(){
+ SASL_SOCKET=/var/run/sasl2/mux
+ SASL_SOCKET_DIR=$(dirname $SASL_SOCKET)
+ CHR_SASL_SOCKET=${PF_CHROOT}${SASL_SOCKET}
+ CHR_SASL_SOCKET_DIR=$(dirname $CHR_SASL_SOCKET)
+ if [ -S $SASL_SOCKET ]; then
+ if [ -d $CHR_SASL_SOCKET_DIR ]; then
+ if grep $CHR_SASL_SOCKET_DIR /proc/mounts &> /dev/null; then
+ RET=0
+ else
+ RET=4
+ fi
+ else
+ RET=2
+ fi
+ else
+ RET=1
+ fi
+ return $RET
+}
+
# Shell functions sourced from /etc/rc.status:
# rc_check check and set local and overall rc status
# rc_status check and set local and overall rc status
@@ -147,6 +168,29 @@
rc_failed 1; rc_status -v; rc_exit;
}
;;
+ esac
+ fi
+ if [ "$(echo "$POSTFIX_SMTP_AUTH_SERVER" | tr 'A-Z' 'a-z' )" != "no" ]; then
+ chk_sasl_sock
+ case $? in
+ 1)
+warn_user "\tsaslauthd not started\n\
+\tPlease check if saslauthd is started on boot"
+ rc_failed 7; rc_status -v; rc_exit;
+ ;;
+ 2)
+warn_user "\t$CHR_SASL_SOCKET_DIR does not exist!!\n\
+\tThis should not happen!\n\
+\tPlease run SuSEconfig."
+ rc_failed 6; rc_status -v; rc_exit;
+ ;;
+ 4)
+ /bin/mount -o bind $SASL_SOCKET_DIR $CHR_SASL_SOCKET_DIR &> /dev/null
+ [ $? -ne 0 ] && {
+ echo -n " ... can not mount $SASL_SOCKET_DIR to $SASL_SOCKET_DIR"
+ rc_failed 1; rc_status -v; rc_exit;
+ }
+ ;;
esac
fi
fi
diff -ruN postfix-SuSE-orig/SuSEconfig.postfix postfix-SuSE/SuSEconfig.postfix
--- postfix-SuSE-orig/SuSEconfig.postfix 2011-07-06 15:08:51.000000000 +0200
+++ postfix-SuSE/SuSEconfig.postfix 2011-08-09 13:01:55.000000000 +0200
@@ -91,6 +91,10 @@
\tPlease check if postfix-mysql is installed and check for package mysql."
fi
fi
+ if [ "$(echo "$POSTFIX_SMTP_AUTH_SERVER" | tr 'A-Z' 'a-z' )" != "no" ]; then
+ SASL_SOCKET_DIR="/var/run/sasl2"
+ CHR_SASL_SOCKET_DIR="var/run/sasl2"
+ fi
if [ "$(echo "$POSTFIX_CHROOT" | tr 'A-Z' 'a-z' )" != "yes" -a \
"$(echo "$POSTFIX_UPDATE_CHROOT_JAIL" | tr 'A-Z' 'a-z' )" != "no" ]; then
if [ -d etc ]; then
@@ -107,6 +111,12 @@
fi
fi
+ if [ -n "$CHR_SASL_SOCKET_DIR" ]; then
+ if grep "$PF_CHROOT"/$CHR_SASL_SOCKET_DIR /proc/mounts &> /dev/null; then
+ umount "$PF_CHROOT"/$CHR_SASL_SOCKET_DIR
+ fi
+ fi
+
rm -rvf etc @lib@ usr var proc
elif [ "$(echo "$POSTFIX_UPDATE_CHROOT_JAIL" | tr 'A-Z' 'a-z' )" != "no" ]; then
echo "checking postfix chroot environment..."
@@ -138,6 +148,15 @@
fi
fi
+ if [ "$(echo "$POSTFIX_SMTP_AUTH_SERVER" | tr 'A-Z' 'a-z' )" != "no" ]; then
+ if [ ! -d $CHR_SASL_SOCKET_DIR ]; then
+ mkdir -p $CHR_SASL_SOCKET_DIR
+ fi
+ if ! grep $CHR_SASL_SOCKET_DIR /proc/mounts &> /dev/null; then
+ mount -o bind $SASL_SOCKET_DIR "$PF_CHROOT"/$CHR_SASL_SOCKET_DIR
+ fi
+ fi
+
# smtpd_tls_CApath
CAPATH=`postconf -h smtpd_tls_CApath`
if [ "$CAPATH" ]
@@ -180,8 +199,7 @@
cpifnewer "/etc/sasl2/*" etc/sasl2
cpifnewer "/usr/@lib@/sasl2/*" usr/@lib@/sasl2
cpifnewer "/usr/@lib@/libsasl2*" usr/@lib@
- mkdir -p var/run/sasl2
- ln -f /var/run/sasl2/mux var/run/sasl2/mux
+
# CYRUS
mkdir -p var/lib/imap/socket/
ln -f /var/lib/imap/socket/lmtp var/lib/imap/socket/lmtp