From d96c66909d1350f653dd631416f6174c7232b7e7 Mon Sep 17 00:00:00 2001 From: jubianchi Date: Fri, 11 Sep 2015 17:54:31 +0200 Subject: [PATCH 1/2] Fix SNMP::setSecurity() arginfo (Fixes bug #70476) --- ext/snmp/snmp.c | 21 ++++--- ext/snmp/tests/reflection.phpt | 103 +++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+), 11 deletions(-) create mode 100644 ext/snmp/tests/reflection.phpt diff --git a/ext/snmp/snmp.c b/ext/snmp/snmp.c index 92b7732e67679..76ba88089f6a3 100644 --- a/ext/snmp/snmp.c +++ b/ext/snmp/snmp.c @@ -346,7 +346,6 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_snmp_setSecurity, 0, 0, 8) ZEND_ARG_INFO(0, priv_passphrase) ZEND_ARG_INFO(0, contextName) ZEND_ARG_INFO(0, contextEngineID) - ZEND_ARG_INFO(0, ) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_snmp_get, 0, 0, 1) @@ -2305,16 +2304,16 @@ static void free_php_snmp_properties(zval *el) /* {{{ */ /* {{{ php_snmp_class_methods[] */ static zend_function_entry php_snmp_class_methods[] = { - PHP_ME(snmp, __construct, arginfo_snmp_create, ZEND_ACC_PUBLIC) - PHP_ME(snmp, close, arginfo_snmp_void, ZEND_ACC_PUBLIC) - PHP_ME(snmp, setSecurity, arginfo_snmp_setSecurity, ZEND_ACC_PUBLIC) - - PHP_ME(snmp, get, arginfo_snmp_get, ZEND_ACC_PUBLIC) - PHP_ME(snmp, getnext, arginfo_snmp_get, ZEND_ACC_PUBLIC) - PHP_ME(snmp, walk, arginfo_snmp_walk, ZEND_ACC_PUBLIC) - PHP_ME(snmp, set, arginfo_snmp_set, ZEND_ACC_PUBLIC) - PHP_ME(snmp, getErrno, arginfo_snmp_void, ZEND_ACC_PUBLIC) - PHP_ME(snmp, getError, arginfo_snmp_void, ZEND_ACC_PUBLIC) + PHP_ME(snmp, __construct, arginfo_snmp_create, ZEND_ACC_PUBLIC) + PHP_ME(snmp, close, arginfo_snmp_void, ZEND_ACC_PUBLIC) + PHP_ME(snmp, setSecurity, arginfo_snmp_setSecurity, ZEND_ACC_PUBLIC) + + PHP_ME(snmp, get, arginfo_snmp_get, ZEND_ACC_PUBLIC) + PHP_ME(snmp, getnext, arginfo_snmp_get, ZEND_ACC_PUBLIC) + PHP_ME(snmp, walk, arginfo_snmp_walk, ZEND_ACC_PUBLIC) + PHP_ME(snmp, set, arginfo_snmp_set, ZEND_ACC_PUBLIC) + PHP_ME(snmp, getErrno, arginfo_snmp_void, ZEND_ACC_PUBLIC) + PHP_ME(snmp, getError, arginfo_snmp_void, ZEND_ACC_PUBLIC) PHP_FE_END }; diff --git a/ext/snmp/tests/reflection.phpt b/ext/snmp/tests/reflection.phpt new file mode 100644 index 0000000000000..91e9876801e2b --- /dev/null +++ b/ext/snmp/tests/reflection.phpt @@ -0,0 +1,103 @@ +--TEST-- +Test SNMP Reflection +--SKIPIF-- + +--FILE-- + +===DONE=== + +--EXPECTF-- +Method [ public method __construct ] { + + - Parameters [5] { + Parameter #0 [ $version ] + Parameter #1 [ $host ] + Parameter #2 [ $community ] + Parameter #3 [ $timeout ] + Parameter #4 [ $retries ] + } +} + +Method [ public method close ] { + + - Parameters [0] { + } +} + +Method [ public method setSecurity ] { + + - Parameters [8] { + Parameter #0 [ $session ] + Parameter #1 [ $sec_level ] + Parameter #2 [ $auth_protocol ] + Parameter #3 [ $auth_passphrase ] + Parameter #4 [ $priv_protocol ] + Parameter #5 [ $priv_passphrase ] + Parameter #6 [ $contextName ] + Parameter #7 [ $contextEngineID ] + } +} + +Method [ public method get ] { + + - Parameters [2] { + Parameter #0 [ $object_id ] + Parameter #1 [ $use_orignames ] + } +} + +Method [ public method getnext ] { + + - Parameters [2] { + Parameter #0 [ $object_id ] + Parameter #1 [ $use_orignames ] + } +} + +Method [ public method walk ] { + + - Parameters [4] { + Parameter #0 [ $object_id ] + Parameter #1 [ $suffix_keys ] + Parameter #2 [ $max_repetitions ] + Parameter #3 [ $non_repeaters ] + } +} + +Method [ public method set ] { + + - Parameters [3] { + Parameter #0 [ $object_id ] + Parameter #1 [ $type ] + Parameter #2 [ $value ] + } +} + +Method [ public method getErrno ] { + + - Parameters [0] { + } +} + +Method [ public method getError ] { + + - Parameters [0] { + } +} + +===DONE=== From e326fa78552eef34e6e0ef362e3de134be4ff163 Mon Sep 17 00:00:00 2001 From: jubianchi Date: Fri, 11 Sep 2015 18:13:23 +0200 Subject: [PATCH 2/2] Remove wrong argument $session from SNMP::setSecurity() --- ext/snmp/snmp.c | 1 - ext/snmp/tests/reflection.phpt | 17 ++++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/ext/snmp/snmp.c b/ext/snmp/snmp.c index 76ba88089f6a3..05e2ba24fd984 100644 --- a/ext/snmp/snmp.c +++ b/ext/snmp/snmp.c @@ -338,7 +338,6 @@ ZEND_BEGIN_ARG_INFO(arginfo_snmp_void, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_snmp_setSecurity, 0, 0, 8) - ZEND_ARG_INFO(0, session) ZEND_ARG_INFO(0, sec_level) ZEND_ARG_INFO(0, auth_protocol) ZEND_ARG_INFO(0, auth_passphrase) diff --git a/ext/snmp/tests/reflection.phpt b/ext/snmp/tests/reflection.phpt index 91e9876801e2b..8e2b92f2e8c46 100644 --- a/ext/snmp/tests/reflection.phpt +++ b/ext/snmp/tests/reflection.phpt @@ -41,15 +41,14 @@ Method [ public method close ] { Method [ public method setSecurity ] { - - Parameters [8] { - Parameter #0 [ $session ] - Parameter #1 [ $sec_level ] - Parameter #2 [ $auth_protocol ] - Parameter #3 [ $auth_passphrase ] - Parameter #4 [ $priv_protocol ] - Parameter #5 [ $priv_passphrase ] - Parameter #6 [ $contextName ] - Parameter #7 [ $contextEngineID ] + - Parameters [7] { + Parameter #0 [ $sec_level ] + Parameter #1 [ $auth_protocol ] + Parameter #2 [ $auth_passphrase ] + Parameter #3 [ $priv_protocol ] + Parameter #4 [ $priv_passphrase ] + Parameter #5 [ $contextName ] + Parameter #6 [ $contextEngineID ] } }