aboutsummaryrefslogtreecommitdiff
path: root/h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp
diff options
context:
space:
mode:
authorYuchen Pei <hi@ypei.me>2021-10-14 15:16:42 +1100
committerYuchen Pei <hi@ypei.me>2021-10-14 15:16:42 +1100
commit07f5140771388c9e0c8a99b0dd2e5d950bdb173b (patch)
tree323c00faef1edc7dea2e88ff581cc2258b2b6432 /h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp
parente119be145500700f3c465e12664403a07530a421 (diff)
moving h-source subdir out.
Diffstat (limited to 'h-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp')
-rwxr-xr-xh-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php88
-rwxr-xr-xh-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php58
-rwxr-xr-xh-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php57
-rwxr-xr-xh-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php262
-rwxr-xr-xh-source/External/swiftmailer/lib/classes/Swift/Transport/Esmtp/Authenticator.php38
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);
-
-}