Ignore:
Timestamp:
Jan 5, 2019, 1:51:15 PM (3 months ago)
Author:
rastapopoulos@…
Message:

màd lib, mais il va valloir passer à la version majeure suivante 6, car la branche 5 n'est plus maintenue à partir de cette semaine.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/facteur/trunk/phpmailer-php5/class.phpmailer.php

    r109788 r113259  
    3232     * @var string
    3333     */
    34     public $Version = '5.2.26';
     34    public $Version = '5.2.27';
    3535
    3636    /**
     
    12971297            // Sign with DKIM if enabled
    12981298            if (!empty($this->DKIM_domain)
    1299                 && !empty($this->DKIM_selector)
    1300                 && (!empty($this->DKIM_private_string)
    1301                    || (!empty($this->DKIM_private) && file_exists($this->DKIM_private))
     1299                and !empty($this->DKIM_selector)
     1300                and (!empty($this->DKIM_private_string)
     1301                    or (!empty($this->DKIM_private)
     1302                        and self::isPermittedPath($this->DKIM_private)
     1303                        and file_exists($this->DKIM_private)
     1304                    )
    13021305                )
    13031306            ) {
     
    14621465
    14631466        return true;
     1467    }
     1468
     1469    /**
     1470     * Check whether a file path is of a permitted type.
     1471     * Used to reject URLs and phar files from functions that access local file paths,
     1472     * such as addAttachment.
     1473     * @param string $path A relative or absolute path to a file.
     1474     * @return bool
     1475     */
     1476    protected static function isPermittedPath($path)
     1477    {
     1478        return !preg_match('#^[a-z]+://#i', $path);
    14641479    }
    14651480
     
    17921807        if ($langcode != 'en') {
    17931808            // Make sure language file path is readable
    1794             if (!is_readable($lang_file)) {
     1809            if (!self::isPermittedPath($lang_file) or !is_readable($lang_file)) {
    17951810                $foundlang = false;
    17961811            } else {
     
    25002515     * Never use a user-supplied path to a file!
    25012516     * Returns false if the file could not be found or read.
     2517     * Explicitly *does not* support passing URLs; PHPMailer is not an HTTP client.
     2518     * If you need to do that, fetch the resource yourself and pass it in via a local file or string.
    25022519     * @param string $path Path to the attachment.
    25032520     * @param string $name Overrides the attachment name.
     
    25112528    {
    25122529        try {
    2513             if (!@is_file($path)) {
     2530            if (!self::isPermittedPath($path) or !@is_file($path)) {
    25142531                throw new phpmailerException($this->lang('file_access') . $path, self::STOP_CONTINUE);
    25152532            }
     
    26922709    {
    26932710        try {
    2694             if (!is_readable($path)) {
     2711            if (!self::isPermittedPath($path) or !file_exists($path)) {
    26952712                throw new phpmailerException($this->lang('file_open') . $path, self::STOP_CONTINUE);
    26962713            }
     
    30363053    public function addEmbeddedImage($path, $cid, $name = '', $encoding = 'base64', $type = '', $disposition = 'inline')
    30373054    {
    3038         if (!@is_file($path)) {
     3055        if (!self::isPermittedPath($path) or !@is_file($path)) {
    30393056            $this->setError($this->lang('file_access') . $path);
    30403057            return false;
Note: See TracChangeset for help on using the changeset viewer.