- Timestamp:
- Feb 15, 2018 12:31:38 PM (6 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/docs/version.txt
r620 r622 1 2.2. 01 2.2.1-1 -
trunk/js/Msg.js
r617 r622 56 56 // Warn if the target doesn't exist. 57 57 if (!$(options.container).length) { 58 console.warn('Strangecode.Msg container not found: ' + this.o.container);58 console.warn('Strangecode.Msg container not found: ' + options.container); 59 59 } 60 60 }); -
trunk/lib/Auth_SQL.inc.php
r619 r622 826 826 $db->query(" 827 827 UPDATE " . $this->_params['db_table'] . " SET 828 blocked = '',828 blocked = NULL, 829 829 blocked_reason = '' 830 830 WHERE " . $this->_params['db_primary_key'] . " = '" . $db->escapeString($user_id) . "' -
trunk/lib/Email.inc.php
r618 r622 73 73 'wrap' => true, 74 74 'line_length' => 75, 75 76 'sandbox_mode' => null, 77 'sandbox_to_addr' => null, 75 78 ); 76 79 … … 80 83 // String that contains the email body after replacements. 81 84 protected $_template_replaced; 85 86 // Email debug modes. 87 const SANDBOX_MODE_REDIRECT = 1; // Send all mail to 'sandbox_to_addr' 88 const SANDBOX_MODE_STDERR = 2; // Log all mail to stderr 82 89 83 90 /** … … 359 366 } 360 367 // If the envelope_sender_address was given as a header, move it to the correct place. 361 if ('envelope_sender_address' == $key) {368 if ('envelope_sender_address' == strtolower($key)) { 362 369 $this->_params['envelope_sender_address'] = isset($this->_params['envelope_sender_address']) ? $this->_params['envelope_sender_address'] : $val; 370 continue; 371 } 372 // If we're sending in sandbox mode, remove any headers with recipient addresses. 373 if ($this->getParam('sandbox_mode') == self::SANDBOX_MODE_REDIRECT && in_array(strtolower($key), array('to', 'cc', 'bcc')) && mb_strpos($val, '@') !== false) { 374 // Don't carry this into the $final_headers. 375 $app->logMsg(sprintf('Skipping header in sandbox mode: %s=%s', $key, $val), LOG_DEBUG, __FILE__, __LINE__); 363 376 continue; 364 377 } … … 384 397 $app->logMsg(sprintf('Mail header injection attack in content: %s', $full_mail_content), LOG_WARNING, __FILE__, __LINE__); 385 398 return false; 399 } 400 401 // Enter sandbox mode, if specified. 402 switch ($this->getParam('sandbox_mode')) { 403 case self::SANDBOX_MODE_REDIRECT: 404 if (!$this->getParam('sandbox_to_addr')) { 405 $app->logMsg(sprintf('Email sandbox_mode is SANDBOX_MODE_REDIRECT but sandbox_to_addr is not set.', null), LOG_ERR, __FILE__, __LINE__); 406 break; 407 } 408 $final_to = $this->getParam('sandbox_to_addr'); 409 break; 410 411 case self::SANDBOX_MODE_STDERR: 412 file_put_contents('php://stderr', sprintf("Subject: %s\nTo: %s\n%s\n\n%s", $this->getParam('subject'), $final_to, str_replace($this->getParam('crlf'), "\n", $final_headers), $final_body), FILE_APPEND); 413 return true; 386 414 } 387 415 -
trunk/tests/EmailTest.php
r468 r622 5 5 * For details visit the project site: <http://trac.strangecode.com/codebase/> 6 6 * Copyright 2001-2012 Strangecode, LLC 7 * 7 * 8 8 * This file is part of The Strangecode Codebase. 9 9 * … … 12 12 * Free Software Foundation, either version 3 of the License, or (at your option) 13 13 * any later version. 14 * 14 * 15 15 * The Strangecode Codebase is distributed in the hope that it will be useful, but 16 16 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 17 17 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 18 18 * details. 19 * 19 * 20 20 * You should have received a copy of the GNU General Public License along with 21 21 * The Strangecode Codebase. If not, see <http://www.gnu.org/licenses/>. … … 83 83 // } 84 84 // 85 // function testsend() 86 // { 87 // $result = $this->Email->send(PARAM); 88 // $expected = EXPECTED_VAL; 89 // $this->assertEquals($expected, $result); 90 // } 85 function testsend() 86 { 87 88 $this->Email = new Email(array( 89 'to' => 'Rob Recipient <to@example.com>', 90 'from' => 'Sam Sender <from@example.com>', 91 'subject' => 'EmailTest', 92 'headers' => array( 93 'CC' => 'This header removed in REDIRECT sandbox mode <remove-me@example.com>', 94 'X-Hello' => 'Hi there', 95 ), 96 'sandbox_mode' => Email::SANDBOX_MODE_REDIRECT, 97 'sandbox_to_addr' => 'quinn@strangecode.com', 98 )); 99 $this->Email->setString('This is a {TEST}'); 100 $this->Email->replace(array( 101 'test' => 'â you guessed it â a test!' 102 )); 103 $result = $this->Email->send(); 104 $expected = true; 105 $this->assertEquals($expected, $result); 106 } 91 107 92 108 function testvalidemail() -
trunk/tests/run_tests.sh
r602 r622 38 38 # Config options go in phpunit.xml 39 39 # phpunit --tap | grep -v '^ok ' 40 phpunit --stderr || err "\nSomething went wrong (code $?). If there is no output above, check the php_error_log";40 ../vendor/phpunit/phpunit/composer/bin/phpunit --stderr || err "\nSomething went wrong (code $?). If there is no output above, check the php_error_log"; 41 41
Note: See TracChangeset
for help on using the changeset viewer.