X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/959f97d8ecd5c1668103a3e41c795486b944bc68..9c2096d803812dacbdf6cf8efe90053e39f00b96:/wp-admin/includes/class-ftp.php diff --git a/wp-admin/includes/class-ftp.php b/wp-admin/includes/class-ftp.php index c10526bd..1e35e745 100644 --- a/wp-admin/includes/class-ftp.php +++ b/wp-admin/includes/class-ftp.php @@ -11,15 +11,75 @@ * @link http://www.phpclasses.org/browse/package/1743.html Site * @license LGPL License http://www.opensource.org/licenses/lgpl-license.html */ + +/** + * Defines the newline characters, if not defined already. + * + * This can be redefined. + * + * @since 2.5 + * @var string + */ if(!defined('CRLF')) define('CRLF',"\r\n"); + +/** + * Sets whatever to autodetect ASCII mode. + * + * This can be redefined. + * + * @since 2.5 + * @var int + */ if(!defined("FTP_AUTOASCII")) define("FTP_AUTOASCII", -1); + +/** + * + * This can be redefined. + * @since 2.5 + * @var int + */ if(!defined("FTP_BINARY")) define("FTP_BINARY", 1); + +/** + * + * This can be redefined. + * @since 2.5 + * @var int + */ if(!defined("FTP_ASCII")) define("FTP_ASCII", 0); -if(!defined('FTP_FORCE')) define('FTP_FORCE', TRUE); + +/** + * Whether to force FTP. + * + * This can be redefined. + * + * @since 2.5 + * @var bool + */ +if(!defined('FTP_FORCE')) define('FTP_FORCE', true); + +/** + * @since 2.5 + * @var string + */ define('FTP_OS_Unix','u'); + +/** + * @since 2.5 + * @var string + */ define('FTP_OS_Windows','w'); + +/** + * @since 2.5 + * @var string + */ define('FTP_OS_Mac','m'); +/** + * PemFTP base class + * + */ class ftp_base { /* Public variables */ var $LocalEcho; @@ -218,7 +278,10 @@ class ftp_base { $dns=@gethostbyaddr($host); if(!$ip) $ip=$host; if(!$dns) $dns=$host; - if(ip2long($ip) === -1) { + // Validate the IPAddress PHP4 returns -1 for invalid, PHP5 false + // -1 === "255.255.255.255" which is the broadcast address which is also going to be invalid + $ipaslong = ip2long($ip); + if ( ($ipaslong == false) || ($ipaslong === -1) ) { $this->SendMSG("Wrong host name/address \"".$host."\""); return FALSE; } @@ -432,7 +495,7 @@ class ftp_base { $this->_features=array(); foreach($f as $k=>$v) { $v=explode(" ", trim($v)); - $this->_features[array_shift($v)]=$v;; + $this->_features[array_shift($v)]=$v; } return true; } @@ -838,5 +901,6 @@ if (!extension_loaded('sockets')) { $prefix = (PHP_SHLIB_SUFFIX == 'dll') ? 'php_' : ''; if(!@dl($prefix . 'sockets.' . PHP_SHLIB_SUFFIX)) $mod_sockets=FALSE; } + require_once "class-ftp-".($mod_sockets?"sockets":"pure").".php"; ?>