diff -ruN e-smith-email-5.2.0.old/root/etc/e-smith/db/configuration/migrate/20smtp-auth-proxy-Blacklist e-smith-email-5.2.0/root/etc/e-smith/db/configuration/migrate/20smtp-auth-proxy-Blacklist --- e-smith-email-5.2.0.old/root/etc/e-smith/db/configuration/migrate/20smtp-auth-proxy-Blacklist 1970-01-01 01:00:00.000000000 +0100 +++ e-smith-email-5.2.0/root/etc/e-smith/db/configuration/migrate/20smtp-auth-proxy-Blacklist 2012-07-03 04:52:35.000000000 +0100 @@ -0,0 +1,8 @@ +{ + my $MD5Patch = $DB->get_prop_and_delete('smtp-auth-proxy','MD5Patch') or return; + + if ($MD5Patch eq 'enabled') + { + $DB->set_prop('smtp-auth-proxy','Blacklist', 'CRAM-MD5 DIGEST-MD5'); + } +} diff -ruN e-smith-email-5.2.0.old/root/usr/local/sbin/smtp-auth-proxy.pl e-smith-email-5.2.0/root/usr/local/sbin/smtp-auth-proxy.pl --- e-smith-email-5.2.0.old/root/usr/local/sbin/smtp-auth-proxy.pl 2012-07-03 04:49:06.000000000 +0100 +++ e-smith-email-5.2.0/root/usr/local/sbin/smtp-auth-proxy.pl 2012-07-03 04:49:33.000000000 +0100 @@ -23,6 +23,7 @@ my $smtp_proxy_rec = $config->get('smtp-auth-proxy'); $prop->{SMTPSmartHost} = $config->get_value('SMTPSmartHost'); + $prop->{Blacklist} = $smtp_proxy_rec->prop('Blacklist') || " "; $prop->{Userid} = $smtp_proxy_rec->prop('Userid'); $prop->{Passwd} = $smtp_proxy_rec->prop('Passwd'); $prop->{Debug} = $smtp_proxy_rec->prop('Debug'); @@ -92,7 +93,10 @@ if ($smtp->supports("AUTH")) { - unless ($smtp->auth($name, $pass)) + foreach (split (/ /, $self->get_property('Blacklist'))) + {${*$smtp}{'net_smtp_esmtp'}->{"AUTH"} =~ s/$_//;} + + unless ($smtp->auth($name, $pass)) { print "451 Could not auth to mail server\n"; warn "SMTP authentication with ISP server failed\n";