<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[59246] trunk/src/wp-includes/PHPMailer: External Libraries: Upgrade PHPMailer to version 6.9.2.</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { white-space: pre-line; overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="https://core.trac.wordpress.org/changeset/59246">59246</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"https://core.trac.wordpress.org/changeset/59246","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>SergeyBiryukov</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2024-10-17 11:29:17 +0000 (Thu, 17 Oct 2024)</dd>
</dl>
<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>External Libraries: Upgrade PHPMailer to version 6.9.2.
This is a maintenance release with minor bug fixes.
References:
* [https://github.com/PHPMailer/PHPMailer/releases/tag/v6.9.2 PHPMailer 6.9.2 release notes]
* [https://github.com/PHPMailer/PHPMailer/compare/v6.9.1...v6.9.2 Full list of changes in PHPMailer 6.9.2]
Follow-up to <a href="https://core.trac.wordpress.org/changeset/50628">[50628]</a>, <a href="https://core.trac.wordpress.org/changeset/50799">[50799]</a>, <a href="https://core.trac.wordpress.org/changeset/51169">[51169]</a>, <a href="https://core.trac.wordpress.org/changeset/51634">[51634]</a>, <a href="https://core.trac.wordpress.org/changeset/51635">[51635]</a>, <a href="https://core.trac.wordpress.org/changeset/52252">[52252]</a>, <a href="https://core.trac.wordpress.org/changeset/52749">[52749]</a>, <a href="https://core.trac.wordpress.org/changeset/52811">[52811]</a>, <a href="https://core.trac.wordpress.org/changeset/53500">[53500]</a>, <a href="https://core.trac.wordpress.org/changeset/53535">[53535]</a>, <a href="https://core.trac.wordpress.org/changeset/53917">[53917]</a>, <a href="https://core.trac.wordpress.org/changeset/54427">[54427]</a>, <a href="https://core.trac.wordpress.org/changeset/54937">[54937]</a>, <a href="https://core.trac.wordpress.org/changeset/55557">[555
57]</a>, <a href="https://core.trac.wordpress.org/changeset/56484">[56484]</a>, <a href="https://core.trac.wordpress.org/changeset/57137">[57137]</a>.
Props ayeshrajans.
Fixes <a href="https://core.trac.wordpress.org/ticket/62206">#62206</a>.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunksrcwpincludesPHPMailerExceptionphp">trunk/src/wp-includes/PHPMailer/Exception.php</a></li>
<li><a href="#trunksrcwpincludesPHPMailerPHPMailerphp">trunk/src/wp-includes/PHPMailer/PHPMailer.php</a></li>
<li><a href="#trunksrcwpincludesPHPMailerSMTPphp">trunk/src/wp-includes/PHPMailer/SMTP.php</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunksrcwpincludesPHPMailerExceptionphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/PHPMailer/Exception.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/PHPMailer/Exception.php 2024-10-17 11:01:45 UTC (rev 59245)
+++ trunk/src/wp-includes/PHPMailer/Exception.php 2024-10-17 11:29:17 UTC (rev 59246)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -13,7 +13,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * @copyright 2012 - 2020 Marcus Bointon
</span><span class="cx" style="display: block; padding: 0 10px"> * @copyright 2010 - 2012 Jim Jagielski
</span><span class="cx" style="display: block; padding: 0 10px"> * @copyright 2004 - 2009 Andy Prevost
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License
</ins><span class="cx" style="display: block; padding: 0 10px"> * @note This program is distributed in the hope that it will be useful - WITHOUT
</span><span class="cx" style="display: block; padding: 0 10px"> * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
</span><span class="cx" style="display: block; padding: 0 10px"> * FITNESS FOR A PARTICULAR PURPOSE.
</span></span></pre></div>
<a id="trunksrcwpincludesPHPMailerPHPMailerphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/PHPMailer/PHPMailer.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/PHPMailer/PHPMailer.php 2024-10-17 11:01:45 UTC (rev 59245)
+++ trunk/src/wp-includes/PHPMailer/PHPMailer.php 2024-10-17 11:29:17 UTC (rev 59246)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -13,7 +13,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * @copyright 2012 - 2020 Marcus Bointon
</span><span class="cx" style="display: block; padding: 0 10px"> * @copyright 2010 - 2012 Jim Jagielski
</span><span class="cx" style="display: block; padding: 0 10px"> * @copyright 2004 - 2009 Andy Prevost
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License
</ins><span class="cx" style="display: block; padding: 0 10px"> * @note This program is distributed in the hope that it will be useful - WITHOUT
</span><span class="cx" style="display: block; padding: 0 10px"> * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
</span><span class="cx" style="display: block; padding: 0 10px"> * FITNESS FOR A PARTICULAR PURPOSE.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -152,8 +152,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * Only supported in simple alt or alt_inline message types
</span><span class="cx" style="display: block; padding: 0 10px"> * To generate iCal event structures, use classes like EasyPeasyICS or iCalcreator.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @see http://sprain.ch/blog/downloads/php-class-easypeasyics-create-ical-files-with-php/
- * @see http://kigkonsult.se/iCalcreator/
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @see https://kigkonsult.se/iCalcreator/
</ins><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @var string
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -358,7 +357,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> public $AuthType = '';
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * SMTP SMTPXClient command attibutes
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * SMTP SMTPXClient command attributes
</ins><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @var array
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -468,7 +467,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * Only applicable when sending via SMTP.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @see https://en.wikipedia.org/wiki/Variable_envelope_return_path
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @see http://www.postfix.org/VERP_README.html Postfix VERP info
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @see https://www.postfix.org/VERP_README.html Postfix VERP info
</ins><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @var bool
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -551,10 +550,10 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * The function that handles the result of the send email action.
</span><span class="cx" style="display: block; padding: 0 10px"> * It is called out by send() for each email sent.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * Value can be any php callable: http://www.php.net/is_callable
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * Value can be any php callable: https://www.php.net/is_callable
</ins><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * Parameters:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * bool $result result of the send action
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * bool $result result of the send action
</ins><span class="cx" style="display: block; padding: 0 10px"> * array $to email addresses of the recipients
</span><span class="cx" style="display: block; padding: 0 10px"> * array $cc cc email addresses
</span><span class="cx" style="display: block; padding: 0 10px"> * array $bcc bcc email addresses
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -757,7 +756,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @var string
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- const VERSION = '6.9.1';
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ const VERSION = '6.9.2';
</ins><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="cx" style="display: block; padding: 0 10px"> * Error severity: message only, continue processing.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -903,7 +902,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> //Is this a PSR-3 logger?
</span><span class="cx" style="display: block; padding: 0 10px"> if ($this->Debugoutput instanceof \Psr\Log\LoggerInterface) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $this->Debugoutput->debug($str);
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $this->Debugoutput->debug(rtrim($str, "\r\n"));
</ins><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> return;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1072,7 +1071,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * be modified after calling this function), addition of such addresses is delayed until send().
</span><span class="cx" style="display: block; padding: 0 10px"> * Addresses that have been added already return false, but do not throw exceptions.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @param string $kind One of 'to', 'cc', 'bcc', or 'ReplyTo'
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @param string $kind One of 'to', 'cc', 'bcc', or 'Reply-To'
</ins><span class="cx" style="display: block; padding: 0 10px"> * @param string $address The email address
</span><span class="cx" style="display: block; padding: 0 10px"> * @param string $name An optional username associated with the address
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1212,7 +1211,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * Uses the imap_rfc822_parse_adrlist function if the IMAP extension is available.
</span><span class="cx" style="display: block; padding: 0 10px"> * Note that quotes in the name part are removed.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @see http://www.andrew.cmu.edu/user/agreen1/testing/mrbs/web/Mail/RFC822.php A more careful implementation
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @see https://www.andrew.cmu.edu/user/agreen1/testing/mrbs/web/Mail/RFC822.php A more careful implementation
</ins><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @param string $addrstr The address list string
</span><span class="cx" style="display: block; padding: 0 10px"> * @param bool $useimap Whether to use the IMAP extension to parse the list
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1407,7 +1406,6 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * * IPv6 literals: 'first.last@[IPv6:a1::]'
</span><span class="cx" style="display: block; padding: 0 10px"> * Not all of these will necessarily work for sending!
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @see http://squiloople.com/2009/12/20/email-address-validation/
</del><span class="cx" style="display: block; padding: 0 10px"> * @copyright 2009-2010 Michael Rushton
</span><span class="cx" style="display: block; padding: 0 10px"> * Feel free to use and redistribute this code. But please keep this copyright notice.
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1736,9 +1734,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> //This sets the SMTP envelope sender which gets turned into a return-path header by the receiver
</span><span class="cx" style="display: block; padding: 0 10px"> //A space after `-f` is optional, but there is a long history of its presence
</span><span class="cx" style="display: block; padding: 0 10px"> //causing problems, so we don't use one
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- //Exim docs: http://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_exim_command_line.html
- //Sendmail docs: http://www.sendmail.org/~ca/email/man/sendmail.html
- //Qmail docs: http://www.qmail.org/man/man8/qmail-inject.html
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ //Exim docs: https://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_exim_command_line.html
+ //Sendmail docs: https://www.sendmail.org/~ca/email/man/sendmail.html
</ins><span class="cx" style="display: block; padding: 0 10px"> //Example problem: https://www.drupal.org/node/1057954
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> //PHP 5.6 workaround
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1903,7 +1900,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="cx" style="display: block; padding: 0 10px"> * Send mail using the PHP mail() function.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @see http://www.php.net/manual/en/book.mail.php
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @see https://www.php.net/manual/en/book.mail.php
</ins><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @param string $header The message headers
</span><span class="cx" style="display: block; padding: 0 10px"> * @param string $body The message body
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1933,9 +1930,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> //This sets the SMTP envelope sender which gets turned into a return-path header by the receiver
</span><span class="cx" style="display: block; padding: 0 10px"> //A space after `-f` is optional, but there is a long history of its presence
</span><span class="cx" style="display: block; padding: 0 10px"> //causing problems, so we don't use one
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- //Exim docs: http://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_exim_command_line.html
- //Sendmail docs: http://www.sendmail.org/~ca/email/man/sendmail.html
- //Qmail docs: http://www.qmail.org/man/man8/qmail-inject.html
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ //Exim docs: https://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_exim_command_line.html
+ //Sendmail docs: https://www.sendmail.org/~ca/email/man/sendmail.html
</ins><span class="cx" style="display: block; padding: 0 10px"> //Example problem: https://www.drupal.org/node/1057954
</span><span class="cx" style="display: block; padding: 0 10px"> //CVE-2016-10033, CVE-2016-10045: Don't pass -f if characters will be escaped.
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3636,7 +3632,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * without breaking lines within a character.
</span><span class="cx" style="display: block; padding: 0 10px"> * Adapted from a function by paravoid.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @see http://www.php.net/manual/en/function.mb-encode-mimeheader.php#60283
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @see https://www.php.net/manual/en/function.mb-encode-mimeheader.php#60283
</ins><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @param string $str multi-byte text to wrap encode
</span><span class="cx" style="display: block; padding: 0 10px"> * @param string $linebreak string to use as linefeed/end-of-line
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3692,7 +3688,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="cx" style="display: block; padding: 0 10px"> * Encode a string using Q encoding.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @see http://tools.ietf.org/html/rfc2047#section-4.2
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @see https://www.rfc-editor.org/rfc/rfc2047#section-4.2
</ins><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @param string $str the text to encode
</span><span class="cx" style="display: block; padding: 0 10px"> * @param string $position Where the text is going to be used, see the RFC for what that means
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4230,7 +4226,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> $result = $_SERVER['SERVER_NAME'];
</span><span class="cx" style="display: block; padding: 0 10px"> } elseif (function_exists('gethostname') && gethostname() !== false) {
</span><span class="cx" style="display: block; padding: 0 10px"> $result = gethostname();
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- } elseif (php_uname('n') !== false) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ } elseif (php_uname('n') !== '') {
</ins><span class="cx" style="display: block; padding: 0 10px"> $result = php_uname('n');
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> if (!static::isValidHost($result)) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4255,7 +4251,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> empty($host)
</span><span class="cx" style="display: block; padding: 0 10px"> || !is_string($host)
</span><span class="cx" style="display: block; padding: 0 10px"> || strlen($host) > 256
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- || !preg_match('/^([a-zA-Z\d.-]*|\[[a-fA-F\d:]+\])$/', $host)
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ || !preg_match('/^([a-z\d.-]*|\[[a-f\d:]+\])$/i', $host)
</ins><span class="cx" style="display: block; padding: 0 10px"> ) {
</span><span class="cx" style="display: block; padding: 0 10px"> return false;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4269,8 +4265,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> //Is it a valid IPv4 address?
</span><span class="cx" style="display: block; padding: 0 10px"> return filter_var($host, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) !== false;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- //Is it a syntactically valid hostname (when embeded in a URL)?
- return filter_var('http://' . $host, FILTER_VALIDATE_URL) !== false;
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ //Is it a syntactically valid hostname (when embedded in a URL)?
+ return filter_var('https://' . $host, FILTER_VALIDATE_URL) !== false;
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4681,7 +4677,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * Multi-byte-safe pathinfo replacement.
</span><span class="cx" style="display: block; padding: 0 10px"> * Drop-in replacement for pathinfo(), but multibyte- and cross-platform-safe.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @see http://www.php.net/manual/en/function.pathinfo.php#107461
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @see https://www.php.net/manual/en/function.pathinfo.php#107461
</ins><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @param string $path A filename or path, does not need to exist as a file
</span><span class="cx" style="display: block; padding: 0 10px"> * @param int|string $options Either a PATHINFO_* constant,
</span></span></pre></div>
<a id="trunksrcwpincludesPHPMailerSMTPphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/PHPMailer/SMTP.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/PHPMailer/SMTP.php 2024-10-17 11:01:45 UTC (rev 59245)
+++ trunk/src/wp-includes/PHPMailer/SMTP.php 2024-10-17 11:29:17 UTC (rev 59246)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -13,7 +13,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * @copyright 2012 - 2020 Marcus Bointon
</span><span class="cx" style="display: block; padding: 0 10px"> * @copyright 2010 - 2012 Jim Jagielski
</span><span class="cx" style="display: block; padding: 0 10px"> * @copyright 2004 - 2009 Andy Prevost
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License
</ins><span class="cx" style="display: block; padding: 0 10px"> * @note This program is distributed in the hope that it will be useful - WITHOUT
</span><span class="cx" style="display: block; padding: 0 10px"> * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
</span><span class="cx" style="display: block; padding: 0 10px"> * FITNESS FOR A PARTICULAR PURPOSE.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -35,7 +35,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @var string
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- const VERSION = '6.9.1';
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ const VERSION = '6.9.2';
</ins><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="cx" style="display: block; padding: 0 10px"> * SMTP line break constant.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -152,8 +152,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="cx" style="display: block; padding: 0 10px"> * Whether to use VERP.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @see http://en.wikipedia.org/wiki/Variable_envelope_return_path
- * @see http://www.postfix.org/VERP_README.html Info on VERP
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @see https://en.wikipedia.org/wiki/Variable_envelope_return_path
+ * @see https://www.postfix.org/VERP_README.html Info on VERP
</ins><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @var bool
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -164,7 +164,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * Default of 5 minutes (300sec) is from RFC2821 section 4.5.3.2.
</span><span class="cx" style="display: block; padding: 0 10px"> * This needs to be quite high to function correctly with hosts using greetdelay as an anti-spam measure.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @see http://tools.ietf.org/html/rfc2821#section-4.5.3.2
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @see https://www.rfc-editor.org/rfc/rfc2821#section-4.5.3.2
</ins><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @var int
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -187,12 +187,12 @@
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="cx" style="display: block; padding: 0 10px"> protected $smtp_transaction_id_patterns = [
</span><span class="cx" style="display: block; padding: 0 10px"> 'exim' => '/[\d]{3} OK id=(.*)/',
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- 'sendmail' => '/[\d]{3} 2.0.0 (.*) Message/',
- 'postfix' => '/[\d]{3} 2.0.0 Ok: queued as (.*)/',
- 'Microsoft_ESMTP' => '/[0-9]{3} 2.[\d].0 (.*)@(?:.*) Queued mail for delivery/',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ 'sendmail' => '/[\d]{3} 2\.0\.0 (.*) Message/',
+ 'postfix' => '/[\d]{3} 2\.0\.0 Ok: queued as (.*)/',
+ 'Microsoft_ESMTP' => '/[0-9]{3} 2\.[\d]\.0 (.*)@(?:.*) Queued mail for delivery/',
</ins><span class="cx" style="display: block; padding: 0 10px"> 'Amazon_SES' => '/[\d]{3} Ok (.*)/',
</span><span class="cx" style="display: block; padding: 0 10px"> 'SendGrid' => '/[\d]{3} Ok: queued as (.*)/',
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- 'CampaignMonitor' => '/[\d]{3} 2.0.0 OK:([a-zA-Z\d]{48})/',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ 'CampaignMonitor' => '/[\d]{3} 2\.0\.0 OK:([a-zA-Z\d]{48})/',
</ins><span class="cx" style="display: block; padding: 0 10px"> 'Haraka' => '/[\d]{3} Message Queued \((.*)\)/',
</span><span class="cx" style="display: block; padding: 0 10px"> 'ZoneMTA' => '/[\d]{3} Message queued as (.*)/',
</span><span class="cx" style="display: block; padding: 0 10px"> 'Mailjet' => '/[\d]{3} OK queued as (.*)/',
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -280,7 +280,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> //Is this a PSR-3 logger?
</span><span class="cx" style="display: block; padding: 0 10px"> if ($this->Debugoutput instanceof \Psr\Log\LoggerInterface) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $this->Debugoutput->debug($str);
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ //Remove trailing line breaks potentially added by calls to SMTP::client_send()
+ $this->Debugoutput->debug(rtrim($str, "\r\n"));
</ins><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> return;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -293,6 +294,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> switch ($this->Debugoutput) {
</span><span class="cx" style="display: block; padding: 0 10px"> case 'error_log':
</span><span class="cx" style="display: block; padding: 0 10px"> //Don't output, just log
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ /** @noinspection ForgottenDebugOutputInspection */
</ins><span class="cx" style="display: block; padding: 0 10px"> error_log($str);
</span><span class="cx" style="display: block; padding: 0 10px"> break;
</span><span class="cx" style="display: block; padding: 0 10px"> case 'html':
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -404,7 +406,9 @@
</span><span class="cx" style="display: block; padding: 0 10px"> $errstr = '';
</span><span class="cx" style="display: block; padding: 0 10px"> if ($streamok) {
</span><span class="cx" style="display: block; padding: 0 10px"> $socket_context = stream_context_create($options);
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- set_error_handler([$this, 'errorHandler']);
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ set_error_handler(function () {
+ call_user_func_array([$this, 'errorHandler'], func_get_args());
+ });
</ins><span class="cx" style="display: block; padding: 0 10px"> $connection = stream_socket_client(
</span><span class="cx" style="display: block; padding: 0 10px"> $host . ':' . $port,
</span><span class="cx" style="display: block; padding: 0 10px"> $errno,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -419,7 +423,9 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 'Connection: stream_socket_client not available, falling back to fsockopen',
</span><span class="cx" style="display: block; padding: 0 10px"> self::DEBUG_CONNECTION
</span><span class="cx" style="display: block; padding: 0 10px"> );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- set_error_handler([$this, 'errorHandler']);
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ set_error_handler(function () {
+ call_user_func_array([$this, 'errorHandler'], func_get_args());
+ });
</ins><span class="cx" style="display: block; padding: 0 10px"> $connection = fsockopen(
</span><span class="cx" style="display: block; padding: 0 10px"> $host,
</span><span class="cx" style="display: block; padding: 0 10px"> $port,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -483,7 +489,9 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> //Begin encrypted connection
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- set_error_handler([$this, 'errorHandler']);
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ set_error_handler(function () {
+ call_user_func_array([$this, 'errorHandler'], func_get_args());
+ });
</ins><span class="cx" style="display: block; padding: 0 10px"> $crypto_ok = stream_socket_enable_crypto(
</span><span class="cx" style="display: block; padding: 0 10px"> $this->smtp_conn,
</span><span class="cx" style="display: block; padding: 0 10px"> true,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -648,7 +656,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> //The following borrowed from
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- //http://php.net/manual/en/function.mhash.php#27225
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ //https://www.php.net/manual/en/function.mhash.php#27225
</ins><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> //RFC 2104 HMAC implementation for php.
</span><span class="cx" style="display: block; padding: 0 10px"> //Creates an md5 HMAC.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1162,7 +1170,9 @@
</span><span class="cx" style="display: block; padding: 0 10px"> } else {
</span><span class="cx" style="display: block; padding: 0 10px"> $this->edebug('CLIENT -> SERVER: ' . $data, self::DEBUG_CLIENT);
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- set_error_handler([$this, 'errorHandler']);
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ set_error_handler(function () {
+ call_user_func_array([$this, 'errorHandler'], func_get_args());
+ });
</ins><span class="cx" style="display: block; padding: 0 10px"> $result = fwrite($this->smtp_conn, $data);
</span><span class="cx" style="display: block; padding: 0 10px"> restore_error_handler();
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1265,7 +1275,9 @@
</span><span class="cx" style="display: block; padding: 0 10px"> while (is_resource($this->smtp_conn) && !feof($this->smtp_conn)) {
</span><span class="cx" style="display: block; padding: 0 10px"> //Must pass vars in here as params are by reference
</span><span class="cx" style="display: block; padding: 0 10px"> //solution for signals inspired by https://github.com/symfony/symfony/pull/6540
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- set_error_handler([$this, 'errorHandler']);
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ set_error_handler(function () {
+ call_user_func_array([$this, 'errorHandler'], func_get_args());
+ });
</ins><span class="cx" style="display: block; padding: 0 10px"> $n = stream_select($selR, $selW, $selW, $this->Timelimit);
</span><span class="cx" style="display: block; padding: 0 10px"> restore_error_handler();
</span><span class="cx" style="display: block; padding: 0 10px">
</span></span></pre>
</div>
</div>
</body>
</html>