follow CS:

- method set_security should be named as setSecurity
 - SNMP_VERSION_2C constant
This commit is contained in:
Boris Lytochkin 2011-03-20 20:07:33 +00:00
parent 547a96090f
commit 14eaa5ac58
13 changed files with 87 additions and 86 deletions

View file

@ -73,7 +73,7 @@ PHP_FUNCTION(snmp_get_valueretrieval);
PHP_FUNCTION(snmp_read_mib);
PHP_METHOD(SNMP, open);
PHP_METHOD(SNMP, set_security);
PHP_METHOD(SNMP, setSecurity);
PHP_METHOD(SNMP, close);
PHP_METHOD(SNMP, get);
PHP_METHOD(SNMP, getnext);

View file

@ -374,7 +374,7 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO(arginfo_snmp_void, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_snmp_set_security, 0, 0, 8)
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)
@ -1847,9 +1847,9 @@ PHP_METHOD(snmp, set)
php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU, SNMP_CMD_SET, (-1));
}
/* {{{ proto bool SNMP::set_security(resource session, string sec_level, [ string auth_protocol, string auth_passphrase [, string priv_protocol, string priv_passphrase [, string contextName [, string contextEngineID]]]])
/* {{{ proto bool SNMP::setSecurity(resource session, string sec_level, [ string auth_protocol, string auth_passphrase [, string priv_protocol, string priv_passphrase [, string contextName [, string contextEngineID]]]])
Set SNMPv3 security-related session parameters */
PHP_METHOD(snmp, set_security)
PHP_METHOD(snmp, setSecurity)
{
php_snmp_object *snmp_object;
zval *object = getThis();
@ -2338,7 +2338,7 @@ static int php_snmp_write_oid_output_format(php_snmp_object *snmp_object, zval *
static zend_function_entry php_snmp_class_methods[] = {
PHP_ME(snmp, open, arginfo_snmp_open, ZEND_ACC_PUBLIC)
PHP_ME(snmp, close, arginfo_snmp_void, ZEND_ACC_PUBLIC)
PHP_ME(snmp, set_security, arginfo_snmp_set_security, 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)
@ -2434,6 +2434,7 @@ PHP_MINIT_FUNCTION(snmp)
REGISTER_LONG_CONSTANT("SNMP_VERSION_1", SNMP_VERSION_1, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("SNMP_VERSION_2c", SNMP_VERSION_2c, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("SNMP_VERSION_2C", SNMP_VERSION_2c, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("SNMP_VERSION_3", SNMP_VERSION_3, CONST_CS | CONST_PERSISTENT);
REGISTER_SNMP_CLASS_CONST_LONG("ERRNO_NOERROR", (long)PHP_SNMP_ERRNO_NOERROR);

View file

@ -19,4 +19,4 @@ var_dump(snmpget($hostname, 'timeout_community_432', '.1.3.6.1.2.1.1.1.0', $time
?>
--EXPECTF--
Warning: snmpget(): No response from %s in %s on line %d
bool(false)
bool(false)

View file

@ -38,7 +38,7 @@ var_dump($session->get_error());
$session->close();
echo "SNMP::ERRNO_GENERIC\n";
$session = new SNMP(SNMP_VERSION_3, $hostname, 'somebogususer', $timeout, $retries);
$session->set_security('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass);
$session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass);
var_dump(@$session->get('.1.3.6.1.2.1.1.1.0'));
var_dump($session->get_errno() == SNMP::ERRNO_GENERIC);
var_dump($session->get_error());
@ -60,4 +60,4 @@ bool(true)
SNMP::ERRNO_GENERIC
bool(false)
bool(true)
%string|unicode%(%d) "Fatal error: Unknown user name"
%string|unicode%(%d) "Fatal error: Unknown user name"

View file

@ -91,4 +91,4 @@ NULL
Warning: main(): max_oids should be positive integer or NULL, got 0 in %s on line %d
Warning: main(): max_oids should be positive integer or NULL, got 0 in %s on line %d
NULL
NULL

View file

@ -187,4 +187,4 @@ array(4) {
["retries"]=>
int(%d)
}
NULL
NULL

View file

@ -0,0 +1,66 @@
--TEST--
OO API: SNMP::setSecurity (errors)
--CREDITS--
Boris Lytochkin
--SKIPIF--
<?php
require_once(dirname(__FILE__).'/skipif.inc');
?>
--FILE--
<?php
require_once(dirname(__FILE__).'/snmp_include.inc');
//EXPECTF format is quickprint OFF
snmp_set_quick_print(false);
snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
$session = new SNMP(SNMP_VERSION_3, $hostname, $user_noauth, $timeout, $retries);
$session->setSecurity('noAuthNoPriv');
#echo "Checking error handling\n";
var_dump($session->setSecurity());
var_dump($session->setSecurity(''));
var_dump($session->setSecurity('bugusPriv'));
var_dump($session->setSecurity('authNoPriv', 'TTT'));
var_dump($session->setSecurity('authNoPriv', 'MD5', ''));
var_dump($session->setSecurity('authNoPriv', 'MD5', 'te'));
var_dump($session->setSecurity('authPriv', 'MD5', $auth_pass, 'BBB'));
var_dump($session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', ''));
var_dump($session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', 'ty'));
var_dump($session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', 'test12345', 'context', 'dsa'));
var_dump($session->close());
?>
--EXPECTF--
Warning: SNMP::setSecurity() expects at least 1 parameter, 0 given in %s on line %d
bool(false)
Warning: SNMP::setSecurity(): Invalid security level '' in %s on line %d
bool(false)
Warning: SNMP::setSecurity(): Invalid security level 'bugusPriv' in %s on line %d
bool(false)
Warning: SNMP::setSecurity(): Unknown authentication protocol 'TTT' in %s on line %d
bool(false)
Warning: SNMP::setSecurity(): Error generating a key for authentication pass phrase '': Generic error (The supplied password length is too short.) in %s on line %d
bool(false)
Warning: SNMP::setSecurity(): Error generating a key for authentication pass phrase 'te': Generic error (The supplied password length is too short.) in %s on line %d
bool(false)
Warning: SNMP::setSecurity(): Unknown security protocol 'BBB' in %s on line %d
bool(false)
Warning: SNMP::setSecurity(): Error generating a key for privacy pass phrase '': Generic error (The supplied password length is too short.) in %s on line %d
bool(false)
Warning: SNMP::setSecurity(): Error generating a key for privacy pass phrase 'ty': Generic error (The supplied password length is too short.) in %s on line %d
bool(false)
Warning: SNMP::setSecurity(): Bad engine ID value 'dsa' in %s on line %d
bool(false)
bool(true)

View file

@ -1,66 +0,0 @@
--TEST--
OO API: SNMP::set_security (errors)
--CREDITS--
Boris Lytochkin
--SKIPIF--
<?php
require_once(dirname(__FILE__).'/skipif.inc');
?>
--FILE--
<?php
require_once(dirname(__FILE__).'/snmp_include.inc');
//EXPECTF format is quickprint OFF
snmp_set_quick_print(false);
snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
$session = new SNMP(SNMP_VERSION_3, $hostname, $user_noauth, $timeout, $retries);
$session->set_security('noAuthNoPriv');
#echo "Checking error handling\n";
var_dump($session->set_security());
var_dump($session->set_security(''));
var_dump($session->set_security('bugusPriv'));
var_dump($session->set_security('authNoPriv', 'TTT'));
var_dump($session->set_security('authNoPriv', 'MD5', ''));
var_dump($session->set_security('authNoPriv', 'MD5', 'te'));
var_dump($session->set_security('authPriv', 'MD5', $auth_pass, 'BBB'));
var_dump($session->set_security('authPriv', 'MD5', $auth_pass, 'AES', ''));
var_dump($session->set_security('authPriv', 'MD5', $auth_pass, 'AES', 'ty'));
var_dump($session->set_security('authPriv', 'MD5', $auth_pass, 'AES', 'test12345', 'context', 'dsa'));
var_dump($session->close());
?>
--EXPECTF--
Warning: SNMP::set_security() expects at least 1 parameter, 0 given in %s on line %d
bool(false)
Warning: SNMP::set_security(): Invalid security level '' in %s on line %d
bool(false)
Warning: SNMP::set_security(): Invalid security level 'bugusPriv' in %s on line %d
bool(false)
Warning: SNMP::set_security(): Unknown authentication protocol 'TTT' in %s on line %d
bool(false)
Warning: SNMP::set_security(): Error generating a key for authentication pass phrase '': Generic error (The supplied password length is too short.) in %s on line %d
bool(false)
Warning: SNMP::set_security(): Error generating a key for authentication pass phrase 'te': Generic error (The supplied password length is too short.) in %s on line %d
bool(false)
Warning: SNMP::set_security(): Unknown security protocol 'BBB' in %s on line %d
bool(false)
Warning: SNMP::set_security(): Error generating a key for privacy pass phrase '': Generic error (The supplied password length is too short.) in %s on line %d
bool(false)
Warning: SNMP::set_security(): Error generating a key for privacy pass phrase 'ty': Generic error (The supplied password length is too short.) in %s on line %d
bool(false)
Warning: SNMP::set_security(): Bad engine ID value 'dsa' in %s on line %d
bool(false)
bool(true)

View file

@ -69,21 +69,21 @@ var_dump($session->close());
echo "SNMPv3 (default security settings)\n";
$session = new SNMP(SNMP_VERSION_3, $hostname, $user_noauth, $timeout, $retries);
#$session->set_security($user_noauth, 'noAuthNoPriv', '', '', '', '', '', '');
#$session->setSecurity($user_noauth, 'noAuthNoPriv', '', '', '', '', '', '');
var_dump($session->get('.1.3.6.1.2.1.1.1.0'));
var_dump($session->getnext('.1.3.6.1.2.1.1.1.0'));
var_dump($session->close());
echo "SNMPv3 (noAuthNoPriv)\n";
$session = new SNMP(SNMP_VERSION_3, $hostname, $user_noauth, $timeout, $retries);
$session->set_security('noAuthNoPriv');
$session->setSecurity('noAuthNoPriv');
var_dump($session->get('.1.3.6.1.2.1.1.1.0'));
var_dump($session->getnext('.1.3.6.1.2.1.1.1.0'));
var_dump($session->close());
echo "SNMPv3 (authPriv)\n";
$session = new SNMP(SNMP_VERSION_3, $hostname, $rwuser, $timeout, $retries);
$session->set_security('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass);
$session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass);
var_dump($session->get('.1.3.6.1.2.1.1.1.0'));
var_dump($session->getnext('.1.3.6.1.2.1.1.1.0'));
var_dump($session->walk('.1.3.6.1.2.1.1.1.0'));
@ -91,7 +91,7 @@ var_dump($session->close());
echo "SET single OID\n";
$session = new SNMP(SNMP_VERSION_3, $hostname, $rwuser, $timeout, $retries);
$session->set_security('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass);
$session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass);
$oid1 = 'SNMPv2-MIB::sysContact.0';
$oldvalue1 = $session->get($oid1);
$newvalue1 = $oldvalue1 . '0';
@ -106,7 +106,7 @@ var_dump($session->close());
echo "SNMPv3, setting contextEngineID (authPriv)\n";
$session = new SNMP(SNMP_VERSION_3, $hostname, $rwuser, $timeout, $retries);
$session->set_security('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass, '', 'aeeeff');
$session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass, '', 'aeeeff');
var_dump($session->get('.1.3.6.1.2.1.1.1.0'));
var_dump($session->close());
@ -174,4 +174,4 @@ bool(true)
bool(true)
SNMPv3, setting contextEngineID (authPriv)
string(%d) "%S"
bool(true)
bool(true)

View file

@ -56,4 +56,4 @@ Single OID
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

View file

@ -73,4 +73,4 @@ Warning: snmp3_set(): Invalid object identifier: .1.3.6.777...7.5.3 in %s on lin
bool(false)
Warning: snmp3_set(): Single objid and multiple type or values are not supported in %s on line %d
bool(false)
bool(false)

View file

@ -57,4 +57,4 @@ Single OID
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

View file

@ -19,4 +19,4 @@ var_dump(snmpget('192.168..6.1', 'community', '.1.3.6.1.2.1.1.1.0', $timeout, $r
?>
--EXPECTF--
Warning: snmpget(): Could not open snmp connection: Unknown host (192.168..6.1) (%s) in %s on line %d
bool(false)
bool(false)