WordPress.org

Make WordPress Core

Ticket #10522: 10522.diff

File 10522.diff, 4.2 KB (added by dd32, 5 years ago)
  • wp-admin/includes/class-wp-filesystem-ftpext.php

     
    1616 */ 
    1717class WP_Filesystem_FTPext extends WP_Filesystem_Base { 
    1818        var $link; 
    19         var $timeout = 5; 
    2019        var $errors = null; 
    2120        var $options = array(); 
    2221 
     
    3332                } 
    3433 
    3534                // Set defaults: 
     35                //This Class uses the timeout on a per-connection basis, Others use it on a per-action basis. 
     36 
     37                if ( ! defined('FS_TIMEOUT') ) 
     38                        define('FS_TIMEOUT', 240); 
     39 
    3640                if ( empty($opt['port']) ) 
    3741                        $this->options['port'] = 21; 
    3842                else 
     
    6468 
    6569        function connect() { 
    6670                if ( isset($this->options['ssl']) && $this->options['ssl'] && function_exists('ftp_ssl_connect') ) 
    67                         $this->link = @ftp_ssl_connect($this->options['hostname'], $this->options['port'], $this->timeout); 
     71                        $this->link = @ftp_ssl_connect($this->options['hostname'], $this->options['port'], FS_CONNECT_TIMEOUT); 
    6872                else 
    69                         $this->link = @ftp_connect($this->options['hostname'], $this->options['port'], $this->timeout); 
     73                        $this->link = @ftp_connect($this->options['hostname'], $this->options['port'], FS_CONNECT_TIMEOUT); 
    7074 
    7175                if ( ! $this->link ) { 
    7276                        $this->errors->add('connect', sprintf(__('Failed to connect to FTP Server %1$s:%2$s'), $this->options['hostname'], $this->options['port'])); 
     
    8084 
    8185                //Set the Connection to use Passive FTP 
    8286                @ftp_pasv( $this->link, true ); 
     87                if ( @ftp_get_option($this->link, FTP_TIMEOUT_SEC) < FTP_TIMEOUT ) 
     88                        @ftp_set_option($this->link, FTP_TIMEOUT_SEC, FTP_TIMEOUT); 
    8389 
    8490                return true; 
    8591        } 
  • wp-admin/includes/class-wp-filesystem-ftpsockets.php

     
    1616 */ 
    1717class WP_Filesystem_ftpsockets extends WP_Filesystem_Base { 
    1818        var $ftp = false; 
    19         var $timeout = 5; 
    2019        var $errors = null; 
    2120        var $options = array(); 
    2221 
     
    6160                if ( ! $this->ftp ) 
    6261                        return false; 
    6362 
    64                 //$this->ftp->Verbose = true; 
     63                $this->ftp->setTimeout(FS_CONNECT_TIMEOUT); 
    6564 
    6665                if ( ! $this->ftp->SetServer($this->options['hostname'], $this->options['port']) ) { 
    6766                        $this->errors->add('connect', sprintf(__('Failed to connect to FTP Server %1$s:%2$s'), $this->options['hostname'], $this->options['port'])); 
    6867                        return false; 
    6968                } 
     69 
    7070                if ( ! $this->ftp->connect() ) { 
    7171                        $this->errors->add('connect', sprintf(__('Failed to connect to FTP Server %1$s:%2$s'), $this->options['hostname'], $this->options['port'])); 
    7272                        return false; 
     
    7979 
    8080                $this->ftp->SetType(FTP_AUTOASCII); 
    8181                $this->ftp->Passive(true); 
     82                $this->ftp->setTimeout(FS_TIMEOUT); 
    8283                return true; 
    8384        } 
    8485 
  • wp-admin/includes/class-wp-filesystem-ssh2.php

     
    4545        var $link = false; 
    4646        var $sftp_link = false; 
    4747        var $keys = false; 
    48         /* 
    49          * This is the timeout value for ssh results. 
    50          * Slower servers might need this incressed, but this number otherwise should not change. 
    51          * 
    52          * @parm $timeout int 
    53          * 
    54          */ 
    55         var $timeout = 15; 
    5648        var $errors = array(); 
    5749        var $options = array(); 
    5850 
     
    148140                        $this->errors->add('command', sprintf(__('Unable to perform command: %s'), $command)); 
    149141                } else { 
    150142                        stream_set_blocking( $stream, true ); 
    151                         stream_set_timeout( $stream, $this->timeout ); 
     143                        stream_set_timeout( $stream, FS_TIMEOUT ); 
    152144                        $data = stream_get_contents( $stream ); 
    153145                        fclose( $stream ); 
    154146 
  • wp-admin/includes/file.php

     
    617617        if ( ! defined('FS_CHMOD_FILE') ) 
    618618                define('FS_CHMOD_FILE', 0644 ); 
    619619 
     620        //And the timeout constants. 
     621        if ( ! defined('FS_CONNECT_TIMEOUT') ) 
     622                define('FS_CONNECT_TIMEOUT', 30); 
     623        if ( ! defined('FS_TIMEOUT') ) 
     624                define('FS_TIMEOUT', 30); 
     625 
    620626        return true; 
    621627} 
    622628