Commit b2b3b163 authored by tbrehm's avatar tbrehm
Browse files

Fixed a problem with broken tolower function in maildrop when compiled with...

Fixed a problem with broken tolower function in maildrop when compiled with some specific gcc settings by forcing lowercase addresses in master.cf and adding a workaround in case that tolower returns a empty result.
parent fe670c66
...@@ -161,16 +161,16 @@ class installer_dist extends installer_base { ...@@ -161,16 +161,16 @@ class installer_dist extends installer_base {
$content = rf($configfile); $content = rf($configfile);
// if postfix package is from fedora or centios main repo // if postfix package is from fedora or centios main repo
$content = str_replace('# flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}', $content = str_replace('# flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}',
' flags=R user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}', ' flags=DRhu user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}',
$content); $content);
// If postfix package is from centos plus repo // If postfix package is from centos plus repo
$content = str_replace('# flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}', $content = str_replace('# flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}',
' flags=R user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}', ' flags=DRhu user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}',
$content); $content);
$content = str_replace(' flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}', $content = str_replace(' flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}',
' flags=R user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}', ' flags=DRhu user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}',
$content); $content);
......
...@@ -161,11 +161,11 @@ class installer_dist extends installer_base { ...@@ -161,11 +161,11 @@ class installer_dist extends installer_base {
$content = rf($configfile); $content = rf($configfile);
$content = str_replace(' flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}', $content = str_replace(' flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}',
' flags=R user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}', ' flags=DRhu user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}',
$content); $content);
$content = str_replace(' flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}', $content = str_replace(' flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}',
' flags=R user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}', ' flags=DRhu user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}',
$content); $content);
wf($configfile, $content); wf($configfile, $content);
......
...@@ -517,7 +517,7 @@ class installer_base { ...@@ -517,7 +517,7 @@ class installer_base {
$configfile = $config_dir.'/master.cf'; $configfile = $config_dir.'/master.cf';
$content = rf($configfile); $content = rf($configfile);
$content = str_replace('flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}', $content = str_replace('flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}',
'flags=R user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d '.$cf['vmail_username'].' ${extension} ${recipient} ${user} ${nexthop} ${sender}', 'flags=DRhu user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d '.$cf['vmail_username'].' ${extension} ${recipient} ${user} ${nexthop} ${sender}',
$content); $content);
wf($configfile, $content); wf($configfile, $content);
......
...@@ -10,6 +10,17 @@ HOST=tolower("$4") ...@@ -10,6 +10,17 @@ HOST=tolower("$4")
SENDER="$5" SENDER="$5"
DEFAULT="{dist_postfix_vmail_mailbox_base}/$HOST/$USER/." DEFAULT="{dist_postfix_vmail_mailbox_base}/$HOST/$USER/."
# Workaround for broken tolower function in some current fedora releases
if(!$USER)
{
USER=$3
}
if(!$HOST)
{
HOST=$4
}
if ( "$EXTENSION" ne "" ) if ( "$EXTENSION" ne "" )
{ {
DELIMITER="+" DELIMITER="+"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment