From 5abc1eaab9474d9a0cf13779d0b0eb9b48671539 Mon Sep 17 00:00:00 2001 From: Dion Hulse Date: Fri, 18 Sep 2015 08:20:27 +0000 Subject: [PATCH] Updates: FTP/PemFTP Library: Remove the usage of deprecated regular expression functions (ereg replaced by PCRE). Props enshrined, aaroncampbell Fixes #16026, #33432 Built from https://develop.svn.wordpress.org/trunk@34281 git-svn-id: http://core.svn.wordpress.org/trunk@34245 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/includes/class-ftp-pure.php | 2 +- wp-admin/includes/class-ftp-sockets.php | 4 ++-- wp-admin/includes/class-ftp.php | 10 +++++----- wp-includes/version.php | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/wp-admin/includes/class-ftp-pure.php b/wp-admin/includes/class-ftp-pure.php index 7146c9626d..28e56779f9 100644 --- a/wp-admin/includes/class-ftp-pure.php +++ b/wp-admin/includes/class-ftp-pure.php @@ -110,7 +110,7 @@ class ftp extends ftp_base { $this->_data_close(); return FALSE; } - $ip_port = explode(",", ereg_replace("^.+ \\(?([0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]+,[0-9]+)\\)?.*".CRLF."$", "\\1", $this->_message)); + $ip_port = explode(",", preg_replace("/^.+ \\(?([0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]+,[0-9]+)\\)?.*$/s", "\\1", $this->_message)); $this->_datahost=$ip_port[0].".".$ip_port[1].".".$ip_port[2].".".$ip_port[3]; $this->_dataport=(((int)$ip_port[4])<<8) + ((int)$ip_port[5]); $this->SendMSG("Connecting to ".$this->_datahost.":".$this->_dataport); diff --git a/wp-admin/includes/class-ftp-sockets.php b/wp-admin/includes/class-ftp-sockets.php index 6bf94ebd94..c71205e921 100644 --- a/wp-admin/includes/class-ftp-sockets.php +++ b/wp-admin/includes/class-ftp-sockets.php @@ -131,9 +131,9 @@ class ftp extends ftp_base { $this->_data_close(); return FALSE; } - $ip_port = explode(",", ereg_replace("^.+ \\(?([0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]+,[0-9]+)\\)?.*".CRLF."$", "\\1", $this->_message)); + $ip_port = explode(",", preg_replace("/^.+ \\(?([0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]+,[0-9]+)\\)?.*$/s", "\\1", $this->_message)); $this->_datahost=$ip_port[0].".".$ip_port[1].".".$ip_port[2].".".$ip_port[3]; - $this->_dataport=(((int)$ip_port[4])<<8) + ((int)$ip_port[5]); + $this->_dataport=(((int)$ip_port[4])<<8) + ((int)$ip_port[5]); $this->SendMSG("Connecting to ".$this->_datahost.":".$this->_dataport); if(!@socket_connect($this->_ftp_data_sock, $this->_datahost, $this->_dataport)) { $this->PushError("_data_prepare","socket_connect", socket_strerror(socket_last_error($this->_ftp_data_sock))); diff --git a/wp-admin/includes/class-ftp.php b/wp-admin/includes/class-ftp.php index c9d965649c..81272f1ed3 100644 --- a/wp-admin/includes/class-ftp.php +++ b/wp-admin/includes/class-ftp.php @@ -380,7 +380,7 @@ class ftp_base { function pwd() { if(!$this->_exec("PWD", "pwd")) return FALSE; if(!$this->_checkCode()) return FALSE; - return ereg_replace("^[0-9]{3} \"(.+)\".+", "\\1", $this->_message); + return preg_replace("/^[0-9]{3} \"(.+)\".*$/s", "\\1", $this->_message); } function cdup() { @@ -424,7 +424,7 @@ class ftp_base { } if(!$this->_exec("SIZE ".$pathname, "filesize")) return FALSE; if(!$this->_checkCode()) return FALSE; - return ereg_replace("^[0-9]{3} ([0-9]+)".CRLF, "\\1", $this->_message); + return preg_replace("/^[0-9]{3} ([0-9]+).*$/s", "\\1", $this->_message); } function abort() { @@ -444,7 +444,7 @@ class ftp_base { } if(!$this->_exec("MDTM ".$pathname, "mdtm")) return FALSE; if(!$this->_checkCode()) return FALSE; - $mdtm = ereg_replace("^[0-9]{3} ([0-9]+)".CRLF, "\\1", $this->_message); + $mdtm = preg_replace("/^[0-9]{3} ([0-9]+).*$/", "\\1", $this->_message); $date = sscanf($mdtm, "%4d%2d%2d%2d%2d%2d"); $timestamp = mktime($date[3], $date[4], $date[5], $date[1], $date[2], $date[0]); return $timestamp; @@ -818,8 +818,8 @@ class ftp_base { function glob_regexp($pattern,$probe) { $sensitive=(PHP_OS!='WIN32'); return ($sensitive? - ereg($pattern,$probe): - eregi($pattern,$probe) + preg_match( '/' . preg_quote( $pattern, '/' ) . '/', $probe ) : + preg_match( '/' . preg_quote( $pattern, '/' ) . '/i', $probe ) ); } diff --git a/wp-includes/version.php b/wp-includes/version.php index d34bfaad52..b430748c5f 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.4-alpha-34280'; +$wp_version = '4.4-alpha-34281'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.