summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2013-05-24 20:08:20 +0200
committerAleksander Machniak <alec@alec.pl>2013-05-24 20:08:20 +0200
commita963a2b38cf571b29543d17edadc46f91caba3aa (patch)
tree04e766933c46c6bbf198dc5029986c30789cdc5c
parentec0f74a5b2eeca20c0f287985e7270685f54a37a (diff)
Fix connecting when host is specified with protocol prefix e.g. ssl://
-rw-r--r--program/lib/Net/Socket.php12
1 files changed, 5 insertions, 7 deletions
diff --git a/program/lib/Net/Socket.php b/program/lib/Net/Socket.php
index e67411124..bf1d1bbcd 100644
--- a/program/lib/Net/Socket.php
+++ b/program/lib/Net/Socket.php
@@ -4,7 +4,7 @@
*
* PHP Version 4
*
- * Copyright (c) 1997-2003 The PHP Group
+ * Copyright (c) 1997-2013 The PHP Group
*
* This source file is subject to version 2.0 of the PHP license,
* that is bundled with this package in the file LICENSE, and is
@@ -23,7 +23,6 @@
* @author Chuck Hagenbuch <chuck@horde.org>
* @copyright 1997-2003 The PHP Group
* @license http://www.php.net/license/2_02.txt PHP 2.02
- * @version CVS: $Id$
* @link http://pear.php.net/packages/Net_Socket
*/
@@ -100,7 +99,7 @@ class Net_Socket extends PEAR
* Connect to the specified port. If called when the socket is
* already connected, it disconnects and connects again.
*
- * @param string $addr IP address or host name.
+ * @param string $addr IP address or host name (may be with protocol prefix).
* @param integer $port TCP port number.
* @param boolean $persistent (optional) Whether the connection is
* persistent (kept open between requests
@@ -110,7 +109,7 @@ class Net_Socket extends PEAR
*
* @access public
*
- * @return boolean | PEAR_Error True on success or a PEAR_Error on failure.
+ * @return boolean|PEAR_Error True on success or a PEAR_Error on failure.
*/
function connect($addr, $port = 0, $persistent = null,
$timeout = null, $options = null)
@@ -122,11 +121,10 @@ class Net_Socket extends PEAR
if (!$addr) {
return $this->raiseError('$addr cannot be empty');
- } elseif (strspn($addr, ':.0123456789') == strlen($addr) ||
- strstr($addr, '/') !== false) {
+ } else if (strspn($addr, ':.0123456789') == strlen($addr)) {
$this->addr = strpos($addr, ':') !== false ? '['.$addr.']' : $addr;
} else {
- $this->addr = @gethostbyname($addr);
+ $this->addr = $addr;
}
$this->port = $port % 65536;