alecpl
2008-12-18 44ea3fd4782889ee97717ce925d87979390e4bb3
- Fix STARTTLS before AUTH in SMTP connection (#1484883)


2 files modified
23 ■■■■ changed files
CHANGELOG 4 ●●●● patch | view | raw | blame | history
program/lib/Net/SMTP.php 19 ●●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,10 @@
CHANGELOG RoundCube Webmail
---------------------------
2008/12/18 (alec)
----------
- Fix STARTTLS before AUTH in SMTP connection (#1484883)
2008/12/16 (thomasb)
----------
- Only abbreviate file name for IE browsers (#1485063)
program/lib/Net/SMTP.php
@@ -375,7 +375,7 @@
            return true;
        }
console($this->_arguments);
        foreach ($this->_arguments as $argument) {
            $verb = strtok($argument, ' ');
            $arguments = substr($argument, strlen($verb) + 1,
@@ -424,11 +424,8 @@
     */
    function auth($uid, $pwd , $method = '')
    {
        if (empty($this->_esmtp['AUTH'])) {
            if (version_compare(PHP_VERSION, '5.1.0', '>=')) {
                if (!isset($this->_esmtp['STARTTLS'])) {
                    return PEAR::raiseError('SMTP server does not support authentication');
                }
        if (version_compare(PHP_VERSION, '5.1.0', '>=') && isset($this->_esmtp['STARTTLS'])) {
                if (PEAR::isError($result = $this->_put('STARTTLS'))) {
                    return $result;
                }
@@ -444,12 +441,10 @@
                /* Send EHLO again to recieve the AUTH string from the
                 * SMTP server. */
                $this->_negotiate();
                if (empty($this->_esmtp['AUTH'])) {
                    return PEAR::raiseError('SMTP server does not support authentication');
                }
            } else {
                return PEAR::raiseError('SMTP server does not support authentication');
            }
    }
    if (empty($this->_esmtp['AUTH'])) {
            return PEAR::raiseError('SMTP server does not support authentication');
        }
        /* If no method has been specified, get the name of the best