Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions ext/snmp/snmp.c
Original file line number Diff line number Diff line change
Expand Up @@ -745,7 +745,7 @@ static bool php_snmp_parse_oid(
objid_query->vars[objid_query->count].type = ptype;
idx_type++;
} else {
php_error_docref(NULL, E_WARNING, "'%s': no type set", ZSTR_VAL(tmp));
zend_value_error("'%s': no type set", ZSTR_VAL(tmp));
php_free_objid_query(objid_query, oid_ht, value_ht, st);
return false;
}
Expand Down Expand Up @@ -780,7 +780,7 @@ static bool php_snmp_parse_oid(
objid_query->vars[objid_query->count].value = ZSTR_VAL(tmp);
idx_value++;
} else {
php_error_docref(NULL, E_WARNING, "'%s': no value set", ZSTR_VAL(tmp));
zend_value_error("'%s': no value set", ZSTR_VAL(tmp));
php_free_objid_query(objid_query, oid_ht, value_ht, st);
return false;
}
Expand Down Expand Up @@ -906,7 +906,7 @@ static bool snmp_session_init(php_snmp_session **session_p, int version, zend_st
}
*pptr = '\0';
} else {
php_error_docref(NULL, E_WARNING, "Malformed IPv6 address, closing square bracket missing");
zend_value_error("Malformed IPv6 address, closing square bracket missing");
return false;
}
} else { /* IPv4 address */
Expand Down Expand Up @@ -1128,8 +1128,7 @@ static bool snmp_session_set_contextEngineID(struct snmp_session *s, zend_string
uint8_t *ebuf = (uint8_t *) emalloc(ebuf_len);

if (!snmp_hex_to_binary(&ebuf, &ebuf_len, &eout_len, 1, ZSTR_VAL(contextEngineID))) {
// TODO Promote to Error?
php_error_docref(NULL, E_WARNING, "Bad engine ID value '%s'", ZSTR_VAL(contextEngineID));
zend_value_error("Bad engine ID value '%s'", ZSTR_VAL(contextEngineID));
efree(ebuf);
return false;
}
Expand Down
10 changes: 6 additions & 4 deletions ext/snmp/tests/ipv6.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,12 @@ snmp_set_quick_print(false);
snmp_set_valueretrieval(SNMP_VALUE_PLAIN);

var_dump(snmpget($hostname6_port, $community, '.1.3.6.1.2.1.1.1.0'));
var_dump(snmpget('[dead:beef::', $community, '.1.3.6.1.2.1.1.1.0'));
try {
var_dump(snmpget('[dead:beef::', $community, '.1.3.6.1.2.1.1.1.0'));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
?>
--EXPECTF--
string(%d) "%s"

Warning: snmpget(): Malformed IPv6 address, closing square bracket missing in %s on line %d
bool(false)
Malformed IPv6 address, closing square bracket missing
10 changes: 6 additions & 4 deletions ext/snmp/tests/snmp-object-setSecurity_error.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,11 @@ try {

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'));
try {
var_dump($session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', 'test12345', 'context', 'dsa'));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}

var_dump($session->close());

Expand All @@ -76,7 +80,5 @@ 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)
Bad engine ID value 'dsa'
bool(true)
24 changes: 14 additions & 10 deletions ext/snmp/tests/snmp2_set.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -128,14 +128,22 @@ var_dump((snmpget($hostname, $communityWrite, $oid1, $timeout, $retries) === $ol
var_dump((snmpget($hostname, $communityWrite, $oid2, $timeout, $retries) === $oldvalue2));

echo "Multiple OID, single type in array, multiple value\n";
$z = snmp2_set($hostname, $communityWrite, array($oid1, $oid2), array('s'), array($newvalue1, $newvalue2), $timeout, $retries);
var_dump($z);
try {
$z = snmp2_set($hostname, $communityWrite, array($oid1, $oid2), array('s'), array($newvalue1, $newvalue2), $timeout, $retries);
var_dump($z);
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
var_dump((snmpget($hostname, $communityWrite, $oid1, $timeout, $retries) === $oldvalue1));
var_dump((snmpget($hostname, $communityWrite, $oid2, $timeout, $retries) === $oldvalue2));

echo "Multiple OID & type, single value in array\n";
$z = snmp2_set($hostname, $communityWrite, array($oid1, $oid2), array('s', 's'), array($newvalue1), $timeout, $retries);
var_dump($z);
try {
$z = snmp2_set($hostname, $communityWrite, array($oid1, $oid2), array('s', 's'), array($newvalue1), $timeout, $retries);
var_dump($z);
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
var_dump((snmpget($hostname, $communityWrite, $oid1, $timeout, $retries) === $oldvalue1));
var_dump((snmpget($hostname, $communityWrite, $oid2, $timeout, $retries) === $oldvalue2));

Expand Down Expand Up @@ -224,15 +232,11 @@ Type must be a single character
bool(true)
bool(true)
Multiple OID, single type in array, multiple value

Warning: snmp2_set(): '%s': no type set in %s on line %d
bool(false)
'SNMPv2-MIB::sysLocation.0': no type set
bool(true)
bool(true)
Multiple OID & type, single value in array

Warning: snmp2_set(): '%s': no value set in %s on line %d
bool(false)
'SNMPv2-MIB::sysLocation.0': no value set
bool(true)
bool(true)
Multiple OID, 1st bogus, single type, multiple value
Expand Down
24 changes: 14 additions & 10 deletions ext/snmp/tests/snmpset.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -122,14 +122,22 @@ var_dump((snmpget($hostname, $communityWrite, $oid1, $timeout, $retries) === $ol
var_dump((snmpget($hostname, $communityWrite, $oid2, $timeout, $retries) === $oldvalue2));

echo "Multiple OID, single type in array, multiple value\n";
$z = snmpset($hostname, $communityWrite, array($oid1, $oid2), array('s'), array($newvalue1, $newvalue2), $timeout, $retries);
var_dump($z);
try {
$z = snmpset($hostname, $communityWrite, array($oid1, $oid2), array('s'), array($newvalue1, $newvalue2), $timeout, $retries);
var_dump($z);
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
var_dump((snmpget($hostname, $communityWrite, $oid1, $timeout, $retries) === $oldvalue1));
var_dump((snmpget($hostname, $communityWrite, $oid2, $timeout, $retries) === $oldvalue2));

echo "Multiple OID & type, single value in array\n";
$z = snmpset($hostname, $communityWrite, array($oid1, $oid2), array('s', 's'), array($newvalue1), $timeout, $retries);
var_dump($z);
try {
$z = snmpset($hostname, $communityWrite, array($oid1, $oid2), array('s', 's'), array($newvalue1), $timeout, $retries);
var_dump($z);
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
var_dump((snmpget($hostname, $communityWrite, $oid1, $timeout, $retries) === $oldvalue1));
var_dump((snmpget($hostname, $communityWrite, $oid2, $timeout, $retries) === $oldvalue2));

Expand Down Expand Up @@ -215,15 +223,11 @@ Type must be a single character
bool(true)
bool(true)
Multiple OID, single type in array, multiple value

Warning: snmpset(): '%s': no type set in %s on line %d
bool(false)
'SNMPv2-MIB::sysLocation.0': no type set
bool(true)
bool(true)
Multiple OID & type, single value in array

Warning: snmpset(): '%s': no value set in %s on line %d
bool(false)
'SNMPv2-MIB::sysLocation.0': no value set
bool(true)
bool(true)
Multiple OID, 1st bogus, single type, multiple value
Expand Down