Make WordPress Core

Changeset 49136


Ignore:
Timestamp:
10/13/2020 01:58:15 PM (4 years ago)
Author:
SergeyBiryukov
Message:

External Libraries: Upgrade PHPMailer to version 6.1.8.

For a full list of changes in this update, see the PHPMailer GitHub:
https://github.com/PHPMailer/PHPMailer/compare/v6.1.7...v6.1.8

Props ayeshrajans.
Fixes #51502.

Location:
trunk/src/wp-includes/PHPMailer
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/PHPMailer/Exception.php

    r48033 r49136  
    1010 * @author    Andy Prevost (codeworxtech) <codeworxtech@users.sourceforge.net>
    1111 * @author    Brent R. Matzelle (original founder)
    12  * @copyright 2012 - 2017 Marcus Bointon
     12 * @copyright 2012 - 2020 Marcus Bointon
    1313 * @copyright 2010 - 2012 Jim Jagielski
    1414 * @copyright 2004 - 2009 Andy Prevost
  • trunk/src/wp-includes/PHPMailer/PHPMailer.php

    r49034 r49136  
    1010 * @author    Andy Prevost (codeworxtech) <codeworxtech@users.sourceforge.net>
    1111 * @author    Brent R. Matzelle (original founder)
    12  * @copyright 2012 - 2019 Marcus Bointon
     12 * @copyright 2012 - 2020 Marcus Bointon
    1313 * @copyright 2010 - 2012 Jim Jagielski
    1414 * @copyright 2004 - 2009 Andy Prevost
     
    748748     * @var string
    749749     */
    750     const VERSION = '6.1.7';
     750    const VERSION = '6.1.8';
    751751
    752752    /**
     
    900900            case 'error_log':
    901901                //Don't output, just log
     902                /** @noinspection ForgottenDebugOutputInspection */
    902903                error_log($str);
    903904                break;
     
    13511352                 * This is the pattern used in the HTML5 spec for validation of 'email' type form input elements.
    13521353                 *
    1353                  * @see http://www.whatwg.org/specs/web-apps/current-work/#e-mail-state-(type=email)
     1354                 * @see https://html.spec.whatwg.org/#e-mail-state-(type=email)
    13541355                 */
    13551356                return (bool) preg_match(
     
    16121613            }
    16131614        } catch (Exception $exc) {
     1615            if ($this->Mailer === 'smtp' && $this->SMTPKeepAlive == true) {
     1616              $this->smtp->reset();
     1617            }
    16141618            $this->setError($exc->getMessage());
    16151619            $this->edebug($exc->getMessage());
     
    17531757
    17541758    /**
     1759     * Check whether a file path is safe, accessible, and readable.
     1760     *
     1761     * @param string $path A relative or absolute path to a file
     1762     *
     1763     * @return bool
     1764     */
     1765    protected static function fileIsAccessible($path)
     1766    {
     1767        $readable = file_exists($path);
     1768        //If not a UNC path (expected to start with \\), check read permission, see #2069
     1769        if (strpos($path, '\\\\') !== 0) {
     1770            $readable = $readable && is_readable($path);
     1771        }
     1772        return static::isPermittedPath($path) && $readable;
     1773    }
     1774
     1775    /**
    17551776     * Send mail using the PHP mail() function.
    17561777     *
     
    20052026            $host = $hostinfo[2];
    20062027            $port = $this->Port;
    2007             if (array_key_exists(3, $hostinfo) && is_numeric($hostinfo[3]) && $hostinfo[3] > 0 && $hostinfo[3] < 65536) {
     2028            if (
     2029                array_key_exists(3, $hostinfo) &&
     2030                is_numeric($hostinfo[3]) &&
     2031                $hostinfo[3] > 0 &&
     2032                $hostinfo[3] < 65536
     2033            ) {
    20082034                $port = (int) $hostinfo[3];
    20092035            }
     
    21352161        if ('en' !== $langcode) {
    21362162            // Make sure language file path is readable
    2137             if (!static::isPermittedPath($lang_file) || !file_exists($lang_file)) {
     2163            if (!static::fileIsAccessible($lang_file)) {
    21382164                $foundlang = false;
    21392165            } else {
     
    23832409        $result .= $this->headerLine('Date', '' === $this->MessageDate ? self::rfcDate() : $this->MessageDate);
    23842410
    2385         // To be created automatically by mail()
    2386         if ($this->SingleTo) {
    2387             if ('mail' !== $this->Mailer) {
     2411        // The To header is created automatically by mail(), so needs to be omitted here
     2412        if ('mail' !== $this->Mailer) {
     2413            if ($this->SingleTo) {
    23882414                foreach ($this->to as $toaddr) {
    23892415                    $this->SingleToArray[] = $this->addrFormat($toaddr);
    23902416                }
    2391             }
    2392         } elseif (count($this->to) > 0) {
    2393             if ('mail' !== $this->Mailer) {
     2417            } elseif (count($this->to) > 0) {
    23942418                $result .= $this->addrAppend('To', $this->to);
    2395             }
    2396         } elseif (count($this->cc) === 0) {
    2397             $result .= $this->headerLine('To', 'undisclosed-recipients:;');
    2398         }
    2399 
     2419            } elseif (count($this->cc) === 0) {
     2420                $result .= $this->headerLine('To', 'undisclosed-recipients:;');
     2421            }
     2422        }
    24002423        $result .= $this->addrAppend('From', [[trim($this->From), $this->FromName]]);
    24012424
     
    29522975     * @param string $name        Overrides the attachment name
    29532976     * @param string $encoding    File encoding (see $Encoding)
    2954      * @param string $type        File extension (MIME) type
     2977     * @param string $type        MIME type, e.g. `image/jpeg`; determined automatically from $path if not specified
    29552978     * @param string $disposition Disposition to use
    29562979     *
     
    29672990    ) {
    29682991        try {
    2969             if (!static::isPermittedPath($path) || !@is_file($path) || !is_readable($path)) {
     2992            if (!static::fileIsAccessible($path)) {
    29702993                throw new Exception($this->lang('file_access') . $path, self::STOP_CONTINUE);
    29712994            }
     
    31413164    {
    31423165        try {
    3143             if (!static::isPermittedPath($path) || !file_exists($path) || !is_readable($path)) {
     3166            if (!static::fileIsAccessible($path)) {
    31443167                throw new Exception($this->lang('file_open') . $path, self::STOP_CONTINUE);
    31453168            }
     
    35273550    ) {
    35283551        try {
    3529             if (!static::isPermittedPath($path) || !@is_file($path) || !is_readable($path)) {
     3552            if (!static::fileIsAccessible($path)) {
    35303553                throw new Exception($this->lang('file_access') . $path, self::STOP_CONTINUE);
    35313554            }
     
    42184241            'tif' => 'image/tiff',
    42194242            'webp' => 'image/webp',
     4243            'avif' => 'image/avif',
    42204244            'heif' => 'image/heif',
    42214245            'heifs' => 'image/heif-sequence',
  • trunk/src/wp-includes/PHPMailer/SMTP.php

    r49034 r49136  
    1010 * @author    Andy Prevost (codeworxtech) <codeworxtech@users.sourceforge.net>
    1111 * @author    Brent R. Matzelle (original founder)
    12  * @copyright 2012 - 2019 Marcus Bointon
     12 * @copyright 2012 - 2020 Marcus Bointon
    1313 * @copyright 2010 - 2012 Jim Jagielski
    1414 * @copyright 2004 - 2009 Andy Prevost
     
    3535     * @var string
    3636     */
    37     const VERSION = '6.1.7';
     37    const VERSION = '6.1.8';
    3838
    3939    /**
     
    418418        if (strpos(PHP_OS, 'WIN') !== 0) {
    419419            $max = (int)ini_get('max_execution_time');
    420             // Don't bother if unlimited
    421             if (0 !== $max && $timeout > $max) {
     420            // Don't bother if unlimited, or if set_time_limit is disabled
     421            if (0 !== $max && $timeout > $max && strpos(ini_get('disable_functions'), 'set_time_limit') === false) {
    422422                @set_time_limit($timeout);
    423423            }
Note: See TracChangeset for help on using the changeset viewer.