From a36903d8a37d13744a4b10cbec85ca04db7faaee29ef209a7f3a67858fe1c911 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Mon, 15 Jan 2007 23:26:37 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/net-snmp?expand=0&rev=1 --- .gitattributes | 23 + .gitignore | 1 + README.SuSE | 45 ++ net-snmp-5.1.1-pie.patch | 26 + net-snmp-5.2.1-overflow.diff | 20 + net-snmp-5.2.1-socket_path.diff | 13 + net-snmp-5.2.1.testing.empty_arptable.patch | 95 ++++ net-snmp-5.3.0.1-audit.diff | 222 ++++++++ net-snmp-5.3_vendorperl.patch | 13 + net-snmp-5.4.rc1-autoconf.diff | 40 ++ net-snmp-5.4.rc2-versinfo.diff | 15 + net-snmp-5.4.rc2.tar.bz2 | 3 + net-snmp-5.4.rc2_perl_SNMP_size_t.patch | 186 ++++++ ...snmp-5.4_net-snmp-config_headercheck.patch | 86 +++ net-snmp.changes | 420 ++++++++++++++ net-snmp.logrotate | 15 + net-snmp.spec | 531 ++++++++++++++++++ net-snmp.sysconfig | 36 ++ rc.net-snmp | 175 ++++++ rc.snmptrapd | 91 +++ ready | 0 snmpd.conf | 19 + test_installed | 14 + 23 files changed, 2089 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.SuSE create mode 100644 net-snmp-5.1.1-pie.patch create mode 100644 net-snmp-5.2.1-overflow.diff create mode 100644 net-snmp-5.2.1-socket_path.diff create mode 100644 net-snmp-5.2.1.testing.empty_arptable.patch create mode 100644 net-snmp-5.3.0.1-audit.diff create mode 100644 net-snmp-5.3_vendorperl.patch create mode 100644 net-snmp-5.4.rc1-autoconf.diff create mode 100644 net-snmp-5.4.rc2-versinfo.diff create mode 100644 net-snmp-5.4.rc2.tar.bz2 create mode 100644 net-snmp-5.4.rc2_perl_SNMP_size_t.patch create mode 100644 net-snmp-5.4_net-snmp-config_headercheck.patch create mode 100644 net-snmp.changes create mode 100644 net-snmp.logrotate create mode 100644 net-snmp.spec create mode 100644 net-snmp.sysconfig create mode 100644 rc.net-snmp create mode 100644 rc.snmptrapd create mode 100644 ready create mode 100644 snmpd.conf create mode 100644 test_installed diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/README.SuSE b/README.SuSE new file mode 100644 index 0000000..d896d37 --- /dev/null +++ b/README.SuSE @@ -0,0 +1,45 @@ +Our net-snmp package was audited by Thomas Biege of the SuSE Security team +prior to the release of CERT Advisory CA-2002-03. Of course, this +is not a guarantee that future problems will not be found and does not +address flaws and insecurities inherent in software as powerful and +complex as an SNMP implementation. Because of this we recommend that +SNMP access (161/udp,162/udp) be blocked at your firewall. + +There are also some important changes that have been made in this release +of our package: + o the daemon now sets a PID file in /var/run/ + + o logging is now done directly to /var/log/net-snmp.log instead + of sending stderr/stdout through syslog. If you don't want logging, + remove the '-l /var/log/net-snmp.log' from /etc/init.d/snmpd. + + o the daemon is now started with the '-r'. This option prevents + snmpd from exiting if it doesn't have permission to read something. + This only occurs if you start snmpd on a high port as a non-root + root user. + + o If you need to run snmptrapd, we've provided an example init + script in /usr/share/doc/packages/net-snmp/rc.snmptrapd. SNMP + traps should be avoided whenever possible because they are + unreliable (you should poll with snmpget instead) and snmptrapd + has been the source of many of the security problems with snmp + so please don't run this unless you are sure of what you are doing. + To install the script, + cp rc.snmptrapd /etc/init.d/snmptrapd + innserv /etc/init.d/snmptrapd + cd /usr/sbin && ln -s ../../etc/init.d/snmptrapd . + and create a configuration file named /etc/snmptrapd.conf. Then, + start the daemon with + rcsnmptrapd start + Logging is done to /var/log/net-snmptrapd.log. + + o Master agentx support is enabled if you have modules in + /usr/lib/net-snmp/--the domain socket is created as + /var/run/agentx/master. You can change this to a network + interface if needed (see snmpd(1)). The snmpd init script + automatically detects and starts any sub-agents in placed into + /var/lib/net-snmp. + +More documentation on the net-snmp package can be found in this directory +as well as the project's homepage: http://net-snmp.sourceforge.net/ + diff --git a/net-snmp-5.1.1-pie.patch b/net-snmp-5.1.1-pie.patch new file mode 100644 index 0000000..b8984f0 --- /dev/null +++ b/net-snmp-5.1.1-pie.patch @@ -0,0 +1,26 @@ +Index: apps/Makefile.in +=================================================================== +--- apps/Makefile.in.orig ++++ apps/Makefile.in +@@ -111,7 +111,7 @@ + $(LINK) -o $@ snmptest.$(OSUFFIX) $(LOCAL_LIBS) ${LDFLAGS} ${LIBS} + + snmptrapd$(EXEEXT): $(TRAPD_OBJECTS) $(USETRAPLIBS) $(INSTALLLIBS) +- $(LINK) -o $@ $(TRAPD_OBJECTS) $(INSTALLLIBS) $(LOCAL_LIBS) ${LDFLAGS} ${TRAPLIBS} ++ $(LINK) -o $@ -pie $(TRAPD_OBJECTS) $(INSTALLLIBS) $(LOCAL_LIBS) ${LDFLAGS} ${TRAPLIBS} + + snmptrap$(EXEEXT): snmptrap.$(OSUFFIX) $(USELIBS) + $(LINK) -o $@ snmptrap.$(OSUFFIX) $(LOCAL_LIBS) ${LDFLAGS} ${LIBS} +Index: agent/Makefile.in +=================================================================== +--- agent/Makefile.in.orig ++++ agent/Makefile.in +@@ -129,7 +129,7 @@ + $(CC) $(CFLAGS) -o $@ -D_GETMIBSTAT_TEST -DDODEBUG -c $? + + snmpd$(EXEEXT): ${LAGENTOBJS} $(USELIBS) $(HELPERLIB) $(LIBTARG) ${INSTALLLIBS} +- $(LINK) $(CFLAGS) -o $@ ${LAGENTOBJS} $(LOCAL_LIBS) ${LDFLAGS} ${OUR_AGENT_LIBS} ++ $(LINK) $(CFLAGS) -o $@ -pie ${LAGENTOBJS} $(LOCAL_LIBS) ${LDFLAGS} ${OUR_AGENT_LIBS} + + + libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION): ${LLIBAGENTOBJS} diff --git a/net-snmp-5.2.1-overflow.diff b/net-snmp-5.2.1-overflow.diff new file mode 100644 index 0000000..3ab323f --- /dev/null +++ b/net-snmp-5.2.1-overflow.diff @@ -0,0 +1,20 @@ +--- snmplib/mib.c.xx 2005-02-02 21:14:34.167265497 +0100 ++++ snmplib/mib.c 2005-02-02 21:15:40.937887906 +0100 +@@ -1521,7 +1521,7 @@ + return 0; + } + } else { +- sprintf(tmp, "%lu", *var->val.integer); ++ sprintf(tmp, "%u", (unsigned int)(*var->val.integer & 0xffffffff)); + if (!snmp_strcat + (buf, buf_len, out_len, allow_realloc, (const u_char *) tmp)) { + return 0; +@@ -1585,7 +1585,7 @@ + return 0; + } + } +- sprintf(tmp, "%lu", *var->val.integer); ++ sprintf(tmp, "%u", (unsigned int)(*var->val.integer & 0xffffffff)); + if (!snmp_strcat + (buf, buf_len, out_len, allow_realloc, (const u_char *) tmp)) { + return 0; diff --git a/net-snmp-5.2.1-socket_path.diff b/net-snmp-5.2.1-socket_path.diff new file mode 100644 index 0000000..8a72443 --- /dev/null +++ b/net-snmp-5.2.1-socket_path.diff @@ -0,0 +1,13 @@ +Index: agent/mibgroup/agentx/protocol.h +=================================================================== +--- agent/mibgroup/agentx/protocol.h.orig ++++ agent/mibgroup/agentx/protocol.h +@@ -13,7 +13,7 @@ extern "C" { + + #define AGENTX_PORT 705 + #ifndef NETSNMP_AGENTX_SOCKET +-#define NETSNMP_AGENTX_SOCKET "/var/agentx/master" ++#define NETSNMP_AGENTX_SOCKET "/var/run/agentx/master" + #endif + + /* diff --git a/net-snmp-5.2.1.testing.empty_arptable.patch b/net-snmp-5.2.1.testing.empty_arptable.patch new file mode 100644 index 0000000..0a44400 --- /dev/null +++ b/net-snmp-5.2.1.testing.empty_arptable.patch @@ -0,0 +1,95 @@ +--- testing/rfc1213/snmpfun.sh ++++ testing/rfc1213/snmpfun.sh +@@ -1,4 +1,3 @@ +- + # functions used by RFC-1213 MIB test modules + + myport=$SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT +@@ -11,6 +10,23 @@ + TEST_AUTHPRIV_PARMS="-l authNoPriv -a MD5 -A testpass" + fi + ++check_skip_arp_tests () ++{ ++ # ++ # skip all tests relying on a filed arp table. e.g. on s390 boxes this ++ # does not have to be the case ++ # ++ TABLE_ENTRIES="at.atTable ip.ipNetToMediaTable" ++ ARP_COUNT=`/sbin/arp | grep -v incomplete | wc -l` ++ for entry in $TABLE_ENTRIES ; do ++ if [ "x$1" == "x$entry" -a $ARP_COUNT == 0 ] ; then ++ echo "skipping $1, because the arp table is empty." >&2 ++ return 0 ++ fi ++ done ++ return 1 ++} ++ + config() + { + rm -f $SNMP_CONFIG_FILE +@@ -54,25 +70,35 @@ + get_snmp_table() + { + test_start "Access table $2 by SNMPv$1..." +- CAPTURE "snmpgetnext -Of -v $1 -c test $myport $2" +- CHECKFILE '' "\.$2\." +- if [ "$snmp_last_test_result" = 0 ] ; then +- test_finish FAIL ++ check_skip_arp_tests ++ if check_skip_arp_tests "$2" ; then ++ test_finish SKIPPED + else +- test_finish PASS ++ CAPTURE "snmpgetnext -Of -v $1 -c test $myport $2" ++ CHECKFILE '' "\.$2\." ++ if [ "$snmp_last_test_result" = 0 ] ; then ++ test_finish FAIL ++ else ++ test_finish PASS ++ fi + fi + + } + + get_snmpv3_table() + { +- test_start "Access table $2 by SNMPv3..." +- CAPTURE "snmpgetnext -Of -v 3 -u testrwuser $TEST_AUTHPRIV_PARMS $myport $2" +- CHECKFILE '' "\.$2\." +- if [ "$snmp_last_test_result" = 0 ] ; then +- test_finish FAIL ++ test_start "Access table $2 by SNMPv3..." ++ if check_skip_arp_tests "$2" ; then ++ test_finish SKIPPED + else +- test_finish PASS ++ CAPTURE "snmpgetnext -Of -v 3 -u testrwuser $TEST_AUTHPRIV_PARMS $myport $2" ++ CHECKFILE '' "\.$2\." ++ if [ "$snmp_last_test_result" = 0 ] ; then ++ test_finish FAIL ++ else ++ test_finish PASS ++ fi + fi + + } ++ +--- testing/rfc1213/test_fun ++++ testing/rfc1213/test_fun +@@ -51,6 +51,9 @@ + if [ x$1 == x"PASS" ];then + pass_num=`expr $pass_num + 1` + pass_info "PASS\n" ++ elif [ x$1 == x"SKIPPED" ];then ++ pass_num=`expr $pass_num + 1` ++ pass_info "SKIPPED\n" + else + fail_num=`expr $fail_num + 1` + fail_info "FAIL\n" +@@ -66,3 +69,4 @@ + fi + } + ++ diff --git a/net-snmp-5.3.0.1-audit.diff b/net-snmp-5.3.0.1-audit.diff new file mode 100644 index 0000000..c77388a --- /dev/null +++ b/net-snmp-5.3.0.1-audit.diff @@ -0,0 +1,222 @@ +Index: agent/mibgroup/examples/ucdDemoPublic.c +=================================================================== +--- agent/mibgroup/examples/ucdDemoPublic.c.orig ++++ agent/mibgroup/examples/ucdDemoPublic.c +@@ -219,7 +219,11 @@ write_ucdDemoPublicString(int action, + } + if (action == COMMIT) { + if (var_val_len != 0) { +- strcpy(publicString, var_val); ++ strncpy(publicString, var_val, sizeof(publicString)-1); ++ /* XXX thomas: just some sanity checks */ ++ if(strlen(var_val) > sizeof(publicString)-1 || strlen(var_val) != var_val_len) ++ publicString[sizeof(publicString)-1] = '\0'; ++ else + publicString[var_val_len] = '\0'; + } else + publicString[0] = '\0'; +Index: agent/mibgroup/mibII/system_mib.c +=================================================================== +--- agent/mibgroup/mibII/system_mib.c.orig ++++ agent/mibgroup/mibII/system_mib.c +@@ -126,7 +126,7 @@ system_parse_config_sysloc(const char *t + char tmpbuf[1024]; + + if (strlen(cptr) >= sizeof(sysLocation)) { +- snprintf(tmpbuf, 1024, ++ snprintf(tmpbuf, sizeof(tmpbuf), + "syslocation token too long (must be < %lu):\n\t%s", + (unsigned long)sizeof(sysLocation), cptr); + config_perror(tmpbuf); +@@ -173,7 +173,7 @@ system_parse_config_syscon(const char *t + char tmpbuf[1024]; + + if (strlen(cptr) >= sizeof(sysContact)) { +- snprintf(tmpbuf, 1024, ++ snprintf(tmpbuf, sizeof(tmpbuf), + "syscontact token too long (must be < %lu):\n\t%s", + (unsigned long)sizeof(sysContact), cptr); + config_perror(tmpbuf); +@@ -220,7 +220,7 @@ system_parse_config_sysname(const char * + char tmpbuf[1024]; + + if (strlen(cptr) >= sizeof(sysName)) { +- snprintf(tmpbuf, 1024, ++ snprintf(tmpbuf, sizeof(tmpbuf), + "sysname token too long (must be < %lu):\n\t%s", + (unsigned long)sizeof(sysName), cptr); + config_perror(tmpbuf); +Index: agent/mibgroup/mibII/var_route.c +=================================================================== +--- agent/mibgroup/mibII/var_route.c.orig ++++ agent/mibgroup/mibII/var_route.c +@@ -1378,7 +1378,7 @@ Route_Scan_Reload(void) + /* + * Sort it! + */ +- qsort((char *) rthead, rtsize, sizeof(rthead[0]), qsort_compare); ++ qsort((char *) rthead, rtsize, sizeof(rthead[0]), (int (*) (const void*, const void*)) qsort_compare); + } + #endif + #endif +Index: agent/mibgroup/util_funcs.c +=================================================================== +--- agent/mibgroup/util_funcs.c.orig ++++ agent/mibgroup/util_funcs.c +@@ -139,6 +139,10 @@ make_tempfile(void) + } + #endif + if (fd >= 0) { ++ if(fchmod(fd, 0600) != 0) { ++ close(fd); ++ return NULL; ++ } + close(fd); + DEBUGMSGTL(("make_tempfile", "temp file created: %s\n", name)); + return name; +Index: agent/auto_nlist.c +=================================================================== +--- agent/auto_nlist.c.orig ++++ agent/auto_nlist.c +@@ -64,6 +64,7 @@ auto_nlist_value(const char *string) + it->nl[0].n_name = (char *) malloc(strlen(string) + 2); + #if defined(aix4) || defined(aix5) + strcpy(it->nl[0].n_name, string); ++ it->nl[0].n_name[strlen(string)+1] = '\0'; + #else + sprintf(it->nl[0].n_name, "_%s", string); + #endif +@@ -72,6 +73,7 @@ auto_nlist_value(const char *string) + #if !(defined(aix4) || defined(aix5)) + if (it->nl[0].n_type == 0) { + strcpy(it->nl[0].n_name, string); ++ it->nl[0].n_name[strlen(string)+1] = '\0'; + init_nlist(it->nl); + } + #endif +Index: apps/snmptest.c +=================================================================== +--- apps/snmptest.c.orig ++++ apps/snmptest.c +@@ -456,6 +456,7 @@ input_variable(netsnmp_variable_list * v + goto getValue; + } + memcpy(vp->val.string, buf, strlen(buf) - 1); ++ vp->val.string[sizeof(vp->val.string)-1] = 0; + vp->val_len = strlen(buf) - 1; + } else if (ch == 'x') { + size_t buf_len = 256; +Index: apps/snmptrapd_handlers.c +=================================================================== +--- apps/snmptrapd_handlers.c.orig ++++ apps/snmptrapd_handlers.c +@@ -24,6 +24,9 @@ + #include + #endif + ++#include ++#include ++ + #include + #include + #include +@@ -840,10 +843,11 @@ do_external(char *cmd, struct hostent *h + #else + char command_buf[128]; + char file_buf[L_tmpnam]; ++ int win_fd; + + tmpnam(file_buf); +- file = fopen(file_buf, "w"); +- if (!file) { ++ win_fd = open(file_buf, O_RDWR | O_CREAT | O_EXCL, 0600); ++ if (win_fd < 0 || (file = fdopen(win_fd, "w")) == NULL) + fprintf(stderr, "fopen: %s: %s\n", file_buf, strerror(errno)); + } else { + send_handler_data(file, host, pdu, transport); +Index: snmplib/parse.c +=================================================================== +--- snmplib/parse.c.orig ++++ snmplib/parse.c +@@ -4187,7 +4187,7 @@ static struct node * + parse(FILE * fp, struct node *root) + { + char token[MAXTOKEN]; +- char name[MAXTOKEN]; ++ char name[MAXTOKEN+1]; + int type = LABEL; + int lasttype = LABEL; + +@@ -4279,7 +4279,8 @@ parse(FILE * fp, struct node *root) + case ENDOFFILE: + continue; + default: +- strcpy(name, token); ++ strncpy(name, token, sizeof(name)); ++ name[sizeof(name)-1] = '\0'; + type = get_token(fp, token, MAXTOKEN); + nnp = NULL; + if (type == MACRO) { +@@ -4296,7 +4297,8 @@ parse(FILE * fp, struct node *root) + print_error(name, "is a reserved word", lasttype); + continue; /* see if we can parse the rest of the file */ + } +- strcpy(name, token); ++ strncpy(name, token, sizeof(name)); ++ name[sizeof(name)-1] = '\0'; + type = get_token(fp, token, MAXTOKEN); + nnp = NULL; + +Index: snmplib/tools.c +=================================================================== +--- snmplib/tools.c.orig ++++ snmplib/tools.c +@@ -695,7 +695,7 @@ dump_snmpEngineID(const u_char * estring + /* + * s += snprintf(s, remaining_len+3, "\"%s\"", esp); + */ +- s += sprintf(s, "\"%s\"", esp); ++ s += sprintf(s, "\"%.*s\"", sizeof(buf)-strlen(buf)-3, esp); + goto dump_snmpEngineID_quit; + break; + /*NOTREACHED*/ case 5: /* Octets. */ +Index: testing/TESTCONF.sh +=================================================================== +--- testing/TESTCONF.sh.orig ++++ testing/TESTCONF.sh +@@ -77,8 +77,8 @@ if [ "x$SNMP_TMPDIR" = "x" -a "x$SNMP_HE + fi + SNMP_TMP_PERSISTENTDIR=$SNMP_TMPDIR/persist + export SNMP_TMP_PERSISTENTDIR +- mkdir $SNMP_TMPDIR +- mkdir $SNMP_TMP_PERSISTENTDIR ++ mkdir -m 0700 $SNMP_TMPDIR ++ mkdir -m 0700 $SNMP_TMP_PERSISTENTDIR + fi + + if [ "x$SNMP_SAVE_TMPDIR" = "x" ]; then +Index: testing/eval_suite.sh +=================================================================== +--- testing/eval_suite.sh.orig ++++ testing/eval_suite.sh +@@ -79,7 +79,11 @@ exit 0 + PROGRAM= + ARGUMENTS="$*" + +-TMPFILE=/tmp/eval_suite.sh$$ ++umask 0077 # just to be on the save side ++TMPDIR=/tmp/ucd-snmpd-eval-dir.$$ ++/bin/rm -rf $TMPDIR ++/bin/mkdir -m 0700 $TMPDIR || exit -1 ++TMPFILE=$TMPDIR/eval_suite.sh$$ + + TESTLISTFILE=eval_testlist + +@@ -205,6 +209,7 @@ done # endwhile + # Cleanup, exit. + # + rm -f $TMPFILE ++rm -rf $TMPDIR + + exit $TESTFAILURE + diff --git a/net-snmp-5.3_vendorperl.patch b/net-snmp-5.3_vendorperl.patch new file mode 100644 index 0000000..f1c4180 --- /dev/null +++ b/net-snmp-5.3_vendorperl.patch @@ -0,0 +1,13 @@ +Index: Makefile.in +=================================================================== +--- Makefile.in.orig ++++ Makefile.in +@@ -167,7 +167,7 @@ + fi + + perlinstall: +- @(cd perl ; $(MAKE) install) ; \ ++ @(cd perl ; $(MAKE) install_vendor) ; \ + if test $$? != 0 ; then \ + exit 1 ; \ + fi diff --git a/net-snmp-5.4.rc1-autoconf.diff b/net-snmp-5.4.rc1-autoconf.diff new file mode 100644 index 0000000..5f1d7b0 --- /dev/null +++ b/net-snmp-5.4.rc1-autoconf.diff @@ -0,0 +1,40 @@ +Index: configure.in +=================================================================== +--- configure.in.orig ++++ configure.in +@@ -1037,7 +1037,7 @@ + + + # system check +-AC_CANONICAL_TARGET ++AC_CANONICAL_TARGET([]) + changequote(, ) + PARTIALTARGETOS=`echo $target_os | sed 's/[-._].*//'` + if test "x$PARTIALTARGETOS" = "xmingw32msvc"; then +@@ -2332,8 +2332,6 @@ + [ + AC_MSG_RESULT([no]) + # Linux RedHat 6.1 won't link libwrap without libnsl +- AC_CHECK_FUNC(yp_get_default_domain, , +- AC_CHECK_LIB(nsl, yp_get_default_domain)) + AC_MSG_CHECKING([for TCP wrappers library -lwrap linked with -lnsl]) + AC_TRY_LINK([#include + #include +@@ -3754,7 +3752,7 @@ + # we need to have a local variable `hz' in scope and set to a useful + # value whenever we use one of these constants. + # +-AC_CACHE_CHECK(whether TCP timers depend on \`hz',ac_cv_TCPTV_NEEDS_HZ, ++AC_CACHE_CHECK(whether TCP timers depend on hz,ac_cv_TCPTV_NEEDS_HZ, + [AC_EGREP_CPP(hz, + [#include + TCPTV_SRTTDFLT +@@ -3808,7 +3806,7 @@ + + ME=`$WHOAMI` + if test -f /etc/resolv.conf; then +- LOC=`cat /etc/resolv.conf | grep '^domain' | tail -1 | awk '{print $NF}'` ++ LOC=`cat /etc/resolv.conf | grep '^domain' | tail -n 1 | awk '{print $NF}'` + else + LOC="@no.where" + fi diff --git a/net-snmp-5.4.rc2-versinfo.diff b/net-snmp-5.4.rc2-versinfo.diff new file mode 100644 index 0000000..73492ca --- /dev/null +++ b/net-snmp-5.4.rc2-versinfo.diff @@ -0,0 +1,15 @@ +Index: agent/mibgroup/ucd-snmp/versioninfo.c +=================================================================== +--- agent/mibgroup/ucd-snmp/versioninfo.c.orig ++++ agent/mibgroup/ucd-snmp/versioninfo.c +@@ -130,8 +130,8 @@ var_extensible_version(struct variable * + case VERCONFIG: + #ifdef NETSNMP_CONFIGURE_OPTIONS + *var_len = strlen(config_opts); +- if (*var_len > 1024) +- *var_len = 1024; /* mib imposed restriction */ ++ if (*var_len > 300) ++ *var_len = 300; /* mib imposed restriction */ + return (u_char *) config_opts; + #else + sprintf(errmsg, ""); diff --git a/net-snmp-5.4.rc2.tar.bz2 b/net-snmp-5.4.rc2.tar.bz2 new file mode 100644 index 0000000..8b1c756 --- /dev/null +++ b/net-snmp-5.4.rc2.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9acf6b85f7b6fd38c3bd11e449a4857b85f61b18b5953250d71691a0657b7cf +size 3613485 diff --git a/net-snmp-5.4.rc2_perl_SNMP_size_t.patch b/net-snmp-5.4.rc2_perl_SNMP_size_t.patch new file mode 100644 index 0000000..6b00b70 --- /dev/null +++ b/net-snmp-5.4.rc2_perl_SNMP_size_t.patch @@ -0,0 +1,186 @@ +Index: perl/SNMP/SNMP.xs +=================================================================== +RCS file: /cvsroot/net-snmp/net-snmp/perl/SNMP/SNMP.xs,v +retrieving revision 5.69 +diff -u -p -r5.69 SNMP.xs +--- perl/SNMP/SNMP.xs 25 Oct 2006 16:16:24 -0000 5.69 ++++ perl/SNMP/SNMP.xs 12 Nov 2006 13:40:28 -0000 +@@ -117,16 +117,16 @@ static int __snprint_value _((char *, si + netsnmp_variable_list*, struct tree *, + int, int)); + static int __sprint_num_objid _((char *, oid *, int)); +-static int __scan_num_objid _((char *, oid *, int *)); ++static int __scan_num_objid _((char *, oid *, size_t *)); + static int __get_type_str _((int, char *)); + static int __get_label_iid _((char *, char **, char **, int)); +-static int __oid_cmp _((oid *, int, oid *, int)); ++static int __oid_cmp _((oid *, size_t, oid *, size_t)); + static int __tp_sprint_num_objid _((char*,SnmpMibNode *)); + static SnmpMibNode * __get_next_mib_node _((SnmpMibNode *)); + static struct tree * __oid2tp _((oid*, int, struct tree *, int*)); +-static struct tree * __tag2oid _((char *, char *, oid *, int *, int *, int)); +-static int __concat_oid_str _((oid *, int *, char *)); +-static int __add_var_val_str _((netsnmp_pdu *, oid *, int, char *, ++static struct tree * __tag2oid _((char *, char *, oid *, size_t *, int *, int)); ++static int __concat_oid_str _((oid *, size_t *, char *)); ++static int __add_var_val_str _((netsnmp_pdu *, oid *, size_t, char *, + int, int)); + static int __send_sync_pdu _((netsnmp_session *, netsnmp_pdu *, + netsnmp_pdu **, int , SV *, SV *, SV *)); +@@ -149,8 +149,8 @@ typedef struct bulktbl { + oid req_oid[MAX_OID_LEN]; /* The OID originally requested. */ + oid last_oid[MAX_OID_LEN]; /* Last-seen OID under this branch. */ + AV *vars; /* Array of Varbinds for this OID. */ +- int req_len; /* Length of requested OID. */ +- int last_len; /* Length of last-seen OID. */ ++ size_t req_len; /* Length of requested OID. */ ++ size_t last_len; /* Length of last-seen OID. */ + char norepeat; /* Is this a non-repeater OID? */ + char complete; /* Non-zero if this tree complete. */ + char ignore; /* Ignore this OID, not requested. */ +@@ -585,7 +585,7 @@ static int + __scan_num_objid (buf, objid, len) + char *buf; + oid *objid; +-int *len; ++size_t *len; + { + char *cp; + *len = 0; +@@ -798,9 +798,9 @@ int flag; + static int + __oid_cmp(oida_arr, oida_arr_len, oidb_arr, oidb_arr_len) + oid *oida_arr; +-int oida_arr_len; ++size_t oida_arr_len; + oid *oidb_arr; +-int oidb_arr_len; ++size_t oidb_arr_len; + { + for (;oida_arr_len && oidb_arr_len; + oida_arr++, oida_arr_len--, oidb_arr++, oidb_arr_len--) { +@@ -876,14 +876,14 @@ __tag2oid(tag, iid, oid_arr, oid_arr_len + char * tag; + char * iid; + oid * oid_arr; +-int * oid_arr_len; ++size_t * oid_arr_len; + int * type; + int best_guess; + { + struct tree *tp = NULL; + struct tree *rtp = NULL; + oid newname[MAX_OID_LEN], *op; +- int newname_len = 0; ++ size_t newname_len = 0; + const char *cp = NULL; + char *module = NULL; + +@@ -1024,7 +1024,7 @@ found: + static int + __concat_oid_str(doid_arr, doid_arr_len, soid_str) + oid *doid_arr; +-int *doid_arr_len; ++size_t *doid_arr_len; + char * soid_str; + { + char soid_buf[STR_BUF_SIZE]; +@@ -1050,7 +1050,7 @@ static int + __add_var_val_str(pdu, name, name_length, val, len, type) + netsnmp_pdu *pdu; + oid *name; +- int name_length; ++ size_t name_length; + char * val; + int len; + int type; +@@ -2202,7 +2202,7 @@ _bulkwalk_recv_pdu(walk_context *context + ** assume that we've walked past the end of the subtree. Set this + ** subtree to be completed, and go on to the next variable. + */ +- if (((int)vars->name_length < expect->req_len) || ++ if ((vars->name_length < expect->req_len) || + (memcmp(vars->name, expect->req_oid, expect->req_len*sizeof(oid)))) + { + DBPRT(2,(DBOUT " walked off branch - marking subtree as complete.\n")); +@@ -3041,7 +3041,7 @@ snmp_set(sess_ref, varlist_ref, perl_cal + netsnmp_pdu *pdu, *response; + struct tree *tp; + oid *oid_arr; +- int oid_arr_len = MAX_OID_LEN; ++ size_t oid_arr_len = MAX_OID_LEN; + char *tag_pv; + snmp_xs_cb_data *xs_cb_data; + SV **sess_ptr_sv; +@@ -3242,7 +3242,7 @@ snmp_get(sess_ref, retry_nosuch, varlist + struct tree *tp; + int len; + oid *oid_arr; +- int oid_arr_len = MAX_OID_LEN; ++ size_t oid_arr_len = MAX_OID_LEN; + SV *tmp_sv; + int type; + char tmp_type_str[MAX_TYPE_NAME_LEN]; +@@ -3460,7 +3460,7 @@ snmp_getnext(sess_ref, varlist_ref, perl + struct tree *tp; + int len; + oid *oid_arr; +- int oid_arr_len = MAX_OID_LEN; ++ size_t oid_arr_len = MAX_OID_LEN; + SV *tmp_sv; + int type; + char tmp_type_str[MAX_TYPE_NAME_LEN]; +@@ -3704,7 +3704,7 @@ snmp_getbulk(sess_ref, nonrepeaters, max + struct tree *tp; + int len; + oid *oid_arr; +- int oid_arr_len = MAX_OID_LEN; ++ size_t oid_arr_len = MAX_OID_LEN; + SV *tmp_sv; + int type; + char tmp_type_str[MAX_TYPE_NAME_LEN]; +@@ -3932,7 +3932,7 @@ snmp_bulkwalk(sess_ref, nonrepeaters, ma + netsnmp_session *ss; + netsnmp_pdu *pdu = NULL; + oid oid_arr[MAX_OID_LEN]; +- int oid_arr_len; ++ size_t oid_arr_len; + SV **sess_ptr_sv; + SV **err_str_svp; + SV **err_num_svp; +@@ -4243,7 +4243,7 @@ snmp_trapV1(sess_ref,enterprise,agent,ge + netsnmp_pdu *pdu = NULL; + struct tree *tp; + oid *oid_arr; +- int oid_arr_len = MAX_OID_LEN; ++ size_t oid_arr_len = MAX_OID_LEN; + SV **sess_ptr_sv; + SV **err_str_svp; + SV **err_num_svp; +@@ -4382,7 +4382,7 @@ snmp_trapV2(sess_ref,uptime,trap_oid,var + netsnmp_pdu *pdu = NULL; + struct tree *tp; + oid *oid_arr; +- int oid_arr_len = MAX_OID_LEN; ++ size_t oid_arr_len = MAX_OID_LEN; + SV **sess_ptr_sv; + SV **err_str_svp; + SV **err_num_svp; +@@ -4519,7 +4519,7 @@ snmp_inform(sess_ref,uptime,trap_oid,var + netsnmp_pdu *response; + struct tree *tp; + oid *oid_arr; +- int oid_arr_len = MAX_OID_LEN; ++ size_t oid_arr_len = MAX_OID_LEN; + snmp_xs_cb_data *xs_cb_data; + SV **sess_ptr_sv; + SV **err_str_svp; +@@ -4750,7 +4750,7 @@ snmp_translate_obj(var,mode,use_long,aut + char str_buf[STR_BUF_SIZE]; + char str_buf_temp[STR_BUF_SIZE]; + oid oid_arr[MAX_OID_LEN]; +- int oid_arr_len = MAX_OID_LEN; ++ size_t oid_arr_len = MAX_OID_LEN; + char * label; + char * iid; + int status = FAILURE; diff --git a/net-snmp-5.4_net-snmp-config_headercheck.patch b/net-snmp-5.4_net-snmp-config_headercheck.patch new file mode 100644 index 0000000..bb723ff --- /dev/null +++ b/net-snmp-5.4_net-snmp-config_headercheck.patch @@ -0,0 +1,86 @@ +Index: net-snmp-config.in +=================================================================== +--- net-snmp-config.in.orig ++++ net-snmp-config.in +@@ -27,6 +27,14 @@ check_build_dir() + fi + } + ++check_devel_files() ++{ ++ if [ ! -e "${NSC_INCDIR}/net-snmp/net-snmp-config.h" ] ; then ++ echo "Can not find \"${NSC_INCDIR}/net-snmp/net-snmp-config.h\". The net-snmp development files seems to be missing. Exiting" >&2 ++ # exit 2 ++ fi ++} ++ + prefix=@prefix@ + exec_prefix=@exec_prefix@ + includedir=@includedir@ +@@ -104,9 +112,11 @@ else + ;; + #################################################### compile + --base-cflags) ++ check_devel_files + echo @CFLAGS@ @CPPFLAGS@ -I${NSC_INCLUDEDIR} + ;; + --cflags|--cf*) ++ check_devel_files + echo @CFLAGS@ @DEVFLAGS@ @CPPFLAGS@ -I. -I${NSC_INCLUDEDIR} + ;; + --srcdir) +@@ -117,6 +127,7 @@ else + echo $NSC_LIBDIR + ;; + --ldflags|--ld*) ++ check_devel_files + echo $NSC_LDFLAGS + ;; + --build-lib-dirs) +@@ -150,30 +161,38 @@ else + ;; + #################################################### client lib + --libs) ++ check_devel_files + # use this one == --netsnmp-libs + --external-libs + echo $NSC_LDFLAGS $NSC_LIBDIR -lnetsnmp $NSC_LIBS + ;; + --netsnmp-libs) ++ check_devel_files + echo $NSC_LIBDIR -lnetsnmp + ;; + --external-libs) ++ check_devel_files + echo $NSC_LDFLAGS $NSC_LIBS + ;; + #################################################### agent lib + --base-agent-libs) ++ check_devel_files + echo $NSC_BASE_AGENT_LIBS + ;; + --base-subagent-libs) ++ check_devel_files + echo $NSC_BASE_SUBAGENT_LIBS + ;; + --agent-libs) ++ check_devel_files + # use this one == --netsnmp-agent-libs + --external-libs + echo $NSC_LDFLAGS $NSC_LIBDIR $NSC_BASE_AGENT_LIBS $NSC_AGENTLIBS + ;; + --netsnmp-agent-libs) ++ check_devel_files + echo $NSC_LIBDIR $NSC_BASE_AGENT_LIBS + ;; + --external-agent-libs) ++ check_devel_files + echo $NSC_LDFLAGS $NSC_AGENTLIBS + ;; + #################################################### +@@ -314,6 +333,7 @@ else + + #################################################### + --compile-subagent) ++ check_devel_files + shift + while test "x$done" = "x" -a "x$1" != "x" ; do + case $1 in diff --git a/net-snmp.changes b/net-snmp.changes new file mode 100644 index 0000000..c505dd5 --- /dev/null +++ b/net-snmp.changes @@ -0,0 +1,420 @@ +------------------------------------------------------------------- +Mon Nov 13 16:04:58 CET 2006 - mrueckert@suse.de + +- update to 5.4.rc2: + tons of bugfixes, and new features. just to name a few: + - enabled embedded perl + - new MIB table to manage net-snmp access control extensions + - hal to abstract os specific aspects of the systems + - tree matching support for snmptrapd + - reworked transport creation in snmplib + - using the incoming ip for outgoing packets if possible. + - ipv6 aware tcp/udp mibs + +- removed patches: + (all of them are either upstream or obsolete) + net-snmp-5.2.1-acinclude.diff + net-snmp-5.2.1-acquotation.patch + net-snmp-5.2.1-compat.patch + net-snmp-5.2.1-localperl.diff + net-snmp-5.2.1-perl.diff + net-snmp-5.3.0.1-64bit.diff + net-snmp-5.3.0.1_agentx_socket_path_doc.patch + net-snmp-5.3.0.1_deprecated_sysctl_retrans_time.patch + net-snmp-5.3.0.1_disman_mib_crash.patch + net-snmp-5.3.0.1_ethtool.patch + net-snmp-5.3.0.1_linux_types_header.patch + net-snmp-5.3.0.1_missing_ifNumber.patch + net-snmp-5.3.0.1_netsnmp_register_mib_crash.patch + net-snmp-5.3.0.1_perl_ld_run_path.patch + net-snmp-5.3.0.1_sighup_vacm.patch + net-snmp-5.3.0.1-smux-trap.diff + net-snmp-5.3.0.1.tar.bz2 + net-snmp-5.3.0.1_tcpwrapper_log_severity.patch + net-snmp-5.3.0.1_testsuite_no_smux.patch + net-snmp-5.3.0.1_tunnel_compilation.patch + net-snmp-5.3_perl_agent.xs-pointersize.patch + net-snmp-5.3_perl-printf.patch + net-snmp-5.4_default_store_return_value.patch + oid-names2_5.3.patch + +- added net-snmp-5.4_net-snmp-config_headercheck.patch: + warn if net-snmp-config is used but development files are missing. +- updated net-snmp-5.2.1-autoconf.diff to apply cleanly against 5.4 + new name: net-snmp-5.4.rc1-autoconf.diff +- updated net-snmp-5.2.1-versinfo.diff to apply cleanly against 5.4 + new name: net-snmp-5.4.rc2-versinfo.diff +- added net-snmp-5.4.rc2_perl_SNMP_size_t.patch: + dont use int if you want size_t. fixes failures in the perl test + suite. + +------------------------------------------------------------------- +Thu Oct 19 17:25:58 CEST 2006 - mrueckert@suse.de + +- added net-snmp-5.4_default_store_return_value.patch: + backport my patch from 5.4 so we can get rid of the build errors. + the patch removes/disables dead code. + +------------------------------------------------------------------- +Fri Aug 4 02:34:14 CEST 2006 - mrueckert@suse.de + +- added net-snmp-5.3.0.1_perl_ld_run_path.patch: + the old perl replacement line broke linking of the SNMP libraries + into the perl modules. the patch sets the LD_RUN_PATH for the + build process to LIBDIR. (#180888) + +------------------------------------------------------------------- +Thu May 4 17:05:26 CEST 2006 - mrueckert@suse.de + +- added net-snmp-5.3.0.1_sighup_vacm.patch: + The snmp agent was broken on SIGHUP. It lost all its MIB + informations. (upstream bug: #1473289) +- added net-snmp-5.3.0.1_deprecated_sysctl_retrans_time.patch: + The snmpd used a deprecated sysctl to get the retransmit time + from the kernel. We didnt use this module but the mib library + triggered the sysctl. The patch uses retrans_time_ms when + available and corrects the correction factor for the old sysctl. + (bug: #170140, upstream: #1437287) +- reenabled the lmsensors support. was disabled for testing and + never reenabled. + +------------------------------------------------------------------- +Thu Apr 20 16:47:31 CEST 2006 - mrueckert@suse.de + +- net-snmp-5.3.0.1_missing_ifNumber.patch: + The 5.3 agent on Linux systems did not implement the 'ifNumber' + MIB object. (#159501) + +------------------------------------------------------------------- +Wed Apr 19 14:33:10 CEST 2006 - mrueckert@suse.de + +- logrotate does not like if the postrotate script returns with + a non zero returncode. +- add missing "-e" in echo line + +------------------------------------------------------------------- +Mon Apr 3 17:51:21 CEST 2006 - mrueckert@suse.de + +- dont call "/etc/init.d/snmpd restart". this could start the + daemon unconditionally (too large log file). + switched to "/etc/init.d/snmpd try-restart" + +------------------------------------------------------------------- +Mon Apr 3 14:51:39 CEST 2006 - mrueckert@suse.de + +- run logrotate on startup if the logfile is too large. (#131072) + +------------------------------------------------------------------- +Tue Mar 28 14:16:34 CEST 2006 - mrueckert@suse.de + +- fix compilation with ethtool support. (#155709) +- added option to ignore accepted connections (#86634) + net-snmp-5.3.0.1_tcpwrapper_log_severity.patch + new sysconfig option: SNMPD_LOG_SUCCESSFUL_CONNECTIONS +- pass the correct path to configure to set the desired log file +- make smux listen to localhost by default. (#116742) +- remove confpath patch. (#147808,#159768) + +------------------------------------------------------------------- +Mon Mar 27 15:30:26 CEST 2006 - mrueckert@suse.de + +- updated and reenabled the audit patch + +------------------------------------------------------------------- +Fri Mar 17 20:02:35 CET 2006 - mrueckert@suse.de + +- ported sysconfig options from sles9 + SNMPD_LOGLEVEL -> SPECIFY the log level for the snmpd + SNMPD_USE_SMUX -> disable SMUX socket + +------------------------------------------------------------------- +Fri Mar 10 00:20:11 CET 2006 - mrueckert@suse.de + +- disable embedded perl for now. + +------------------------------------------------------------------- +Wed Mar 8 05:17:49 CET 2006 - mrueckert@suse.de + +- added net-snmp-5.3.0.1_agentx_socket_path_doc.patch: + fixes: net-snmp snmpd.conf(5) manpage gives wrong default + for AgentXSocket (#129437) +- ported fix for bug #129923 from sles9 +- suppress the error message in the ucd-snmp upgrade script + +------------------------------------------------------------------- +Wed Feb 22 18:45:23 CET 2006 - mrueckert@suse.de + +- we move the configs into /etc/snmp [#77935] +- removed debugging packages from the build requires. + +------------------------------------------------------------------- +Thu Feb 16 16:03:38 CET 2006 - mrueckert@suse.de + +- added net-snmp-5.3.0.1-smux-trap.diff + dont loose the value of string variables via smux traps [#150091] + +------------------------------------------------------------------- +Fri Feb 3 16:39:21 CET 2006 - mrueckert@suse.de + +- added net-snmp-5.3.0.1_disman_mib_crash.patch + o fixes a crash in the disman mib loading +- net-snmp-5.3.0.1_netsnmp_register_mib_crash.patch + o dont crash while registering mibs +- net-snmp-5.3_perl_agent.xs-pointersize.patch + o dont use int if you mean intptr_t(IV) +- net-snmp-5.3_perl-printf.patch + o unused format specifier in printf +- net-snmp-5.3_vendorperl.patch + o do make install_vendor + +------------------------------------------------------------------- +Wed Jan 25 21:43:27 CET 2006 - mrueckert@suse.de + +- removed net-snmp-5.2.1-cmdline.diff + better solution from upstream + +------------------------------------------------------------------- +Wed Jan 25 21:38:36 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Mon Jan 23 00:50:55 CET 2006 - mrueckert@suse.de + +- update to version 5.3.0.1 +- removed patches that got applied upstream or superseeded by + upstream fixes: + net-snmp-5.2.1-uptime.diff + net-snmp-5.2.1-typeclash.diff + net-snmp-5.2.1-gcc.diff + net-snmp-5.2.1-dlopen-conf.diff + net-snmp-5.2.1-enomedium.diff + net-snmp-5.2.1-mktemp.diff + net-snmp-5.2.1-close-all-fds.diff + net-snmp-5.2.1-more-cpus.diff + net-snmp-5.2.1-nowraplibs.patch + net-snmp-5.2.1.set-var-value.patch + +- added 4 new patches: + net-snmp-5.3_perl_agent.xs-pointersize.patch + - fixes some casts of pointers to ints -> segfaults in the test + suite + net-snmp-5.3_perl-printf.patch + - fixes a printf warning + net-snmp-5.3_vendorperl.patch + - call perl modules install with install_vendor + net-snmp-5.1.1-pie.patch + - build snmpd and snmptrapd with pie + +------------------------------------------------------------------- +Tue Nov 15 17:12:53 CET 2005 - uli@suse.de + +- no point in running the test suite in QEMU + +------------------------------------------------------------------- +Wed Sep 7 13:53:40 CEST 2005 - mrueckert@suse.de + +- Added rpm-devel to the requires of the -devel package + +------------------------------------------------------------------- +Fri Jun 17 17:46:41 CEST 2005 - mrueckert@suse.de + +- added disman/event-mib to the mib list (Bug #91039) +- replaced patch25 (asn1 handling fix) with patch from the upstream. + (Bug #73804) +- build snmpd and snmptrap with with -fpie/-pie + +------------------------------------------------------------------- +Fri Jun 10 11:43:48 CEST 2005 - mrueckert@suse.de + +- Fixed test suite for boxes with empty arp tables. + +------------------------------------------------------------------- +Tue May 17 12:52:00 CEST 2005 - hvogel@suse.de + +- Include the right header for compat mode (Bug #64074) +- Fix length for type ASN_UNSIGNED (Bug #73804) +- Get rid of WRAPLIBS in net-snmp-config (Bug #75879) +- Fix ac quotation + +------------------------------------------------------------------- +Tue Feb 22 14:28:17 CET 2005 - meissner@suse.de + +- moved tkmib and mib2c* to perl subpackage, since + they require it. #63992 + +------------------------------------------------------------------- +Wed Feb 16 18:28:44 CET 2005 - meissner@suse.de + +- Multiple non Intel CPU detection added. + +------------------------------------------------------------------- +Sun Feb 6 18:50:48 CET 2005 - meissner@suse.de + +- Upgraded to 5.1.2 release. (lots of bugfixes as usual) + +------------------------------------------------------------------- +Wed Feb 2 22:06:33 CET 2005 - meissner@suse.de + +- overflow counter32 and gauge32 on 64bit systems correctly. #50384 + +------------------------------------------------------------------- +Fri Nov 26 11:23:58 CET 2004 - meissner@suse.de + +- close all non standard filedescriptors on start. + +------------------------------------------------------------------- +Thu Nov 25 12:01:56 CET 2004 - meissner@suse.de + +- Upgraded to 5.2 final. + +------------------------------------------------------------------- +Mon Oct 25 17:16:58 CEST 2004 - meissner@suse.de + +- Upgraded to 5.2.1rc2. Dropped merged patches, rediffed + old ones. + +------------------------------------------------------------------- +Tue Aug 17 14:28:42 CEST 2004 - coolo@suse.de + +- fixing pre-requires + +------------------------------------------------------------------- +Thu Aug 12 17:40:53 CEST 2004 - meissner@suse.de + +- Upgrade to 5.1.2 final. + +------------------------------------------------------------------- +Thu Jul 29 15:29:32 CEST 2004 - meissner@suse.de + +- Upgraded to upstream 5.1.2.rc2. + +------------------------------------------------------------------- +Fri Jul 23 13:03:17 CEST 2004 - meissner@suse.de + +- Upgraded to 5.1.2.rc1. +- Dropped some old patches / parts of old patches. +- Fixed problem on little endian 64bit machines. + +------------------------------------------------------------------- +Thu Jul 15 14:45:08 CEST 2004 - meissner@suse.de + +- removed double free on failure in netsnmp_register_old_api(). + (bug #42580) +- do not specify -c /etc/snmpd.conf (since it is already built in). + (bug #41706) +- require openssl-devel in -devel package. + +------------------------------------------------------------------- +Tue Jul 6 16:15:23 CEST 2004 - meissner@suse.de + +- replaced undefined C construct (x[n] = y[n++]) which caused the + testsuite to fail on i386. + +------------------------------------------------------------------- +Mon Jul 5 11:45:35 CEST 2004 - uli@suse.de + +- sleep .3 s before starting agents (bug #42588) + +------------------------------------------------------------------- +Wed Jun 30 09:42:51 CEST 2004 - meissner@suse.de + +- Fixed 2 places of file descriptor leakage which lead to segfaults + during readdir/fgets. #33958 + +------------------------------------------------------------------- +Fri Mar 19 16:22:35 CET 2004 - meissner@suse.de + +- remove the #define PACKAGE_ from the included autoconf + generated config.h file. #36355 + +------------------------------------------------------------------- +Fri Mar 19 00:56:32 CET 2004 - ro@suse.de + +- use stop_on_removal and restart_on_update macros (#36306) +- package /var/log/net-snmp as %ghost (#36435) + +------------------------------------------------------------------- +Tue Mar 16 23:20:36 CET 2004 - ro@suse.de + +- use mktemp in fixproc (#36103) + +------------------------------------------------------------------- +Mon Mar 15 16:56:15 CET 2004 - ro@suse.de + +- avoid segfault in version-info (limit to 300 bytes) +- open devices with NONBLOCK, don't wait for cdrom +- avoid segfault in proc-cmdline output + +------------------------------------------------------------------- +Mon Feb 16 14:26:25 CET 2004 - ro@suse.de + +- previous 64-bit fix went just one bit too far, fixed + +------------------------------------------------------------------- +Wed Feb 11 17:22:14 CET 2004 - ro@suse.de + +- added smux mib (for quagga) + +------------------------------------------------------------------- +Mon Feb 9 15:28:16 CET 2004 - ro@suse.de + +- fix dlopen detection in configure + +------------------------------------------------------------------- +Wed Feb 4 11:57:54 CET 2004 - ro@suse.de + +- added requires for perl-TermReadKey + +------------------------------------------------------------------- +Tue Jan 20 17:03:52 CET 2004 - ro@suse.de + +- try to fix at least some 64bit issues (eg. #33958) + +------------------------------------------------------------------- +Thu Jan 15 17:35:03 CET 2004 - ro@suse.de + +- update arguments in rc-script + +------------------------------------------------------------------- +Fri Jan 9 12:24:10 CET 2004 - kukuk@suse.de + +- Fix some 64bit critical compiler warnings + +------------------------------------------------------------------- +Fri Dec 12 12:09:03 CET 2003 - hare@suse.de + +- Fixed includes for build with evlog. + +------------------------------------------------------------------- +Fri Nov 14 12:55:17 CET 2003 - ro@suse.de + +- update to 5.1 + +------------------------------------------------------------------- +Fri Nov 14 12:54:47 CET 2003 - ro@suse.de + +- build perl module as perl-SNMP + +------------------------------------------------------------------- +Fri Nov 14 12:54:41 CET 2003 - ro@suse.de + +- enable ucd-snmp compatibility + +------------------------------------------------------------------- +Thu Oct 23 16:41:21 CEST 2003 - ro@suse.de + +- update to 5.1.pre2 + +------------------------------------------------------------------- +Thu Oct 23 15:55:33 CEST 2003 - ro@suse.de + +- revised audit patch +- branched devel subpackage +- added rpm support + +------------------------------------------------------------------- +Wed Oct 22 17:29:22 CEST 2003 - ro@suse.de + +- created package and ported patches from ucd-snmp + diff --git a/net-snmp.logrotate b/net-snmp.logrotate new file mode 100644 index 0000000..3f58b2c --- /dev/null +++ b/net-snmp.logrotate @@ -0,0 +1,15 @@ +/var/log/net-snmpd.log { + compress + dateext + maxage 365 + rotate 99 + size=+1024k + notifempty + missingok + create 600 root root + sharedscripts + postrotate + /etc/init.d/snmpd try-restart ||: + endscript + +} diff --git a/net-snmp.spec b/net-snmp.spec new file mode 100644 index 0000000..d01f974 --- /dev/null +++ b/net-snmp.spec @@ -0,0 +1,531 @@ +# +# spec file for package net-snmp (Version 5.4.rc2) +# +# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: net-snmp +%define pkg_name net-snmp +Version: 5.4.rc2 +Release: 1 +# +License: BSD License and BSD-like, Other License(s), see package +Group: Productivity/Networking/Other +# +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: openssl-devel rpm-devel sensors tcpd-devel +Requires: perl-TermReadKey logrotate +PreReq: %insserv_prereq %fillup_prereq /sbin/chkconfig +Provides: snmp ucdsnmp +Obsoletes: snmp ucdsnmp +%define netsnmp_logfile /var/log/net-snmpd.log +%define netsnmp_agentx_socket_dir_fhs /var/run/agentx +%define netsnmp_agentx_socket_dir_rfc /var/agentx +# +URL: http://sourceforge.net/projects/net-snmp +Source: %{pkg_name}-%{version}.tar.bz2 +Source1: rc.net-snmp +Source2: snmpd.conf +Source3: README.SuSE +Source4: rc.snmptrapd +Source5: net-snmp.logrotate +Source6: test_installed +Source7: net-snmp.sysconfig +Patch: net-snmp-5.3.0.1-audit.diff +Patch1: net-snmp-5.4.rc1-autoconf.diff +# unused patch atm +Patch2: net-snmp-5.2.1-socket_path.diff +Patch3: net-snmp-5.4.rc2-versinfo.diff +Patch4: net-snmp-5.2.1-overflow.diff +Patch5: net-snmp-5.2.1.testing.empty_arptable.patch +Patch6: net-snmp-5.1.1-pie.patch +Patch7: net-snmp-5.3_vendorperl.patch +Patch8: net-snmp-5.4_net-snmp-config_headercheck.patch +Patch9: net-snmp-5.4.rc2_perl_SNMP_size_t.patch +# +Summary: SNMP Daemon + +%description +This package was originally based on the CMU 2.1.2.1 snmp code. It has +been greatly modified, restructured, enhanced, and fixed. It hardly +looks the same as anything that CMU has ever released. It was renamed +from cmu-snmp to ucd-snmp in 1995 and later renamed from ucd-snmp to +net-snmp in November 2000. + + + +Authors: +-------- + Wes Hardaker + +%package devel +Group: Productivity/Networking/Other +Requires: %{pkg_name} = %{version}, openssl-devel, rpm-devel, sensors, tcpd-devel +# +Summary: SNMP Daemon + +%description devel +This package was originally based on the CMU 2.1.2.1 snmp code. It has +been greatly modified, restructured, enhanced, and fixed. It hardly +looks the same as anything that CMU has ever released. It was renamed +from cmu-snmp to ucd-snmp in 1995 and later renamed from ucd-snmp to +net-snmp in November 2000. + + + +Authors: +-------- + Wes Hardaker + +%package -n perl-SNMP +Group: Development/Libraries/Perl +Requires: %{pkg_name} = %{version} +# +Summary: Perl-SNMP + +%description -n perl-SNMP +The Perl5 'SNMP' Extension Module v3.1.0 for the UCD SNMPv3 library. + + + +Authors: +-------- + G.S. Marzot + +%prep +%setup -q -n %{pkg_name}-%{version} +%patch0 +%patch1 +##%patch2 +%patch3 +%patch4 +%patch5 +%patch6 +%patch7 +%patch8 +%patch9 +find -name "CVS" -type d | xargs -r %{__rm} -rfv +find -name ".cvsignore" | xargs -r %{__rm} -fv +find -name "*.orig" | xargs -r %{__rm} -fv + +%build +#autoconf +# possibly add later +# ip-mib/ipv4InterfaceTable ip-mib/ipv6InterfaceTable +export CFLAGS="%{optflags} -fno-strict-aliasing" +%if 0%{?suse_version} > 1000 +export CFLAGS="$CFLAGS -fstack-protector-all" +%endif +%configure \ + --with-sys-contact="root@localhost" \ + --with-mib-modules="misc/ipfwacc smux ucd-snmp/diskio ucd-snmp/lmSensors" \ + --with-persistent-directory=/var/lib/net-snmp \ + --with-agentx-socket=%{netsnmp_agentx_socket_dir_fhs}/master \ + --with-sys-location="unknown" \ + --with-logfile=%{netsnmp_logfile} \ + --with-libwrap=%{_prefix} \ + --with-defaults \ + --enable-shared \ + --disable-static \ + --enable-as-needed \ + --without-root-access \ + --enable-local-smux \ + --enable-ipv6 \ + --enable-ucd-snmp-compatibility +%{__make} all +%ifnarch %arm +ulimit -c unlimited +%{__make} test ||: +%{__make} test TESTOPTS='-P tcp' ||: +%endif +%{__make} perlmodules ||: +LD_RUN_PATH="$PWD/snmplib/.libs" LD_LIBRARY_PATH="${PWD}/snmplib/.libs:${PWD}/agent/.libs:${PWD}/agent/helpers/.libs" %{__make} perltest ||: + +%install +%makeinstall INSTALL_PREFIX=%{buildroot} +%{__install} -Dd %{buildroot}/var/log %{buildroot}/var/lib/net-snmp %{buildroot}/usr/lib/net-snmp/agents %{buildroot}%{netsnmp_agentx_socket_dir_fhs} +%{__install} -D -m 0755 %{SOURCE1} %{buildroot}/etc/init.d/snmpd +%{__install} -D -m 0600 %{SOURCE2} %{buildroot}/etc/snmp/snmpd.conf +%{__install} -m 0644 %{SOURCE3} . +%{__install} -m 0644 %{SOURCE4} . +%{__install} -D -m 0644 %{SOURCE5} %{buildroot}/etc/logrotate.d/net-snmp +%{__install} -m 0744 %{SOURCE6} testing/ +%{__ln_s} -f /etc/init.d/snmpd %{buildroot}%{_sbindir}/rcsnmpd +%{__install} -m 0644 /dev/null %{buildroot}%{netsnmp_logfile} +pushd perl + %perl_make_install + %perl_process_packlist + %{__rm} -f %{buildroot}/%{perl_vendorarch}/Bundle/Makefile.subs.pl +popd +%{__grep} -v "^#define PACKAGE" %{buildroot}%{_includedir}/net-snmp/net-snmp-config.h > \ + %{buildroot}%{_includedir}/net-snmp/net-snmp-config.h.new +%{__mv} %{buildroot}%{_includedir}/net-snmp/net-snmp-config.h{.new,} +%{__install} -D -m 0644 %{S:7} \ + %{buildroot}/var/adm/fillup-templates/sysconfig.%{pkg_name} +# +%{__ln_s} -f %{netsnmp_agentx_socket_dir_fhs} %{buildroot}%{netsnmp_agentx_socket_dir_rfc} + +%clean +%{__rm} -rf %{buildroot} + +%preun +%stop_on_removal snmpd + +%post +# if we are upgrading from older distros the config should be moved +# to the new place +CONFD="/etc/snmp" +OCONF="/etc/snmpd.conf" +NCONF="${CONFD}/snmpd.conf" +NCONFB="${CONFD}/snmpd.conf.rpmsave" +if [ -e "$OCONF" ] ; then +# +# in worst case we will get: +# /etc/snmp/snmpd.conf - the old /etc/snmpd.conf +# /etc/snmp/snmpd.conf.rpmnew - the config of the newly installed package. +# /etc/snmp/snmpd.conf.rpmsave - the old /etc/snmp/snmpd.conf +# + if [ ! -d "$CONFD" ] ; then + mkdir "$CONFD" + fi +# +# we dont need to handle the case that /etc/snmp/snmpd.conf +# exists. rpm does that for us. +# it creates /etc/snmp/snmpd.conf.rpmnew +# + if [ -e "$NCONF" ] ; then + mv "$NCONF" "$NCONFB" + echo "warning: /etc/snmp/snmpd.conf backed up as /etc/snmp/snmpd.conf.rpmsave" >&2 + fi + echo "warning: /etc/snmpd.conf moved to /etc/snmp/snmpd.conf" >&2 + mv "$OCONF" "$NCONF" +fi +# we might be updating from ucdsnmp soon +/sbin/chkconfig -c snmpd 2> /dev/null && FIRST_ARG=2 +%{fillup_and_insserv snmpd} + +%postun +%restart_on_update snmpd +%{insserv_cleanup} + +%files +%defattr(-,root,root) +%doc AGENT.txt COPYING EXAMPLE.conf EXAMPLE.conf.def +%doc README* FAQ NEWS TODO rc.snmptrapd +%dir /etc/snmp +%config(noreplace) /etc/snmp/snmpd.conf +%config /etc/init.d/snmpd +%{_bindir}/encode_keychange +%{_bindir}/fixproc +%{_bindir}/ipf-mod.pl +%{_bindir}/net-snmp-config +%{_bindir}/snmpbulkget +%{_bindir}/snmpbulkwalk +%{_bindir}/snmpcheck +%{_bindir}/snmpconf +%{_bindir}/snmpdelta +%{_bindir}/snmpdf +%{_bindir}/snmpget +%{_bindir}/snmpgetnext +%{_bindir}/snmpinform +%{_bindir}/snmpnetstat +%{_bindir}/snmpset +%{_bindir}/snmpstatus +%{_bindir}/snmptable +%{_bindir}/snmptest +%{_bindir}/snmptranslate +%{_bindir}/snmptrap +%{_bindir}/snmpusm +%{_bindir}/snmpvacm +%{_bindir}/snmpwalk +%{_bindir}/traptoemail +%dir %{_prefix}/lib/net-snmp +%dir %{_prefix}/lib/net-snmp/agents +%{_libdir}/libsnmp*.so.* +%{_libdir}/libnetsnmp*.so.* +%{_mandir}/man[158]/* +%{_sbindir}/* +%{_datadir}/snmp +/var/lib/net-snmp +%dir %attr(700,root,root) %{netsnmp_agentx_socket_dir_fhs} +%ghost %{netsnmp_logfile} +%config(noreplace) /etc/logrotate.d/net-snmp +/var/adm/fillup-templates/sysconfig.%{pkg_name} +%{netsnmp_agentx_socket_dir_rfc} + +%files devel +%defattr(-,root,root) +%doc ChangeLog PORTING testing +%{_mandir}/man3/* +%{_includedir}/ucd-snmp +%{_includedir}/net-snmp +%{_libdir}/libsnmp*.*a +%{_libdir}/libsnmp*.so +%{_libdir}/libnetsnmp*.*a +%{_libdir}/libnetsnmp*.so + +%files -n perl-SNMP +%defattr(-,root,root) +%{perl_vendorarch}/auto/SNMP +%{perl_vendorarch}/auto/NetSNMP +%{perl_vendorarch}/auto/Bundle +%{perl_vendorarch}/SNMP.pm +%{perl_vendorarch}/NetSNMP +/var/adm/perl-modules/%{name} +%{_bindir}/tkmib +%{_bindir}/mib2c +%{_bindir}/mib2c-update + +%changelog -n net-snmp +* Mon Nov 13 2006 - mrueckert@suse.de +- update to 5.4.rc2: + tons of bugfixes, and new features. just to name a few: + - enabled embedded perl + - new MIB table to manage net-snmp access control extensions + - hal to abstract os specific aspects of the systems + - tree matching support for snmptrapd + - reworked transport creation in snmplib + - using the incoming ip for outgoing packets if possible. + - ipv6 aware tcp/udp mibs +- removed patches: + (all of them are either upstream or obsolete) + net-snmp-5.2.1-acinclude.diff + net-snmp-5.2.1-acquotation.patch + net-snmp-5.2.1-compat.patch + net-snmp-5.2.1-localperl.diff + net-snmp-5.2.1-perl.diff + net-snmp-5.3.0.1-64bit.diff + net-snmp-5.3.0.1_agentx_socket_path_doc.patch + net-snmp-5.3.0.1_deprecated_sysctl_retrans_time.patch + net-snmp-5.3.0.1_disman_mib_crash.patch + net-snmp-5.3.0.1_ethtool.patch + net-snmp-5.3.0.1_linux_types_header.patch + net-snmp-5.3.0.1_missing_ifNumber.patch + net-snmp-5.3.0.1_netsnmp_register_mib_crash.patch + net-snmp-5.3.0.1_perl_ld_run_path.patch + net-snmp-5.3.0.1_sighup_vacm.patch + net-snmp-5.3.0.1-smux-trap.diff + net-snmp-5.3.0.1.tar.bz2 + net-snmp-5.3.0.1_tcpwrapper_log_severity.patch + net-snmp-5.3.0.1_testsuite_no_smux.patch + net-snmp-5.3.0.1_tunnel_compilation.patch + net-snmp-5.3_perl_agent.xs-pointersize.patch + net-snmp-5.3_perl-printf.patch + net-snmp-5.4_default_store_return_value.patch + oid-names2_5.3.patch +- added net-snmp-5.4_net-snmp-config_headercheck.patch: + warn if net-snmp-config is used but development files are missing. +- updated net-snmp-5.2.1-autoconf.diff to apply cleanly against 5.4 + new name: net-snmp-5.4.rc1-autoconf.diff +- updated net-snmp-5.2.1-versinfo.diff to apply cleanly against 5.4 + new name: net-snmp-5.4.rc2-versinfo.diff +- added net-snmp-5.4.rc2_perl_SNMP_size_t.patch: + dont use int if you want size_t. fixes failures in the perl test + suite. +* Thu Oct 19 2006 - mrueckert@suse.de +- added net-snmp-5.4_default_store_return_value.patch: + backport my patch from 5.4 so we can get rid of the build errors. + the patch removes/disables dead code. +* Fri Aug 04 2006 - mrueckert@suse.de +- added net-snmp-5.3.0.1_perl_ld_run_path.patch: + the old perl replacement line broke linking of the SNMP libraries + into the perl modules. the patch sets the LD_RUN_PATH for the + build process to LIBDIR. (#180888) +* Thu May 04 2006 - mrueckert@suse.de +- added net-snmp-5.3.0.1_sighup_vacm.patch: + The snmp agent was broken on SIGHUP. It lost all its MIB + informations. (upstream bug: #1473289) +- added net-snmp-5.3.0.1_deprecated_sysctl_retrans_time.patch: + The snmpd used a deprecated sysctl to get the retransmit time + from the kernel. We didnt use this module but the mib library + triggered the sysctl. The patch uses retrans_time_ms when + available and corrects the correction factor for the old sysctl. + (bug: #170140, upstream: #1437287) +- reenabled the lmsensors support. was disabled for testing and + never reenabled. +* Thu Apr 20 2006 - mrueckert@suse.de +- net-snmp-5.3.0.1_missing_ifNumber.patch: + The 5.3 agent on Linux systems did not implement the 'ifNumber' + MIB object. (#159501) +* Wed Apr 19 2006 - mrueckert@suse.de +- logrotate does not like if the postrotate script returns with + a non zero returncode. +- add missing "-e" in echo line +* Mon Apr 03 2006 - mrueckert@suse.de +- dont call "/etc/init.d/snmpd restart". this could start the + daemon unconditionally (too large log file). + switched to "/etc/init.d/snmpd try-restart" +* Mon Apr 03 2006 - mrueckert@suse.de +- run logrotate on startup if the logfile is too large. (#131072) +* Tue Mar 28 2006 - mrueckert@suse.de +- fix compilation with ethtool support. (#155709) +- added option to ignore accepted connections (#86634) + net-snmp-5.3.0.1_tcpwrapper_log_severity.patch + new sysconfig option: SNMPD_LOG_SUCCESSFUL_CONNECTIONS +- pass the correct path to configure to set the desired log file +- make smux listen to localhost by default. (#116742) +- remove confpath patch. (#147808,#159768) +* Mon Mar 27 2006 - mrueckert@suse.de +- updated and reenabled the audit patch +* Fri Mar 17 2006 - mrueckert@suse.de +- ported sysconfig options from sles9 + SNMPD_LOGLEVEL -> SPECIFY the log level for the snmpd + SNMPD_USE_SMUX -> disable SMUX socket +* Fri Mar 10 2006 - mrueckert@suse.de +- disable embedded perl for now. +* Wed Mar 08 2006 - mrueckert@suse.de +- added net-snmp-5.3.0.1_agentx_socket_path_doc.patch: + fixes: net-snmp snmpd.conf(5) manpage gives wrong default + for AgentXSocket (#129437) +- ported fix for bug #129923 from sles9 +- suppress the error message in the ucd-snmp upgrade script +* Wed Feb 22 2006 - mrueckert@suse.de +- we move the configs into /etc/snmp [#77935] +- removed debugging packages from the build requires. +* Thu Feb 16 2006 - mrueckert@suse.de +- added net-snmp-5.3.0.1-smux-trap.diff + dont loose the value of string variables via smux traps [#150091] +* Fri Feb 03 2006 - mrueckert@suse.de +- added net-snmp-5.3.0.1_disman_mib_crash.patch + o fixes a crash in the disman mib loading +- net-snmp-5.3.0.1_netsnmp_register_mib_crash.patch + o dont crash while registering mibs +- net-snmp-5.3_perl_agent.xs-pointersize.patch + o dont use int if you mean intptr_t(IV) +- net-snmp-5.3_perl-printf.patch + o unused format specifier in printf +- net-snmp-5.3_vendorperl.patch + o do make install_vendor +* Wed Jan 25 2006 - mrueckert@suse.de +- removed net-snmp-5.2.1-cmdline.diff + better solution from upstream +* Wed Jan 25 2006 - mls@suse.de +- converted neededforbuild to BuildRequires +* Mon Jan 23 2006 - mrueckert@suse.de +- update to version 5.3.0.1 +- removed patches that got applied upstream or superseeded by + upstream fixes: + net-snmp-5.2.1-uptime.diff + net-snmp-5.2.1-typeclash.diff + net-snmp-5.2.1-gcc.diff + net-snmp-5.2.1-dlopen-conf.diff + net-snmp-5.2.1-enomedium.diff + net-snmp-5.2.1-mktemp.diff + net-snmp-5.2.1-close-all-fds.diff + net-snmp-5.2.1-more-cpus.diff + net-snmp-5.2.1-nowraplibs.patch + net-snmp-5.2.1.set-var-value.patch +- added 4 new patches: + net-snmp-5.3_perl_agent.xs-pointersize.patch + - fixes some casts of pointers to ints -> segfaults in the test + suite + net-snmp-5.3_perl-printf.patch + - fixes a printf warning + net-snmp-5.3_vendorperl.patch + - call perl modules install with install_vendor + net-snmp-5.1.1-pie.patch + - build snmpd and snmptrapd with pie +* Tue Nov 15 2005 - uli@suse.de +- no point in running the test suite in QEMU +* Wed Sep 07 2005 - mrueckert@suse.de +- Added rpm-devel to the requires of the -devel package +* Fri Jun 17 2005 - mrueckert@suse.de +- added disman/event-mib to the mib list (Bug #91039) +- replaced patch25 (asn1 handling fix) with patch from the upstream. + (Bug #73804) +- build snmpd and snmptrap with with -fpie/-pie +* Fri Jun 10 2005 - mrueckert@suse.de +- Fixed test suite for boxes with empty arp tables. +* Tue May 17 2005 - hvogel@suse.de +- Include the right header for compat mode (Bug #64074) +- Fix length for type ASN_UNSIGNED (Bug #73804) +- Get rid of WRAPLIBS in net-snmp-config (Bug #75879) +- Fix ac quotation +* Tue Feb 22 2005 - meissner@suse.de +- moved tkmib and mib2c* to perl subpackage, since + they require it. #63992 +* Wed Feb 16 2005 - meissner@suse.de +- Multiple non Intel CPU detection added. +* Sun Feb 06 2005 - meissner@suse.de +- Upgraded to 5.1.2 release. (lots of bugfixes as usual) +* Wed Feb 02 2005 - meissner@suse.de +- overflow counter32 and gauge32 on 64bit systems correctly. #50384 +* Fri Nov 26 2004 - meissner@suse.de +- close all non standard filedescriptors on start. +* Thu Nov 25 2004 - meissner@suse.de +- Upgraded to 5.2 final. +* Mon Oct 25 2004 - meissner@suse.de +- Upgraded to 5.2.1rc2. Dropped merged patches, rediffed + old ones. +* Tue Aug 17 2004 - coolo@suse.de +- fixing pre-requires +* Thu Aug 12 2004 - meissner@suse.de +- Upgrade to 5.1.2 final. +* Thu Jul 29 2004 - meissner@suse.de +- Upgraded to upstream 5.1.2.rc2. +* Fri Jul 23 2004 - meissner@suse.de +- Upgraded to 5.1.2.rc1. +- Dropped some old patches / parts of old patches. +- Fixed problem on little endian 64bit machines. +* Thu Jul 15 2004 - meissner@suse.de +- removed double free on failure in netsnmp_register_old_api(). + (bug #42580) +- do not specify -c /etc/snmpd.conf (since it is already built in). + (bug #41706) +- require openssl-devel in -devel package. +* Tue Jul 06 2004 - meissner@suse.de +- replaced undefined C construct (x[n] = y[n++]) which caused the + testsuite to fail on i386. +* Mon Jul 05 2004 - uli@suse.de +- sleep .3 s before starting agents (bug #42588) +* Wed Jun 30 2004 - meissner@suse.de +- Fixed 2 places of file descriptor leakage which lead to segfaults + during readdir/fgets. #33958 +* Fri Mar 19 2004 - meissner@suse.de +- remove the #define PACKAGE_ from the included autoconf + generated config.h file. #36355 +* Fri Mar 19 2004 - ro@suse.de +- use stop_on_removal and restart_on_update macros (#36306) +- package /var/log/net-snmp as %%ghost (#36435) +* Tue Mar 16 2004 - ro@suse.de +- use mktemp in fixproc (#36103) +* Mon Mar 15 2004 - ro@suse.de +- avoid segfault in version-info (limit to 300 bytes) +- open devices with NONBLOCK, don't wait for cdrom +- avoid segfault in proc-cmdline output +* Mon Feb 16 2004 - ro@suse.de +- previous 64-bit fix went just one bit too far, fixed +* Wed Feb 11 2004 - ro@suse.de +- added smux mib (for quagga) +* Mon Feb 09 2004 - ro@suse.de +- fix dlopen detection in configure +* Wed Feb 04 2004 - ro@suse.de +- added requires for perl-TermReadKey +* Tue Jan 20 2004 - ro@suse.de +- try to fix at least some 64bit issues (eg. #33958) +* Thu Jan 15 2004 - ro@suse.de +- update arguments in rc-script +* Fri Jan 09 2004 - kukuk@suse.de +- Fix some 64bit critical compiler warnings +* Fri Dec 12 2003 - hare@suse.de +- Fixed includes for build with evlog. +* Fri Nov 14 2003 - ro@suse.de +- update to 5.1 +* Fri Nov 14 2003 - ro@suse.de +- build perl module as perl-SNMP +* Fri Nov 14 2003 - ro@suse.de +- enable ucd-snmp compatibility +* Thu Oct 23 2003 - ro@suse.de +- update to 5.1.pre2 +* Thu Oct 23 2003 - ro@suse.de +- revised audit patch +- branched devel subpackage +- added rpm support +* Wed Oct 22 2003 - ro@suse.de +- created package and ported patches from ucd-snmp diff --git a/net-snmp.sysconfig b/net-snmp.sysconfig new file mode 100644 index 0000000..7ccb368 --- /dev/null +++ b/net-snmp.sysconfig @@ -0,0 +1,36 @@ +## Path: System/Net-SNMP +## Description: Log level of the snmp server. +## Type: string(!,a,c,e,w,n,i,d,0,1,2,3,4,5,6,7) +## Default: d +# +# Defines the log level for the snmpd. +# +# The default is set to d (7, LOG_DEBUG) +# This reflects the default for old init script. +# +SNMPD_LOGLEVEL="d" + +## Path: System/Net-SNMP +## Description: En-/Disables SNMP SMUX support. +## Type: yesno +## Default: yes +# +# If this setting is set to "no" the snmpd will no longer bind +# the TCP Port 199. +# +# The default is set to "yes" to provide backward compatibility. +# +SNMPD_USE_SMUX="yes" + +## Path: System/Net-SNMP +### Description: Connecion logging. +### Type: yesno +### Default: yes +## +## If this settings is yes, net-snmp will not log any successfull connections. +## If it is set to no, "--dontLogTCPWrappersConnects" will added to the +## snmpd cmdline. (see "man 5 snmpd.conf") +## +## The default is set to "yes" to provide backward compatibility. +## +SNMPD_LOG_SUCCESSFUL_CONNECTIONS="yes" diff --git a/rc.net-snmp b/rc.net-snmp new file mode 100644 index 0000000..e105ae4 --- /dev/null +++ b/rc.net-snmp @@ -0,0 +1,175 @@ +#! /bin/sh +# Copyright (c) 1996-2002 SuSE GmbH Nuernberg, Germany. All rights reserved. +# +# Author: Christopher Mahmood , Remo Behn +# +# /etc/init.d/snmpd +# +### BEGIN INIT INFO +# Provides: net-snmp snmp +# Required-Start: $network +# Required-Stop: +# Default-Start: 2 3 5 +# Default-Stop: 0 1 6 +# Description: start net-snmpd +### END INIT INFO + +SNMPD=/usr/sbin/snmpd +AGENTDIR=/usr/lib/net-snmp/agents +SNMPDCONF=/etc/snmp/snmpd.conf + +test -x $SNMPD || exit 5 + +# Check for existence of needed config file and read it +SNMPD_CONFIG=/etc/sysconfig/net-snmp +test -r $SNMPD_CONFIG || { echo "$SNMPD_CONFIG not existing"; + if [ "$1" = "stop" ]; then exit 0; + else exit 6; fi; } + +# Read config +. $SNMPD_CONFIG + +# Shell functions sourced from /etc/rc.status: +# rc_check check and set local and overall rc status +# rc_status check and set local and overall rc status +# rc_status -v ditto but be verbose in local rc status +# rc_status -v -r ditto and clear the local rc status +# rc_failed set local and overall rc status to failed +# rc_failed set local and overall rc status to +# rc_reset clear local rc status (overall remains) +# rc_exit exit appropriate to overall rc status +. /etc/rc.status + +# First reset status of this service +rc_reset + +# Return values acc. to LSB for all commands but status: +# 0 - success +# 1 - generic or unspecified error +# 2 - invalid or excess argument(s) +# 3 - unimplemented feature (e.g. "reload") +# 4 - insufficient privilege +# 5 - program is not installed +# 6 - program is not configured +# 7 - program is not running +# +# Note that starting an already running service, stopping +# or restarting a not-running service as well as the restart +# with force-reload (in case signalling is not supported) are +# considered a success. + +# check whether to enable agentx support and get list of installed +# agents +get_agents() +{ + agents= + agentargs='' + for agent in $AGENTDIR/*; do + test -x $agent || continue + agents="$agents $agent" + agentargs="-x /var/run/agentx/master" + done +} + +case "$1" in + start) + echo -n "Starting snmpd" + # + # do not even try to start if the log file is (2GB-1MB) big. + # the snmpd doesnt handle LFS properly + # + SNMPD_LOGFILE="/var/log/net-snmpd.log" + if [ -e "$SNMPD_LOGFILE" ] ; then + SNMPD_SIZE_LOGFILE="$(stat -c "%s" $SNMPD_LOGFILE)" + SNMPD_SIZE_MAX="1073741824" + if [ $SNMPD_SIZE_LOGFILE -gt $SNMPD_SIZE_MAX ] ; then + echo -e "\n\"$SNMPD_LOGFILE\" was to large. Running 'logrotate' for net-snmp." >&2 + /usr/sbin/logrotate /etc/logrotate.d/net-snmp + fi # if [ $SNMPD_SIZE_LOGFILE -gt $SNMPD_SIZE_MAX ] ; then + fi # if [ -e "$SNMPD_LOGFILE" ] ; then + get_agents + # Do not add -c /etc/snmpd.conf, since it is already loaded by default. + if [ $SNMPDCONF = "/etc/snmp/snmpd.conf" ]; then + SNMPDCONF="" + else + SNMPDCONF="-c $SNMPDCONF" + fi + case "${SNMPD_USE_SMUX:-yes}" in + [Nn][Oo]) + SNMPDNOSMUX="-I -smux" + ;; + esac + case "${SNMPD_LOG_SUCCESSFUL_CONNECTIONS:-yes}" in + [Nn][Oo]) + SNMPDNOTCPWRAPPERLOG="--dontLogTCPWrappersConnects" + ;; + esac + startproc $SNMPD $SNMPDCONF -r -A -LF ${SNMPD_LOGLEVEL:-d} $SNMPD_LOGFILE -p /var/run/snmpd.pid $agentargs $SNMPDNOSMUX $SNMPDNOTCPWRAPPERLOG + rc_status -v + rc_reset + + # start all agents + if test -n $agents; then + usleep 300000 + for agent in $agents; do + echo -en "\tStarting `basename $agent`" + startproc -t1 $agent + rc_status -v ; rc_reset + done + fi + ;; + stop) + echo -n "Shutting down snmpd:" + killproc -TERM $SNMPD + rc_status -v ; rc_reset + # we also need to make sure all agents die + if test -n $agents; then + for agent in $AGENTDIR/*; do + test -x $agent || continue + echo -ne "\tShutting down `basename $agent`:" + killproc $agent + rc_status -v ; rc_reset + done + fi + ;; + try-restart) + $0 status >/dev/null && $0 restart + rc_status + ;; + restart) + $0 stop + $0 start + rc_status + ;; + force-reload) + echo -n "Reload service snmpd:" + killproc -HUP $SNMPD + rc_status -v + ;; + reload) + echo -n "Reload service snmpd:" + killproc -HUP $SNMPD + rc_status -v + ;; + status) + echo -n "Checking for service snmpd:" + checkproc $SNMPD + rc_status -v + get_agents + if test -n "$agents"; then + echo -e "Checking for agents:" + + for agent in $agents; do + echo -en "\t`basename $agent`" + checkproc $agent + rc_status -v + done + fi + ;; + *) + echo "Usage: $0 {start|stop|try-restart|restart|force-reload|reload|status}" + exit 1 + ;; +esac +rc_exit + diff --git a/rc.snmptrapd b/rc.snmptrapd new file mode 100644 index 0000000..97d68ee --- /dev/null +++ b/rc.snmptrapd @@ -0,0 +1,91 @@ +#! /bin/sh +# Copyright (c) 1996-2002 SuSE GmbH Nuernberg, Germany. All rights reserved. +# +# Author: Christopher Mahmood , 2002 +# +# /etc/init.d/snmptrapd +# +### BEGIN INIT INFO +# Provides: snmpdtrapd +# Required-Start: $network +# Required-Stop: +# Default-Start: 2 3 5 +# Default-Stop: 0 1 6 +# Description: start net-snmptrapd +### END INIT INFO + +SNMPTRAPD=/usr/sbin/snmptrapd + +test -x $SNMPTRAPD || exit 5 + +# Shell functions sourced from /etc/rc.status: +# rc_check check and set local and overall rc status +# rc_status check and set local and overall rc status +# rc_status -v ditto but be verbose in local rc status +# rc_status -v -r ditto and clear the local rc status +# rc_failed set local and overall rc status to failed +# rc_failed set local and overall rc status to +# rc_reset clear local rc status (overall remains) +# rc_exit exit appropriate to overall rc status +. /etc/rc.status + +# First reset status of this service +rc_reset + +# Return values acc. to LSB for all commands but status: +# 0 - success +# 1 - generic or unspecified error +# 2 - invalid or excess argument(s) +# 3 - unimplemented feature (e.g. "reload") +# 4 - insufficient privilege +# 5 - program is not installed +# 6 - program is not configured +# 7 - program is not running +# +# Note that starting an already running service, stopping +# or restarting a not-running service as well as the restart +# with force-reload (in case signalling is not supported) are +# considered a success. + +case "$1" in + start) + echo -n "Starting snmptrapd:" + startproc $SNMPTRAPD -c /etc/snmptrapd.conf -Lf /var/log/net-snmpd.log + rc_status -v + ;; + stop) + echo -n "Shutting down snmptrapd:" + killproc -TERM $SNMPTRAPD + rc_status -v + ;; + try-restart) + $0 status >/dev/null && $0 restart + rc_status + ;; + restart) + $0 stop + $0 start + rc_status + ;; + force-reload) + echo -n "Reload service snmptrapd:" + killproc -HUP $SNMPTRAPD + rc_status -v + ;; + reload) + echo -n "Reload service snmptrapd:" + killproc -HUP $SNMPTRAPD + rc_status -v + ;; + status) + echo -n "Checking for service snmptrapd:" + checkproc $SNMPTRAPD + rc_status -v + ;; + *) + echo "Usage: $0 {start|stop|try-restart|restart|force-reload|reload|status}" + exit 1 + ;; +esac +rc_exit + diff --git a/ready b/ready new file mode 100644 index 0000000..473a0f4 diff --git a/snmpd.conf b/snmpd.conf new file mode 100644 index 0000000..9b6b85a --- /dev/null +++ b/snmpd.conf @@ -0,0 +1,19 @@ +# Please see /usr/share/doc/packages/net-snmp/EXAMPLE.conf for a +# more complete example and snmpd.conf(5). +# +# Writing is disabled by default for security reasons. If you'd like +# to enable it uncomment the rwcommunity line and change the community +# name to something nominally secure (keeping in mind that this is +# transmitted in clear text). + +# don't use ' < > in strings for syslocation or syscontact +# Note that if you define the following here you won't be able to change +# them with snmpset +syslocation Server Room +syscontact Sysadmin (root@localhost) + +# These really aren't meant for production use. They include all MIBS +# and can use considerable resources. See snmpd.conf(5) for information +# on setting up groups and limiting MIBS. +rocommunity public 127.0.0.1 +# rwcommunity mysecret 127.0.0.1 diff --git a/test_installed b/test_installed new file mode 100644 index 0000000..b1950b6 --- /dev/null +++ b/test_installed @@ -0,0 +1,14 @@ +#!/bin/bash +# +# ckm@suse.com +# runs the test suite on the installed package instead of in the build +# tree, really only useful for QA + +base=/usr/share/doc/packages/net-snmp/testing +export PATH="/bin:/usr/bin:/sbin:/usr/sbin:${base}" +export MIBDIRS=/usr/share/snmp/mibs + +rcsnmpd stop &>/dev/null +cd ${base} || exit 1 + +RUNTESTS -a