]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/includes/class-ftp.php
Wordpress 2.9
[autoinstalls/wordpress.git] / wp-admin / includes / class-ftp.php
index c10526bddb0554904674e18e0155f0c05a0fe90c..80703a9552ce44b4eb43889e4a17d9e63df3b5f6 100644 (file)
  * @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;
                        }
@@ -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";
 ?>