Hi,
Weird but true, somehow the attachment was stripped of somewhere.
It is below inline between the '=' lines.
--On Tuesday, September 10, 2002 12:04 PM +0200 [EMAIL PROTECTED] wrote:
> Hey,
>
> nothing is attached, can you put it on a website?
>
> Derick
>
>
> On Tue, 10 Sep 2002, Harrie Hazewinkel wrote:
>
>> HI,
>>
>> The attached patch adds an extra configure directive to enable
>> compilation of PHP against NET-SNMP 5.0.x versions.
>> The current UCD-SNMP support is still there, since those
>> version are around still.
>>
>> if it can be added to CVS would be grate.
>> regards,
===========================================================================
===
diff -ru ../orig-php-4.2.2/ext/snmp/config.m4 ext/snmp/config.m4
--- ../orig-php-4.2.2/ext/snmp/config.m4 Wed Jan 16 23:32:40 2002
+++ ext/snmp/config.m4 Mon Sep 9 17:57:49 2002
@@ -2,8 +2,8 @@
dnl $Id: config.m4,v 1.24 2002/01/16 22:32:40 rasmus Exp $
dnl
-PHP_ARG_WITH(snmp,for SNMP support,
-[ --with-snmp[=DIR] Include SNMP support.])
+PHP_ARG_WITH(snmp,for SNMP support - old UCD SNNP,
+[ --with-snmp[=DIR] Include SNMP support - old UCD SNNP.])
if test "$PHP_SNMP" != "no"; then
@@ -61,6 +61,7 @@
AC_CHECK_LIB(kstat, kstat_read, [
PHP_ADD_LIBRARY(kstat,,SNMP_SHARED_LIBADD) ])
+ AC_DEFINE(OLD_UCD_SNMP,1,[ ])
AC_DEFINE(HAVE_SNMP,1,[ ])
PHP_ADD_INCLUDE($SNMP_INCDIR)
PHP_ADD_LIBRARY_WITH_PATH(snmp, $SNMP_LIBDIR, SNMP_SHARED_LIBADD)
@@ -82,3 +83,68 @@
],[
AC_MSG_RESULT(no)
])
+
+PHP_ARG_WITH(net-snmp,for SNMP support - NET SNNP,
+[ --with-net-snmp[=DIR] Include SNMP support - NET SNNP.])
+
+ if test "$PHP_NET_SNMP" != "no"; then
+
+ if test "$PHP_NET_SNMP" = "yes"; then
+ for i in /usr/include /usr/local/include; do
+ test -f $i/net-snmp-config.h &&
SNMP_INCDIR=$i
+ test -f $i/snmp/net-snmp-config.h &&
SNMP_INCDIR=$i/snmp
+ test -f $i/snmp/include/net-snmp/net-snmp-config.h &&
SNMP_INCDIR=$i/snmp/include
+ done
+ for i in /usr /usr/snmp /usr/local /usr/local/snmp; do
+ test -f $i/lib/libnetsnmp.a -o -f
$i/lib/libnetsnmp.$SHLIB_SUFFIX_NAME && SNMP_LIBDIR=$i/lib
+ done
+ else
+ SNMP_INCDIR=$PHP_NET_SNMP/include
+ test -f $PHP_NET_SNMP/include/net-snmp/net-snmp-config.h &&
SNMP_INCDIR=$PHP_NET_SNMP/include
+ test -f $PHP_NET_SNMP/lib/libnetsnmp.a -o -f
$PHP_NET_SNMP/lib/libnetsnmp.$SHLIB_SUFFIX_NAME \
+ &&
SNMP_LIBDIR=$PHP_NET_SNMP/lib
+ fi
+
+ if test -z "$SNMP_INCDIR"; then
+ AC_MSG_ERROR(net-snmp-config.h not found. Check your SNMP
installation.)
+ elif test -z "$SNMP_LIBDIR"; then
+ AC_MSG_ERROR(libnetsnmp not found. Check your SNMP installation.)
+ fi
+
+ old_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS=-I$SNMP_INCDIR
+ AC_MSG_CHECKING(for OpenSSL support in SNMP libraries)
+ AC_EGREP_CPP(yes,[
+ #include <net-snmp/net-snmp-config.h>
+ #if USE_OPENSSL
+ yes
+ #endif
+ ],[
+ SNMP_SSL=yes
+ ],[
+ SNMP_SSL=no
+ ])
+ CPPFLAGS=$old_CPPFLAGS
+ AC_MSG_RESULT($SNMP_SSL)
+
+ if test "$SNMP_SSL" = "yes"; then
+ if test "$PHP_OPENSSL" != "no"; then
+ PHP_ADD_LIBRARY(ssl, 1, SNMP_SHARED_LIBADD)
+ PHP_ADD_LIBRARY(crypto,1, SNMP_SHARED_LIBADD)
+ else
+ AC_MSG_ERROR(The NET-SNMP in this system is built with SSL
support.
+
+ Add --with-openssl<=DIR> to your configure line.)
+ fi
+ fi
+
+ AC_CHECK_LIB(kstat, kstat_read, [
PHP_ADD_LIBRARY(kstat,,SNMP_SHARED_LIBADD) ])
+
+ AC_DEFINE(HAVE_SNMP,1,[ ])
+ PHP_ADD_INCLUDE($SNMP_INCDIR)
+ PHP_ADD_LIBRARY_WITH_PATH(netsnmp, $SNMP_LIBDIR, SNMP_SHARED_LIBADD)
+
+ PHP_EXTENSION(snmp, $ext_shared)
+ PHP_SUBST(SNMP_SHARED_LIBADD)
+ fi
+
Only in ext/snmp: config.m4-net-snmp
Only in ext/snmp: libs.mk
Only in ext/snmp: libsnmp.la
diff -ru ../orig-php-4.2.2/ext/snmp/snmp.c ext/snmp/snmp.c
--- ../orig-php-4.2.2/ext/snmp/snmp.c Fri Mar 1 04:31:01 2002
+++ ext/snmp/snmp.c Mon Sep 9 17:55:57 2002
@@ -56,9 +56,7 @@
#endif
#endif
-#ifdef HAVE_DEFAULT_STORE_H
-#include "default_store.h"
-#endif
+#ifdef OLD_UCD_SNMP
#include "asn1.h"
#include "snmp_api.h"
#include "snmp_client.h"
@@ -67,6 +65,17 @@
#include "parse.h"
#include "mib.h"
#include "version.h"
+#else
+#include "net-snmp/net-snmp-config.h"
+#include "net-snmp/version.h"
+#include "net-snmp/library/asn1.h"
+#include "net-snmp/library/snmp_api.h"
+#include "net-snmp/library/snmp_client.h"
+#include "net-snmp/library/snmp_impl.h"
+#include "net-snmp/library/snmp.h"
+#include "net-snmp/library/parse.h"
+#include "net-snmp/library/mib.h"
+#endif
/* ucd-snmp 3.3.1 changed the name of a few #defines... They've been
changed back to the original ones in 3.5.3! */
#ifndef SNMP_MSG_GET
@@ -130,7 +139,11 @@
{
php_info_print_table_start();
php_info_print_table_row(2, "UCD-SNMP Support", "enabled");
+#ifdef OLD_UCD_SNMP
php_info_print_table_row(2, "UCD-SNMP Version", VersionInfo);
+#else
+ php_info_print_table_row(2, "UCD-SNMP Version",
netsnmp_get_version());
+#endif
php_info_print_table_end();
}
/* }}} */
@@ -256,7 +269,6 @@
session.timeout = timeout;
session.authenticator = NULL;
- snmp_synch_setup(&session);
if ((ss = snmp_open(&session)) == NULL) {
php_error(E_WARNING,"Could not open snmp\n");
@@ -315,7 +327,11 @@
}
if (st != 11) {
+#ifdef OLD_UCD_SNMP
sprint_value((struct sbuf
*)buf,vars->name, vars->name_length, vars);
+#else
+ snprint_value(buf,
sizeof(buf), vars->name, vars->name_length, vars);
+#endif
}
#if 0
Debug("snmp response is: %s\n",buf);
@@ -325,7 +341,11 @@
} else if (st == 2) {
add_next_index_string(return_value,buf,1); /* Add to returned array */
} else if (st == 3) {
+#ifdef OLD_UCD_SNMP
sprint_objid((struct sbuf
*)buf2, vars->name, vars->name_length);
+#else
+ snprint_objid(buf2,
sizeof(buf2), vars->name, vars->name_length);
+#endif
add_assoc_string(return_value,buf2,buf,1);
}
if (st >= 2 && st != 11) {
@@ -344,7 +364,11 @@
for (count=1, vars =
response->variables; vars && count != response->errindex;
vars = vars->next_variable,
count++);
if (vars) {
+#ifdef OLD_UCD_SNMP
sprint_objid((struct sbuf *)buf,vars->name, vars->name_length);
+#else
+ snprint_objid(buf,
sizeof(buf), vars->name, vars->name_length);
+#endif
}
php_error(E_WARNING,"This
name does not exist: %s\n",buf);
}
===========================================================================
===============================
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php