sniper Thu Jul 27 05:17:35 2006 UTC
Modified files: (Branch: PHP_5_2)
/php-src NEWS
/php-src/ext/snmp php_snmp.h snmp.c
Log:
MFH: - Fixed bug #37164 (snmp_set_oid_numeric_print() misbehaves)
MFH: . Renamed the function to snmp_set_oid_output_format() which describes
MFH: it's behaviour better. Old one was left as an alias for it.
MFH: . Added 2 new constants: SNMP_OID_OUTPUT_FULL and
SNMP_OID_OUTPUT_NUMERIC
MFH: - Fixed some memleaks
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.152&r2=1.2027.2.547.2.153&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.152 php-src/NEWS:1.2027.2.547.2.153
--- php-src/NEWS:1.2027.2.547.2.152 Wed Jul 26 23:57:43 2006
+++ php-src/NEWS Thu Jul 27 05:17:34 2006
@@ -9,6 +9,12 @@
. ext/filepro (Derick, Tony)
. ext/hwapi (Derick, Tony)
+- Improved SNMP extension: (Jani)
+ . Renamed snmp_set_oid_numeric_print() to snmp_set_oid_output_format().
+ . Added 2 new constants: SNMP_OID_OUTPUT_FULL and SNMP_OID_OUTPUT_NUMERIC
+ . Fixed bug #37564 (AES privacy encryption not possible due to net-snmp 5.2
+ compatibility issue). (Patch: scott dot moynes+php at gmail dot com)
+
- Fixed bug #38220 (Crash on some object operations). (Dmitry)
- Fixed bug #38217 (ReflectionClass::newInstanceArgs() tries to allocate too
much memory). (Tony)
http://cvs.php.net/viewvc.cgi/php-src/ext/snmp/php_snmp.h?r1=1.25.2.1&r2=1.25.2.1.2.1&diff_format=u
Index: php-src/ext/snmp/php_snmp.h
diff -u php-src/ext/snmp/php_snmp.h:1.25.2.1
php-src/ext/snmp/php_snmp.h:1.25.2.1.2.1
--- php-src/ext/snmp/php_snmp.h:1.25.2.1 Sun Jan 1 12:50:13 2006
+++ php-src/ext/snmp/php_snmp.h Thu Jul 27 05:17:34 2006
@@ -20,7 +20,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_snmp.h,v 1.25.2.1 2006/01/01 12:50:13 sniper Exp $ */
+/* $Id: php_snmp.h,v 1.25.2.1.2.1 2006/07/27 05:17:34 sniper Exp $ */
#ifndef PHP_SNMP_H
#define PHP_SNMP_H
@@ -49,7 +49,7 @@
PHP_FUNCTION(snmp_get_quick_print);
PHP_FUNCTION(snmp_set_quick_print);
PHP_FUNCTION(snmp_set_enum_print);
-PHP_FUNCTION(snmp_set_oid_numeric_print);
+PHP_FUNCTION(snmp_set_oid_output_format);
PHP_FUNCTION(snmpset);
PHP_FUNCTION(snmp2_get);
http://cvs.php.net/viewvc.cgi/php-src/ext/snmp/snmp.c?r1=1.106.2.2.2.2&r2=1.106.2.2.2.3&diff_format=u
Index: php-src/ext/snmp/snmp.c
diff -u php-src/ext/snmp/snmp.c:1.106.2.2.2.2
php-src/ext/snmp/snmp.c:1.106.2.2.2.3
--- php-src/ext/snmp/snmp.c:1.106.2.2.2.2 Wed Jul 26 23:57:43 2006
+++ php-src/ext/snmp/snmp.c Thu Jul 27 05:17:34 2006
@@ -20,7 +20,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: snmp.c,v 1.106.2.2.2.2 2006/07/26 23:57:43 sniper Exp $ */
+/* $Id: snmp.c,v 1.106.2.2.2.3 2006/07/27 05:17:34 sniper Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -124,7 +124,8 @@
PHP_FE(snmp_set_quick_print, NULL)
#ifdef HAVE_NET_SNMP
PHP_FE(snmp_set_enum_print, NULL)
- PHP_FE(snmp_set_oid_numeric_print, NULL)
+ PHP_FE(snmp_set_oid_output_format, NULL)
+ PHP_FALIAS(snmp_set_oid_numeric_print, snmp_set_oid_output_format, NULL)
#endif
PHP_FE(snmpset, NULL)
@@ -198,6 +199,11 @@
netsnmp_ds_set_boolean(NETSNMP_DS_LIBRARY_ID,
NETSNMP_DS_LIB_DONT_PERSIST_STATE, 1);
#endif
+#ifdef HAVE_NET_SNMP
+ REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_FULL", NETSNMP_OID_OUTPUT_FULL,
CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_NUMERIC",
NETSNMP_OID_OUTPUT_NUMERIC, CONST_CS | CONST_PERSISTENT);
+#endif
+
REGISTER_LONG_CONSTANT("SNMP_VALUE_LIBRARY", SNMP_VALUE_LIBRARY,
CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("SNMP_VALUE_PLAIN", SNMP_VALUE_PLAIN, CONST_CS |
CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("SNMP_VALUE_OBJECT", SNMP_VALUE_OBJECT, CONST_CS
| CONST_PERSISTENT);
@@ -432,13 +438,13 @@
RETURN_FALSE;
}
} else if (st >= SNMP_CMD_WALK) {
- if (session->version == SNMP_VERSION_1) {
+ if (session->version == SNMP_VERSION_1) {
pdu = snmp_pdu_create(SNMP_MSG_GETNEXT);
} else {
pdu = snmp_pdu_create(SNMP_MSG_GETBULK);
pdu->non_repeaters = 0;
pdu->max_repetitions = 20;
- }
+ }
snmp_add_null_var(pdu, name, name_length);
}
@@ -522,6 +528,9 @@
}
}
snmp_close(ss);
+ if (st == SNMP_CMD_WALK || st ==
SNMP_CMD_REALWALK) {
+ zval_dtor(return_value);
+ }
RETURN_FALSE;
}
}
@@ -731,9 +740,9 @@
}
/* }}} */
-/* {{{ proto void snmp_set_oid_numeric_print(int oid_numeric_print)
- Return all objects including their respective object id withing the
specified one */
-PHP_FUNCTION(snmp_set_oid_numeric_print)
+/* {{{ proto void snmp_set_oid_output_format(int oid_format)
+ Set the OID output format. */
+PHP_FUNCTION(snmp_set_oid_output_format)
{
int argc = ZEND_NUM_ARGS();
long a1;
@@ -741,11 +750,20 @@
if (zend_parse_parameters(argc TSRMLS_CC, "l", &a1) == FAILURE) {
return;
}
- if ((int) a1 != 0) {
- netsnmp_ds_set_int(NETSNMP_DS_LIBRARY_ID,
- NETSNMP_DS_LIB_OID_OUTPUT_FORMAT,
- NETSNMP_OID_OUTPUT_NUMERIC);
+
+ switch ((int) a1) {
+ case 0:
+ case NETSNMP_OID_OUTPUT_FULL:
+ a1 = NETSNMP_OID_OUTPUT_FULL;
+ break;
+
+ default:
+ case NETSNMP_OID_OUTPUT_NUMERIC:
+ a1 = NETSNMP_OID_OUTPUT_NUMERIC;
+ break;
}
+
+ netsnmp_ds_set_int(NETSNMP_DS_LIBRARY_ID,
NETSNMP_DS_LIB_OID_OUTPUT_FORMAT, a1);
}
/* }}} */
#endif
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php