diff options
author | Yuchen Pei <hi@ypei.me> | 2021-10-14 15:16:42 +1100 |
---|---|---|
committer | Yuchen Pei <hi@ypei.me> | 2021-10-14 15:16:42 +1100 |
commit | 07f5140771388c9e0c8a99b0dd2e5d950bdb173b (patch) | |
tree | 323c00faef1edc7dea2e88ff581cc2258b2b6432 /h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp | |
parent | e119be145500700f3c465e12664403a07530a421 (diff) |
moving h-source subdir out.
Diffstat (limited to 'h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp')
5 files changed, 0 insertions, 503 deletions
diff --git a/h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php b/h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php deleted file mode 100755 index 4c7e0f2..0000000 --- a/h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php +++ /dev/null @@ -1,88 +0,0 @@ -<?php - -/* - * This file is part of SwiftMailer. - * (c) 2004-2009 Chris Corbyn - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -//@require 'Swift/Transport/Esmtp/Authenticator.php'; -//@require 'Swift/Transport/SmtpAgent.php'; -//@require 'Swift/TransportException.php'; - -/** - * Handles CRAM-MD5 authentication. - * @package Swift - * @subpackage Transport - * @author Chris Corbyn - */ -class Swift_Transport_Esmtp_Auth_CramMd5Authenticator - implements Swift_Transport_Esmtp_Authenticator -{ - - /** - * Get the name of the AUTH mechanism this Authenticator handles. - * @return string - */ - public function getAuthKeyword() - { - return 'CRAM-MD5'; - } - - /** - * Try to authenticate the user with $username and $password. - * @param Swift_Transport_SmtpAgent $agent - * @param string $username - * @param string $password - * @return boolean - */ - public function authenticate(Swift_Transport_SmtpAgent $agent, - $username, $password) - { - try - { - $challenge = $agent->executeCommand("AUTH CRAM-MD5\r\n", array(334)); - $challenge = base64_decode(substr($challenge, 4)); - $message = base64_encode( - $username . ' ' . $this->_getResponse($password, $challenge) - ); - $agent->executeCommand(sprintf("%s\r\n", $message), array(235)); - return true; - } - catch (Swift_TransportException $e) - { - $agent->executeCommand("RSET\r\n", array(250)); - return false; - } - } - - /** - * Generate a CRAM-MD5 response from a server challenge. - * @param string $secret - * @param string $challenge - * @return string - */ - private function _getResponse($secret, $challenge) - { - if (strlen($secret) > 64) - { - $secret = pack('H32', md5($secret)); - } - - if (strlen($secret) < 64) - { - $secret = str_pad($secret, 64, chr(0)); - } - - $k_ipad = substr($secret, 0, 64) ^ str_repeat(chr(0x36), 64); - $k_opad = substr($secret, 0, 64) ^ str_repeat(chr(0x5C), 64); - - $inner = pack('H32', md5($k_ipad . $challenge)); - $digest = md5($k_opad . $inner); - - return $digest; - } - -} diff --git a/h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php b/h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php deleted file mode 100755 index bd22617..0000000 --- a/h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php +++ /dev/null @@ -1,58 +0,0 @@ -<?php - -/* - * This file is part of SwiftMailer. - * (c) 2004-2009 Chris Corbyn - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -//@require 'Swift/Transport/Esmtp/Authenticator.php'; -//@require 'Swift/Transport/SmtpAgent.php'; -//@require 'Swift/TransportException.php'; - -/** - * Handles LOGIN authentication. - * @package Swift - * @subpackage Transport - * @author Chris Corbyn - */ -class Swift_Transport_Esmtp_Auth_LoginAuthenticator - implements Swift_Transport_Esmtp_Authenticator -{ - - /** - * Get the name of the AUTH mechanism this Authenticator handles. - * @return string - */ - public function getAuthKeyword() - { - return 'LOGIN'; - } - - /** - * Try to authenticate the user with $username and $password. - * @param Swift_Transport_SmtpAgent $agent - * @param string $username - * @param string $password - * @return boolean - */ - public function authenticate(Swift_Transport_SmtpAgent $agent, - $username, $password) - { - try - { - $agent->executeCommand("AUTH LOGIN\r\n", array(334)); - $agent->executeCommand(sprintf("%s\r\n", base64_encode($username)), array(334)); - $agent->executeCommand(sprintf("%s\r\n", base64_encode($password)), array(235)); - return true; - } - catch (Swift_TransportException $e) - { - $agent->executeCommand("RSET\r\n", array(250)); - return false; - } - } - -} diff --git a/h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php b/h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php deleted file mode 100755 index ddd8094..0000000 --- a/h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php +++ /dev/null @@ -1,57 +0,0 @@ -<?php - -/* - * This file is part of SwiftMailer. - * (c) 2004-2009 Chris Corbyn - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -//@require 'Swift/Transport/Esmtp/Authenticator.php'; -//@require 'Swift/Transport/SmtpAgent.php'; -//@require 'Swift/TransportException.php'; - -/** - * Handles PLAIN authentication. - * @package Swift - * @subpackage Transport - * @author Chris Corbyn - */ -class Swift_Transport_Esmtp_Auth_PlainAuthenticator - implements Swift_Transport_Esmtp_Authenticator -{ - - /** - * Get the name of the AUTH mechanism this Authenticator handles. - * @return string - */ - public function getAuthKeyword() - { - return 'PLAIN'; - } - - /** - * Try to authenticate the user with $username and $password. - * @param Swift_Transport_SmtpAgent $agent - * @param string $username - * @param string $password - * @return boolean - */ - public function authenticate(Swift_Transport_SmtpAgent $agent, - $username, $password) - { - try - { - $message = base64_encode($username . chr(0) . $username . chr(0) . $password); - $agent->executeCommand(sprintf("AUTH PLAIN %s\r\n", $message), array(235)); - return true; - } - catch (Swift_TransportException $e) - { - $agent->executeCommand("RSET\r\n", array(250)); - return false; - } - } - -} diff --git a/h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php b/h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php deleted file mode 100755 index a223169..0000000 --- a/h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php +++ /dev/null @@ -1,262 +0,0 @@ -<?php - -/* - * This file is part of SwiftMailer. - * (c) 2004-2009 Chris Corbyn - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -//@require 'Swift/TransportException.php'; -//@require 'Swift/Transport/EsmtpHandler.php'; -//@require 'Swift/Transport/SmtpAgent.php'; - -/** - * An ESMTP handler for AUTH support. - * @package Swift - * @subpackage Transport - * @author Chris Corbyn - */ -class Swift_Transport_Esmtp_AuthHandler implements Swift_Transport_EsmtpHandler -{ - - /** - * Authenticators available to process the request. - * @var Swift_Transport_Esmtp_Authenticator[] - * @access private - */ - private $_authenticators = array(); - - /** - * The username for authentication. - * @var string - * @access private - */ - private $_username; - - /** - * The password for authentication. - * @var string - * @access private - */ - private $_password; - - /** - * The auth mode for authentication. - * @var string - * @access private - */ - private $_auth_mode; - - /** - * The ESMTP AUTH parameters available. - * @var string[] - * @access private - */ - private $_esmtpParams = array(); - - /** - * Create a new AuthHandler with $authenticators for support. - * @param Swift_Transport_Esmtp_Authenticator[] $authenticators - */ - public function __construct(array $authenticators) - { - $this->setAuthenticators($authenticators); - } - - /** - * Set the Authenticators which can process a login request. - * @param Swift_Transport_Esmtp_Authenticator[] $authenticators - */ - public function setAuthenticators(array $authenticators) - { - $this->_authenticators = $authenticators; - } - - /** - * Get the Authenticators which can process a login request. - * @return Swift_Transport_Esmtp_Authenticator[] - */ - public function getAuthenticators() - { - return $this->_authenticators; - } - - /** - * Set the username to authenticate with. - * @param string $username - */ - public function setUsername($username) - { - $this->_username = $username; - } - - /** - * Get the username to authenticate with. - * @return string - */ - public function getUsername() - { - return $this->_username; - } - - /** - * Set the password to authenticate with. - * @param string $password - */ - public function setPassword($password) - { - $this->_password = $password; - } - - /** - * Get the password to authenticate with. - * @return string - */ - public function getPassword() - { - return $this->_password; - } - - /** - * Set the auth mode to use to authenticate. - * @param string $mode - */ - public function setAuthMode($mode) - { - $this->_auth_mode = $mode; - } - - /** - * Get the auth mode to use to authenticate. - * @return string - */ - public function getAuthMode() - { - return $this->_auth_mode; - } - - /** - * Get the name of the ESMTP extension this handles. - * @return boolean - */ - public function getHandledKeyword() - { - return 'AUTH'; - } - - /** - * Set the parameters which the EHLO greeting indicated. - * @param string[] $parameters - */ - public function setKeywordParams(array $parameters) - { - $this->_esmtpParams = $parameters; - } - - /** - * Runs immediately after a EHLO has been issued. - * @param Swift_Transport_SmtpAgent $agent to read/write - */ - public function afterEhlo(Swift_Transport_SmtpAgent $agent) - { - if ($this->_username) - { - $count = 0; - foreach ($this->_getAuthenticatorsForAgent() as $authenticator) - { - if (in_array(strtolower($authenticator->getAuthKeyword()), - array_map('strtolower', $this->_esmtpParams))) - { - $count++; - if ($authenticator->authenticate($agent, $this->_username, $this->_password)) - { - return; - } - } - } - throw new Swift_TransportException( - 'Failed to authenticate on SMTP server with username "' . - $this->_username . '" using ' . $count . ' possible authenticators' - ); - } - } - - /** - * Not used. - */ - public function getMailParams() - { - return array(); - } - - /** - * Not used. - */ - public function getRcptParams() - { - return array(); - } - - /** - * Not used. - */ - public function onCommand(Swift_Transport_SmtpAgent $agent, - $command, $codes = array(), &$failedRecipients = null, &$stop = false) - { - } - - /** - * Returns +1, -1 or 0 according to the rules for usort(). - * This method is called to ensure extensions can be execute in an appropriate order. - * @param string $esmtpKeyword to compare with - * @return int - */ - public function getPriorityOver($esmtpKeyword) - { - return 0; - } - - /** - * Returns an array of method names which are exposed to the Esmtp class. - * @return string[] - */ - public function exposeMixinMethods() - { - return array('setUsername', 'getUsername', 'setPassword', 'getPassword', 'setAuthMode', 'getAuthMode'); - } - - /** - * Not used. - */ - public function resetState() - { - } - - // -- Protected methods - - /** - * Returns the authenticator list for the given agent. - * @param Swift_Transport_SmtpAgent $agent - * @return array - * @access protected - */ - protected function _getAuthenticatorsForAgent() - { - if (!$mode = strtolower($this->_auth_mode)) - { - return $this->_authenticators; - } - - foreach ($this->_authenticators as $authenticator) - { - if (strtolower($authenticator->getAuthKeyword()) == $mode) - { - return array($authenticator); - } - } - - throw new Swift_TransportException('Auth mode '.$mode.' is invalid'); - } -} diff --git a/h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/Authenticator.php b/h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/Authenticator.php deleted file mode 100755 index bf166d3..0000000 --- a/h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/Authenticator.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php - -/* - * This file is part of SwiftMailer. - * (c) 2004-2009 Chris Corbyn - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -//@require 'Swift/Transport/SmtpAgent.php'; - -/** - * An Authentication mechanism. - * @package Swift - * @subpackage Transport - * @author Chris Corbyn - */ -interface Swift_Transport_Esmtp_Authenticator -{ - - /** - * Get the name of the AUTH mechanism this Authenticator handles. - * @return string - */ - public function getAuthKeyword(); - - /** - * Try to authenticate the user with $username and $password. - * @param Swift_Transport_SmtpAgent $agent - * @param string $username - * @param string $password - * @return boolean - */ - public function authenticate(Swift_Transport_SmtpAgent $agent, - $username, $password); - -} |