lytboris                                 Tue, 05 Apr 2011 12:20:35 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=309971

Log:
* added detection and walkaround for net-snmp library bug (net-snmp BUGid 
2027834)
* drop UCD-SNMP support, R.I.P.

Changed paths:
    U   php/php-src/trunk/UPGRADING
    U   php/php-src/trunk/ext/snmp/CREDITS
    U   php/php-src/trunk/ext/snmp/config.m4
    U   php/php-src/trunk/ext/snmp/config.w32
    U   php/php-src/trunk/ext/snmp/php_snmp.h
    U   php/php-src/trunk/ext/snmp/snmp.c

Modified: php/php-src/trunk/UPGRADING
===================================================================
--- php/php-src/trunk/UPGRADING	2011-04-05 10:47:25 UTC (rev 309970)
+++ php/php-src/trunk/UPGRADING	2011-04-05 12:20:35 UTC (rev 309971)
@@ -276,6 +276,8 @@
              - New constants added for use in snmp_set_oid_output_format()
                function.
              - Added feature-rich OO API (SNMP class)
+             - Dropped UCD-SNMP compatibility code. Consider upgrading to
+               net-snmp v5.3+. Net-SNMP v5.4+ is required for Windows version.


      d. no longer possible to disable

Modified: php/php-src/trunk/ext/snmp/CREDITS
===================================================================
--- php/php-src/trunk/ext/snmp/CREDITS	2011-04-05 10:47:25 UTC (rev 309970)
+++ php/php-src/trunk/ext/snmp/CREDITS	2011-04-05 12:20:35 UTC (rev 309971)
@@ -1,2 +1,2 @@
 SNMP
-Rasmus Lerdorf, Harrie Hazewinkel, Mike Jackson, Steven Lawrance, Johann Hanne
+Rasmus Lerdorf, Harrie Hazewinkel, Mike Jackson, Steven Lawrance, Johann Hanne, Boris Lytochkin

Modified: php/php-src/trunk/ext/snmp/config.m4
===================================================================
--- php/php-src/trunk/ext/snmp/config.m4	2011-04-05 10:47:25 UTC (rev 309970)
+++ php/php-src/trunk/ext/snmp/config.m4	2011-04-05 12:20:35 UTC (rev 309971)
@@ -8,14 +8,8 @@
 PHP_ARG_WITH(openssl-dir,OpenSSL dir for SNMP,
 [  --with-openssl-dir[=DIR]  SNMP: openssl install prefix], no, no)

-PHP_ARG_ENABLE(ucd-snmp-hack, whether to enable UCD SNMP hack,
-[  --enable-ucd-snmp-hack    SNMP: Enable UCD SNMP hack], no, no)
-
 if test "$PHP_SNMP" != "no"; then

-  dnl
-  dnl Try net-snmp first
-  dnl
   if test "$PHP_SNMP" = "yes"; then
     AC_PATH_PROG(SNMP_CONFIG,net-snmp-config,,[/usr/local/bin:$PATH])
   else
@@ -30,78 +24,12 @@
     if test -n "$SNMP_LIBS" && test -n "$SNMP_PREFIX"; then
       PHP_ADD_INCLUDE(${SNMP_PREFIX}/include)
       PHP_EVAL_LIBLINE($SNMP_LIBS, SNMP_SHARED_LIBADD)
-      AC_DEFINE(HAVE_NET_SNMP,1,[ ])
       SNMP_LIBNAME=netsnmp
     else
       AC_MSG_ERROR([Could not find the required paths. Please check your net-snmp installation.])
     fi
   else
-
-    dnl
-    dnl Try ucd-snmp if net-snmp test failed
-    dnl
-
-    if test "$PHP_SNMP" = "yes"; then
-      for i in /usr/include /usr/local/include; do
-        test -f $i/snmp.h                       && SNMP_INCDIR=$i
-        test -f $i/ucd-snmp/snmp.h              && SNMP_INCDIR=$i/ucd-snmp
-        test -f $i/snmp/snmp.h                  && SNMP_INCDIR=$i/snmp
-        test -f $i/snmp/include/ucd-snmp/snmp.h && SNMP_INCDIR=$i/snmp/include/ucd-snmp
-      done
-      for i in /usr/$PHP_LIBDIR /usr/snmp/lib /usr/local/$PHP_LIBDIR /usr/local/lib /usr/local/snmp/lib; do
-        test -f $i/libsnmp.a || test -f $i/libsnmp.$SHLIB_SUFFIX_NAME && SNMP_LIBDIR=$i
-      done
-    else
-      SNMP_INCDIR=$PHP_SNMP/include
-      test -d $PHP_SNMP/include/ucd-snmp && SNMP_INCDIR=$PHP_SNMP/include/ucd-snmp
-      SNMP_LIBDIR=$PHP_SNMP/lib
-    fi
-
-    if test -z "$SNMP_INCDIR"; then
-      AC_MSG_ERROR(snmp.h not found. Check your SNMP installation.)
-    elif test -z "$SNMP_LIBDIR"; then
-      AC_MSG_ERROR(libsnmp not found. Check your SNMP installation.)
-    fi
-
-    old_CPPFLAGS=$CPPFLAGS
-    CPPFLAGS=-I$SNMP_INCDIR
-    AC_CHECK_HEADERS(default_store.h)
-    if test "$ac_cv_header_default_store_h" = "yes"; then
-      AC_MSG_CHECKING(for OpenSSL support in SNMP libraries)
-      AC_EGREP_CPP(yes,[
-#include <ucd-snmp-config.h>
-#if USE_OPENSSL
-        yes
-#endif
-      ],[
-        SNMP_SSL=yes
-      ],[
-        SNMP_SSL=no
-      ])
-    fi
-    CPPFLAGS=$old_CPPFLAGS
-    AC_MSG_RESULT($SNMP_SSL)
-
-    if test "$SNMP_SSL" = "yes"; then
-      if test "$PHP_OPENSSL_DIR" != "no"; then
-        PHP_OPENSSL=$PHP_OPENSSL_DIR
-      fi
-
-      if test "$PHP_OPENSSL" = "no"; then
-        AC_MSG_ERROR([The UCD-SNMP in this system is built with SSL support.
-
-        Add --with-openssl-dir=DIR to your configure line.])
-      else
-        PHP_SETUP_OPENSSL(SNMP_SHARED_LIBADD, [], [
-          AC_MSG_ERROR([SNMP: OpenSSL check failed. Please check config.log for more information.])
-        ])
-      fi
-    fi
-
-    AC_CHECK_LIB(kstat, kstat_read, [ PHP_ADD_LIBRARY(kstat,,SNMP_SHARED_LIBADD) ])
-    PHP_ADD_INCLUDE($SNMP_INCDIR)
-    PHP_ADD_LIBRARY_WITH_PATH(snmp, $SNMP_LIBDIR, SNMP_SHARED_LIBADD)
-    SNMP_LIBNAME=snmp
+    AC_MSG_ERROR([Could not find net-snmp-config binary. Please check your net-snmp installation.])
   fi

   dnl Check whether snmp_parse_oid() exists.
@@ -130,10 +58,68 @@
     $SNMP_SHARED_LIBADD
   ])

-  if test "$PHP_UCD_SNMP_HACK" = "yes" ; then
-    AC_DEFINE(UCD_SNMP_HACK, 1, [ ])
+  dnl Check for buggy snmp_snprint_value() (net-snmp BUGid 2027834)
+  AC_CACHE_CHECK([for buggy snmp_snprint_value], ac_cv_buggy_snprint_value,[
+    save_CFLAGS="$CFLAGS"
+    CFLAGS="$CFLAGS -I${SNMP_PREFIX}/include"
+    AC_TRY_RUN( [
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <net-snmp/net-snmp-config.h>
+#include <net-snmp/net-snmp-includes.h>
+
+u_char uname[] = "Linux nex1.php.net 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:53:09 EST 2011 i686";
+
+int main(int argc, char **argv)
+{
+	int result = 0;
+	struct variable_list vars;
+	char buf1[2048];
+	char buf2[sizeof(buf1)];
+
+	memset(&(buf1[0]), 0, sizeof(buf1));
+	memset(&(buf2[0]), 0, sizeof(buf2));
+	memset(&vars, 0, sizeof(vars));
+	vars.type = 4;
+	vars.val.integer = (long *)&(uname[0]);
+	vars.val.string = &(uname[0]);
+	vars.val.bitstring = &(uname[0]);
+	vars.val.counter64 = (struct counter64 *)&(uname[0]);
+	vars.val.floatVal = (float *)&(uname[0]);
+	vars.val_len = sizeof(uname),
+	vars.name_loc[0] = 1;
+	vars.name_loc[1] = 3;
+	vars.name_loc[2] = 6;
+	vars.name_loc[3] = 1;
+	vars.name_loc[4] = 2;
+	vars.name_loc[5] = 1;
+	vars.name_loc[6] = 1;
+	vars.name_loc[7] = 1;
+	vars.name = (oid *)&(vars.name_loc);
+	vars.name_length = 9;
+
+	init_snmp("snmpapp");
+
+	netsnmp_ds_set_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT, 0);
+
+	snprint_value(buf1, (sizeof(uname) + 32), vars.name, vars.name_length, &vars);
+	snprint_value(buf2, sizeof(buf2), vars.name, vars.name_length, &vars);
+	exit((strncmp(buf1, buf2, sizeof(buf1)) != 0));
+}
+    ],[
+      ac_cv_buggy_snprint_value=no
+    ],[
+      ac_cv_buggy_snprint_value=yes
+    ],[
+      ac_cv_buggy_snprint_value=no
+    ])
+    CFLAGS="$save_CFLAGS"
+  ])
+  if test "ac_cv_buggy_snprint_value" = "yes"; then
+     AC_DEFINE(BUGGY_SNMPRINT_VALUE, 1, [ ])
   fi
-
+
   PHP_NEW_EXTENSION(snmp, snmp.c, $ext_shared)
   PHP_SUBST(SNMP_SHARED_LIBADD)
 fi

Modified: php/php-src/trunk/ext/snmp/config.w32
===================================================================
--- php/php-src/trunk/ext/snmp/config.w32	2011-04-05 10:47:25 UTC (rev 309970)
+++ php/php-src/trunk/ext/snmp/config.w32	2011-04-05 12:20:35 UTC (rev 309971)
@@ -10,9 +10,6 @@
 			CHECK_LIB("libeay32.lib", "snmp", PHP_SNMP)
 			AC_DEFINE('HAVE_SNMP', 1);
 			AC_DEFINE("HAVE_NET_SNMP", 1);
-		} else if (CHECK_LIB("libsnmp.lib", "snmp", PHP_SNMP)) {
-			EXTENSION('snmp', 'snmp.c');
-			AC_DEFINE('HAVE_SNMP', 1);
 		} else {
 			WARNING("snmp not enabled; libraries and headers not found");
 		}

Modified: php/php-src/trunk/ext/snmp/php_snmp.h
===================================================================
--- php/php-src/trunk/ext/snmp/php_snmp.h	2011-04-05 10:47:25 UTC (rev 309970)
+++ php/php-src/trunk/ext/snmp/php_snmp.h	2011-04-05 12:20:35 UTC (rev 309971)
@@ -88,10 +88,8 @@
 	int max_oids;
 	int valueretrieval;
 	int quick_print;
-#ifdef HAVE_NET_SNMP
 	int enum_print;
 	int oid_output_format;
-#endif
 	int snmp_errno;
 	char snmp_errstr[128];
 } php_snmp_object;

Modified: php/php-src/trunk/ext/snmp/snmp.c
===================================================================
--- php/php-src/trunk/ext/snmp/snmp.c	2011-04-05 10:47:25 UTC (rev 309970)
+++ php/php-src/trunk/ext/snmp/snmp.c	2011-04-05 12:20:35 UTC (rev 309971)
@@ -72,43 +72,14 @@
 #endif
 #endif

-#ifdef HAVE_NET_SNMP
 #include <net-snmp/net-snmp-config.h>
 #include <net-snmp/net-snmp-includes.h>
-#else
-#ifdef HAVE_DEFAULT_STORE_H
-#include "default_store.h"
-#endif
-#include "asn1.h"
-#include "snmp_api.h"
-#include "snmp_client.h"
-#include "snmp_impl.h"
-#include "snmp.h"
-#include "snmpv3.h"
-#include "keytools.h"
-#include "parse.h"
-#include "mib.h"
-#ifndef PHP_WIN32
-/* this doesn't appear to be needed under win32 (perhaps at all)
- * and the header file is not present in my UCD-SNMP headers */
-# include "version.h"
-#endif
-#include "transform_oids.h"
-#endif
+
 /* Ugly macro, since the length of OIDs in UCD-SNMP and NET-SNMP
  * is different and this way the code is not full of 'ifdef's.
  */
 #define OIDSIZE(p) (sizeof(p)/sizeof(oid))

-/* Another ugly macros, since UCD-SNMP has no snprint_* */
-#ifdef HAVE_NET_SNMP
-#define SNMP_SNPRINT_OBJID(dst, dstlen, src, srclen) (snprint_objid((dst), (dstlen), (src), (srclen)))
-#define SNMP_SNPRINT_VALUE(dst, dstlen, srcname, srcnamelen, src) (snprint_value((dst), (dstlen), (srcname), (srcnamelen), (src)))
-#else
-#define SNMP_SNPRINT_OBJID(dst, dstlen, src, srclen) (sprint_objid((dst), (src), (srclen)))
-#define SNMP_SNPRINT_VALUE(dst, dstlen, srcname, srcnamelen, src) (sprint_value((dst), (srcname), (srcnamelen), (src)))
-#endif
-
 #if PHP_VERSION_ID < 50300
 #define Z_ADDREF_P(pz) pz->refcount++
 #define Z_ISREF_PP(oid) (PZVAL_IS_REF(*(oid)))
@@ -231,7 +202,6 @@
 	ZEND_ARG_INFO(0, quick_print)
 ZEND_END_ARG_INFO()

-#ifdef HAVE_NET_SNMP
 ZEND_BEGIN_ARG_INFO_EX(arginfo_snmp_set_enum_print, 0, 0, 1)
 	ZEND_ARG_INFO(0, enum_print)
 ZEND_END_ARG_INFO()
@@ -239,7 +209,6 @@
 ZEND_BEGIN_ARG_INFO_EX(arginfo_snmp_set_oid_output_format, 0, 0, 1)
 	ZEND_ARG_INFO(0, oid_format)
 ZEND_END_ARG_INFO()
-#endif

 ZEND_BEGIN_ARG_INFO_EX(arginfo_snmp2_get, 0, 0, 3)
 	ZEND_ARG_INFO(0, host)
@@ -429,11 +398,9 @@
 	PHP_FE(snmpset, 				arginfo_snmpset)
 	PHP_FE(snmp_get_quick_print, 			arginfo_snmp_get_quick_print)
 	PHP_FE(snmp_set_quick_print, 			arginfo_snmp_set_quick_print)
-#ifdef HAVE_NET_SNMP
 	PHP_FE(snmp_set_enum_print, 			arginfo_snmp_set_enum_print)
 	PHP_FE(snmp_set_oid_output_format, 		arginfo_snmp_set_oid_output_format)
 	PHP_FALIAS(snmp_set_oid_numeric_print, snmp_set_oid_output_format, arginfo_snmp_set_oid_output_format)
-#endif

 	PHP_FE(snmp2_get, 				arginfo_snmp2_get)
 	PHP_FE(snmp2_getnext, 				arginfo_snmp2_getnext)
@@ -578,7 +545,11 @@
 static void php_snmp_getvalue(struct variable_list *vars, zval *snmpval TSRMLS_DC, int valueretrieval)
 {
 	zval *val;
+#ifdef BUGGY_SNMPRINT_VALUE
+	char sbuf[2048];
+#else
 	char sbuf[64];
+#endif
 	char *buf = &(sbuf[0]);
 	char *dbuf = (char *)NULL;
 	int buflen = sizeof(sbuf) - 1;
@@ -601,7 +572,7 @@
 	*buf = 0;

 	if (valueretrieval == SNMP_VALUE_LIBRARY) {
-		SNMP_SNPRINT_VALUE(buf, buflen, vars->name, vars->name_length, vars);
+		snprint_value(buf, buflen, vars->name, vars->name_length, vars);
 		ZVAL_STRING(snmpval, buf, 1);
 		if(dbuf){ /* malloc was used to store value */
 			efree(dbuf);
@@ -626,7 +597,7 @@
 		break;

 	case ASN_OBJECT_ID:		/* 0x06, asn1.h */
-		SNMP_SNPRINT_OBJID(buf, buflen, vars->val.objid, vars->val_len / sizeof(oid));
+		snprint_objid(buf, buflen, vars->val.objid, vars->val_len / sizeof(oid));
 		ZVAL_STRING(val, buf, 1);
 		break;

@@ -795,7 +766,7 @@
 					return;
 				} else {
 					if ((snmp_errno = snmp_add_var(pdu, name, name_length, objid_query->vars[objid_query->offset].type, objid_query->vars[objid_query->offset].value))) {
-						SNMP_SNPRINT_OBJID(buf, sizeof(buf), name, name_length);
+						snprint_objid(buf, sizeof(buf), name, name_length);
 						php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not add variable: OID='%s' type='%c' value='%s': %s", buf, objid_query->vars[objid_query->offset].type, objid_query->vars[objid_query->offset].value, snmp_api_errstring(snmp_errno));
 						snmp_free_pdu(pdu);
 						snmp_close(ss);
@@ -833,8 +804,8 @@
 						if ((st & SNMP_CMD_WALK) && Z_TYPE_P(return_value) == IS_ARRAY) {
 							break;
 						}
-						SNMP_SNPRINT_OBJID(buf, sizeof(buf), vars->name, vars->name_length);
-						SNMP_SNPRINT_VALUE(buf2, sizeof(buf2), vars->name, vars->name_length, vars);
+						snprint_objid(buf, sizeof(buf), vars->name, vars->name_length);
+						snprint_value(buf2, sizeof(buf2), vars->name, vars->name_length, vars);
 						php_snmp_error(getThis(), NULL TSRMLS_CC, PHP_SNMP_ERRNO_ERROR_IN_REPLY, "Error in packet at '%s': %s", buf, buf2);
 						continue;
 					}
@@ -863,7 +834,7 @@
 						if (st & SNMP_NUMERIC_KEYS) {
 							add_next_index_zval(return_value, snmpval);
 						} else {
-							SNMP_SNPRINT_OBJID(buf2, sizeof(buf2), vars->name, vars->name_length);
+							snprint_objid(buf2, sizeof(buf2), vars->name, vars->name_length);
 							add_assoc_zval(return_value, buf2, snmpval);
 						}
 					} else {
@@ -902,7 +873,7 @@
 						continue;
 					}
 					if (vars) {
-						SNMP_SNPRINT_OBJID(buf, sizeof(buf), vars->name, vars->name_length);
+						snprint_objid(buf, sizeof(buf), vars->name, vars->name_length);
 						php_snmp_error(getThis(), NULL TSRMLS_CC, PHP_SNMP_ERRNO_ERROR_IN_REPLY, "Error in packet at '%s': %s", buf, snmp_errstring(response->errstat));
 					} else {
 						php_snmp_error(getThis(), NULL TSRMLS_CC, PHP_SNMP_ERRNO_ERROR_IN_REPLY, "Error in packet at %u object_id: %s", response->errindex, snmp_errstring(response->errstat));
@@ -1442,17 +1413,12 @@
 			}
 		}
 		objid_query.valueretrieval = snmp_object->valueretrieval;
-#ifdef HAVE_NET_SNMP
 		glob_snmp_object.enum_print = netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_PRINT_NUMERIC_ENUM);
 		netsnmp_ds_set_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_PRINT_NUMERIC_ENUM, snmp_object->enum_print);
 		glob_snmp_object.quick_print = netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT);
 		netsnmp_ds_set_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT, snmp_object->quick_print);
 		glob_snmp_object.oid_output_format = netsnmp_ds_get_int(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_OID_OUTPUT_FORMAT);
 		netsnmp_ds_set_int(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_OID_OUTPUT_FORMAT, snmp_object->oid_output_format);
-#else
-		glob_snmp_object.quick_print = snmp_get_quick_print();
-		snmp_set_quick_print(snmp_object->quick_print);
-#endif
 	}

 	if (objid_query.max_repetitions < 0) {
@@ -1466,13 +1432,9 @@
 	if (session_less_mode) {
 		netsnmp_session_free(&session);
 	} else {
-#ifdef HAVE_NET_SNMP
 		netsnmp_ds_set_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_PRINT_NUMERIC_ENUM, glob_snmp_object.enum_print);
 		netsnmp_ds_set_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT, glob_snmp_object.quick_print);
 		netsnmp_ds_set_int(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_OID_OUTPUT_FORMAT, glob_snmp_object.oid_output_format);
-#else
-		snmp_set_quick_print(glob_snmp_object.quick_print);
-#endif
 	}
 }
 /* }}} */
@@ -1525,11 +1487,7 @@
 		return;
 	}

-#ifdef HAVE_NET_SNMP
 	RETURN_BOOL(netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT));
-#else
-	RETURN_BOOL(snmp_get_quick_print());
-#endif
 }
 /* }}} */

@@ -1543,16 +1501,11 @@
 		RETURN_FALSE;
 	}

-#ifdef HAVE_NET_SNMP
 	netsnmp_ds_set_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT, (int)a1);
-#else
-	snmp_set_quick_print((int)a1);
-#endif
 	RETURN_TRUE;
 }
 /* }}} */

-#ifdef HAVE_NET_SNMP
 /* {{{ proto bool snmp_set_enum_print(int enum_print)
    Return all values that are enums with their enum value instead of the raw integer */
 PHP_FUNCTION(snmp_set_enum_print)
@@ -1595,7 +1548,6 @@
 	}
 }
 /* }}} */
-#endif

 /* {{{ proto mixed snmp2_get(string host, string community, mixed object_id [, int timeout [, int retries]])
    Fetch a SNMP object */
@@ -1787,13 +1739,9 @@
 	}
 	snmp_object->max_oids = 0;
 	snmp_object->valueretrieval = SNMP_G(valueretrieval);
-#ifdef HAVE_NET_SNMP
 	snmp_object->enum_print = netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_PRINT_NUMERIC_ENUM);
 	snmp_object->oid_output_format = netsnmp_ds_get_int(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_OID_OUTPUT_FORMAT);
 	snmp_object->quick_print = netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT);
-#else
-	snmp_object->quick_print = snmp_get_quick_print();
-#endif
 }
 /* }}} */

@@ -2165,7 +2113,6 @@
 }
 /* }}} */

-#ifdef HAVE_NET_SNMP
 /* {{{ */
 static int php_snmp_read_enum_print(php_snmp_object *snmp_object, zval **retval TSRMLS_DC)
 {
@@ -2183,7 +2130,6 @@
 	return SUCCESS;
 }
 /* }}} */
-#endif

 /* {{{ */
 static int php_snmp_write_info(php_snmp_object *snmp_object, zval *newval TSRMLS_DC)
@@ -2278,7 +2224,6 @@
 }
 /* }}} */

-#ifdef HAVE_NET_SNMP
 /* {{{ */
 static int php_snmp_write_enum_print(php_snmp_object *snmp_object, zval *newval TSRMLS_DC)
 {
@@ -2331,7 +2276,6 @@
 	}
 	return ret;
 }
-#endif
 /* }}} */

 /* {{{ php_snmp_class_methods[] */
@@ -2359,10 +2303,8 @@
 	PHP_SNMP_PROPERTY_ENTRY_RECORD(max_oids),
 	PHP_SNMP_PROPERTY_ENTRY_RECORD(valueretrieval),
 	PHP_SNMP_PROPERTY_ENTRY_RECORD(quick_print),
-#ifdef HAVE_NET_SNMP
 	PHP_SNMP_PROPERTY_ENTRY_RECORD(enum_print),
 	PHP_SNMP_PROPERTY_ENTRY_RECORD(oid_output_format),
-#endif
 	{ NULL, 0, NULL, NULL}
 };
 /* }}} */
@@ -2406,14 +2348,12 @@
 	zend_hash_init(&php_snmp_properties, 0, NULL, NULL, 1);
 	PHP_SNMP_ADD_PROPERTIES(&php_snmp_properties, php_snmp_property_entries);

-#ifdef HAVE_NET_SNMP
 	REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_SUFFIX",	NETSNMP_OID_OUTPUT_SUFFIX,	CONST_CS | CONST_PERSISTENT);
 	REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_MODULE",	NETSNMP_OID_OUTPUT_MODULE,	CONST_CS | CONST_PERSISTENT);
 	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);
 	REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_UCD",		NETSNMP_OID_OUTPUT_UCD,		CONST_CS | CONST_PERSISTENT);
 	REGISTER_LONG_CONSTANT("SNMP_OID_OUTPUT_NONE",		NETSNMP_OID_OUTPUT_NONE,	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);
@@ -2464,13 +2404,8 @@
 PHP_MINFO_FUNCTION(snmp)
 {
 	php_info_print_table_start();
-#ifdef HAVE_NET_SNMP
 	php_info_print_table_row(2, "NET-SNMP Support", "enabled");
 	php_info_print_table_row(2, "NET-SNMP Version", netsnmp_get_version());
-#else
-	php_info_print_table_row(2, "UCD-SNMP Support", "enabled");
-	php_info_print_table_row(2, "UCD-SNMP Version", VersionInfo);
-#endif
 	php_info_print_table_row(2, "PHP SNMP Version", PHP_SNMP_VERSION);
 	php_info_print_table_end();
 }
-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to