svn: /php/php-src/branches/PHP_5_4/ NEWS ext/snmp/snmp.c ext/snmp/tests/bug60749.phpt ext/snmp/tests/ipv6.phpt
| From: | Boris Lytochkin | Date: | Fri, 13 Jan 2012 18:46:56 +0000 |
| Subject: | svn: /php/php-src/branches/PHP_5_4/ NEWS ext/snmp/snmp.c ext/snmp/tests/bug60749.phpt ext/snmp/tests/ipv6.phpt | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-67444@lists.php.net to get a copy of this message | ||
lytboris Fri, 13 Jan 2012 18:46:56 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=322214
Log:
merge from trunk:
Fixed bug #60585 (php build fails with USE flag snmp when IPv6 support is disabled
Fixed bug #60749 (SNMP module should not strip non-standard SNMP port from hostname
Bugs: https://bugs.php.net/60585 (Assigned) php build fails
with USE flag snmp when IPv6 support is disabled
https://bugs.php.net/60749 (Assigned) SNMP module
should not strip non-standard SNMP port from hostname
Changed paths:
U php/php-src/branches/PHP_5_4/NEWS
_U php/php-src/branches/PHP_5_4/ext/snmp/
U php/php-src/branches/PHP_5_4/ext/snmp/snmp.c
_U php/php-src/branches/PHP_5_4/ext/snmp/tests/
A + php/php-src/branches/PHP_5_4/ext/snmp/tests/bug60749.phpt
(from php/php-src/trunk/ext/snmp/tests/bug60749.phpt:r322213)
U php/php-src/branches/PHP_5_4/ext/snmp/tests/ipv6.phpt
Modified: php/php-src/branches/PHP_5_4/NEWS
===================================================================
--- php/php-src/branches/PHP_5_4/NEWS 2012-01-13 18:34:21 UTC (rev 322213)
+++ php/php-src/branches/PHP_5_4/NEWS 2012-01-13 18:46:56 UTC (rev 322214)
@@ -12,6 +12,12 @@
. Fixed bug #53280 (segfaults if query column count less than param count).
(Mariuz)
+- SNMP:
+ . Fixed bug #60585 (php build fails with USE flag snmp when IPv6 support
+ is disabled). (Boris Lytochkin)
+ . Fixed bug #60749 (SNMP module should not strip non-standard SNMP port
+ from hostname). (Boris Lytochkin)
+
07 Jan 2012, PHP 5.4.0 RC5
- Core:
. Fixed bug #60613 (Segmentation fault with $cls->{expr}() syntax). (Dmitry)
Property changes on: php/php-src/branches/PHP_5_4/ext/snmp
___________________________________________________________________
Modified: svn:mergeinfo
-
/php/php-src/trunk/ext/snmp:284726,311033-315236,315606,315608,315862,315924,316022,316029,316031
+
/php/php-src/trunk/ext/snmp:284726,311033-315236,315606,315608,315862,315924,316022,316029,316031,322213
Modified: php/php-src/branches/PHP_5_4/ext/snmp/snmp.c
===================================================================
--- php/php-src/branches/PHP_5_4/ext/snmp/snmp.c 2012-01-13 18:34:21 UTC (rev 322213)
+++ php/php-src/branches/PHP_5_4/ext/snmp/snmp.c 2012-01-13 18:46:56 UTC (rev 322214)
@@ -1171,11 +1171,11 @@
continue;
}
#else
- if (res->sa_family != AF_INET) {
+ if ((*res)->sa_family != AF_INET) {
res++;
continue;
}
- strcat(pptr, inet_ntoa(res));
+ strcat(pptr, inet_ntoa(((struct sockaddr_in*)(*res))->sin_addr));
#endif
break;
}
@@ -1188,6 +1188,12 @@
There should be check for non-empty session->peername!
*/
+ /* put back non-standard SNMP port */
+ if (session->remote_port != SNMP_PORT) {
+ pptr = session->peername + strlen(session->peername);
+ sprintf(pptr, ":%d", session->remote_port);
+ }
+
php_network_freeaddresses(psal);
if (version == SNMP_VERSION_3) {
Property changes on: php/php-src/branches/PHP_5_4/ext/snmp/tests
___________________________________________________________________
Modified: svn:mergeinfo
-
/php/php-src/trunk/ext/snmp/tests:284726,311033-315236,315386,315606,315608,315862,315916,315924,316022,316029,316031
+
/php/php-src/trunk/ext/snmp/tests:284726,311033-315236,315386,315606,315608,315862,315916,315924,316022,316029,316031,322213
Copied: php/php-src/branches/PHP_5_4/ext/snmp/tests/bug60749.phpt (from rev 322213,
php/php-src/trunk/ext/snmp/tests/bug60749.phpt)
===================================================================
--- php/php-src/branches/PHP_5_4/ext/snmp/tests/bug60749.phpt (rev 0)
+++ php/php-src/branches/PHP_5_4/ext/snmp/tests/bug60749.phpt 2012-01-13 18:46:56 UTC (rev 322214)
@@ -0,0 +1,28 @@
+--TEST--
+Bug #60749: SNMP module should not strip non-standard SNMP port from hostname
+--CREDITS--
+Boris Lytochkin
+--SKIPIF--
+<?php
+require_once(dirname(__FILE__).'/skipif.inc');
+?>
+--FILE--
+<?php
+require_once(dirname(__FILE__).'/snmp_include.inc');
+
+$hostname = "php.net";
+$ip = gethostbyname($hostname);
+if (ip2long($ip) === FALSE) {
+ echo "Could not resolve $hostname properly!\n";
+ exit(1);
+}
+$port = 1161;
+$session = new SNMP(SNMP::VERSION_1, "$hostname:$port", $community, $timeout, $retries);
+$info = $session->info;
+if (strcmp($info["hostname"], "$ip:$port") !== 0) {
+ echo "'" . $info["hostname"] . "' !=
'$ip:$port'\n";
+}
+var_dump($session->close());
+?>
+--EXPECTF--
+bool(true)
Modified: php/php-src/branches/PHP_5_4/ext/snmp/tests/ipv6.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/ext/snmp/tests/ipv6.phpt 2012-01-13 18:34:21 UTC (rev 322213)
+++ php/php-src/branches/PHP_5_4/ext/snmp/tests/ipv6.phpt 2012-01-13 18:46:56 UTC (rev 322214)
@@ -4,16 +4,17 @@
Boris Lytochkin
--SKIPIF--
<?php
- require_once(dirname(__FILE__).'/skipif.inc');
+require_once(dirname(__FILE__).'/skipif.inc');
- if (!function_exists("inet_ntop")) die("skip no inet_ntop()");
+$packed = str_repeat(chr(0), 15) . chr(1);
+if (@inet_ntop($packed) === false) {
+ die("skip no IPv6 support");
+}
?>
--FILE--
<?php
require_once(dirname(__FILE__).'/snmp_include.inc');
-$default_port = 161;
-
//EXPECTF format is quickprint OFF
snmp_set_quick_print(false);
snmp_set_valueretrieval(SNMP_VALUE_PLAIN);