Import Upstream version 5.9.4+dfsg

This commit is contained in:
luoyaoming 2024-04-24 17:23:15 +08:00
parent 115daf9f5e
commit 720aed252f
1155 changed files with 56775 additions and 41191 deletions

View File

@ -1,20 +1,76 @@
image: image:
- Visual Studio 2017 - Ubuntu
- Ubuntu1604
- Ubuntu2004
- macos-monterey
- Visual Studio 2022
environment: environment:
CYG_MIRROR: http://mirrors.kernel.org/sourceware/cygwin/ CYG_MIRROR: http://mirrors.kernel.org/sourceware/cygwin/
matrix: matrix:
- BUILD: MSVCDYNAMIC64 - BUILD: MSVCDYNAMIC64
- BUILD: MSVCSTATIC64 - BUILD: MSVCSTATIC64
- BUILD: INSTALLER
- BUILD: MinGW32
- BUILD: MSYS2
- BUILD: MinGW64 - BUILD: MinGW64
- BUILD: Cygwin32
- BUILD: Cygwin64
matrix: matrix:
allow_failures: exclude:
- BUILD: MINGW64 - image: Ubuntu
BUILD: MSVCSTATIC64
- image: Ubuntu
BUILD: INSTALLER
- image: Ubuntu
BUILD: MinGW32
- image: Ubuntu
BUILD: MSYS2
- image: Ubuntu
BUILD: MinGW64
- image: Ubuntu1604
BUILD: MSVCSTATIC64
- image: Ubuntu1604
BUILD: INSTALLER
- image: Ubuntu1604
BUILD: MinGW32
- image: Ubuntu1604
BUILD: MSYS2
- image: Ubuntu1604
BUILD: MinGW64
- image: Ubuntu2004
BUILD: MSVCSTATIC64
- image: Ubuntu2004
BUILD: INSTALLER
- image: Ubuntu2004
BUILD: MinGW32
- image: Ubuntu2004
BUILD: MSYS2
- image: Ubuntu2004
BUILD: MinGW64
- image: macos-monterey
BUILD: MSVCSTATIC64
- image: macos-monterey
BUILD: INSTALLER
- image: macos-monterey
BUILD: MinGW32
- image: macos-monterey
BUILD: MSYS2
- image: macos-monterey
BUILD: MinGW64
artifacts:
- path: installer
clone_depth: 5 clone_depth: 5
install:
- cmd: 'ci\openssl.bat'
- sh: 'sudo ci/install.sh'
build_script: build_script:
- 'call "ci\build.bat"' - cmd: 'ci\build.bat'
- sh: 'ci/build.sh'
test_script:
- cmd: 'ci\test.bat'
- sh: 'if [ $(uname) != Darwin ]; then ci/test.sh; fi'

11
.cirrus.yml Normal file
View File

@ -0,0 +1,11 @@
env:
CIRRUS_CLONE_DEPTH: 5
freebsd_instance:
image_family: freebsd-14-0-snap
image_family: freebsd-13-1
image_family: freebsd-13-0
task:
install_script: sudo ci/install.sh
script: ci/build.sh

29
.github/workflows/buildtest.yml vendored Normal file
View File

@ -0,0 +1,29 @@
# See also https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions
name: Build and test
on: [push, pull_request]
jobs:
build_and_test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
mode: [regular, disable-set, mini, read-only, wolfssl]
env:
MODE: ${{ matrix.mode }}
steps:
- uses: actions/checkout@main
- name: install required packages
run: sudo bash -c "MODE=$MODE ci/install.sh"
- name: build
run: ci/build.sh
- name: test
run: ci/test.sh

77
.github/workflows/codechecker.yml vendored Normal file
View File

@ -0,0 +1,77 @@
name: CodeChecker
on: [workflow_dispatch]
#on:
# push:
# branches: [ master ]
jobs:
codechecker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: install required packages
run: sudo apt-get install libatm-dev libperl-dev libpopt-dev libsensors4-dev libssh2-1-dev libxml2-dev uuid-dev libkrb5-dev python3-setuptools
- name: install clang v12
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 12
sudo apt-get install clang clang-tidy
- name: install packages required by CodeChecker
run: |
sudo apt-get install doxygen gcc-multilib python-virtualenv
- name: install nodejs version 12.x
run: |
curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
sudo apt-get install nodejs
- name: install CodeChecker v6.14
run: |
git clone https://github.com/Ericsson/CodeChecker.git /opt/codechecker
git -C /opt/codechecker/ checkout -b b6.14.0 v6.14.0
make -C /opt/codechecker venv
. /opt/codechecker/venv/bin/activate
make -C /opt/codechecker package
- name: CodeChecker version
run: |
source /opt/codechecker/venv/bin/activate
export PATH=/opt/codechecker/build/CodeChecker/bin:$PATH;
CodeChecker version
- name: configure
run: MODE=regular; ci/net-snmp-configure ${GITHUB_REF##*/}
- name: Codechecker log
run: |
source /opt/codechecker/venv/bin/activate
export PATH=/opt/codechecker/build/CodeChecker/bin:$PATH
CodeChecker log -o codechecker-log.json -b "make"
- name: Codechecker analyze
run: |
source /opt/codechecker/venv/bin/activate
export PATH=/opt/codechecker/build/CodeChecker/bin:$PATH
echo "-*/conftest.c" > codechecker.skipfile
echo "-*/conftest.cpp" >> codechecker.skipfile
echo "-*/tmp.*.c" >> codechecker.skipfile
CodeChecker analyze -j $(nproc) --clean --skip codechecker.skipfile -o ./results --report-hash context-free-v2 codechecker-log.json
#CodeChecker analyze -j $(nproc) --clean --skip codechecker.skipfile --ctu -e sensitive -o ./results --report-hash context-free-v2 codechecker-log.json
- name: CodeChecker parse
run: |
source /opt/codechecker/venv/bin/activate;
export PATH=/opt/codechecker/build/CodeChecker/bin:$PATH
CodeChecker parse -e html ./results -o ./reports_html
- name: Archive CodeChecker results
uses: actions/upload-artifact@v2
with:
name: CodeChecker reports
path: reports_html

11
.gitignore vendored
View File

@ -1,4 +1,3 @@
*~
*.bak *.bak
*.bs *.bs
*.ft *.ft
@ -14,7 +13,9 @@
*.pdb *.pdb
*.rej *.rej
*.swp *.swp
*~
.libs/ .libs/
__pycache__
agent/*.exe agent/*.exe
agent/mibgroup/agent_module_dot_conf.h agent/mibgroup/agent_module_dot_conf.h
agent/mibgroup/agent_module_includes.h agent/mibgroup/agent_module_includes.h
@ -75,7 +76,6 @@ Makefile
man/*.[1358] man/*.[1358]
man/default_store.3.h man/default_store.3.h
man/manaliases man/manaliases
mibs/.index
mk/ mk/
module_tmp_header.h module_tmp_header.h
net-snmp-5* net-snmp-5*
@ -83,6 +83,8 @@ net-snmp-6*
net-snmp-config net-snmp-config
net-snmp-config-x net-snmp-config-x
net-snmp-create-v3-user net-snmp-create-v3-user
netsnmp-agent.pc
netsnmp.pc
NEWS.new* NEWS.new*
perl/*.json perl/*.json
perl/*.yml perl/*.yml
@ -99,7 +101,9 @@ perl/blib/
perl/default_store/default_store.c perl/default_store/default_store.c
perl/NetSNMP.c perl/NetSNMP.c
perl/OID/OID.c perl/OID/OID.c
perl/OID/snmp.conf
perl/SNMP/SNMP.c perl/SNMP/SNMP.c
perl/SNMP/snmp.conf
perl/SNMP/t/*.log perl/SNMP/t/*.log
perl/SNMP/t/*.pid perl/SNMP/t/*.pid
perl/SNMP/t/*.stderr perl/SNMP/t/*.stderr
@ -109,6 +113,8 @@ perl/TrapReceiver/const-xs.inc
perl/TrapReceiver/TrapReceiver.c perl/TrapReceiver/TrapReceiver.c
pm_to_blib pm_to_blib
python/build python/build
python/netsnmp_python.egg-info/
python/netsnmp/client_intf.*.so
sedscript sedscript
snmplib/snmpsm_init.h snmplib/snmpsm_init.h
snmplib/snmpsm_shutdown.h snmplib/snmpsm_shutdown.h
@ -117,6 +123,7 @@ stamp-h
TAGS TAGS
testing/failed_tests testing/failed_tests
testing/testing/ testing/testing/
testing/fuzzing/
win32/*/debug win32/*/debug
win32/*/release win32/*/release
win32/bin win32/bin

View File

@ -1,39 +0,0 @@
language: c
os:
- linux
- osx
env:
- env: MODE=regular
- env: MODE=disable-set
- env: MODE=mini
- env: MODE=minimalist
- env: MODE=read-only
addons:
apt:
packages:
- dpkg
- gcc
- libatm-dev
- libperl-dev
- libsensors4-dev
- libssh-dev
- libssl-dev
- make
- perl-modules
- pkg-config
- python-dev
- python-setuptools
sudo: required
before_script:
# Add an IPv6 config - see the corresponding Travis issue
# https://github.com/travis-ci/travis-ci/issues/8361
- 'if [ "${TRAVIS_OS_NAME}" == "linux" ]; then sudo sh -c ''echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6; printf "\n::1 localhost ipv6-localhost ipv6-loopback\n" >>/etc/hosts; cat /etc/hosts''; fi'
# Upgrade openssl such that Net-SNMP can be built with Blumenthal AES support.
- 'if [ "${TRAVIS_OS_NAME}" == "osx" ]; then brew upgrade openssl >/dev/null 2>&1; fi'
script: ci/build.sh

182
CHANGES
View File

@ -3,6 +3,188 @@ that have been applied in released versions. Please see the NEWS file for
a summary of the major changes, and the ChangeLog file for a comprehensive a summary of the major changes, and the ChangeLog file for a comprehensive
listing of all changes made to the code. listing of all changes made to the code.
*5.9.4*:
IMPORTANT: SNMP over TLS and/or DTLS are not functioning properly
in this release with various versions of OpenSSL and will be fixed
in a future release.
libsnmp:
- Remove the SNMP_SWIPE_MEM() macro Remove this macro since it is not
used in the Net-SNMP code base.
- DISPLAY-HINT fixes
- Miscellanious improvements to the transports
- Handle multiple oldEngineID configuration lines
- fixes for DNS names longer than 63 characters
agent:
- Added a ignoremount configuration option for the HOST-MIB
- disallow SETs with a NULL varbind
- fix the --enable-minimalist build
apps:
- snmpset: allow SET with NULL varbind for testing
- snmptrapd: improved MySQL logging code
general:
- configure: Remove -Wno-deprecated as it is no longer needed
- miscellanious ther bug fixes, build fixes and cleanups
*5.9.3*:
security:
- These two CVEs can be exploited by a user with read-only credentials:
- CVE-2022-24805 A buffer overflow in the handling of the INDEX of
NET-SNMP-VACM-MIB can cause an out-of-bounds memory access.
- CVE-2022-24809 A malformed OID in a GET-NEXT to the nsVacmAccessTable
can cause a NULL pointer dereference.
- These CVEs can be exploited by a user with read-write credentials:
- CVE-2022-24806 Improper Input Validation when SETing malformed
OIDs in master agent and subagent simultaneously
- CVE-2022-24807 A malformed OID in a SET request to
SNMP-VIEW-BASED-ACM-MIB::vacmAccessTable can cause an
out-of-bounds memory access.
- CVE-2022-24808 A malformed OID in a SET request to
NET-SNMP-AGENT-MIB::nsLogTable can cause a NULL pointer dereference
- CVE-2022-24810 A malformed OID in a SET to the nsVacmAccessTable
can cause a NULL pointer dereference.
- To avoid these flaws, use strong SNMPv3 credentials and do not share them.
If you must use SNMPv1 or SNMPv2c, use a complex community string
and enhance the protection by restricting access to a given IP address range.
- Thanks are due to Yu Zhang of VARAS@IIE and Nanyu Zhong of VARAS@IIE for
reporting the following CVEs that have been fixed in this release, and
to Arista Networks for providing fixes.
Windows:
- WinExtDLL: Fix multiple compiler warnings
- WinExtDLL: Make long strings occupy a single line Make it easier to
look up error messages in the source code by making long strings
occupy a single source code line.
- WinExtDLL: Restore MIB-II support Make winExtDLL work on 64-bit
Windows systems") caused snmpd to skip MIB-II on 64-bit systems.
IF-MIB: Update ifTable entries even if the interface name has changed
At least on Linux a network interface index may be reused for a
network interface with a different name. Hence this patch that
enables replacing network interface information even if the network
interface name has changed.
unspecified:
- Moved transport code into a separate subdirectory in snmplib
- Snmplib: remove inline versions of container funcs".
misc:
- snmp-create-v3-user: Fix the snmpd.conf path @datadir@ is
expanded in ${datarootdir} so datarootdir must be set before
@datadir@ is used.
*5.9.2*:
security:
- These two CVEs can be exploited by a user with read-only credentials:
- CVE-2022-24805 A buffer overflow in the handling of the INDEX of
NET-SNMP-VACM-MIB can cause an out-of-bounds memory access.
- CVE-2022-24809 A malformed OID in a GET-NEXT to the nsVacmAccessTable
can cause a NULL pointer dereference.
- These CVEs can be exploited by a user with read-write credentials:
- CVE-2022-24806 Improper Input Validation when SETing malformed
OIDs in master agent and subagent simultaneously
- CVE-2022-24807 A malformed OID in a SET request to
SNMP-VIEW-BASED-ACM-MIB::vacmAccessTable can cause an
out-of-bounds memory access.
- CVE-2022-24808 A malformed OID in a SET request to
NET-SNMP-AGENT-MIB::nsLogTable can cause a NULL pointer dereference
- CVE-2022-24810 A malformed OID in a SET to the nsVacmAccessTable
can cause a NULL pointer dereference.
- To avoid these flaws, use strong SNMPv3 credentials and do not share them.
If you must use SNMPv1 or SNMPv2c, use a complex community string
and enhance the protection by restricting access to a given IP address range.
- Thanks are due to Yu Zhang of VARAS@IIE and Nanyu Zhong of VARAS@IIE for
reporting the following CVEs that have been fixed in this release, and
to Arista Networks for providing fixes.
Windows:
- WinExtDLL: Fix multiple compiler warnings
- WinExtDLL: Make long strings occupy a single line Make it easier to
look up error messages in the source code by making long strings
occupy a single source code line.
- WinExtDLL: Restore MIB-II support Make winExtDLL work on 64-bit
Windows systems") caused snmpd to skip MIB-II on 64-bit systems.
IF-MIB: Update ifTable entries even if the interface name has changed
At least on Linux a network interface index may be reused for a
network interface with a different name. Hence this patch that
enables replacing network interface information even if the network
interface name has changed.
unspecified:
- Moved transport code into a separate subdirectory in snmplib
- Snmplib: remove inline versions of container funcs".
misc:
- snmp-create-v3-user: Fix the snmpd.conf path @datadir@ is
expanded in ${datarootdir} so datarootdir must be set before
@datadir@ is used.
*5.9.1*:
General: Many bug fixes
*5.9*
snmplib:
- Add IPv6 support to DTLSUDP transport
- use new netsnmp_sockaddr_storage in netsnmp_addr_pair
- add base_transport ptr for tunneled transports
- Add support for OpenSSL 1.1.1
- Dtls: overhaul of debug
- Remove inline versions of container funcs
snmpd:
- Use ETHTOOL_GLINKSETTINGS when available Newer Linux kernels
support ETHTOOL_GLINKSETTINGS. Use it when available instead of the
older and deprecated ETHTOOL_GSET. This patch avoids that the Linux
kernel reports the following kernel warning: warning: 'snmpd' uses
legacy ethtool link settings API, link modes are only partially
reported See also https://sourceforge.net/p/net-snmp/patches/1387/.
[bvanassche: reworked this patch significantly]
- Reduce the time needed to execute "pass" scripts on BSD systems See
also https://github.com/net-snmp/net-snmp/issues/8.
- [BUG 2926]: Make it possible to set agentXPingInterval for a
subagent - register agentXPingInterval for the subagent list
handler, before it was registered for snmp - added agentxTimeout to
the subagent list handler. It's now possible to set for snmpd and
the subagent. See 'man snmpd.conf' - added agentxRetries to the
subagent list handler. See 'man snmpd.conf'. It's never used in the
subagent, but it's now following the documentation Signed-off-by:
Anders Wallin <wallinux@gmail.com>
snmptrap:
- BUG: 2899: Patch from Drew Roedersheimer to set library
engineboots/time values before sending
snmptrapd:
- Add support for the latest libmysqlclient version
libsnmp:
- Scan MIB directories in alphabetical order This guarantees that
e.g. mibs/RFC1213-MIB.txt is read before mibs/SNMPv2-MIB.txt. The
order in which these MIBs is read matters because both define
sysLocation but with different attributes.
unspecified:
- [BUG 2930]: Fix a Solaris hrSWInst crash Avoid that snmpd crashes
on Solaris when querying software packages with an empty CATEGORY
field. See also https://sourceforge.net/p/net-snmp/bugs/2930/. See
also https://sourceforge.net/p/net-snmp/patches/1390/.
FreeBSD:
- Fix first byte of IF-MIB::ifPhysAddress Don't write past the
interface name, and use temporary copy instead. This fixes the
first byte of ifPhysAddress always being 0 on FreeBSD. See also
https://sourceforge.net/p/net-snmp/code/merge-requests/20/. [
bvanassche: edited patch title / added test for malloc() result /
reduced number of free(if_name) calls ]
Win32:
- BUG: 2779541 Fixed handle leak in pass_persist.
*5.8* *5.8*
snmplib: snmplib:
- [BUG 3444939]: BUG: 1796886: snmplib: Avoid that - [BUG 3444939]: BUG: 1796886: snmplib: Avoid that

11021
ChangeLog

File diff suppressed because it is too large Load Diff

View File

@ -23,7 +23,7 @@ agentAddress udp:127.0.0.1:161
# SNMPv3 AUTHENTICATION # SNMPv3 AUTHENTICATION
# #
# Note that these particular settings don't actually belong here. # Note that these particular settings don't actually belong here.
# They should be copied to the file /var/lib/snmp/snmpd.conf # They should be copied to the file /var/net-snmp/snmpd.conf
# and the passwords changed, before being uncommented in that file *only*. # and the passwords changed, before being uncommented in that file *only*.
# Then restart the agent # Then restart the agent
@ -49,8 +49,6 @@ view systemonly included .1.3.6.1.2.1.25.1
#rocommunity public localhost #rocommunity public localhost
# Default access to basic system info # Default access to basic system info
rocommunity public default -V systemonly rocommunity public default -V systemonly
# rocommunity6 is for IPv6
rocommunity6 public default -V systemonly
# Full access from an example network # Full access from an example network
# Adjust this network address to match your local # Adjust this network address to match your local
@ -65,7 +63,7 @@ view systemonly included .1.3.6.1.2.1.25.1
#rwuser authPrivUser priv #rwuser authPrivUser priv
# It's no longer typically necessary to use the full 'com2sec/group/access' configuration # It's no longer typically necessary to use the full 'com2sec/group/access' configuration
# r[ow]user and r[ow]community, together with suitable views, should cover most requirements # r[ou]user and r[ow]community, together with suitable views, should cover most requirements

24
FAQ
View File

@ -1,7 +1,7 @@
Frequently Asked Questions (FAQ) for the UCD/Net-SNMP package Frequently Asked Questions (FAQ) for the UCD/Net-SNMP package
============================================================= =============================================================
FAQ Author: Dave Shield FAQ Author: Dave Shield
Net-SNMP Version: 5.8 Net-SNMP Version: 5.9.4
Net-SNMP/UCD-SNMP Project Leader: Wes Hardaker Net-SNMP/UCD-SNMP Project Leader: Wes Hardaker
Email: net-snmp-coders@lists.sourceforge.net Email: net-snmp-coders@lists.sourceforge.net
@ -108,7 +108,7 @@ TABLE OF CONTENTS
How do I configure access control? How do I configure access control?
How do I configure SNMPv3 users? How do I configure SNMPv3 users?
The 'createUser' line disappears when I start the agent. Why? The 'createUser' line disappears when I start the agent. Why?
What's the difference between /var/lib/snmp and /usr/share/snmp? What's the difference between /var/net-snmp and /usr/local/share/snmp?
My new agent is ignoring the old snmpd.conf file. Why? My new agent is ignoring the old snmpd.conf file. Why?
Where should the snmpd.conf file go? Where should the snmpd.conf file go?
Why am I getting "Connection refused"? Why am I getting "Connection refused"?
@ -699,7 +699,7 @@ How do I add a MIB to the tools?
There are two steps required to add a new MIB file to the tools. There are two steps required to add a new MIB file to the tools.
Firstly, copy the MIB file into the appropriate location: Firstly, copy the MIB file into the appropriate location:
cp MY-MIB.txt /usr/share/snmp/mibs cp MY-MIB.txt /usr/local/share/snmp/mibs
(which makes it available to everyone on the system) (which makes it available to everyone on the system)
or or
mkdir $HOME/.snmp mkdir $HOME/.snmp
@ -1395,7 +1395,7 @@ My traphandler script doesn't work when run like this - why not?
If this is the case, then you can specify this interpreter If this is the case, then you can specify this interpreter
explicitly as part of the trap handle directive: explicitly as part of the trap handle directive:
traphandle default /usr/bin/perl /usr/bin/log_it traphandle default /usr/bin/perl /usr/local/bin/log_it
In this case, it's almost certain that you'll also In this case, it's almost certain that you'll also
need to give the full path to the traphandle script (as shown) need to give the full path to the traphandle script (as shown)
@ -1489,7 +1489,7 @@ OK, what should I put in snmp.conf?
string to use. string to use.
Some of these (such as MIB information), might be best put in a Some of these (such as MIB information), might be best put in a
shared snmp.conf file (typically /usr/share/snmp/snmp.conf or shared snmp.conf file (typically /usr/local/share/snmp/snmp.conf or
/etc/snmp/snmp.conf) to apply to all users of the system. Others /etc/snmp/snmp.conf) to apply to all users of the system. Others
(particularly the SNMPv3 security settings), are more likely to refer (particularly the SNMPv3 security settings), are more likely to refer
to a particular user, and should probably go in a personal snmp.conf to a particular user, and should probably go in a personal snmp.conf
@ -2663,7 +2663,7 @@ How do I configure SNMPv3 users?
createUser {myUser} MD5 {myPassword} DES createUser {myUser} MD5 {myPassword} DES
to the file /var/lib/snmp/snmpd.conf (where {myUser} and to the file /var/net-snmp/snmpd.conf (where {myUser} and
{myPassword} are the appropriate values for username and password, {myPassword} are the appropriate values for username and password,
_without_ the braces!). Then re-start the snmpd agent. _without_ the braces!). Then re-start the snmpd agent.
@ -2672,7 +2672,7 @@ How do I configure SNMPv3 users?
net-snmp-config --create-snmpv3-user net-snmp-config --create-snmpv3-user
and follow the prompts given. This will create an entry and follow the prompts given. This will create an entry
in the /var/lib/snmp/snmpd.conf file similar to the above. in the /var/net-snmp/snmpd.conf file similar to the above.
Then re-start the snmpd agent. Then re-start the snmpd agent.
3) Make sure the agent is running, and will respond to an SNMPv3 3) Make sure the agent is running, and will respond to an SNMPv3
@ -2706,16 +2706,16 @@ The 'createUser' line disappears when I start the agent. Why?
What's the difference between /var/lib/snmp and /usr/share/snmp? What's the difference between /var/net-snmp and /usr/local/share/snmp?
---------------------------------------------------------------- ---------------------------------------------------------------------
The /var/lib/snmp location is primarily used for information set The /var/net-snmp location is primarily used for information set
during the running of the agent, which needs to be persistent between during the running of the agent, which needs to be persistent between
one run of the agent and the next. Apart from "createUser" (see one run of the agent and the next. Apart from "createUser" (see
the previous entry), you shouldn't need to touch this file. the previous entry), you shouldn't need to touch this file.
All other user-provided configuration should go in the traditional All other user-provided configuration should go in the traditional
location (typically /usr/share/snmp or /etc/snmp). location (typically /usr/local/share/snmp/snmpd.conf or /etc/snmp).
@ -2736,7 +2736,7 @@ Where should the snmpd.conf file go?
----------------------------------- -----------------------------------
The default location for this file with the basic distribution is The default location for this file with the basic distribution is
/usr/share/snmp/snmpd.conf (or PREFIX/share/snmp/snmpd.conf). /usr/local/share/snmp/snmpd.conf (or PREFIX/share/snmp/snmpd.conf).
Ready-installed versions often look for the file as /etc/snmpd.conf, Ready-installed versions often look for the file as /etc/snmpd.conf,
or /etc/snmp/snmpd.conf. or /etc/snmp/snmpd.conf.

View File

@ -127,7 +127,7 @@ Installing the Perl/SNMP Module
(which includes other Net-SNMP specific modules as well), all of which (which includes other Net-SNMP specific modules as well), all of which
are located in the net-snmp/perl directory. The Perl package provides are located in the net-snmp/perl directory. The Perl package provides
a high level abstract interface to the functionality found in the a high level abstract interface to the functionality found in the
Net-SNMP libraries and demon applications. Net-SNMP libraries and daemon applications.
It is recommended you install the perl modules as you build the It is recommended you install the perl modules as you build the
Net-SNMP package. The configure script can be run as follows to Net-SNMP package. The configure script can be run as follows to

View File

@ -6,25 +6,24 @@
VPATH = @srcdir@ VPATH = @srcdir@
SUBDIRS = snmplib @MAINSUBS@ SUBDIRS = snmplib @MAINSUBS@
SUBDIRDEPS = sedscript
FTSUBDIRS = @FTMAINSUBS@ snmplib FTSUBDIRS = @FTMAINSUBS@ snmplib
TESTDIRS = testing TESTDIRS = testing
CPP = @CPP@ \ CPP = @CPP@ \
-Iinclude -I$(srcdir)/include -I$(srcdir)/agent/mibgroup -I. -I$(srcdir) \ -I$(srcdir)/include -I. \
-DDONT_INC_STRUCTS -DBINDIR=$(bindir) \ -DDONT_INC_STRUCTS -DBINDIR=$(bindir) \
$(EXTRACPPFLAGS) $(EXTRACPPFLAGS)
INSTALLHEADERS=version.h net-snmp-features.h INSTALLHEADERS=version.h net-snmp-features.h
INCLUDESUBDIR=system INCLUDESUBDIR=system
INCLUDESUBDIRHEADERS= aix.h bsd.h bsdi3.h bsdi4.h bsdi.h cygwin.h \ INCLUDESUBDIRHEADERS= aix.h bsd.h bsdi3.h bsdi4.h bsdi.h cygwin.h \
darwin.h darwin7.h darwin8.h darwin9.h darwin10.h darwin11.h darwin12.h \ darwin.h dragonfly.h dynix.h \
darwin13.h darwin14.h darwin15.h darwin16.h darwin17.h \
dragonfly.h dynix.h \
freebsd2.h freebsd3.h freebsd4.h freebsd5.h freebsd6.h \ freebsd2.h freebsd3.h freebsd4.h freebsd5.h freebsd6.h \
freebsd7.h freebsd8.h freebsd9.h freebsd10.h freebsd11.h \ freebsd7.h freebsd8.h freebsd9.h freebsd10.h freebsd11.h \
freebsd12.h freebsd.h kfreebsd.h \ freebsd12.h freebsd13.h freebsd14.h freebsd.h \
generic.h \ generic.h \
hpux.h irix.h linux.h mingw32.h mingw32msvc.h mips.h \ hpux.h irix.h kfreebsd.h linux.h mingw32.h mingw32msvc.h mips.h \
netbsd.h nto-qnx6.h osf5.h \ netbsd.h nto-qnx6.h osf5.h \
openbsd.h openbsd6.h openbsd5.h openbsd4.h \ openbsd.h openbsd6.h openbsd5.h openbsd4.h \
solaris2.3.h solaris2.4.h solaris2.5.h solaris2.6.h \ solaris2.3.h solaris2.4.h solaris2.5.h solaris2.6.h \
@ -35,6 +34,7 @@ INSTALLBUILTHEADERS=include/net-snmp/net-snmp-config.h
INSTALLBUILTINCLUDEHEADERS=@FEATUREHEADERS@ INSTALLBUILTINCLUDEHEADERS=@FEATUREHEADERS@
INSTALLBINSCRIPTS=net-snmp-config net-snmp-create-v3-user INSTALLBINSCRIPTS=net-snmp-config net-snmp-create-v3-user
INSTALLUCDHEADERS=ucd-snmp-config.h version.h mib_module_config.h INSTALLUCDHEADERS=ucd-snmp-config.h version.h mib_module_config.h
INSTALL_PKGCONFIG=netsnmp.pc netsnmp-agent.pc
# #
# other install rules. # other install rules.
@ -113,8 +113,8 @@ agentxtrap snmptrapd: @FEATURETARGS@
# #
# local build rules # local build rules
# #
sedscript: sedscript.in include/net-snmp/net-snmp-config.h $(srcdir)/agent/mibgroup/mibdefs.h sedscript: $(srcdir)/sedscript.in include/net-snmp/net-snmp-config.h $(srcdir)/agent/mibgroup/mibdefs.h
$(CPP) $(CPPFLAGS) $(srcdir)/sedscript.in | egrep '^s[/#]' | sed 's/REMOVEME//g;s# */#/#g;s/ *#/#/g;s#/ *#/#g;s/# g/#g/;' > sedscript $(CPP) -I$(srcdir) -Iinclude $(srcdir)/sedscript.in | $(EGREP) '^s[/#]' | sed 's/REMOVEME//g;s# */#/#g;s/ *#/#/g;s#/ *#/#g;s/# g/#g/;' > sedscript
echo 's/VERSIONINFO/$(VERSION)/g' >> sedscript echo 's/VERSIONINFO/$(VERSION)/g' >> sedscript
echo 's#DATADIR#$(datadir)#g' >> sedscript echo 's#DATADIR#$(datadir)#g' >> sedscript
echo 's#LIBDIR#$(libdir)#g' >> sedscript echo 's#LIBDIR#$(libdir)#g' >> sedscript
@ -122,14 +122,14 @@ sedscript: sedscript.in include/net-snmp/net-snmp-config.h $(srcdir)/agent/mibgr
echo 's#PERSISTENT_DIRECTORY#$(PERSISTENT_DIRECTORY)#g' >> sedscript echo 's#PERSISTENT_DIRECTORY#$(PERSISTENT_DIRECTORY)#g' >> sedscript
echo 's#SYSCONFDIR#@sysconfdir@#g' >> sedscript echo 's#SYSCONFDIR#@sysconfdir@#g' >> sedscript
EXAMPLE.conf: sedscript EXAMPLE.conf.def EXAMPLE.conf: sedscript $(srcdir)/EXAMPLE.conf.def
$(SED) -f sedscript $(srcdir)/EXAMPLE.conf.def > EXAMPLE.conf $(SED) -f sedscript $(srcdir)/EXAMPLE.conf.def > EXAMPLE.conf
docs: docsdir docs: docsdir
docsdir: docsdox docsdir: docsdox
docsdox: doxygen.conf docsdox: $(srcdir)/doxygen.conf
srcdir=$(srcdir) VERSION=$(VERSION) doxygen $(srcdir)/doxygen.conf srcdir=$(srcdir) VERSION=$(VERSION) doxygen $(srcdir)/doxygen.conf
net-snmp-config-x: net-snmp-config net-snmp-config-x: net-snmp-config
@ -173,14 +173,14 @@ OTHERCLEANTODOS=perlclean @PYTHONCLEANTARGS@ cleanfeatures perlcleanfeatures pyt
# #
# override LD_RUN_PATH to avoid dependencies on the build directory # override LD_RUN_PATH to avoid dependencies on the build directory
perlmodules: perlmakefiles subdirs perlmodules: perlmakefiles subdirs
@(cd perl ; $(MAKE) LD_RUN_PATH="") ; \ @(cd perl ; $(MAKE) LD_RUN_PATH="$(libdir):`$(PERL) -e 'use Config; print qq($$Config{archlibexp}/CORE);'`") ; \
if test $$? != 0 ; then \ if test $$? != 0 ; then \
exit 1 ; \ exit 1 ; \
fi fi
perlmakefiles: perl/Makefile net-snmp-config-x perlmakefiles: perl/Makefile net-snmp-config-x
perl/Makefile: perl/Makefile.PL perl/Makefile: perl/Makefile.PL subdirs
dir=`pwd` && \ dir=`pwd` && \
cd perl && \ cd perl && \
if false; then \ if false; then \
@ -275,6 +275,7 @@ configclean: makefileclean
libtool include/net-snmp/net-snmp-config.h \ libtool include/net-snmp/net-snmp-config.h \
net-snmp-config net-snmp-config-x configure-summary \ net-snmp-config net-snmp-config-x configure-summary \
net-snmp-create-v3-user net-snmp-create-v3-user-x net-snmp-create-v3-user net-snmp-create-v3-user-x
rm -f *.pc
rm -f mibs/.index rm -f mibs/.index
rm -f include/net-snmp/agent/mib_module_config.h \ rm -f include/net-snmp/agent/mib_module_config.h \
include/net-snmp/agent/agent_module_config.h \ include/net-snmp/agent/agent_module_config.h \
@ -454,6 +455,16 @@ perlcalloccheck:
dist: tar dist: tar
rpm: dist
rpmtopdir=$$PWD/rpmbuilddir && \
for d in BUILD RPMS SOURCES SPECS SRPMS; do \
mkdir -p $${rpmtopdir}/$$d; \
done && \
cp net-snmp-$(VERSION).tar.gz $${rpmtopdir}/SOURCES && \
MAKE="$(MAKE)" rpmbuild --define="%_topdir $${rpmtopdir}" \
-ba dist/net-snmp.spec && \
find $${rpmtopdir} -name '*rpm'
FAQ.html: FAQ.html:
local/FAQ2HTML FAQ local/FAQ2HTML FAQ

View File

@ -23,21 +23,18 @@ $(FEATUREFILE): $(FTOBJS) $(top_builddir)/include/net-snmp/feature-details.h
cat $(FTOBJS) > $(FEATUREFILE).in cat $(FTOBJS) > $(FEATUREFILE).in
$(FEATUREPROCESS) $(FEATUREFILE) $(top_builddir)/include/net-snmp/feature-details.h @FEATURE_REMOVE_FLAGS@ @FEATURE_ADD_FLAGS@ $(FEATUREPROCESS) $(FEATUREFILE) $(top_builddir)/include/net-snmp/feature-details.h @FEATURE_REMOVE_FLAGS@ @FEATURE_ADD_FLAGS@
ftsubdirs: ftsubdirs:
@if test "$(FTSUBDIRS)" != ""; then \ @if test "$(FTSUBDIRS)" != ""; then \
SUBDIRS="$(FTSUBDIRS)" ; \ SUBDIRS="$(FTSUBDIRS)"; \
else \ else \
SUBDIRS="$(SUBDIRS)" ; \ SUBDIRS="$(SUBDIRS)"; \
fi ; \ fi; \
if test "$$SUBDIRS" != ""; then \ echo "$(PWD): making feature files in $${SUBDIRS}"; \
it="$$SUBDIRS" ; \ for i in $${SUBDIRS}; do \
for i in $$it ; do \ test "$$i" != "" || continue; \
echo "making features in `pwd`/$$i"; \ echo "making features in `pwd`/$$i"; \
( cd $$i ; $(MAKE) features ) ; \ (cd "$$i" && $(MAKE) features) || exit "$$?"; \
if test $$? != 0 ; then \ done; \
exit 1 ; \ echo "$(PWD): finished making feature files."
fi \
done \
fi
.PHONY: cleanfeatures cleanfeaturessubdirs .PHONY: cleanfeatures cleanfeaturessubdirs
cleanfeatures: cleanfeaturessubdirs cleanfeatures: cleanfeaturessubdirs
@ -70,7 +67,7 @@ cleanfeaturessubdirs:
> $(top_builddir)/include/net-snmp/feature-details.h > $(top_builddir)/include/net-snmp/feature-details.h
$(FEATURECHECK) --feature-global $(top_builddir)/include/net-snmp/feature-details.h $(mysubdir) $< $@ $(CC) -E $(CPPFLAGS) $(CFLAGS) -c $(FEATURECHECK) --feature-global $(top_builddir)/include/net-snmp/feature-details.h $(mysubdir) $< $@ $(CC) -E $(CPPFLAGS) $(CFLAGS) -c
subdirs: subdirs: $(SUBDIRDEPS)
@if test "$(SUBDIRS)" != ""; then \ @if test "$(SUBDIRS)" != ""; then \
it="$(SUBDIRS)" ; \ it="$(SUBDIRS)" ; \
for i in $$it ; do \ for i in $$it ; do \
@ -85,12 +82,14 @@ subdirs:
# installlibs handles local, ucd and subdir libs. need to do subdir libs # installlibs handles local, ucd and subdir libs. need to do subdir libs
# before bins, sinze those libs may be needed for successful linking # before bins, sinze those libs may be needed for successful linking
install: installlocalheaders @installucdheaders@ \ install: installlocalheaders @installucdheaders@ \
installlibs \ installlibs install_pkgconfig \
installlocalbin installlocalsbin \ installlocalbin installlocalsbin \
installsubdirs $(OTHERINSTALL) installsubdirs $(OTHERINSTALL)
uninstall: uninstalllibs uninstallbin uninstallsbin uninstallheaders \ uninstall: uninstalllibs uninstall_pkgconfig \
uninstallsubdirs $(OTHERUNINSTALL) uninstallbin uninstallsbin \
uninstallheaders \
uninstallsubdirs $(OTHERUNINSTALL)
installprogs: installbin installsbin installprogs: installbin installsbin
@ -287,6 +286,26 @@ uninstalllibs:
done \ done \
fi fi
#
# pkg-config files
#
install_pkgconfig: $(INSTALL_PKGCONFIG)
@if test "x$(INSTALL_PKGCONFIG)" != x; then \
$(SHELL) $(top_srcdir)/mkinstalldirs $(INSTALL_PREFIX)$(libdir)/pkgconfig; \
for i in $(INSTALL_PKGCONFIG); do \
echo "installing $$i in $(INSTALL_PREFIX)$(libdir)/pkgconfig"; \
done; \
$(INSTALL_DATA) $(INSTALL_PKGCONFIG) $(INSTALL_PREFIX)$(libdir)/pkgconfig; \
fi
uninstall_pkgconfig:
@if test "x$(INSTALL_PKGCONFIG)" != x; then \
for i in $(INSTALL_PKGCONFIG); do \
echo "removing $$i from $(INSTALL_PREFIX)$(libdir)/pkgconfig"; \
$(UNINSTALL) $(INSTALL_PREFIX)$(libdir)/pkgconfig/$$i;\
done; \
fi
# #
# normal bin binaries # normal bin binaries
# #
@ -416,13 +435,17 @@ lint:
# #
depend: dependdirs depend: dependdirs
@if test -f Makefile.depend ; then \ @if test -f Makefile.depend ; then \
makedepend `echo $(CPPFLAGS) | sed 's/-f[-a-z]*//g'` -o .lo $(srcdir)/*.c $(srcdir)/*/*.c ; \ makedepend `echo $(CPPFLAGS) | \
awk '{for(i=1;i<=NF;i++) if (match(substr($$i,1,2), "-[ID]")) print $$i}'` \
-o .lo $(srcdir)/*.c $(srcdir)/*/*.c ; \
fi fi
nosysdepend: nosysdependdirs nosysdepend: nosysdependdirs
@if test -f Makefile.depend ; then \ @if test -f Makefile.depend ; then \
makedepend `echo $(CPPFLAGS) | sed 's/-f[-a-z]*//g'` -o .lo $(srcdir)/*.c $(srcdir)/*/*.c ; \ makedepend `echo $(CPPFLAGS) | \
awk '{for(i=1;i<=NF;i++) if (match(substr($$i,1,2), "-[ID]")) print $$i}'` \
-o .lo $(srcdir)/*.c $(srcdir)/*/*.c ; \
$(PERL) -n -i.bak $(top_srcdir)/makenosysdepend.pl Makefile ; \ $(PERL) -n -i.bak $(top_srcdir)/makenosysdepend.pl Makefile ; \
fi fi

View File

@ -28,7 +28,6 @@ man8dir = $(mandir)/man8
snmplibdir = $(datadir)/snmp snmplibdir = $(datadir)/snmp
mibdir = $(snmplibdir)/mibs mibdir = $(snmplibdir)/mibs
persistentdir = @PERSISTENT_DIRECTORY@ persistentdir = @PERSISTENT_DIRECTORY@
sysconfdir = @sysconfdir@
DESTDIR = @INSTALL_PREFIX@ DESTDIR = @INSTALL_PREFIX@
INSTALL_PREFIX = $(DESTDIR) INSTALL_PREFIX = $(DESTDIR)
@ -70,7 +69,7 @@ LINKCC = @LINKCC@
# last update, increment current (+5), and set age and revision to 0. Stop. # last update, increment current (+5), and set age and revision to 0. Stop.
# #
# - If any interfaces have been added since the last public release, then # - If any interfaces have been added since the last public release, then
# increment current and age, and set revision to 0. Stop. # increment current AND age, and set revision to 0. Stop.
# #
# - If the source code has changed at all since the last update, # - If the source code has changed at all since the last update,
# then increment revision (c:r:a becomes c:r+1:a). # then increment revision (c:r:a becomes c:r+1:a).
@ -82,12 +81,12 @@ LINKCC = @LINKCC@
# 5.3 was at 10, 5.4 is at 15, ... This leaves some room for needed # 5.3 was at 10, 5.4 is at 15, ... This leaves some room for needed
# changes for past releases if absolutely necessary. # changes for past releases if absolutely necessary.
# #
# Most recent change: 35 for release 5.8 # Most recent change: 40 for the v5.8.1 release.
LIBCURRENT = 35 LIBCURRENT = 42
LIBAGE = 0 LIBAGE = 2
LIBREVISION = 0 LIBREVISION = 1
LIB_LD_CMD = $(LIBTOOL) --mode=link $(LINKCC) $(CFLAGS) -rpath $(libdir) -version-info $(LIBCURRENT):$(LIBREVISION):$(LIBAGE) -o LIB_LD_CMD = $(LIBTOOL) --mode=link $(LINKCC) $(CFLAGS) -rpath $(libdir) -version-info $(LIBCURRENT):$(LIBREVISION):$(LIBAGE) @LD_NO_UNDEFINED@ -o
LIB_EXTENSION = la LIB_EXTENSION = la
LIB_VERSION = LIB_VERSION =
LIB_LDCONFIG_CMD = $(LIBTOOL) --mode=finish $(INSTALL_PREFIX)$(libdir) LIB_LDCONFIG_CMD = $(LIBTOOL) --mode=finish $(INSTALL_PREFIX)$(libdir)
@ -100,7 +99,7 @@ RANLIB = :
.c.lo: .c.lo:
$(LIBTOOL) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< $(LIBTOOL) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
.rc.lo: .rc.lo:
$(LIBTOOL) --mode=compile --tag=CC windres -o $@ -i $< $(LIBTOOL) --mode=compile --tag=RC @RC@ -o $@ -i $<
# include paths # include paths
# #

115
NEWS
View File

@ -3,6 +3,119 @@ Please see the CHANGES file for a more detailed list of specific bugs/patches
that have been fixed/applied, and the ChangeLog file for a comprehensive that have been fixed/applied, and the ChangeLog file for a comprehensive
listing of all changes made to the code. listing of all changes made to the code.
*5.9.4*:
IMPORTANT: SNMP over TLS and/or DTLS are not functioning properly
in this release with various versions of OpenSSL and will be fixed
in a future release.
libsnmp:
- Remove the SNMP_SWIPE_MEM() macro Remove this macro since it is not
used in the Net-SNMP code base.
- DISPLAY-HINT fixes
- Miscellanious improvements to the transports
- Handle multiple oldEngineID configuration lines
- fixes for DNS names longer than 63 characters
agent:
- Added a ignoremount configuration option for the HOST-MIB
- disallow SETs with a NULL varbind
- fix the --enable-minimalist build
apps:
- snmpset: allow SET with NULL varbind for testing
- snmptrapd: improved MySQL logging code
general:
- configure: Remove -Wno-deprecated as it is no longer needed
- miscellanious ther bug fixes, build fixes and cleanups
*5.9.3*:
security:
- These two CVEs can be exploited by a user with read-only credentials:
- CVE-2022-24805 A buffer overflow in the handling of the INDEX of
NET-SNMP-VACM-MIB can cause an out-of-bounds memory access.
- CVE-2022-24809 A malformed OID in a GET-NEXT to the nsVacmAccessTable
can cause a NULL pointer dereference.
- These CVEs can be exploited by a user with read-write credentials:
- CVE-2022-24806 Improper Input Validation when SETing malformed
OIDs in master agent and subagent simultaneously
- CVE-2022-24807 A malformed OID in a SET request to
SNMP-VIEW-BASED-ACM-MIB::vacmAccessTable can cause an
out-of-bounds memory access.
- CVE-2022-24808 A malformed OID in a SET request to
NET-SNMP-AGENT-MIB::nsLogTable can cause a NULL pointer dereference
- CVE-2022-24810 A malformed OID in a SET to the nsVacmAccessTable
can cause a NULL pointer dereference.
- To avoid these flaws, use strong SNMPv3 credentials and do not share them.
If you must use SNMPv1 or SNMPv2c, use a complex community string
and enhance the protection by restricting access to a given IP address range.
- Thanks are due to Yu Zhang of VARAS@IIE and Nanyu Zhong of VARAS@IIE for
reporting the following CVEs that have been fixed in this release, and
to Arista Networks for providing fixes.
misc:
- Snmp-create-v3-user: Fix the snmpd.conf path @datadir@ is
expanded in ${datarootdir} so datarootdir must be set before
@datadir@ is used.
general: Many bug fixes
*5.9.2*:
security:
- These two CVEs can be exploited by a user with read-only credentials:
- CVE-2022-24805 A buffer overflow in the handling of the INDEX of
NET-SNMP-VACM-MIB can cause an out-of-bounds memory access.
- CVE-2022-24809 A malformed OID in a GET-NEXT to the nsVacmAccessTable
can cause a NULL pointer dereference.
- These CVEs can be exploited by a user with read-write credentials:
- CVE-2022-24806 Improper Input Validation when SETing malformed
OIDs in master agent and subagent simultaneously
- CVE-2022-24807 A malformed OID in a SET request to
SNMP-VIEW-BASED-ACM-MIB::vacmAccessTable can cause an
out-of-bounds memory access.
- CVE-2022-24808 A malformed OID in a SET request to
NET-SNMP-AGENT-MIB::nsLogTable can cause a NULL pointer dereference
- CVE-2022-24810 A malformed OID in a SET to the nsVacmAccessTable
can cause a NULL pointer dereference.
- To avoid these flaws, use strong SNMPv3 credentials and do not share them.
If you must use SNMPv1 or SNMPv2c, use a complex community string
and enhance the protection by restricting access to a given IP address range.
- Thanks are due to Yu Zhang of VARAS@IIE and Nanyu Zhong of VARAS@IIE for
reporting the following CVEs that have been fixed in this release, and
to Arista Networks for providing fixes.
misc:
- Snmp-create-v3-user: Fix the snmpd.conf path @datadir@ is
expanded in ${datarootdir} so datarootdir must be set before
@datadir@ is used.
general: Many bug fixes
*5.9.1*:
General: Many bug fixes
*5.9*
snmplib:
- Add IPv6 support to DTLSUDP transport CHANGES: snmplib: use new
netsnmp_sockaddr_storage in netsnmp_addr_pair CHANGES: snmplib: add
base_transport ptr for tunneled transports
snmpd:
- Security vulnerabilty in the ping MIB reported by Christopher Ertl
from Microsoft fixed
- Changing to a different uid/gid can only be done once
- The extend mib is now read-only by default
snmptrap:
- BUG: 2899: Patch from Drew Roedersheimer to set library
engineboots/time values before sending
unspecified:
- Add pkg-config support for building applications and sub-agents Use
the netsnmp package when building Net-SNMP applications. Use the
netsnmp-agent package when building Net-SNMP subagents.
*5.8* *5.8*
snmplib: snmplib:
- TLS/DTLS fixes - TLS/DTLS fixes
@ -1123,7 +1236,7 @@ UCD-SNMP NEWS:
Ports: Ports:
- HPUX 11 - HPUX 11
- Dynix/PTX 4.4 - Dynix/PTX 4.4
- The snmpd demon can properly run as a windows service - The snmpd daemon can properly run as a windows service
*4.2.3* *4.2.3*
New: New:

121
README
View File

@ -1,4 +1,4 @@
README file for net-snmp Version: 5.8 README file for net-snmp Version: 5.9.4
DISCLAIMER DISCLAIMER
@ -245,117 +245,8 @@ CLOSING
THANKS THANKS
The following people have contributed various patches and This project has been graciously supported by a long list of people
improvements. To them we owe our deepest thanks (and you do too!): (too long to keep roperly up to date). To them we owe our deepest
thanks (and you do too!). Please see the git log or ChangeLog file,
Wes Hardaker <hardaker@users.sourceforge.net> where the core developers are careful to have (hopefully always)
Steve Waldbusser <waldbusser@nextbeacon.com> pointed out where patches have come from.
Dan A. Dickey <ddickey@transition.com>
Dave Shield <D.T.Shield@csc.liv.ac.uk>
Giovanni S. Marzot <gmarzot@nortelnetworks.com>
Niels Baggesen <nba@users.sourceforge.net>
Simon Leinen <simon@limmat.switch.ch>
David T. Perkins <dperkins@dsperkins.com>
Mike Perik <mikep@crt.com>
Sanjai Narain <narain@thumper.bellcore.com>
francus@metsny.delphi.com
Gary Palmer <gpalmer@freebsd.org>
Marc G. Fournier <scrappy@ki.net>
Gary A. Hayward <gah@bellcore.com>
Jennifer Bray <jbray@origin-at.co.uk>
Philip Guenther <guenther@gac.edu>
Elwyn B Davies <edavies@origin-at.co.uk>
Simon Burge <simonb@telstra.com.au>
David Paul Zimmerman <dpz@apple.com>
Alan Batie <batie@aahz.jf.intel.com>
Michael Douglass <mikedoug@texas.net>
Ted Rule <Ted_Rule@FLEXTECH.CO.UK>
Craig Bevins <craigb@bitcom.net.au>
Arther Hyun <arthur@psi.com>
Cristian Estan <Cristian.Estan@net.utcluj.ro>
Eugene Polovnikov <eugen@rd.zgik.zaporizhzhe.ua>
Jakob Ellerstedt <jakob@dynarc.se>
Michael J. Slifcak <slif@bellsouth.net>
Jonas Olsson <jolsson@erv.ericsson.se>
James H. Young <sysjhy@gsu.edu>
Jeff Johnson <jbj@redhat.com>
Markku Laukkanen <marlaukk@stybba.ntc.nokia.com>
Derek Simkowiak <dereks@kd-dev.com>
David F. Newman <dnewman@epnet.com>
Nick Amato <naamato@merit.edu>
Mike Baer <baerm@calweb.com>
Patrick Lawrence <pjlawrence@ucdavis.edu>
Russ Mundy <mundy@tislabs.com>
Olafur Gudmundsson <ogud@tislabs.com>
David Reeder <dreeder@tislabs.com>
Ed Lewis <lewis@tislabs.com>
Bill Babson <wbabson@tislabs.com>
Chris Smith <csmith@platform.com>
Mike Michaud <mikemichaud@earthlink.net>
Andy Hood <ahood@westpac.com.au>
Robert Story <rstory@freesnmp.com>
Bert Driehuis <driehuis@playbeing.org>
Juergen Schoenwaelder <schoenw@ibr.cs.tu-bs.de>
Frank Strauss <strauss@ibr.cs.tu-bs.de>
Ragnar Kjørstad <ucd@ragnark.vestdata.no>
Jochen Kmietsch <jochen.kmietsch@tu-clausthal.de>
Jun-ichiro itojun Hagino <itojun@iijlab.net>
John L Villalovos <john.l.villalovos@intel.com>
Christoph Mammitzsch <Christoph.Mammitzsch@tu-clausthal.de>
Arne Oesleboe <Arne.Oesleboe@item.ntnu.no>
Jeff Cours <jeff@ultradns.com>
Karl Schilke <karl_schilke@eli.net>
John Naylon <jbpn@cambridgebroadband.com>
Ken Hornstein <kenh@cmf.nrl.navy.mil>
Martin Oldfield <m@mail.tc>
Harrie Hazewinkel <harrie@users.sourceforge.net>
Mark Ferlatte <ferlatte@users.sourceforge.net>
Marus Meissner <marcusmeissner@users.sourceforge.net>
Stephan Wenzer <stephanwenzel@users.sourceforge.net>
Ron Mevissen <ron.mevissen@eed.ericsson.se>
T.J. Mather <tjmather@tjmather.com>
Craig Setera <seterajunk@charter.net>
Katsuhisa ABE <abekatsu@cysols.com>
Axel Kittenberger <Axel.Kittenberger@maxxio.com>
Johannes Schmidt-Fischer <jsf@InterFace-AG.com>
Jeffrey Watson <nostaw@users.sourceforge.net>
Bruce Shaw <Bruce.Shaw@gov.ab.ca>
Stefan Radman <sradman@users.sourceforge.net>
Stephen J. Friedl <sjfriedl@users.sourceforge.net>
Alex Burger <alex_b@users.sourceforge.net>
Christophe Varoqui <ext.devoteam.varoqui@sncf.fr>
Srikanth Pindiproli <sripindip@users.sourceforge.net>
Kevin Graham <kevgraham7@users.sourceforge.net>
Xiaofeng Ling <xfling@users.sourceforge.net>
Brandon Knitter <knitterb@bl...>
Andrew Findlay <andrew.findlay@skills-1st.co.uk>
Ron Tabor <rtabor@users.sourceforge.net>
Peter Warasin <drg-r3@users.sourceforge.net>
Bob Rowlands <robert.rowlands@sun.com>
Peter Hicks <Peter.Hicks@POGGS.CO.UK>
Andy Smith <wasmith32@earthlink.net>
Nick Barkas <nbarkas@users.sourceforge.net>
Noah Friedman <friedman@prep.ai.mit.edu>
Geert De Peuter <geert@depeuter.org>
Magnus Fromreide <magfr@lysator.liu.se>
Marcus Meissner <marcusmeissner@users.sourceforge.net>
Andrew Rucker Jones <arjones@users.sourceforge.net>
Dai.H. <dg-f@users.sourceforge.net>
Thomas Anders <tanders@users.sourceforge.net>
Vladislav Bogdanov <slava_reg@nsys.by>
Peter Martin <pnmartin@users.sourceforge.net>
Thomas Lackey <telackey@users.sourceforge.net>
Joe Buehler <jbuehler@spirentcom.com>
Anders Persson <apersson@users.sourceforge.net>
Rojer <rojer@users.sourceforge.net>
Bart Van Assche <bart.vanassche@gmail.com>
Pablo Carboni <pcarboni@users.sourceforge.net>
Bill Fenner <fenner@gmail.com>
Brian Sipos <bsiposrkf@users.sourceforge.net>
Eugene M. Kim <eugene.kim@ntti3.com>
Anders Wallin <wallinux@gmail.com>
Andrew Stormont <andy-js@users.sourceforge.net>
Keith Mendoza <keith@icei.org>
We've probably forgotten people on this list. Let us know if you've
contributed code and we've left you out.

File diff suppressed because it is too large Load Diff

7
aclocal.m4 vendored
View File

@ -1,7 +1,7 @@
# generated automatically by aclocal 1.11 -*- Autoconf -*- # generated automatically by aclocal 1.16 -*- Autoconf -*-
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -11,6 +11,7 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_include([m4/ac_add_search_path.m4]) m4_include([m4/ac_add_search_path.m4])
m4_include([m4/ac_msg_cache.m4]) m4_include([m4/ac_msg_cache.m4])
m4_include([m4/ac_msg_module_dbg.m4]) m4_include([m4/ac_msg_module_dbg.m4])

File diff suppressed because it is too large Load Diff

View File

@ -15,7 +15,7 @@ mysubdir=agent
# #
# what to install # what to install
# #
SUBDIRS=helpers mibgroup SUBDIRS=helpers
FTSUBDIRS=mibgroup helpers FTSUBDIRS=mibgroup helpers
INSTALLSBINPROGS= @SNMPD@ INSTALLSBINPROGS= @SNMPD@
@ -273,9 +273,12 @@ FTAGENTOBJS=snmpd.ft @other_ftagentobjs@
# #
# Define OBJS and LOBJS for clean target (just this directory) # Define OBJS and LOBJS for clean target (just this directory)
# #
OBJS = $(LIBAGENTOBJS) $(AGENTOBJS) mib_modules.o auto_nlist.o OBJS = $(LIBAGENTOBJS) $(MIBOBJS) $(AGENTOBJS) \
LOBJS = $(LLIBAGENTOBJS) $(LAGENTOBJS) mib_modules.lo auto_nlist.lo mib_modules.o auto_nlist.o
FTOBJS = $(LLIBAGENTFTS) $(FTAGENTOBJS) mib_modules.ft auto_nlist.ft LOBJS = $(LLIBAGENTOBJS) $(LMIBOBJS) $(LAGENTOBJS) \
mib_modules.lo auto_nlist.lo
FTOBJS = $(LLIBAGENTFTS) $(FTMIBOBJS) $(FTAGENTOBJS) \
mib_modules.ft auto_nlist.ft
FEATUREFILE = $(top_builddir)/include/net-snmp/agent/features.h FEATUREFILE = $(top_builddir)/include/net-snmp/agent/features.h
@ -300,11 +303,11 @@ snmpd$(EXEEXT): ${LAGENTOBJS} $(USELIBS) $(AGENTLIB) $(HELPERLIB) $(MIBLIB) $(LI
$(LINK) $(CFLAGS) -o $@ ${LAGENTOBJS} ${LDFLAGS} ${OUR_AGENT_LIBS} $(LINK) $(CFLAGS) -o $@ ${LAGENTOBJS} ${LDFLAGS} ${OUR_AGENT_LIBS}
libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION): ${LLIBAGENTOBJS} $(USELIBS) libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION): ${LLIBAGENTOBJS} $(USELIBS)
$(LIB_LD_CMD) $(AGENTLIB) ${LLIBAGENTOBJS} $(USELIBS) ${LAGENTLIBS} @LD_NO_UNDEFINED@ $(LDFLAGS) $(PERLLDOPTS_FOR_LIBS) $(LIB_LD_LIBS) @AGENTLIBS@ $(LIB_LD_CMD) $(AGENTLIB) ${LLIBAGENTOBJS} $(USELIBS) ${LAGENTLIBS} $(LDFLAGS) $(PERLLDOPTS_FOR_LIBS) @AGENTLIBS@
$(RANLIB) $(AGENTLIB) $(RANLIB) $(AGENTLIB)
libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION): ${LMIBOBJS} $(AGENTLIB) $(USELIBS) libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION): ${LMIBOBJS} $(AGENTLIB) $(USELIBS) subdirs
$(LIB_LD_CMD) $(MIBLIB) ${LMIBOBJS} $(AGENTLIB) $(USELIBS) @LD_NO_UNDEFINED@ $(LDFLAGS) ${LMIBLIBS} $(PERLLDOPTS_FOR_LIBS) $(LIB_LD_LIBS) @AGENTLIBS@ $(LIB_LD_CMD) $(MIBLIB) ${LMIBOBJS} $(AGENTLIB) $(USELIBS) $(LDFLAGS) ${LMIBLIBS} $(PERLLDOPTS_FOR_LIBS) @AGENTLIBS@
$(RANLIB) $(MIBLIB) $(RANLIB) $(MIBLIB)
agentlib: $(AGENTLIB) agentlib: $(AGENTLIB)

View File

@ -18,7 +18,7 @@
#include <sys/types.h> #include <sys/types.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#endif #endif
@ -27,9 +27,9 @@
#include <net-snmp/agent/bulk_to_next.h> #include <net-snmp/agent/bulk_to_next.h>
netsnmp_feature_child_of(agent_handler, libnetsnmpagent) netsnmp_feature_child_of(agent_handler, libnetsnmpagent);
netsnmp_feature_child_of(handler_mark_requests_as_delegated, agent_handler) netsnmp_feature_child_of(handler_mark_requests_as_delegated, agent_handler);
static netsnmp_mib_handler *_clone_handler(netsnmp_mib_handler *it); static netsnmp_mib_handler *_clone_handler(netsnmp_mib_handler *it);
@ -667,7 +667,7 @@ netsnmp_call_next_handler(netsnmp_mib_handler *current,
* *
* @return Returns SNMPERR_SUCCESS or SNMP_ERR_* error code. * @return Returns SNMPERR_SUCCESS or SNMP_ERR_* error code.
*/ */
netsnmp_feature_child_of(netsnmp_call_next_handler_one_request,netsnmp_unused) netsnmp_feature_child_of(netsnmp_call_next_handler_one_request,netsnmp_unused);
#ifndef NETSNMP_FEATURE_REMOVE_NETSNMP_CALL_NEXT_HANDLER_ONE_REQUEST #ifndef NETSNMP_FEATURE_REMOVE_NETSNMP_CALL_NEXT_HANDLER_ONE_REQUEST
NETSNMP_INLINE int NETSNMP_INLINE int
netsnmp_call_next_handler_one_request(netsnmp_mib_handler *current, netsnmp_call_next_handler_one_request(netsnmp_mib_handler *current,
@ -806,56 +806,51 @@ netsnmp_handler_registration_dup(netsnmp_handler_registration *reginfo)
{ {
netsnmp_handler_registration *r = NULL; netsnmp_handler_registration *r = NULL;
if (reginfo == NULL) { if (reginfo == NULL)
return NULL; return NULL;
}
r = calloc(1, sizeof(netsnmp_handler_registration));
r = (netsnmp_handler_registration *) calloc(1, if (!r)
sizeof
(netsnmp_handler_registration));
if (r != NULL) {
r->modes = reginfo->modes;
r->priority = reginfo->priority;
r->range_subid = reginfo->range_subid;
r->timeout = reginfo->timeout;
r->range_ubound = reginfo->range_ubound;
r->rootoid_len = reginfo->rootoid_len;
if (reginfo->handlerName != NULL) {
r->handlerName = strdup(reginfo->handlerName);
if (r->handlerName == NULL) {
netsnmp_handler_registration_free(r);
return NULL;
}
}
if (reginfo->contextName != NULL) {
r->contextName = strdup(reginfo->contextName);
if (r->contextName == NULL) {
netsnmp_handler_registration_free(r);
return NULL;
}
}
if (reginfo->rootoid != NULL) {
r->rootoid =
snmp_duplicate_objid(reginfo->rootoid, reginfo->rootoid_len);
if (r->rootoid == NULL) {
netsnmp_handler_registration_free(r);
return NULL;
}
}
r->handler = netsnmp_handler_dup(reginfo->handler);
if (r->handler == NULL) {
netsnmp_handler_registration_free(r);
return NULL;
}
return r; return r;
r->modes = reginfo->modes;
r->priority = reginfo->priority;
r->range_subid = reginfo->range_subid;
r->timeout = reginfo->timeout;
r->range_ubound = reginfo->range_ubound;
r->rootoid_len = reginfo->rootoid_len;
if (reginfo->handlerName != NULL) {
r->handlerName = strdup(reginfo->handlerName);
if (r->handlerName == NULL)
goto err;
} }
if (reginfo->contextName != NULL) {
r->contextName = strdup(reginfo->contextName);
if (r->contextName == NULL)
goto err;
}
if (reginfo->rootoid != NULL) {
/*
* + 1 to make the following code safe:
* reginfo->rootoid[reginfo->rootoid_len++] = 0;
* See also netsnmp_scalar_helper_handler().
*/
r->rootoid = malloc((reginfo->rootoid_len + 1) * sizeof(oid));
if (r->rootoid == NULL)
goto err;
memcpy(r->rootoid, reginfo->rootoid,
reginfo->rootoid_len * sizeof(oid));
}
r->handler = netsnmp_handler_dup(reginfo->handler);
if (r->handler == NULL)
goto err;
return r;
err:
netsnmp_handler_registration_free(r);
return NULL; return NULL;
} }

View File

@ -10,26 +10,26 @@
#include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-features.h> #include <net-snmp/net-snmp-features.h>
#include <signal.h> #include <signal.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#endif #endif
#if HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#include <sys/types.h> #include <sys/types.h>
#include <stdio.h> #include <stdio.h>
#include <fcntl.h> #include <fcntl.h>
#if TIME_WITH_SYS_TIME #ifdef TIME_WITH_SYS_TIME
# include <sys/time.h> # include <sys/time.h>
# include <time.h> # include <time.h>
#else #else
# if HAVE_SYS_TIME_H # ifdef HAVE_SYS_TIME_H
# include <sys/time.h> # include <sys/time.h>
# else # else
# include <time.h> # include <time.h>
# endif # endif
#endif #endif
#if HAVE_NETINET_IN_H #ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif #endif
@ -49,9 +49,9 @@
#include "agentx/client.h" #include "agentx/client.h"
#endif #endif
netsnmp_feature_child_of(agent_index_all, libnetsnmpagent) netsnmp_feature_child_of(agent_index_all, libnetsnmpagent);
netsnmp_feature_child_of(remove_index, agent_index_all) netsnmp_feature_child_of(remove_index, agent_index_all);
/* /*
* Initial support for index allocation * Initial support for index allocation
@ -454,7 +454,7 @@ register_index(netsnmp_variable_list * varbind, int flags,
* Release an allocated index, * Release an allocated index,
* to allow it to be used elsewhere * to allow it to be used elsewhere
*/ */
netsnmp_feature_child_of(release_index,netsnmp_unused) netsnmp_feature_child_of(release_index,netsnmp_unused);
#ifndef NETSNMP_FEATURE_REMOVE_RELEASE_INDEX #ifndef NETSNMP_FEATURE_REMOVE_RELEASE_INDEX
int int
release_index(netsnmp_variable_list * varbind) release_index(netsnmp_variable_list * varbind)
@ -597,7 +597,7 @@ unregister_index(netsnmp_variable_list * varbind, int remember,
return SNMP_ERR_NOERROR; return SNMP_ERR_NOERROR;
} }
netsnmp_feature_child_of(unregister_indexes,netsnmp_unused) netsnmp_feature_child_of(unregister_indexes,netsnmp_unused);
#ifndef NETSNMP_FEATURE_REMOVE_UNREGISTER_INDEXES #ifndef NETSNMP_FEATURE_REMOVE_UNREGISTER_INDEXES
int int
unregister_string_index(oid * name, size_t name_len, char *cp) unregister_string_index(oid * name, size_t name_len, char *cp)
@ -704,7 +704,7 @@ dump_idx_registry(void)
} }
} }
netsnmp_feature_child_of(count_indexes, netsnmp_unused) netsnmp_feature_child_of(count_indexes, netsnmp_unused);
#ifndef NETSNMP_FEATURE_REMOVE_UNUSED #ifndef NETSNMP_FEATURE_REMOVE_UNUSED
unsigned long unsigned long
count_indexes(oid * name, size_t namelen, int include_unallocated) count_indexes(oid * name, size_t namelen, int include_unallocated)

View File

@ -10,15 +10,15 @@
#include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-features.h> #include <net-snmp/net-snmp-features.h>
#if HAVE_SYS_PARAM_H #ifdef HAVE_SYS_PARAM_H
#include <sys/param.h> #include <sys/param.h>
#else #else
#include <sys/types.h> #include <sys/types.h>
#endif #endif
#if HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
@ -27,36 +27,36 @@
#include <ctype.h> #include <ctype.h>
#include <errno.h> #include <errno.h>
#if TIME_WITH_SYS_TIME #ifdef TIME_WITH_SYS_TIME
# include <sys/time.h> # include <sys/time.h>
# include <time.h> # include <time.h>
#else #else
# if HAVE_SYS_TIME_H # ifdef HAVE_SYS_TIME_H
# include <sys/time.h> # include <sys/time.h>
# else # else
# include <time.h> # include <time.h>
# endif # endif
#endif #endif
#if HAVE_NETINET_IN_H #ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif #endif
#if HAVE_NETINET_IN_SYSTM_H #ifdef HAVE_NETINET_IN_SYSTM_H
#include <netinet/in_systm.h> #include <netinet/in_systm.h>
#endif #endif
#if HAVE_NETINET_IP_H #ifdef HAVE_NETINET_IP_H
#include <netinet/ip.h> #include <netinet/ip.h>
#endif #endif
#ifdef NETSNMP_ENABLE_IPV6 #ifdef NETSNMP_ENABLE_IPV6
#if HAVE_NETINET_IP6_H #ifdef HAVE_NETINET_IP6_H
#include <netinet/ip6.h> #include <netinet/ip6.h>
#endif #endif
#endif #endif
#if HAVE_SYS_QUEUE_H #ifdef HAVE_SYS_QUEUE_H
#include <sys/queue.h> #include <sys/queue.h>
#endif #endif
#if HAVE_SYS_SOCKET_H #ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h> #include <sys/socket.h>
#if HAVE_SYS_SOCKETVAR_H #ifdef HAVE_SYS_SOCKETVAR_H
#ifndef dynix #ifndef dynix
#include <sys/socketvar.h> #include <sys/socketvar.h>
#else #else
@ -64,31 +64,31 @@
#endif #endif
#endif #endif
#endif #endif
#if HAVE_SYS_STREAM_H #ifdef HAVE_SYS_STREAM_H
# ifdef sysv5UnixWare7 # ifdef sysv5UnixWare7
# define _KMEMUSER 1 /* <sys/stream.h> needs this for queue_t */ # define _KMEMUSER 1 /* <sys/stream.h> needs this for queue_t */
# endif # endif
#include <sys/stream.h> #include <sys/stream.h>
#endif #endif
#if HAVE_NET_ROUTE_H #ifdef HAVE_NET_ROUTE_H
#include <net/route.h> #include <net/route.h>
#endif #endif
#if HAVE_NETINET_IP_VAR_H #ifdef HAVE_NETINET_IP_VAR_H
#include <netinet/ip_var.h> #include <netinet/ip_var.h>
#endif #endif
#ifdef NETSNMP_ENABLE_IPV6 #ifdef NETSNMP_ENABLE_IPV6
#if HAVE_NETNETSNMP_ENABLE_IPV6_IP6_VAR_H #ifdef HAVE_NETNETSNMP_ENABLE_IPV6_IP6_VAR_H
#include <netinet6/ip6_var.h> #include <netinet6/ip6_var.h>
#endif #endif
#endif #endif
#if HAVE_NETINET_IN_PCB_H #ifdef HAVE_NETINET_IN_PCB_H
#include <netinet/in_pcb.h> #include <netinet/in_pcb.h>
#endif #endif
#if HAVE_INET_MIB2_H #ifdef HAVE_INET_MIB2_H
#include <inet/mib2.h> #include <inet/mib2.h>
#endif #endif
#if HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif #endif
#ifdef HAVE_PWD_H #ifdef HAVE_PWD_H
@ -112,13 +112,38 @@
#include "agent_module_includes.h" #include "agent_module_includes.h"
#include "mib_module_includes.h" #include "mib_module_includes.h"
netsnmp_feature_child_of(agent_read_config_all, libnetsnmpagent) netsnmp_feature_child_of(agent_read_config_all, libnetsnmpagent);
netsnmp_feature_child_of(snmpd_unregister_config_handler, agent_read_config_all) netsnmp_feature_child_of(snmpd_unregister_config_handler, agent_read_config_all);
void netsnmp_set_agent_user_id(int uid)
{
static int agent_user_id = -1;
if (agent_user_id != -1 && uid != agent_user_id) {
snmp_log(LOG_ERR, "User ID has already been set -- can not change\n");
return;
}
agent_user_id = uid;
netsnmp_ds_set_int(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_USERID, uid);
}
void netsnmp_set_agent_group_id(int gid)
{
static int agent_group_id = -1;
if (agent_group_id != -1 && gid != agent_group_id) {
snmp_log(LOG_ERR, "Group ID has already been set -- can not change\n");
return;
}
agent_group_id = gid;
netsnmp_ds_set_int(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_GROUPID,
gid);
}
#ifdef HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
void void
snmpd_set_agent_user(const char *token, char *cptr) netsnmp_parse_agent_user(const char *token, char *cptr)
{ {
if (cptr[0] == '#') { if (cptr[0] == '#') {
char *ecp; char *ecp;
@ -128,8 +153,7 @@ snmpd_set_agent_user(const char *token, char *cptr)
if (*ecp != 0) { if (*ecp != 0) {
config_perror("Bad number"); config_perror("Bad number");
} else { } else {
netsnmp_ds_set_int(NETSNMP_DS_APPLICATION_ID, netsnmp_set_agent_user_id(uid);
NETSNMP_DS_AGENT_USERID, uid);
} }
#if defined(HAVE_GETPWNAM) && defined(HAVE_PWD_H) #if defined(HAVE_GETPWNAM) && defined(HAVE_PWD_H)
} else { } else {
@ -137,8 +161,7 @@ snmpd_set_agent_user(const char *token, char *cptr)
info = getpwnam(cptr); info = getpwnam(cptr);
if (info) if (info)
netsnmp_ds_set_int(NETSNMP_DS_APPLICATION_ID, netsnmp_set_agent_user_id(info->pw_uid);
NETSNMP_DS_AGENT_USERID, info->pw_uid);
else else
config_perror("User not found in passwd database"); config_perror("User not found in passwd database");
endpwent(); endpwent();
@ -147,7 +170,7 @@ snmpd_set_agent_user(const char *token, char *cptr)
} }
void void
snmpd_set_agent_group(const char *token, char *cptr) netsnmp_parse_agent_group(const char *token, char *cptr)
{ {
if (cptr[0] == '#') { if (cptr[0] == '#') {
char *ecp; char *ecp;
@ -156,8 +179,7 @@ snmpd_set_agent_group(const char *token, char *cptr)
if (*ecp != 0) { if (*ecp != 0) {
config_perror("Bad number"); config_perror("Bad number");
} else { } else {
netsnmp_ds_set_int(NETSNMP_DS_APPLICATION_ID, netsnmp_set_agent_group_id(gid);
NETSNMP_DS_AGENT_GROUPID, gid);
} }
#if defined(HAVE_GETGRNAM) && defined(HAVE_GRP_H) #if defined(HAVE_GETGRNAM) && defined(HAVE_GRP_H)
} else { } else {
@ -165,8 +187,7 @@ snmpd_set_agent_group(const char *token, char *cptr)
info = getgrnam(cptr); info = getgrnam(cptr);
if (info) if (info)
netsnmp_ds_set_int(NETSNMP_DS_APPLICATION_ID, netsnmp_set_agent_group_id(info->gr_gid);
NETSNMP_DS_AGENT_GROUPID, info->gr_gid);
else else
config_perror("Group not found in group database"); config_perror("Group not found in group database");
endgrent(); endgrent();
@ -193,7 +214,6 @@ snmpd_set_agent_address(const char *token, char *cptr)
* append to the older specification string * append to the older specification string
*/ */
snprintf(buf, sizeof(buf), "%s,%s", ptr, cptr); snprintf(buf, sizeof(buf), "%s,%s", ptr, cptr);
buf[sizeof(buf) - 1] = '\0';
} else { } else {
strlcpy(buf, cptr, sizeof(buf)); strlcpy(buf, cptr, sizeof(buf));
} }
@ -256,9 +276,9 @@ init_agent_read_config(const char *app)
NETSNMP_DS_AGENT_TRAP_ADDR); NETSNMP_DS_AGENT_TRAP_ADDR);
#ifdef HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
register_app_config_handler("agentuser", register_app_config_handler("agentuser",
snmpd_set_agent_user, NULL, "userid"); netsnmp_parse_agent_user, NULL, "userid");
register_app_config_handler("agentgroup", register_app_config_handler("agentgroup",
snmpd_set_agent_group, NULL, "groupid"); netsnmp_parse_agent_group, NULL, "groupid");
#endif #endif
#ifndef NETSNMP_NO_LISTEN_SUPPORT #ifndef NETSNMP_NO_LISTEN_SUPPORT
register_app_config_handler("agentaddress", register_app_config_handler("agentaddress",
@ -333,7 +353,7 @@ snmpd_register_const_config_handler(const char *token,
} }
#ifdef NETSNMP_FEATURE_REQUIRE_SNMPD_UNREGISTER_CONFIG_HANDLER #ifdef NETSNMP_FEATURE_REQUIRE_SNMPD_UNREGISTER_CONFIG_HANDLER
netsnmp_feature_require(unregister_app_config_handler) netsnmp_feature_require(unregister_app_config_handler);
#endif /* NETSNMP_FEATURE_REQUIRE_SNMPD_UNREGISTER_CONFIG_HANDLER */ #endif /* NETSNMP_FEATURE_REQUIRE_SNMPD_UNREGISTER_CONFIG_HANDLER */
#ifndef NETSNMP_FEATURE_REMOVE_SNMPD_UNREGISTER_CONFIG_HANDLER #ifndef NETSNMP_FEATURE_REMOVE_SNMPD_UNREGISTER_CONFIG_HANDLER

View File

@ -30,26 +30,26 @@
#include <net-snmp/net-snmp-features.h> #include <net-snmp/net-snmp-features.h>
#include <signal.h> #include <signal.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#endif #endif
#if HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#include <sys/types.h> #include <sys/types.h>
#include <stdio.h> #include <stdio.h>
#include <fcntl.h> #include <fcntl.h>
#if TIME_WITH_SYS_TIME #ifdef TIME_WITH_SYS_TIME
# include <sys/time.h> # include <sys/time.h>
# include <time.h> # include <time.h>
#else #else
# if HAVE_SYS_TIME_H # ifdef HAVE_SYS_TIME_H
# include <sys/time.h> # include <sys/time.h>
# else # else
# include <time.h> # include <time.h>
# endif # endif
#endif #endif
#if HAVE_NETINET_IN_H #ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif #endif
@ -73,9 +73,9 @@
#include "agentx/client.h" #include "agentx/client.h"
#endif #endif
netsnmp_feature_child_of(agent_registry_all, libnetsnmpagent) netsnmp_feature_child_of(agent_registry_all, libnetsnmpagent);
netsnmp_feature_child_of(unregister_mib_table_row, agent_registry_all) netsnmp_feature_child_of(unregister_mib_table_row, agent_registry_all);
/** @defgroup agent_lookup_cache Lookup cache, storing the registered OIDs. /** @defgroup agent_lookup_cache Lookup cache, storing the registered OIDs.
* Maintain the cache used for locating sub-trees and OIDs. * Maintain the cache used for locating sub-trees and OIDs.
@ -561,7 +561,7 @@ netsnmp_subtree_change_prev(netsnmp_subtree *ptr, netsnmp_subtree *theprev)
&ptr->oid_off); &ptr->oid_off);
} }
netsnmp_feature_child_of(netsnmp_subtree_compare,netsnmp_unused) netsnmp_feature_child_of(netsnmp_subtree_compare,netsnmp_unused);
#ifndef NETSNMP_FEATURE_REMOVE_NETSNMP_SUBTREE_COMPARE #ifndef NETSNMP_FEATURE_REMOVE_NETSNMP_SUBTREE_COMPARE
/** Compares OIDs of given subtrees. /** Compares OIDs of given subtrees.
* *
@ -1278,7 +1278,6 @@ netsnmp_register_mib(const char *moduleName,
reg_parms.range_ubound = range_ubound; reg_parms.range_ubound = range_ubound;
reg_parms.timeout = timeout; reg_parms.timeout = timeout;
reg_parms.flags = (u_char) flags; reg_parms.flags = (u_char) flags;
reg_parms.contextName = context;
reg_parms.session = ss; reg_parms.session = ss;
reg_parms.reginfo = reginfo; reg_parms.reginfo = reginfo;
reg_parms.contextName = context; reg_parms.contextName = context;
@ -2167,7 +2166,7 @@ netsnmp_acm_check_subtree(netsnmp_pdu *pdu, oid *name, size_t namelen)
return 1; return 1;
} }
netsnmp_feature_child_of(get_session_for_oid,netsnmp_unused) netsnmp_feature_child_of(get_session_for_oid,netsnmp_unused);
#ifndef NETSNMP_FEATURE_REMOVE_GET_SESSION_FOR_OID #ifndef NETSNMP_FEATURE_REMOVE_GET_SESSION_FOR_OID
netsnmp_session * netsnmp_session *
get_session_for_oid(const oid *name, size_t len, const char *context_name) get_session_for_oid(const oid *name, size_t len, const char *context_name)
@ -2334,7 +2333,7 @@ dump_registry(void)
/* End of MIB registration code */ /* End of MIB registration code */
netsnmp_feature_child_of(register_signal, netsnmp_unused) netsnmp_feature_child_of(register_signal, netsnmp_unused);
#ifndef NETSNMP_FEATURE_REMOVE_REGISTER_SIGNAL #ifndef NETSNMP_FEATURE_REMOVE_REGISTER_SIGNAL
/** @defgroup agent_signals POSIX signals support for agents. /** @defgroup agent_signals POSIX signals support for agents.

View File

@ -1,8 +1,8 @@
#include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-config.h>
#if HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>

View File

@ -25,34 +25,34 @@
#include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-features.h> #include <net-snmp/net-snmp-features.h>
#if HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif #endif
#if HAVE_NETDB_H #ifdef HAVE_NETDB_H
#include <netdb.h> #include <netdb.h>
#endif #endif
#if HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
#endif #endif
#if TIME_WITH_SYS_TIME #ifdef TIME_WITH_SYS_TIME
# include <sys/time.h> # include <sys/time.h>
# include <time.h> # include <time.h>
#else #else
# if HAVE_SYS_TIME_H # ifdef HAVE_SYS_TIME_H
# include <sys/time.h> # include <sys/time.h>
# else # else
# include <time.h> # include <time.h>
# endif # endif
#endif #endif
#if HAVE_SYS_SOCKET_H #ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h> #include <sys/socket.h>
#endif #endif
#if HAVE_NETINET_IN_H #ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif #endif
#include <net-snmp/utilities.h> #include <net-snmp/utilities.h>
@ -75,13 +75,13 @@
#include "mibgroup/notification/snmpNotifyTable_data.h" #include "mibgroup/notification/snmpNotifyTable_data.h"
#endif #endif
netsnmp_feature_child_of(agent_trap_all, libnetsnmpagent) netsnmp_feature_child_of(agent_trap_all, libnetsnmpagent);
netsnmp_feature_child_of(trap_vars_with_context, agent_trap_all) netsnmp_feature_child_of(trap_vars_with_context, agent_trap_all);
netsnmp_feature_child_of(remove_trap_session, agent_trap_all) netsnmp_feature_child_of(remove_trap_session, agent_trap_all);
netsnmp_feature_child_of(send_v3trap,netsnmp_unused) netsnmp_feature_child_of(send_v3trap,netsnmp_unused);
netsnmp_feature_child_of(send_trap_pdu,netsnmp_unused) netsnmp_feature_child_of(send_trap_pdu,netsnmp_unused);
struct trap_sink { struct trap_sink {
netsnmp_session *sesp; netsnmp_session *sesp;
@ -92,11 +92,6 @@ struct trap_sink {
struct trap_sink *sinks = NULL; struct trap_sink *sinks = NULL;
#ifndef NETSNMP_DISABLE_SNMPV1
static int _v1_sessions = 0;
#endif /* NETSNMP_DISABLE_SNMPV1 */
static int _v2_sessions = 0;
const oid objid_enterprisetrap[] = { NETSNMP_NOTIFICATION_MIB }; const oid objid_enterprisetrap[] = { NETSNMP_NOTIFICATION_MIB };
const oid trap_version_id[] = { NETSNMP_SYSTEM_MIB }; const oid trap_version_id[] = { NETSNMP_SYSTEM_MIB };
const int enterprisetrap_len = OID_LENGTH(objid_enterprisetrap); const int enterprisetrap_len = OID_LENGTH(objid_enterprisetrap);
@ -159,55 +154,6 @@ free_trap_session(struct trap_sink *sp)
free(sp); free(sp);
} }
static void
_trap_version_incr(int version)
{
switch (version) {
#ifndef NETSNMP_DISABLE_SNMPV1
case SNMP_VERSION_1:
++_v1_sessions;
break;
#endif
#ifndef NETSNMP_DISABLE_SNMPV2C
case SNMP_VERSION_2c:
#endif
case SNMP_VERSION_3:
++_v2_sessions;
break;
default:
snmp_log(LOG_ERR, "unknown snmp version %d\n", version);
}
return;
}
static void
_trap_version_decr(int version)
{
switch (version) {
#ifndef NETSNMP_DISABLE_SNMPV1
case SNMP_VERSION_1:
if (--_v1_sessions < 0) {
snmp_log(LOG_ERR,"v1 session count < 0! fixed.\n");
_v1_sessions = 0;
}
break;
#endif
#ifndef NETSNMP_DISABLE_SNMPV2C
case SNMP_VERSION_2c:
#endif
case SNMP_VERSION_3:
if (--_v2_sessions < 0) {
snmp_log(LOG_ERR,"v2 session count < 0! fixed.\n");
_v2_sessions = 0;
}
break;
default:
snmp_log(LOG_ERR, "unknown snmp version %d\n", version);
}
return;
}
#ifndef NETSNMP_NO_TRAP_STATS #ifndef NETSNMP_NO_TRAP_STATS
static void static void
_dump_trap_stats(netsnmp_session *sess) _dump_trap_stats(netsnmp_session *sess)
@ -285,8 +231,6 @@ netsnmp_add_notification_session(netsnmp_session * ss, int pdutype,
sinks = new_sink; sinks = new_sink;
} }
_trap_version_incr(version);
return 1; return 1;
} }
@ -338,7 +282,6 @@ remove_trap_session(netsnmp_session * ss)
} else { } else {
sinks = sp->next; sinks = sp->next;
} }
_trap_version_decr(ss->version);
/* /*
* I don't believe you *really* want to close the session here; * I don't believe you *really* want to close the session here;
* it may still be in use for other purposes. In particular this * it may still be in use for other purposes. In particular this
@ -490,7 +433,6 @@ snmpd_free_trapsinks(void)
DEBUGMSGTL(("trap", "freeing trap sessions\n")); DEBUGMSGTL(("trap", "freeing trap sessions\n"));
while (sp) { while (sp) {
sinks = sinks->next; sinks = sinks->next;
_trap_version_decr(sp->version);
free_trap_session(sp); free_trap_session(sp);
sp = sinks; sp = sinks;
} }
@ -1025,11 +967,11 @@ netsnmp_send_traps(int trap, int specific,
} }
} }
#ifndef NETSNMP_DISABLE_SNMPV1 #ifndef NETSNMP_DISABLE_SNMPV1
if (template_v1pdu && _v1_sessions) if (template_v1pdu)
snmp_call_callbacks(SNMP_CALLBACK_APPLICATION, snmp_call_callbacks(SNMP_CALLBACK_APPLICATION,
SNMPD_CALLBACK_SEND_TRAP1, template_v1pdu); SNMPD_CALLBACK_SEND_TRAP1, template_v1pdu);
#endif #endif
if (template_v2pdu && _v2_sessions) if (template_v2pdu)
snmp_call_callbacks(SNMP_CALLBACK_APPLICATION, snmp_call_callbacks(SNMP_CALLBACK_APPLICATION,
SNMPD_CALLBACK_SEND_TRAP2, template_v2pdu); SNMPD_CALLBACK_SEND_TRAP2, template_v2pdu);
snmp_free_pdu(template_v1pdu); snmp_free_pdu(template_v1pdu);
@ -1219,8 +1161,19 @@ send_trap_to_sess(netsnmp_session * sess, netsnmp_pdu *template_pdu)
template_pdu->command, sess->version)); template_pdu->command, sess->version));
return; return;
} }
DEBUGMSGTL(("trap", "sending trap type=%d, version=%ld\n", DEBUGIF("trap") {
template_pdu->command, sess->version)); struct session_list *sessp = snmp_sess_pointer(sess);
netsnmp_transport *t = sessp->transport;
const void *dst = template_pdu->transport_data;
const int dst_len = template_pdu->transport_data_length;
char *peer = NULL;
if (t && t->f_fmtaddr)
peer = t->f_fmtaddr(t, dst, dst_len);
DEBUGMSGTL(("trap", "sending trap type=%d, version=%ld to %s\n",
template_pdu->command, sess->version, peer ? peer : "(?)"));
free(peer);
}
#ifndef NETSNMP_DISABLE_SNMPV1 #ifndef NETSNMP_DISABLE_SNMPV1
if (sess->version == SNMP_VERSION_1 && if (sess->version == SNMP_VERSION_1 &&
@ -1603,8 +1556,7 @@ netsnmp_create_v3user_notification_session(const char *dest, const char *user,
engineId = tmp_engineId; engineId = tmp_engineId;
} }
usmUser = usm_get_user(NETSNMP_REMOVE_CONST(u_char *,engineId), usmUser = usm_get_user(engineId, engineId_len, user);
engineId_len, NETSNMP_REMOVE_CONST(char *,user));
if (NULL == usmUser) { if (NULL == usmUser) {
DEBUGMSGTL(("trap:v3user_notif_sess", "usmUser %s not found\n", user)); DEBUGMSGTL(("trap:v3user_notif_sess", "usmUser %s not found\n", user));
return NULL; return NULL;
@ -1701,7 +1653,7 @@ netsnmp_create_v3user_notification_session(const char *dest, const char *user,
ss->version, notif_name, notif_tag, ss->version, notif_name, notif_tag,
notif_profile) != 1) { notif_profile) != 1) {
DEBUGMSGTL(("trap:v3user_notif_sess", "add notification failed\n")); DEBUGMSGTL(("trap:v3user_notif_sess", "add notification failed\n"));
snmp_sess_close(ss); snmp_close(ss);
ss = NULL; ss = NULL;
goto bail; goto bail;
} }
@ -1710,6 +1662,7 @@ netsnmp_create_v3user_notification_session(const char *dest, const char *user,
/** free any allocated mem in session */ /** free any allocated mem in session */
SNMP_FREE(session.securityAuthProto); SNMP_FREE(session.securityAuthProto);
SNMP_FREE(session.securityPrivProto); SNMP_FREE(session.securityPrivProto);
SNMP_FREE(session.contextEngineID);
return ss; return ss;
} }
@ -1735,14 +1688,17 @@ snmpd_parse_config_trapsess(const char *word, char *cptr)
if (strncmp(cp, "-profile", 8) == 0) { if (strncmp(cp, "-profile", 8) == 0) {
cp = skip_token(cp); cp = skip_token(cp);
cp = copy_nword(cp, tmp, SPRINT_MAX_LEN); cp = copy_nword(cp, tmp, SPRINT_MAX_LEN);
free(profile);
profile = strdup(tmp); profile = strdup(tmp);
} else if (strncmp(cp, "-name", 5) == 0) { } else if (strncmp(cp, "-name", 5) == 0) {
cp = skip_token(cp); cp = skip_token(cp);
cp = copy_nword(cp, tmp, SPRINT_MAX_LEN); cp = copy_nword(cp, tmp, SPRINT_MAX_LEN);
free(name);
name = strdup(tmp); name = strdup(tmp);
} else if (strncmp(cp, "-tag", 5) == 0) { } else if (strncmp(cp, "-tag", 4) == 0) {
cp = skip_token(cp); cp = skip_token(cp);
cp = copy_nword(cp, tmp, SPRINT_MAX_LEN); cp = copy_nword(cp, tmp, SPRINT_MAX_LEN);
free(tag);
tag = strdup(tmp); tag = strdup(tmp);
} else } else
break; break;
@ -1835,6 +1791,7 @@ snmpd_parse_config_trapsess(const char *word, char *cptr)
ss->version, name, tag, profile); ss->version, name, tag, profile);
cleanup: cleanup:
netsnmp_cleanup_session(&session);
SNMP_FREE(clientaddr_save); SNMP_FREE(clientaddr_save);
SNMP_FREE(profile); SNMP_FREE(profile);
SNMP_FREE(name); SNMP_FREE(name);

View File

@ -1,24 +1,23 @@
#include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-config.h>
#ifdef NETSNMP_CAN_USE_NLIST #ifdef NETSNMP_CAN_USE_NLIST
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
#endif #endif
#if HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>
#include <fcntl.h> #include <fcntl.h>
#include <netinet/in.h> #include <netinet/in.h>
#ifdef HAVE_NLIST_H #ifdef HAVE_KVM_H
#include <nlist.h>
#endif
#if HAVE_KVM_H
#include <kvm.h> #include <kvm.h>
#elif defined(HAVE_NLIST_H)
#include <nlist.h>
#endif #endif
#include <net-snmp/agent/auto_nlist.h> #include <net-snmp/agent/auto_nlist.h>
@ -52,9 +51,6 @@ auto_nlist_value(const char *string)
} }
} }
if (*ptr == 0) { if (*ptr == 0) {
#if !(defined(aix4) || defined(aix5) || defined(aix6) || defined(aix7))
static char *n_name = NULL;
#endif
*ptr = (struct autonlist *) malloc(sizeof(struct autonlist)); *ptr = (struct autonlist *) malloc(sizeof(struct autonlist));
memset(*ptr, 0, sizeof(struct autonlist)); memset(*ptr, 0, sizeof(struct autonlist));
it = *ptr; it = *ptr;
@ -72,17 +68,17 @@ auto_nlist_value(const char *string)
#elif defined(freebsd9) #elif defined(freebsd9)
sprintf(__DECONST(char*, it->nl[0].n_name), "_%s", string); sprintf(__DECONST(char*, it->nl[0].n_name), "_%s", string);
#else #else
{
static char *name;
if (n_name != NULL) free(name);
free(n_name); name = NULL;
if (asprintf(&name, "_%s", string) < 0) {
n_name = malloc(strlen(string) + 2); snmp_log(LOG_ERR, "nlist err: failed to allocate memory");
if (n_name == NULL) { return -1;
snmp_log(LOG_ERR, "nlist err: failed to allocate memory"); }
return (-1); it->nl[0].n_name = name;
} }
snprintf(n_name, strlen(string) + 2, "_%s", string);
it->nl[0].n_name = (const char*)n_name;
#endif #endif
it->nl[1].n_name = 0; it->nl[1].n_name = 0;
init_nlist(it->nl); init_nlist(it->nl);
@ -104,7 +100,7 @@ auto_nlist_value(const char *string)
return (-1); return (-1);
} }
strcpy(n_name2, string); strcpy(n_name2, string);
it->nl[0].n_name = (const char*)n_name2; it->nl[0].n_name = n_name2;
#endif #endif
init_nlist(it->nl); init_nlist(it->nl);
} }
@ -150,7 +146,7 @@ static void
init_nlist(struct nlist nl[]) init_nlist(struct nlist nl[])
{ {
int ret; int ret;
#if HAVE_KVM_OPENFILES #ifdef HAVE_KVM_OPENFILES
kvm_t *kernel; kvm_t *kernel;
char kvm_errbuf[4096]; char kvm_errbuf[4096];

View File

@ -1,6 +1,9 @@
# DO NOT DELETE THIS LINE -- make depend depends on it. # DO NOT DELETE THIS LINE -- make depend depends on it.
./all_helpers.lo: ../../include/net-snmp/net-snmp-config.h ./all_helpers.lo: ../../include/net-snmp/net-snmp-config.h
./all_helpers.lo: ../../include/net-snmp/system/linux.h
./all_helpers.lo: ../../include/net-snmp/system/sysv.h
./all_helpers.lo: ../../include/net-snmp/system/generic.h
./all_helpers.lo: ../../include/net-snmp/machine/generic.h ./all_helpers.lo: ../../include/net-snmp/machine/generic.h
./all_helpers.lo: ../../include/net-snmp/net-snmp-features.h ./all_helpers.lo: ../../include/net-snmp/net-snmp-features.h
./all_helpers.lo: ../../include/net-snmp/net-snmp-includes.h ./all_helpers.lo: ../../include/net-snmp/net-snmp-includes.h
@ -30,7 +33,9 @@
./all_helpers.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./all_helpers.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./all_helpers.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./all_helpers.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./all_helpers.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./all_helpers.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./all_helpers.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./all_helpers.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./all_helpers.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./all_helpers.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./all_helpers.lo: ../../include/net-snmp/library/ucd_compat.h ./all_helpers.lo: ../../include/net-snmp/library/ucd_compat.h
./all_helpers.lo: ../../include/net-snmp/library/mib.h ./all_helpers.lo: ../../include/net-snmp/library/mib.h
./all_helpers.lo: ../../include/net-snmp/mib_api.h ./all_helpers.lo: ../../include/net-snmp/mib_api.h
@ -49,7 +54,6 @@
./all_helpers.lo: ../../include/net-snmp/library/data_list.h ./all_helpers.lo: ../../include/net-snmp/library/data_list.h
./all_helpers.lo: ../../include/net-snmp/library/check_varbind.h ./all_helpers.lo: ../../include/net-snmp/library/check_varbind.h
./all_helpers.lo: ../../include/net-snmp/library/container.h ./all_helpers.lo: ../../include/net-snmp/library/container.h
./all_helpers.lo: ../../include/net-snmp/library/factory.h
./all_helpers.lo: ../../include/net-snmp/library/container_binary_array.h ./all_helpers.lo: ../../include/net-snmp/library/container_binary_array.h
./all_helpers.lo: ../../include/net-snmp/library/container_list_ssll.h ./all_helpers.lo: ../../include/net-snmp/library/container_list_ssll.h
./all_helpers.lo: ../../include/net-snmp/library/container_iterator.h ./all_helpers.lo: ../../include/net-snmp/library/container_iterator.h
@ -71,8 +75,8 @@
./all_helpers.lo: ../../include/net-snmp/library/lcd_time.h ./all_helpers.lo: ../../include/net-snmp/library/lcd_time.h
./all_helpers.lo: ../../include/net-snmp/library/snmp_secmod.h ./all_helpers.lo: ../../include/net-snmp/library/snmp_secmod.h
./all_helpers.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./all_helpers.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./all_helpers.lo: ../../include/net-snmp/library/snmptsm.h
./all_helpers.lo: ../../include/net-snmp/library/snmpusm.h ./all_helpers.lo: ../../include/net-snmp/library/snmpusm.h
./all_helpers.lo: ../../include/net-snmp/library/snmptsm.h
./all_helpers.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./all_helpers.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./all_helpers.lo: ../../include/net-snmp/agent/mib_module_config.h ./all_helpers.lo: ../../include/net-snmp/agent/mib_module_config.h
./all_helpers.lo: ../../include/net-snmp/agent/agent_module_config.h ./all_helpers.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -140,7 +144,9 @@
./baby_steps.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./baby_steps.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./baby_steps.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./baby_steps.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./baby_steps.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./baby_steps.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./baby_steps.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./baby_steps.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./baby_steps.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./baby_steps.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./baby_steps.lo: ../../include/net-snmp/library/ucd_compat.h ./baby_steps.lo: ../../include/net-snmp/library/ucd_compat.h
./baby_steps.lo: ../../include/net-snmp/library/mib.h ./baby_steps.lo: ../../include/net-snmp/library/mib.h
./baby_steps.lo: ../../include/net-snmp/mib_api.h ./baby_steps.lo: ../../include/net-snmp/mib_api.h
@ -159,7 +165,6 @@
./baby_steps.lo: ../../include/net-snmp/library/data_list.h ./baby_steps.lo: ../../include/net-snmp/library/data_list.h
./baby_steps.lo: ../../include/net-snmp/library/check_varbind.h ./baby_steps.lo: ../../include/net-snmp/library/check_varbind.h
./baby_steps.lo: ../../include/net-snmp/library/container.h ./baby_steps.lo: ../../include/net-snmp/library/container.h
./baby_steps.lo: ../../include/net-snmp/library/factory.h
./baby_steps.lo: ../../include/net-snmp/library/container_binary_array.h ./baby_steps.lo: ../../include/net-snmp/library/container_binary_array.h
./baby_steps.lo: ../../include/net-snmp/library/container_list_ssll.h ./baby_steps.lo: ../../include/net-snmp/library/container_list_ssll.h
./baby_steps.lo: ../../include/net-snmp/library/container_iterator.h ./baby_steps.lo: ../../include/net-snmp/library/container_iterator.h
@ -180,8 +185,8 @@
./baby_steps.lo: ../../include/net-snmp/library/lcd_time.h ./baby_steps.lo: ../../include/net-snmp/library/lcd_time.h
./baby_steps.lo: ../../include/net-snmp/library/snmp_secmod.h ./baby_steps.lo: ../../include/net-snmp/library/snmp_secmod.h
./baby_steps.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./baby_steps.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./baby_steps.lo: ../../include/net-snmp/library/snmptsm.h
./baby_steps.lo: ../../include/net-snmp/library/snmpusm.h ./baby_steps.lo: ../../include/net-snmp/library/snmpusm.h
./baby_steps.lo: ../../include/net-snmp/library/snmptsm.h
./baby_steps.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./baby_steps.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./baby_steps.lo: ../../include/net-snmp/agent/mib_module_config.h ./baby_steps.lo: ../../include/net-snmp/agent/mib_module_config.h
./baby_steps.lo: ../../include/net-snmp/agent/agent_module_config.h ./baby_steps.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -247,7 +252,9 @@
./bulk_to_next.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./bulk_to_next.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./bulk_to_next.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./bulk_to_next.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./bulk_to_next.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./bulk_to_next.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./bulk_to_next.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./bulk_to_next.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./bulk_to_next.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./bulk_to_next.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./bulk_to_next.lo: ../../include/net-snmp/library/ucd_compat.h ./bulk_to_next.lo: ../../include/net-snmp/library/ucd_compat.h
./bulk_to_next.lo: ../../include/net-snmp/library/mib.h ./bulk_to_next.lo: ../../include/net-snmp/library/mib.h
./bulk_to_next.lo: ../../include/net-snmp/mib_api.h ./bulk_to_next.lo: ../../include/net-snmp/mib_api.h
@ -267,7 +274,6 @@
./bulk_to_next.lo: ../../include/net-snmp/library/data_list.h ./bulk_to_next.lo: ../../include/net-snmp/library/data_list.h
./bulk_to_next.lo: ../../include/net-snmp/library/check_varbind.h ./bulk_to_next.lo: ../../include/net-snmp/library/check_varbind.h
./bulk_to_next.lo: ../../include/net-snmp/library/container.h ./bulk_to_next.lo: ../../include/net-snmp/library/container.h
./bulk_to_next.lo: ../../include/net-snmp/library/factory.h
./bulk_to_next.lo: ../../include/net-snmp/library/container_binary_array.h ./bulk_to_next.lo: ../../include/net-snmp/library/container_binary_array.h
./bulk_to_next.lo: ../../include/net-snmp/library/container_list_ssll.h ./bulk_to_next.lo: ../../include/net-snmp/library/container_list_ssll.h
./bulk_to_next.lo: ../../include/net-snmp/library/container_iterator.h ./bulk_to_next.lo: ../../include/net-snmp/library/container_iterator.h
@ -288,8 +294,8 @@
./bulk_to_next.lo: ../../include/net-snmp/library/lcd_time.h ./bulk_to_next.lo: ../../include/net-snmp/library/lcd_time.h
./bulk_to_next.lo: ../../include/net-snmp/library/snmp_secmod.h ./bulk_to_next.lo: ../../include/net-snmp/library/snmp_secmod.h
./bulk_to_next.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./bulk_to_next.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./bulk_to_next.lo: ../../include/net-snmp/library/snmptsm.h
./bulk_to_next.lo: ../../include/net-snmp/library/snmpusm.h ./bulk_to_next.lo: ../../include/net-snmp/library/snmpusm.h
./bulk_to_next.lo: ../../include/net-snmp/library/snmptsm.h
./bulk_to_next.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./bulk_to_next.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./bulk_to_next.lo: ../../include/net-snmp/agent/mib_module_config.h ./bulk_to_next.lo: ../../include/net-snmp/agent/mib_module_config.h
./bulk_to_next.lo: ../../include/net-snmp/agent/agent_module_config.h ./bulk_to_next.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -356,7 +362,9 @@
./cache_handler.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./cache_handler.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./cache_handler.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./cache_handler.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./cache_handler.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./cache_handler.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./cache_handler.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./cache_handler.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./cache_handler.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./cache_handler.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./cache_handler.lo: ../../include/net-snmp/library/ucd_compat.h ./cache_handler.lo: ../../include/net-snmp/library/ucd_compat.h
./cache_handler.lo: ../../include/net-snmp/library/mib.h ./cache_handler.lo: ../../include/net-snmp/library/mib.h
./cache_handler.lo: ../../include/net-snmp/mib_api.h ./cache_handler.lo: ../../include/net-snmp/mib_api.h
@ -375,7 +383,6 @@
./cache_handler.lo: ../../include/net-snmp/library/data_list.h ./cache_handler.lo: ../../include/net-snmp/library/data_list.h
./cache_handler.lo: ../../include/net-snmp/library/check_varbind.h ./cache_handler.lo: ../../include/net-snmp/library/check_varbind.h
./cache_handler.lo: ../../include/net-snmp/library/container.h ./cache_handler.lo: ../../include/net-snmp/library/container.h
./cache_handler.lo: ../../include/net-snmp/library/factory.h
./cache_handler.lo: ../../include/net-snmp/library/container_binary_array.h ./cache_handler.lo: ../../include/net-snmp/library/container_binary_array.h
./cache_handler.lo: ../../include/net-snmp/library/container_list_ssll.h ./cache_handler.lo: ../../include/net-snmp/library/container_list_ssll.h
./cache_handler.lo: ../../include/net-snmp/library/container_iterator.h ./cache_handler.lo: ../../include/net-snmp/library/container_iterator.h
@ -396,8 +403,8 @@
./cache_handler.lo: ../../include/net-snmp/library/lcd_time.h ./cache_handler.lo: ../../include/net-snmp/library/lcd_time.h
./cache_handler.lo: ../../include/net-snmp/library/snmp_secmod.h ./cache_handler.lo: ../../include/net-snmp/library/snmp_secmod.h
./cache_handler.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./cache_handler.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./cache_handler.lo: ../../include/net-snmp/library/snmptsm.h
./cache_handler.lo: ../../include/net-snmp/library/snmpusm.h ./cache_handler.lo: ../../include/net-snmp/library/snmpusm.h
./cache_handler.lo: ../../include/net-snmp/library/snmptsm.h
./cache_handler.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./cache_handler.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./cache_handler.lo: ../../include/net-snmp/agent/mib_module_config.h ./cache_handler.lo: ../../include/net-snmp/agent/mib_module_config.h
./cache_handler.lo: ../../include/net-snmp/agent/agent_module_config.h ./cache_handler.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -463,7 +470,9 @@
./debug_handler.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./debug_handler.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./debug_handler.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./debug_handler.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./debug_handler.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./debug_handler.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./debug_handler.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./debug_handler.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./debug_handler.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./debug_handler.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./debug_handler.lo: ../../include/net-snmp/library/ucd_compat.h ./debug_handler.lo: ../../include/net-snmp/library/ucd_compat.h
./debug_handler.lo: ../../include/net-snmp/library/mib.h ./debug_handler.lo: ../../include/net-snmp/library/mib.h
./debug_handler.lo: ../../include/net-snmp/mib_api.h ./debug_handler.lo: ../../include/net-snmp/mib_api.h
@ -483,7 +492,6 @@
./debug_handler.lo: ../../include/net-snmp/library/data_list.h ./debug_handler.lo: ../../include/net-snmp/library/data_list.h
./debug_handler.lo: ../../include/net-snmp/library/check_varbind.h ./debug_handler.lo: ../../include/net-snmp/library/check_varbind.h
./debug_handler.lo: ../../include/net-snmp/library/container.h ./debug_handler.lo: ../../include/net-snmp/library/container.h
./debug_handler.lo: ../../include/net-snmp/library/factory.h
./debug_handler.lo: ../../include/net-snmp/library/container_binary_array.h ./debug_handler.lo: ../../include/net-snmp/library/container_binary_array.h
./debug_handler.lo: ../../include/net-snmp/library/container_list_ssll.h ./debug_handler.lo: ../../include/net-snmp/library/container_list_ssll.h
./debug_handler.lo: ../../include/net-snmp/library/container_iterator.h ./debug_handler.lo: ../../include/net-snmp/library/container_iterator.h
@ -504,8 +512,8 @@
./debug_handler.lo: ../../include/net-snmp/library/lcd_time.h ./debug_handler.lo: ../../include/net-snmp/library/lcd_time.h
./debug_handler.lo: ../../include/net-snmp/library/snmp_secmod.h ./debug_handler.lo: ../../include/net-snmp/library/snmp_secmod.h
./debug_handler.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./debug_handler.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./debug_handler.lo: ../../include/net-snmp/library/snmptsm.h
./debug_handler.lo: ../../include/net-snmp/library/snmpusm.h ./debug_handler.lo: ../../include/net-snmp/library/snmpusm.h
./debug_handler.lo: ../../include/net-snmp/library/snmptsm.h
./debug_handler.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./debug_handler.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./debug_handler.lo: ../../include/net-snmp/agent/mib_module_config.h ./debug_handler.lo: ../../include/net-snmp/agent/mib_module_config.h
./debug_handler.lo: ../../include/net-snmp/agent/agent_module_config.h ./debug_handler.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -572,7 +580,9 @@
./instance.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./instance.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./instance.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./instance.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./instance.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./instance.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./instance.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./instance.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./instance.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./instance.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./instance.lo: ../../include/net-snmp/library/ucd_compat.h ./instance.lo: ../../include/net-snmp/library/ucd_compat.h
./instance.lo: ../../include/net-snmp/library/mib.h ./instance.lo: ../../include/net-snmp/library/mib.h
./instance.lo: ../../include/net-snmp/mib_api.h ./instance.lo: ../../include/net-snmp/mib_api.h
@ -591,7 +601,6 @@
./instance.lo: ../../include/net-snmp/library/data_list.h ./instance.lo: ../../include/net-snmp/library/data_list.h
./instance.lo: ../../include/net-snmp/library/check_varbind.h ./instance.lo: ../../include/net-snmp/library/check_varbind.h
./instance.lo: ../../include/net-snmp/library/container.h ./instance.lo: ../../include/net-snmp/library/container.h
./instance.lo: ../../include/net-snmp/library/factory.h
./instance.lo: ../../include/net-snmp/library/container_binary_array.h ./instance.lo: ../../include/net-snmp/library/container_binary_array.h
./instance.lo: ../../include/net-snmp/library/container_list_ssll.h ./instance.lo: ../../include/net-snmp/library/container_list_ssll.h
./instance.lo: ../../include/net-snmp/library/container_iterator.h ./instance.lo: ../../include/net-snmp/library/container_iterator.h
@ -612,8 +621,8 @@
./instance.lo: ../../include/net-snmp/library/lcd_time.h ./instance.lo: ../../include/net-snmp/library/lcd_time.h
./instance.lo: ../../include/net-snmp/library/snmp_secmod.h ./instance.lo: ../../include/net-snmp/library/snmp_secmod.h
./instance.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./instance.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./instance.lo: ../../include/net-snmp/library/snmptsm.h
./instance.lo: ../../include/net-snmp/library/snmpusm.h ./instance.lo: ../../include/net-snmp/library/snmpusm.h
./instance.lo: ../../include/net-snmp/library/snmptsm.h
./instance.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./instance.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./instance.lo: ../../include/net-snmp/agent/mib_module_config.h ./instance.lo: ../../include/net-snmp/agent/mib_module_config.h
./instance.lo: ../../include/net-snmp/agent/agent_module_config.h ./instance.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -680,7 +689,9 @@
./mode_end_call.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./mode_end_call.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./mode_end_call.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./mode_end_call.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./mode_end_call.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./mode_end_call.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./mode_end_call.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./mode_end_call.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./mode_end_call.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./mode_end_call.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./mode_end_call.lo: ../../include/net-snmp/library/ucd_compat.h ./mode_end_call.lo: ../../include/net-snmp/library/ucd_compat.h
./mode_end_call.lo: ../../include/net-snmp/library/mib.h ./mode_end_call.lo: ../../include/net-snmp/library/mib.h
./mode_end_call.lo: ../../include/net-snmp/mib_api.h ./mode_end_call.lo: ../../include/net-snmp/mib_api.h
@ -699,7 +710,6 @@
./mode_end_call.lo: ../../include/net-snmp/library/data_list.h ./mode_end_call.lo: ../../include/net-snmp/library/data_list.h
./mode_end_call.lo: ../../include/net-snmp/library/check_varbind.h ./mode_end_call.lo: ../../include/net-snmp/library/check_varbind.h
./mode_end_call.lo: ../../include/net-snmp/library/container.h ./mode_end_call.lo: ../../include/net-snmp/library/container.h
./mode_end_call.lo: ../../include/net-snmp/library/factory.h
./mode_end_call.lo: ../../include/net-snmp/library/container_binary_array.h ./mode_end_call.lo: ../../include/net-snmp/library/container_binary_array.h
./mode_end_call.lo: ../../include/net-snmp/library/container_list_ssll.h ./mode_end_call.lo: ../../include/net-snmp/library/container_list_ssll.h
./mode_end_call.lo: ../../include/net-snmp/library/container_iterator.h ./mode_end_call.lo: ../../include/net-snmp/library/container_iterator.h
@ -720,8 +730,8 @@
./mode_end_call.lo: ../../include/net-snmp/library/lcd_time.h ./mode_end_call.lo: ../../include/net-snmp/library/lcd_time.h
./mode_end_call.lo: ../../include/net-snmp/library/snmp_secmod.h ./mode_end_call.lo: ../../include/net-snmp/library/snmp_secmod.h
./mode_end_call.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./mode_end_call.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./mode_end_call.lo: ../../include/net-snmp/library/snmptsm.h
./mode_end_call.lo: ../../include/net-snmp/library/snmpusm.h ./mode_end_call.lo: ../../include/net-snmp/library/snmpusm.h
./mode_end_call.lo: ../../include/net-snmp/library/snmptsm.h
./mode_end_call.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./mode_end_call.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./mode_end_call.lo: ../../include/net-snmp/agent/mib_module_config.h ./mode_end_call.lo: ../../include/net-snmp/agent/mib_module_config.h
./mode_end_call.lo: ../../include/net-snmp/agent/agent_module_config.h ./mode_end_call.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -787,7 +797,9 @@
./multiplexer.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./multiplexer.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./multiplexer.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./multiplexer.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./multiplexer.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./multiplexer.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./multiplexer.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./multiplexer.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./multiplexer.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./multiplexer.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./multiplexer.lo: ../../include/net-snmp/library/ucd_compat.h ./multiplexer.lo: ../../include/net-snmp/library/ucd_compat.h
./multiplexer.lo: ../../include/net-snmp/library/mib.h ./multiplexer.lo: ../../include/net-snmp/library/mib.h
./multiplexer.lo: ../../include/net-snmp/mib_api.h ./multiplexer.lo: ../../include/net-snmp/mib_api.h
@ -807,7 +819,6 @@
./multiplexer.lo: ../../include/net-snmp/library/data_list.h ./multiplexer.lo: ../../include/net-snmp/library/data_list.h
./multiplexer.lo: ../../include/net-snmp/library/check_varbind.h ./multiplexer.lo: ../../include/net-snmp/library/check_varbind.h
./multiplexer.lo: ../../include/net-snmp/library/container.h ./multiplexer.lo: ../../include/net-snmp/library/container.h
./multiplexer.lo: ../../include/net-snmp/library/factory.h
./multiplexer.lo: ../../include/net-snmp/library/container_binary_array.h ./multiplexer.lo: ../../include/net-snmp/library/container_binary_array.h
./multiplexer.lo: ../../include/net-snmp/library/container_list_ssll.h ./multiplexer.lo: ../../include/net-snmp/library/container_list_ssll.h
./multiplexer.lo: ../../include/net-snmp/library/container_iterator.h ./multiplexer.lo: ../../include/net-snmp/library/container_iterator.h
@ -828,8 +839,8 @@
./multiplexer.lo: ../../include/net-snmp/library/lcd_time.h ./multiplexer.lo: ../../include/net-snmp/library/lcd_time.h
./multiplexer.lo: ../../include/net-snmp/library/snmp_secmod.h ./multiplexer.lo: ../../include/net-snmp/library/snmp_secmod.h
./multiplexer.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./multiplexer.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./multiplexer.lo: ../../include/net-snmp/library/snmptsm.h
./multiplexer.lo: ../../include/net-snmp/library/snmpusm.h ./multiplexer.lo: ../../include/net-snmp/library/snmpusm.h
./multiplexer.lo: ../../include/net-snmp/library/snmptsm.h
./multiplexer.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./multiplexer.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./multiplexer.lo: ../../include/net-snmp/agent/mib_module_config.h ./multiplexer.lo: ../../include/net-snmp/agent/mib_module_config.h
./multiplexer.lo: ../../include/net-snmp/agent/agent_module_config.h ./multiplexer.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -895,7 +906,9 @@
./null.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./null.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./null.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./null.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./null.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./null.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./null.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./null.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./null.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./null.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./null.lo: ../../include/net-snmp/library/ucd_compat.h ./null.lo: ../../include/net-snmp/library/ucd_compat.h
./null.lo: ../../include/net-snmp/library/mib.h ./null.lo: ../../include/net-snmp/library/mib.h
./null.lo: ../../include/net-snmp/mib_api.h ./null.lo: ../../include/net-snmp/mib_api.h
@ -915,7 +928,6 @@
./null.lo: ../../include/net-snmp/library/data_list.h ./null.lo: ../../include/net-snmp/library/data_list.h
./null.lo: ../../include/net-snmp/library/check_varbind.h ./null.lo: ../../include/net-snmp/library/check_varbind.h
./null.lo: ../../include/net-snmp/library/container.h ./null.lo: ../../include/net-snmp/library/container.h
./null.lo: ../../include/net-snmp/library/factory.h
./null.lo: ../../include/net-snmp/library/container_binary_array.h ./null.lo: ../../include/net-snmp/library/container_binary_array.h
./null.lo: ../../include/net-snmp/library/container_list_ssll.h ./null.lo: ../../include/net-snmp/library/container_list_ssll.h
./null.lo: ../../include/net-snmp/library/container_iterator.h ./null.lo: ../../include/net-snmp/library/container_iterator.h
@ -936,8 +948,8 @@
./null.lo: ../../include/net-snmp/library/lcd_time.h ./null.lo: ../../include/net-snmp/library/lcd_time.h
./null.lo: ../../include/net-snmp/library/snmp_secmod.h ./null.lo: ../../include/net-snmp/library/snmp_secmod.h
./null.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./null.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./null.lo: ../../include/net-snmp/library/snmptsm.h
./null.lo: ../../include/net-snmp/library/snmpusm.h ./null.lo: ../../include/net-snmp/library/snmpusm.h
./null.lo: ../../include/net-snmp/library/snmptsm.h
./null.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./null.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./null.lo: ../../include/net-snmp/agent/mib_module_config.h ./null.lo: ../../include/net-snmp/agent/mib_module_config.h
./null.lo: ../../include/net-snmp/agent/agent_module_config.h ./null.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -1003,7 +1015,9 @@
./old_api.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./old_api.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./old_api.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./old_api.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./old_api.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./old_api.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./old_api.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./old_api.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./old_api.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./old_api.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./old_api.lo: ../../include/net-snmp/library/ucd_compat.h ./old_api.lo: ../../include/net-snmp/library/ucd_compat.h
./old_api.lo: ../../include/net-snmp/library/mib.h ./old_api.lo: ../../include/net-snmp/library/mib.h
./old_api.lo: ../../include/net-snmp/mib_api.h ./old_api.lo: ../../include/net-snmp/mib_api.h
@ -1023,7 +1037,6 @@
./old_api.lo: ../../include/net-snmp/library/data_list.h ./old_api.lo: ../../include/net-snmp/library/data_list.h
./old_api.lo: ../../include/net-snmp/library/check_varbind.h ./old_api.lo: ../../include/net-snmp/library/check_varbind.h
./old_api.lo: ../../include/net-snmp/library/container.h ./old_api.lo: ../../include/net-snmp/library/container.h
./old_api.lo: ../../include/net-snmp/library/factory.h
./old_api.lo: ../../include/net-snmp/library/container_binary_array.h ./old_api.lo: ../../include/net-snmp/library/container_binary_array.h
./old_api.lo: ../../include/net-snmp/library/container_list_ssll.h ./old_api.lo: ../../include/net-snmp/library/container_list_ssll.h
./old_api.lo: ../../include/net-snmp/library/container_iterator.h ./old_api.lo: ../../include/net-snmp/library/container_iterator.h
@ -1044,8 +1057,8 @@
./old_api.lo: ../../include/net-snmp/library/lcd_time.h ./old_api.lo: ../../include/net-snmp/library/lcd_time.h
./old_api.lo: ../../include/net-snmp/library/snmp_secmod.h ./old_api.lo: ../../include/net-snmp/library/snmp_secmod.h
./old_api.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./old_api.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./old_api.lo: ../../include/net-snmp/library/snmptsm.h
./old_api.lo: ../../include/net-snmp/library/snmpusm.h ./old_api.lo: ../../include/net-snmp/library/snmpusm.h
./old_api.lo: ../../include/net-snmp/library/snmptsm.h
./old_api.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./old_api.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./old_api.lo: ../../include/net-snmp/agent/mib_module_config.h ./old_api.lo: ../../include/net-snmp/agent/mib_module_config.h
./old_api.lo: ../../include/net-snmp/agent/agent_module_config.h ./old_api.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -1112,7 +1125,9 @@
./read_only.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./read_only.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./read_only.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./read_only.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./read_only.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./read_only.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./read_only.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./read_only.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./read_only.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./read_only.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./read_only.lo: ../../include/net-snmp/library/ucd_compat.h ./read_only.lo: ../../include/net-snmp/library/ucd_compat.h
./read_only.lo: ../../include/net-snmp/library/mib.h ./read_only.lo: ../../include/net-snmp/library/mib.h
./read_only.lo: ../../include/net-snmp/mib_api.h ./read_only.lo: ../../include/net-snmp/mib_api.h
@ -1132,7 +1147,6 @@
./read_only.lo: ../../include/net-snmp/library/data_list.h ./read_only.lo: ../../include/net-snmp/library/data_list.h
./read_only.lo: ../../include/net-snmp/library/check_varbind.h ./read_only.lo: ../../include/net-snmp/library/check_varbind.h
./read_only.lo: ../../include/net-snmp/library/container.h ./read_only.lo: ../../include/net-snmp/library/container.h
./read_only.lo: ../../include/net-snmp/library/factory.h
./read_only.lo: ../../include/net-snmp/library/container_binary_array.h ./read_only.lo: ../../include/net-snmp/library/container_binary_array.h
./read_only.lo: ../../include/net-snmp/library/container_list_ssll.h ./read_only.lo: ../../include/net-snmp/library/container_list_ssll.h
./read_only.lo: ../../include/net-snmp/library/container_iterator.h ./read_only.lo: ../../include/net-snmp/library/container_iterator.h
@ -1153,8 +1167,8 @@
./read_only.lo: ../../include/net-snmp/library/lcd_time.h ./read_only.lo: ../../include/net-snmp/library/lcd_time.h
./read_only.lo: ../../include/net-snmp/library/snmp_secmod.h ./read_only.lo: ../../include/net-snmp/library/snmp_secmod.h
./read_only.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./read_only.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./read_only.lo: ../../include/net-snmp/library/snmptsm.h
./read_only.lo: ../../include/net-snmp/library/snmpusm.h ./read_only.lo: ../../include/net-snmp/library/snmpusm.h
./read_only.lo: ../../include/net-snmp/library/snmptsm.h
./read_only.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./read_only.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./read_only.lo: ../../include/net-snmp/agent/mib_module_config.h ./read_only.lo: ../../include/net-snmp/agent/mib_module_config.h
./read_only.lo: ../../include/net-snmp/agent/agent_module_config.h ./read_only.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -1221,7 +1235,9 @@
./row_merge.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./row_merge.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./row_merge.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./row_merge.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./row_merge.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./row_merge.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./row_merge.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./row_merge.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./row_merge.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./row_merge.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./row_merge.lo: ../../include/net-snmp/library/ucd_compat.h ./row_merge.lo: ../../include/net-snmp/library/ucd_compat.h
./row_merge.lo: ../../include/net-snmp/library/mib.h ./row_merge.lo: ../../include/net-snmp/library/mib.h
./row_merge.lo: ../../include/net-snmp/mib_api.h ./row_merge.lo: ../../include/net-snmp/mib_api.h
@ -1240,7 +1256,6 @@
./row_merge.lo: ../../include/net-snmp/library/data_list.h ./row_merge.lo: ../../include/net-snmp/library/data_list.h
./row_merge.lo: ../../include/net-snmp/library/check_varbind.h ./row_merge.lo: ../../include/net-snmp/library/check_varbind.h
./row_merge.lo: ../../include/net-snmp/library/container.h ./row_merge.lo: ../../include/net-snmp/library/container.h
./row_merge.lo: ../../include/net-snmp/library/factory.h
./row_merge.lo: ../../include/net-snmp/library/container_binary_array.h ./row_merge.lo: ../../include/net-snmp/library/container_binary_array.h
./row_merge.lo: ../../include/net-snmp/library/container_list_ssll.h ./row_merge.lo: ../../include/net-snmp/library/container_list_ssll.h
./row_merge.lo: ../../include/net-snmp/library/container_iterator.h ./row_merge.lo: ../../include/net-snmp/library/container_iterator.h
@ -1261,8 +1276,8 @@
./row_merge.lo: ../../include/net-snmp/library/lcd_time.h ./row_merge.lo: ../../include/net-snmp/library/lcd_time.h
./row_merge.lo: ../../include/net-snmp/library/snmp_secmod.h ./row_merge.lo: ../../include/net-snmp/library/snmp_secmod.h
./row_merge.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./row_merge.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./row_merge.lo: ../../include/net-snmp/library/snmptsm.h
./row_merge.lo: ../../include/net-snmp/library/snmpusm.h ./row_merge.lo: ../../include/net-snmp/library/snmpusm.h
./row_merge.lo: ../../include/net-snmp/library/snmptsm.h
./row_merge.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./row_merge.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./row_merge.lo: ../../include/net-snmp/agent/mib_module_config.h ./row_merge.lo: ../../include/net-snmp/agent/mib_module_config.h
./row_merge.lo: ../../include/net-snmp/agent/agent_module_config.h ./row_merge.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -1328,7 +1343,9 @@
./scalar.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./scalar.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./scalar.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./scalar.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./scalar.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./scalar.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./scalar.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./scalar.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./scalar.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./scalar.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./scalar.lo: ../../include/net-snmp/library/ucd_compat.h ./scalar.lo: ../../include/net-snmp/library/ucd_compat.h
./scalar.lo: ../../include/net-snmp/library/mib.h ./scalar.lo: ../../include/net-snmp/library/mib.h
./scalar.lo: ../../include/net-snmp/mib_api.h ./scalar.lo: ../../include/net-snmp/mib_api.h
@ -1348,7 +1365,6 @@
./scalar.lo: ../../include/net-snmp/library/data_list.h ./scalar.lo: ../../include/net-snmp/library/data_list.h
./scalar.lo: ../../include/net-snmp/library/check_varbind.h ./scalar.lo: ../../include/net-snmp/library/check_varbind.h
./scalar.lo: ../../include/net-snmp/library/container.h ./scalar.lo: ../../include/net-snmp/library/container.h
./scalar.lo: ../../include/net-snmp/library/factory.h
./scalar.lo: ../../include/net-snmp/library/container_binary_array.h ./scalar.lo: ../../include/net-snmp/library/container_binary_array.h
./scalar.lo: ../../include/net-snmp/library/container_list_ssll.h ./scalar.lo: ../../include/net-snmp/library/container_list_ssll.h
./scalar.lo: ../../include/net-snmp/library/container_iterator.h ./scalar.lo: ../../include/net-snmp/library/container_iterator.h
@ -1369,8 +1385,8 @@
./scalar.lo: ../../include/net-snmp/library/lcd_time.h ./scalar.lo: ../../include/net-snmp/library/lcd_time.h
./scalar.lo: ../../include/net-snmp/library/snmp_secmod.h ./scalar.lo: ../../include/net-snmp/library/snmp_secmod.h
./scalar.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./scalar.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./scalar.lo: ../../include/net-snmp/library/snmptsm.h
./scalar.lo: ../../include/net-snmp/library/snmpusm.h ./scalar.lo: ../../include/net-snmp/library/snmpusm.h
./scalar.lo: ../../include/net-snmp/library/snmptsm.h
./scalar.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./scalar.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./scalar.lo: ../../include/net-snmp/agent/mib_module_config.h ./scalar.lo: ../../include/net-snmp/agent/mib_module_config.h
./scalar.lo: ../../include/net-snmp/agent/agent_module_config.h ./scalar.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -1436,7 +1452,9 @@
./scalar_group.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./scalar_group.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./scalar_group.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./scalar_group.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./scalar_group.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./scalar_group.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./scalar_group.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./scalar_group.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./scalar_group.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./scalar_group.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./scalar_group.lo: ../../include/net-snmp/library/ucd_compat.h ./scalar_group.lo: ../../include/net-snmp/library/ucd_compat.h
./scalar_group.lo: ../../include/net-snmp/library/mib.h ./scalar_group.lo: ../../include/net-snmp/library/mib.h
./scalar_group.lo: ../../include/net-snmp/mib_api.h ./scalar_group.lo: ../../include/net-snmp/mib_api.h
@ -1456,7 +1474,6 @@
./scalar_group.lo: ../../include/net-snmp/library/data_list.h ./scalar_group.lo: ../../include/net-snmp/library/data_list.h
./scalar_group.lo: ../../include/net-snmp/library/check_varbind.h ./scalar_group.lo: ../../include/net-snmp/library/check_varbind.h
./scalar_group.lo: ../../include/net-snmp/library/container.h ./scalar_group.lo: ../../include/net-snmp/library/container.h
./scalar_group.lo: ../../include/net-snmp/library/factory.h
./scalar_group.lo: ../../include/net-snmp/library/container_binary_array.h ./scalar_group.lo: ../../include/net-snmp/library/container_binary_array.h
./scalar_group.lo: ../../include/net-snmp/library/container_list_ssll.h ./scalar_group.lo: ../../include/net-snmp/library/container_list_ssll.h
./scalar_group.lo: ../../include/net-snmp/library/container_iterator.h ./scalar_group.lo: ../../include/net-snmp/library/container_iterator.h
@ -1477,8 +1494,8 @@
./scalar_group.lo: ../../include/net-snmp/library/lcd_time.h ./scalar_group.lo: ../../include/net-snmp/library/lcd_time.h
./scalar_group.lo: ../../include/net-snmp/library/snmp_secmod.h ./scalar_group.lo: ../../include/net-snmp/library/snmp_secmod.h
./scalar_group.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./scalar_group.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./scalar_group.lo: ../../include/net-snmp/library/snmptsm.h
./scalar_group.lo: ../../include/net-snmp/library/snmpusm.h ./scalar_group.lo: ../../include/net-snmp/library/snmpusm.h
./scalar_group.lo: ../../include/net-snmp/library/snmptsm.h
./scalar_group.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./scalar_group.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./scalar_group.lo: ../../include/net-snmp/agent/mib_module_config.h ./scalar_group.lo: ../../include/net-snmp/agent/mib_module_config.h
./scalar_group.lo: ../../include/net-snmp/agent/agent_module_config.h ./scalar_group.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -1544,7 +1561,9 @@
./serialize.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./serialize.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./serialize.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./serialize.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./serialize.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./serialize.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./serialize.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./serialize.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./serialize.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./serialize.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./serialize.lo: ../../include/net-snmp/library/ucd_compat.h ./serialize.lo: ../../include/net-snmp/library/ucd_compat.h
./serialize.lo: ../../include/net-snmp/library/mib.h ./serialize.lo: ../../include/net-snmp/library/mib.h
./serialize.lo: ../../include/net-snmp/mib_api.h ./serialize.lo: ../../include/net-snmp/mib_api.h
@ -1564,7 +1583,6 @@
./serialize.lo: ../../include/net-snmp/library/data_list.h ./serialize.lo: ../../include/net-snmp/library/data_list.h
./serialize.lo: ../../include/net-snmp/library/check_varbind.h ./serialize.lo: ../../include/net-snmp/library/check_varbind.h
./serialize.lo: ../../include/net-snmp/library/container.h ./serialize.lo: ../../include/net-snmp/library/container.h
./serialize.lo: ../../include/net-snmp/library/factory.h
./serialize.lo: ../../include/net-snmp/library/container_binary_array.h ./serialize.lo: ../../include/net-snmp/library/container_binary_array.h
./serialize.lo: ../../include/net-snmp/library/container_list_ssll.h ./serialize.lo: ../../include/net-snmp/library/container_list_ssll.h
./serialize.lo: ../../include/net-snmp/library/container_iterator.h ./serialize.lo: ../../include/net-snmp/library/container_iterator.h
@ -1585,8 +1603,8 @@
./serialize.lo: ../../include/net-snmp/library/lcd_time.h ./serialize.lo: ../../include/net-snmp/library/lcd_time.h
./serialize.lo: ../../include/net-snmp/library/snmp_secmod.h ./serialize.lo: ../../include/net-snmp/library/snmp_secmod.h
./serialize.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./serialize.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./serialize.lo: ../../include/net-snmp/library/snmptsm.h
./serialize.lo: ../../include/net-snmp/library/snmpusm.h ./serialize.lo: ../../include/net-snmp/library/snmpusm.h
./serialize.lo: ../../include/net-snmp/library/snmptsm.h
./serialize.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./serialize.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./serialize.lo: ../../include/net-snmp/agent/mib_module_config.h ./serialize.lo: ../../include/net-snmp/agent/mib_module_config.h
./serialize.lo: ../../include/net-snmp/agent/agent_module_config.h ./serialize.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -1653,7 +1671,9 @@
./snmp_get_statistic.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./snmp_get_statistic.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./snmp_get_statistic.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./snmp_get_statistic.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./snmp_get_statistic.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/ucd_compat.h ./snmp_get_statistic.lo: ../../include/net-snmp/library/ucd_compat.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/mib.h ./snmp_get_statistic.lo: ../../include/net-snmp/library/mib.h
./snmp_get_statistic.lo: ../../include/net-snmp/mib_api.h ./snmp_get_statistic.lo: ../../include/net-snmp/mib_api.h
@ -1672,7 +1692,6 @@
./snmp_get_statistic.lo: ../../include/net-snmp/library/data_list.h ./snmp_get_statistic.lo: ../../include/net-snmp/library/data_list.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/check_varbind.h ./snmp_get_statistic.lo: ../../include/net-snmp/library/check_varbind.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/container.h ./snmp_get_statistic.lo: ../../include/net-snmp/library/container.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/factory.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/container_binary_array.h ./snmp_get_statistic.lo: ../../include/net-snmp/library/container_binary_array.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/container_list_ssll.h ./snmp_get_statistic.lo: ../../include/net-snmp/library/container_list_ssll.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/container_iterator.h ./snmp_get_statistic.lo: ../../include/net-snmp/library/container_iterator.h
@ -1693,8 +1712,8 @@
./snmp_get_statistic.lo: ../../include/net-snmp/library/lcd_time.h ./snmp_get_statistic.lo: ../../include/net-snmp/library/lcd_time.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/snmp_secmod.h ./snmp_get_statistic.lo: ../../include/net-snmp/library/snmp_secmod.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./snmp_get_statistic.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/snmptsm.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/snmpusm.h ./snmp_get_statistic.lo: ../../include/net-snmp/library/snmpusm.h
./snmp_get_statistic.lo: ../../include/net-snmp/library/snmptsm.h
./snmp_get_statistic.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./snmp_get_statistic.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./snmp_get_statistic.lo: ../../include/net-snmp/agent/mib_module_config.h ./snmp_get_statistic.lo: ../../include/net-snmp/agent/mib_module_config.h
./snmp_get_statistic.lo: ../../include/net-snmp/agent/agent_module_config.h ./snmp_get_statistic.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -1761,7 +1780,9 @@
./stash_cache.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./stash_cache.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./stash_cache.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./stash_cache.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./stash_cache.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./stash_cache.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./stash_cache.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./stash_cache.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./stash_cache.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./stash_cache.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./stash_cache.lo: ../../include/net-snmp/library/ucd_compat.h ./stash_cache.lo: ../../include/net-snmp/library/ucd_compat.h
./stash_cache.lo: ../../include/net-snmp/library/mib.h ./stash_cache.lo: ../../include/net-snmp/library/mib.h
./stash_cache.lo: ../../include/net-snmp/mib_api.h ./stash_cache.lo: ../../include/net-snmp/mib_api.h
@ -1780,7 +1801,6 @@
./stash_cache.lo: ../../include/net-snmp/library/data_list.h ./stash_cache.lo: ../../include/net-snmp/library/data_list.h
./stash_cache.lo: ../../include/net-snmp/library/check_varbind.h ./stash_cache.lo: ../../include/net-snmp/library/check_varbind.h
./stash_cache.lo: ../../include/net-snmp/library/container.h ./stash_cache.lo: ../../include/net-snmp/library/container.h
./stash_cache.lo: ../../include/net-snmp/library/factory.h
./stash_cache.lo: ../../include/net-snmp/library/container_binary_array.h ./stash_cache.lo: ../../include/net-snmp/library/container_binary_array.h
./stash_cache.lo: ../../include/net-snmp/library/container_list_ssll.h ./stash_cache.lo: ../../include/net-snmp/library/container_list_ssll.h
./stash_cache.lo: ../../include/net-snmp/library/container_iterator.h ./stash_cache.lo: ../../include/net-snmp/library/container_iterator.h
@ -1801,8 +1821,8 @@
./stash_cache.lo: ../../include/net-snmp/library/lcd_time.h ./stash_cache.lo: ../../include/net-snmp/library/lcd_time.h
./stash_cache.lo: ../../include/net-snmp/library/snmp_secmod.h ./stash_cache.lo: ../../include/net-snmp/library/snmp_secmod.h
./stash_cache.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./stash_cache.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./stash_cache.lo: ../../include/net-snmp/library/snmptsm.h
./stash_cache.lo: ../../include/net-snmp/library/snmpusm.h ./stash_cache.lo: ../../include/net-snmp/library/snmpusm.h
./stash_cache.lo: ../../include/net-snmp/library/snmptsm.h
./stash_cache.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./stash_cache.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./stash_cache.lo: ../../include/net-snmp/agent/mib_module_config.h ./stash_cache.lo: ../../include/net-snmp/agent/mib_module_config.h
./stash_cache.lo: ../../include/net-snmp/agent/agent_module_config.h ./stash_cache.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -1871,7 +1891,9 @@
./stash_to_next.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./stash_to_next.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./stash_to_next.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./stash_to_next.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./stash_to_next.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./stash_to_next.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./stash_to_next.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./stash_to_next.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./stash_to_next.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./stash_to_next.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./stash_to_next.lo: ../../include/net-snmp/library/ucd_compat.h ./stash_to_next.lo: ../../include/net-snmp/library/ucd_compat.h
./stash_to_next.lo: ../../include/net-snmp/library/mib.h ./stash_to_next.lo: ../../include/net-snmp/library/mib.h
./stash_to_next.lo: ../../include/net-snmp/mib_api.h ./stash_to_next.lo: ../../include/net-snmp/mib_api.h
@ -1890,7 +1912,6 @@
./stash_to_next.lo: ../../include/net-snmp/library/data_list.h ./stash_to_next.lo: ../../include/net-snmp/library/data_list.h
./stash_to_next.lo: ../../include/net-snmp/library/check_varbind.h ./stash_to_next.lo: ../../include/net-snmp/library/check_varbind.h
./stash_to_next.lo: ../../include/net-snmp/library/container.h ./stash_to_next.lo: ../../include/net-snmp/library/container.h
./stash_to_next.lo: ../../include/net-snmp/library/factory.h
./stash_to_next.lo: ../../include/net-snmp/library/container_binary_array.h ./stash_to_next.lo: ../../include/net-snmp/library/container_binary_array.h
./stash_to_next.lo: ../../include/net-snmp/library/container_list_ssll.h ./stash_to_next.lo: ../../include/net-snmp/library/container_list_ssll.h
./stash_to_next.lo: ../../include/net-snmp/library/container_iterator.h ./stash_to_next.lo: ../../include/net-snmp/library/container_iterator.h
@ -1911,8 +1932,8 @@
./stash_to_next.lo: ../../include/net-snmp/library/lcd_time.h ./stash_to_next.lo: ../../include/net-snmp/library/lcd_time.h
./stash_to_next.lo: ../../include/net-snmp/library/snmp_secmod.h ./stash_to_next.lo: ../../include/net-snmp/library/snmp_secmod.h
./stash_to_next.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./stash_to_next.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./stash_to_next.lo: ../../include/net-snmp/library/snmptsm.h
./stash_to_next.lo: ../../include/net-snmp/library/snmpusm.h ./stash_to_next.lo: ../../include/net-snmp/library/snmpusm.h
./stash_to_next.lo: ../../include/net-snmp/library/snmptsm.h
./stash_to_next.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./stash_to_next.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./stash_to_next.lo: ../../include/net-snmp/agent/mib_module_config.h ./stash_to_next.lo: ../../include/net-snmp/agent/mib_module_config.h
./stash_to_next.lo: ../../include/net-snmp/agent/agent_module_config.h ./stash_to_next.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -1981,7 +2002,9 @@
./table.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./table.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./table.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./table.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./table.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./table.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./table.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./table.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./table.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./table.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./table.lo: ../../include/net-snmp/library/ucd_compat.h ./table.lo: ../../include/net-snmp/library/ucd_compat.h
./table.lo: ../../include/net-snmp/library/mib.h ./table.lo: ../../include/net-snmp/library/mib.h
./table.lo: ../../include/net-snmp/mib_api.h ./table.lo: ../../include/net-snmp/mib_api.h
@ -2000,7 +2023,6 @@
./table.lo: ../../include/net-snmp/library/data_list.h ./table.lo: ../../include/net-snmp/library/data_list.h
./table.lo: ../../include/net-snmp/library/check_varbind.h ./table.lo: ../../include/net-snmp/library/check_varbind.h
./table.lo: ../../include/net-snmp/library/container.h ./table.lo: ../../include/net-snmp/library/container.h
./table.lo: ../../include/net-snmp/library/factory.h
./table.lo: ../../include/net-snmp/library/container_binary_array.h ./table.lo: ../../include/net-snmp/library/container_binary_array.h
./table.lo: ../../include/net-snmp/library/container_list_ssll.h ./table.lo: ../../include/net-snmp/library/container_list_ssll.h
./table.lo: ../../include/net-snmp/library/container_iterator.h ./table.lo: ../../include/net-snmp/library/container_iterator.h
@ -2021,8 +2043,8 @@
./table.lo: ../../include/net-snmp/library/lcd_time.h ./table.lo: ../../include/net-snmp/library/lcd_time.h
./table.lo: ../../include/net-snmp/library/snmp_secmod.h ./table.lo: ../../include/net-snmp/library/snmp_secmod.h
./table.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./table.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./table.lo: ../../include/net-snmp/library/snmptsm.h
./table.lo: ../../include/net-snmp/library/snmpusm.h ./table.lo: ../../include/net-snmp/library/snmpusm.h
./table.lo: ../../include/net-snmp/library/snmptsm.h
./table.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./table.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./table.lo: ../../include/net-snmp/agent/mib_module_config.h ./table.lo: ../../include/net-snmp/agent/mib_module_config.h
./table.lo: ../../include/net-snmp/agent/agent_module_config.h ./table.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -2089,7 +2111,9 @@
./table_array.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./table_array.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./table_array.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./table_array.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./table_array.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./table_array.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./table_array.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./table_array.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./table_array.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./table_array.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./table_array.lo: ../../include/net-snmp/library/ucd_compat.h ./table_array.lo: ../../include/net-snmp/library/ucd_compat.h
./table_array.lo: ../../include/net-snmp/library/mib.h ./table_array.lo: ../../include/net-snmp/library/mib.h
./table_array.lo: ../../include/net-snmp/mib_api.h ./table_array.lo: ../../include/net-snmp/mib_api.h
@ -2108,7 +2132,6 @@
./table_array.lo: ../../include/net-snmp/library/data_list.h ./table_array.lo: ../../include/net-snmp/library/data_list.h
./table_array.lo: ../../include/net-snmp/library/check_varbind.h ./table_array.lo: ../../include/net-snmp/library/check_varbind.h
./table_array.lo: ../../include/net-snmp/library/container.h ./table_array.lo: ../../include/net-snmp/library/container.h
./table_array.lo: ../../include/net-snmp/library/factory.h
./table_array.lo: ../../include/net-snmp/library/container_binary_array.h ./table_array.lo: ../../include/net-snmp/library/container_binary_array.h
./table_array.lo: ../../include/net-snmp/library/container_list_ssll.h ./table_array.lo: ../../include/net-snmp/library/container_list_ssll.h
./table_array.lo: ../../include/net-snmp/library/container_iterator.h ./table_array.lo: ../../include/net-snmp/library/container_iterator.h
@ -2129,8 +2152,8 @@
./table_array.lo: ../../include/net-snmp/library/lcd_time.h ./table_array.lo: ../../include/net-snmp/library/lcd_time.h
./table_array.lo: ../../include/net-snmp/library/snmp_secmod.h ./table_array.lo: ../../include/net-snmp/library/snmp_secmod.h
./table_array.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./table_array.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./table_array.lo: ../../include/net-snmp/library/snmptsm.h
./table_array.lo: ../../include/net-snmp/library/snmpusm.h ./table_array.lo: ../../include/net-snmp/library/snmpusm.h
./table_array.lo: ../../include/net-snmp/library/snmptsm.h
./table_array.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./table_array.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./table_array.lo: ../../include/net-snmp/agent/mib_module_config.h ./table_array.lo: ../../include/net-snmp/agent/mib_module_config.h
./table_array.lo: ../../include/net-snmp/agent/agent_module_config.h ./table_array.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -2197,7 +2220,9 @@
./table_container.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./table_container.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./table_container.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./table_container.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./table_container.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./table_container.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./table_container.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./table_container.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./table_container.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./table_container.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./table_container.lo: ../../include/net-snmp/library/ucd_compat.h ./table_container.lo: ../../include/net-snmp/library/ucd_compat.h
./table_container.lo: ../../include/net-snmp/library/mib.h ./table_container.lo: ../../include/net-snmp/library/mib.h
./table_container.lo: ../../include/net-snmp/mib_api.h ./table_container.lo: ../../include/net-snmp/mib_api.h
@ -2216,7 +2241,6 @@
./table_container.lo: ../../include/net-snmp/library/data_list.h ./table_container.lo: ../../include/net-snmp/library/data_list.h
./table_container.lo: ../../include/net-snmp/library/check_varbind.h ./table_container.lo: ../../include/net-snmp/library/check_varbind.h
./table_container.lo: ../../include/net-snmp/library/container.h ./table_container.lo: ../../include/net-snmp/library/container.h
./table_container.lo: ../../include/net-snmp/library/factory.h
./table_container.lo: ../../include/net-snmp/library/container_binary_array.h ./table_container.lo: ../../include/net-snmp/library/container_binary_array.h
./table_container.lo: ../../include/net-snmp/library/container_list_ssll.h ./table_container.lo: ../../include/net-snmp/library/container_list_ssll.h
./table_container.lo: ../../include/net-snmp/library/container_iterator.h ./table_container.lo: ../../include/net-snmp/library/container_iterator.h
@ -2237,8 +2261,8 @@
./table_container.lo: ../../include/net-snmp/library/lcd_time.h ./table_container.lo: ../../include/net-snmp/library/lcd_time.h
./table_container.lo: ../../include/net-snmp/library/snmp_secmod.h ./table_container.lo: ../../include/net-snmp/library/snmp_secmod.h
./table_container.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./table_container.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./table_container.lo: ../../include/net-snmp/library/snmptsm.h
./table_container.lo: ../../include/net-snmp/library/snmpusm.h ./table_container.lo: ../../include/net-snmp/library/snmpusm.h
./table_container.lo: ../../include/net-snmp/library/snmptsm.h
./table_container.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./table_container.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./table_container.lo: ../../include/net-snmp/agent/mib_module_config.h ./table_container.lo: ../../include/net-snmp/agent/mib_module_config.h
./table_container.lo: ../../include/net-snmp/agent/agent_module_config.h ./table_container.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -2305,7 +2329,9 @@
./table_data.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./table_data.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./table_data.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./table_data.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./table_data.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./table_data.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./table_data.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./table_data.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./table_data.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./table_data.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./table_data.lo: ../../include/net-snmp/library/ucd_compat.h ./table_data.lo: ../../include/net-snmp/library/ucd_compat.h
./table_data.lo: ../../include/net-snmp/library/mib.h ./table_data.lo: ../../include/net-snmp/library/mib.h
./table_data.lo: ../../include/net-snmp/mib_api.h ./table_data.lo: ../../include/net-snmp/mib_api.h
@ -2324,7 +2350,6 @@
./table_data.lo: ../../include/net-snmp/library/data_list.h ./table_data.lo: ../../include/net-snmp/library/data_list.h
./table_data.lo: ../../include/net-snmp/library/check_varbind.h ./table_data.lo: ../../include/net-snmp/library/check_varbind.h
./table_data.lo: ../../include/net-snmp/library/container.h ./table_data.lo: ../../include/net-snmp/library/container.h
./table_data.lo: ../../include/net-snmp/library/factory.h
./table_data.lo: ../../include/net-snmp/library/container_binary_array.h ./table_data.lo: ../../include/net-snmp/library/container_binary_array.h
./table_data.lo: ../../include/net-snmp/library/container_list_ssll.h ./table_data.lo: ../../include/net-snmp/library/container_list_ssll.h
./table_data.lo: ../../include/net-snmp/library/container_iterator.h ./table_data.lo: ../../include/net-snmp/library/container_iterator.h
@ -2345,8 +2370,8 @@
./table_data.lo: ../../include/net-snmp/library/lcd_time.h ./table_data.lo: ../../include/net-snmp/library/lcd_time.h
./table_data.lo: ../../include/net-snmp/library/snmp_secmod.h ./table_data.lo: ../../include/net-snmp/library/snmp_secmod.h
./table_data.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./table_data.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./table_data.lo: ../../include/net-snmp/library/snmptsm.h
./table_data.lo: ../../include/net-snmp/library/snmpusm.h ./table_data.lo: ../../include/net-snmp/library/snmpusm.h
./table_data.lo: ../../include/net-snmp/library/snmptsm.h
./table_data.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./table_data.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./table_data.lo: ../../include/net-snmp/agent/mib_module_config.h ./table_data.lo: ../../include/net-snmp/agent/mib_module_config.h
./table_data.lo: ../../include/net-snmp/agent/agent_module_config.h ./table_data.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -2413,7 +2438,9 @@
./table_dataset.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./table_dataset.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./table_dataset.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./table_dataset.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./table_dataset.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./table_dataset.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./table_dataset.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./table_dataset.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./table_dataset.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./table_dataset.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./table_dataset.lo: ../../include/net-snmp/library/ucd_compat.h ./table_dataset.lo: ../../include/net-snmp/library/ucd_compat.h
./table_dataset.lo: ../../include/net-snmp/library/mib.h ./table_dataset.lo: ../../include/net-snmp/library/mib.h
./table_dataset.lo: ../../include/net-snmp/mib_api.h ./table_dataset.lo: ../../include/net-snmp/mib_api.h
@ -2432,7 +2459,6 @@
./table_dataset.lo: ../../include/net-snmp/library/data_list.h ./table_dataset.lo: ../../include/net-snmp/library/data_list.h
./table_dataset.lo: ../../include/net-snmp/library/check_varbind.h ./table_dataset.lo: ../../include/net-snmp/library/check_varbind.h
./table_dataset.lo: ../../include/net-snmp/library/container.h ./table_dataset.lo: ../../include/net-snmp/library/container.h
./table_dataset.lo: ../../include/net-snmp/library/factory.h
./table_dataset.lo: ../../include/net-snmp/library/container_binary_array.h ./table_dataset.lo: ../../include/net-snmp/library/container_binary_array.h
./table_dataset.lo: ../../include/net-snmp/library/container_list_ssll.h ./table_dataset.lo: ../../include/net-snmp/library/container_list_ssll.h
./table_dataset.lo: ../../include/net-snmp/library/container_iterator.h ./table_dataset.lo: ../../include/net-snmp/library/container_iterator.h
@ -2453,8 +2479,8 @@
./table_dataset.lo: ../../include/net-snmp/library/lcd_time.h ./table_dataset.lo: ../../include/net-snmp/library/lcd_time.h
./table_dataset.lo: ../../include/net-snmp/library/snmp_secmod.h ./table_dataset.lo: ../../include/net-snmp/library/snmp_secmod.h
./table_dataset.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./table_dataset.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./table_dataset.lo: ../../include/net-snmp/library/snmptsm.h
./table_dataset.lo: ../../include/net-snmp/library/snmpusm.h ./table_dataset.lo: ../../include/net-snmp/library/snmpusm.h
./table_dataset.lo: ../../include/net-snmp/library/snmptsm.h
./table_dataset.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./table_dataset.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./table_dataset.lo: ../../include/net-snmp/agent/mib_module_config.h ./table_dataset.lo: ../../include/net-snmp/agent/mib_module_config.h
./table_dataset.lo: ../../include/net-snmp/agent/agent_module_config.h ./table_dataset.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -2521,7 +2547,9 @@
./table_iterator.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./table_iterator.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./table_iterator.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./table_iterator.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./table_iterator.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./table_iterator.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./table_iterator.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./table_iterator.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./table_iterator.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./table_iterator.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./table_iterator.lo: ../../include/net-snmp/library/ucd_compat.h ./table_iterator.lo: ../../include/net-snmp/library/ucd_compat.h
./table_iterator.lo: ../../include/net-snmp/library/mib.h ./table_iterator.lo: ../../include/net-snmp/library/mib.h
./table_iterator.lo: ../../include/net-snmp/mib_api.h ./table_iterator.lo: ../../include/net-snmp/mib_api.h
@ -2540,7 +2568,6 @@
./table_iterator.lo: ../../include/net-snmp/library/data_list.h ./table_iterator.lo: ../../include/net-snmp/library/data_list.h
./table_iterator.lo: ../../include/net-snmp/library/check_varbind.h ./table_iterator.lo: ../../include/net-snmp/library/check_varbind.h
./table_iterator.lo: ../../include/net-snmp/library/container.h ./table_iterator.lo: ../../include/net-snmp/library/container.h
./table_iterator.lo: ../../include/net-snmp/library/factory.h
./table_iterator.lo: ../../include/net-snmp/library/container_binary_array.h ./table_iterator.lo: ../../include/net-snmp/library/container_binary_array.h
./table_iterator.lo: ../../include/net-snmp/library/container_list_ssll.h ./table_iterator.lo: ../../include/net-snmp/library/container_list_ssll.h
./table_iterator.lo: ../../include/net-snmp/library/container_iterator.h ./table_iterator.lo: ../../include/net-snmp/library/container_iterator.h
@ -2561,8 +2588,8 @@
./table_iterator.lo: ../../include/net-snmp/library/lcd_time.h ./table_iterator.lo: ../../include/net-snmp/library/lcd_time.h
./table_iterator.lo: ../../include/net-snmp/library/snmp_secmod.h ./table_iterator.lo: ../../include/net-snmp/library/snmp_secmod.h
./table_iterator.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./table_iterator.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./table_iterator.lo: ../../include/net-snmp/library/snmptsm.h
./table_iterator.lo: ../../include/net-snmp/library/snmpusm.h ./table_iterator.lo: ../../include/net-snmp/library/snmpusm.h
./table_iterator.lo: ../../include/net-snmp/library/snmptsm.h
./table_iterator.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./table_iterator.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./table_iterator.lo: ../../include/net-snmp/agent/mib_module_config.h ./table_iterator.lo: ../../include/net-snmp/agent/mib_module_config.h
./table_iterator.lo: ../../include/net-snmp/agent/agent_module_config.h ./table_iterator.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -2630,7 +2657,9 @@
./table_row.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./table_row.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./table_row.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./table_row.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./table_row.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./table_row.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./table_row.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./table_row.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./table_row.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./table_row.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./table_row.lo: ../../include/net-snmp/library/ucd_compat.h ./table_row.lo: ../../include/net-snmp/library/ucd_compat.h
./table_row.lo: ../../include/net-snmp/library/mib.h ./table_row.lo: ../../include/net-snmp/library/mib.h
./table_row.lo: ../../include/net-snmp/mib_api.h ./table_row.lo: ../../include/net-snmp/mib_api.h
@ -2649,7 +2678,6 @@
./table_row.lo: ../../include/net-snmp/library/data_list.h ./table_row.lo: ../../include/net-snmp/library/data_list.h
./table_row.lo: ../../include/net-snmp/library/check_varbind.h ./table_row.lo: ../../include/net-snmp/library/check_varbind.h
./table_row.lo: ../../include/net-snmp/library/container.h ./table_row.lo: ../../include/net-snmp/library/container.h
./table_row.lo: ../../include/net-snmp/library/factory.h
./table_row.lo: ../../include/net-snmp/library/container_binary_array.h ./table_row.lo: ../../include/net-snmp/library/container_binary_array.h
./table_row.lo: ../../include/net-snmp/library/container_list_ssll.h ./table_row.lo: ../../include/net-snmp/library/container_list_ssll.h
./table_row.lo: ../../include/net-snmp/library/container_iterator.h ./table_row.lo: ../../include/net-snmp/library/container_iterator.h
@ -2670,8 +2698,8 @@
./table_row.lo: ../../include/net-snmp/library/lcd_time.h ./table_row.lo: ../../include/net-snmp/library/lcd_time.h
./table_row.lo: ../../include/net-snmp/library/snmp_secmod.h ./table_row.lo: ../../include/net-snmp/library/snmp_secmod.h
./table_row.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./table_row.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./table_row.lo: ../../include/net-snmp/library/snmptsm.h
./table_row.lo: ../../include/net-snmp/library/snmpusm.h ./table_row.lo: ../../include/net-snmp/library/snmpusm.h
./table_row.lo: ../../include/net-snmp/library/snmptsm.h
./table_row.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./table_row.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./table_row.lo: ../../include/net-snmp/agent/mib_module_config.h ./table_row.lo: ../../include/net-snmp/agent/mib_module_config.h
./table_row.lo: ../../include/net-snmp/agent/agent_module_config.h ./table_row.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -2738,7 +2766,9 @@
./table_tdata.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./table_tdata.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./table_tdata.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./table_tdata.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./table_tdata.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./table_tdata.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./table_tdata.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./table_tdata.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./table_tdata.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./table_tdata.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./table_tdata.lo: ../../include/net-snmp/library/ucd_compat.h ./table_tdata.lo: ../../include/net-snmp/library/ucd_compat.h
./table_tdata.lo: ../../include/net-snmp/library/mib.h ./table_tdata.lo: ../../include/net-snmp/library/mib.h
./table_tdata.lo: ../../include/net-snmp/mib_api.h ./table_tdata.lo: ../../include/net-snmp/mib_api.h
@ -2757,7 +2787,6 @@
./table_tdata.lo: ../../include/net-snmp/library/data_list.h ./table_tdata.lo: ../../include/net-snmp/library/data_list.h
./table_tdata.lo: ../../include/net-snmp/library/check_varbind.h ./table_tdata.lo: ../../include/net-snmp/library/check_varbind.h
./table_tdata.lo: ../../include/net-snmp/library/container.h ./table_tdata.lo: ../../include/net-snmp/library/container.h
./table_tdata.lo: ../../include/net-snmp/library/factory.h
./table_tdata.lo: ../../include/net-snmp/library/container_binary_array.h ./table_tdata.lo: ../../include/net-snmp/library/container_binary_array.h
./table_tdata.lo: ../../include/net-snmp/library/container_list_ssll.h ./table_tdata.lo: ../../include/net-snmp/library/container_list_ssll.h
./table_tdata.lo: ../../include/net-snmp/library/container_iterator.h ./table_tdata.lo: ../../include/net-snmp/library/container_iterator.h
@ -2778,8 +2807,8 @@
./table_tdata.lo: ../../include/net-snmp/library/lcd_time.h ./table_tdata.lo: ../../include/net-snmp/library/lcd_time.h
./table_tdata.lo: ../../include/net-snmp/library/snmp_secmod.h ./table_tdata.lo: ../../include/net-snmp/library/snmp_secmod.h
./table_tdata.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./table_tdata.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./table_tdata.lo: ../../include/net-snmp/library/snmptsm.h
./table_tdata.lo: ../../include/net-snmp/library/snmpusm.h ./table_tdata.lo: ../../include/net-snmp/library/snmpusm.h
./table_tdata.lo: ../../include/net-snmp/library/snmptsm.h
./table_tdata.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./table_tdata.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./table_tdata.lo: ../../include/net-snmp/agent/mib_module_config.h ./table_tdata.lo: ../../include/net-snmp/agent/mib_module_config.h
./table_tdata.lo: ../../include/net-snmp/agent/agent_module_config.h ./table_tdata.lo: ../../include/net-snmp/agent/agent_module_config.h
@ -2846,7 +2875,9 @@
./watcher.lo: ../../include/net-snmp/library/snmpTCPDomain.h ./watcher.lo: ../../include/net-snmp/library/snmpTCPDomain.h
./watcher.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h ./watcher.lo: ../../include/net-snmp/library/snmpUDPIPv6Domain.h
./watcher.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h ./watcher.lo: ../../include/net-snmp/library/snmpIPv6BaseDomain.h
./watcher.lo: ../../include/net-snmp/library/snmpTCPIPv6Domain.h
./watcher.lo: ../../include/net-snmp/library/snmpIPXDomain.h ./watcher.lo: ../../include/net-snmp/library/snmpIPXDomain.h
./watcher.lo: ../../include/net-snmp/library/snmpAAL5PVCDomain.h
./watcher.lo: ../../include/net-snmp/library/ucd_compat.h ./watcher.lo: ../../include/net-snmp/library/ucd_compat.h
./watcher.lo: ../../include/net-snmp/library/mib.h ./watcher.lo: ../../include/net-snmp/library/mib.h
./watcher.lo: ../../include/net-snmp/mib_api.h ./watcher.lo: ../../include/net-snmp/mib_api.h
@ -2865,7 +2896,6 @@
./watcher.lo: ../../include/net-snmp/library/data_list.h ./watcher.lo: ../../include/net-snmp/library/data_list.h
./watcher.lo: ../../include/net-snmp/library/check_varbind.h ./watcher.lo: ../../include/net-snmp/library/check_varbind.h
./watcher.lo: ../../include/net-snmp/library/container.h ./watcher.lo: ../../include/net-snmp/library/container.h
./watcher.lo: ../../include/net-snmp/library/factory.h
./watcher.lo: ../../include/net-snmp/library/container_binary_array.h ./watcher.lo: ../../include/net-snmp/library/container_binary_array.h
./watcher.lo: ../../include/net-snmp/library/container_list_ssll.h ./watcher.lo: ../../include/net-snmp/library/container_list_ssll.h
./watcher.lo: ../../include/net-snmp/library/container_iterator.h ./watcher.lo: ../../include/net-snmp/library/container_iterator.h
@ -2886,8 +2916,8 @@
./watcher.lo: ../../include/net-snmp/library/lcd_time.h ./watcher.lo: ../../include/net-snmp/library/lcd_time.h
./watcher.lo: ../../include/net-snmp/library/snmp_secmod.h ./watcher.lo: ../../include/net-snmp/library/snmp_secmod.h
./watcher.lo: ../../include/net-snmp/library/snmpv3-security-includes.h ./watcher.lo: ../../include/net-snmp/library/snmpv3-security-includes.h
./watcher.lo: ../../include/net-snmp/library/snmptsm.h
./watcher.lo: ../../include/net-snmp/library/snmpusm.h ./watcher.lo: ../../include/net-snmp/library/snmpusm.h
./watcher.lo: ../../include/net-snmp/library/snmptsm.h
./watcher.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h ./watcher.lo: ../../include/net-snmp/agent/net-snmp-agent-includes.h
./watcher.lo: ../../include/net-snmp/agent/mib_module_config.h ./watcher.lo: ../../include/net-snmp/agent/mib_module_config.h
./watcher.lo: ../../include/net-snmp/agent/agent_module_config.h ./watcher.lo: ../../include/net-snmp/agent/agent_module_config.h

View File

@ -32,5 +32,5 @@ LOBJS = dummy.lo
all: standardall all: standardall
libnetsnmphelpers.$(LIB_EXTENSION)$(LIB_VERSION): $(LOBJS) libnetsnmphelpers.$(LIB_EXTENSION)$(LIB_VERSION): $(LOBJS)
$(LIB_LD_CMD) $@ $(LOBJS) @LD_NO_UNDEFINED@ $(LDFLAGS) $(LIB_LD_LIBS) $(LIB_LD_CMD) $@ $(LOBJS) $(LDFLAGS)
$(RANLIB) $@ $(RANLIB) $@

View File

@ -13,7 +13,7 @@
#include <net-snmp/agent/table_dataset.h> #include <net-snmp/agent/table_dataset.h>
#include <net-snmp/agent/stash_cache.h> #include <net-snmp/agent/stash_cache.h>
netsnmp_feature_child_of(mib_helpers, libnetsnmpagent) netsnmp_feature_child_of(mib_helpers, libnetsnmpagent);
/** call the initialization sequence for all handlers with init_ routines. */ /** call the initialization sequence for all handlers with init_ routines. */

View File

@ -12,11 +12,11 @@
#include <net-snmp/net-snmp-includes.h> #include <net-snmp/net-snmp-includes.h>
#include <net-snmp/agent/net-snmp-agent-includes.h> #include <net-snmp/agent/net-snmp-agent-includes.h>
netsnmp_feature_provide(baby_steps) netsnmp_feature_provide(baby_steps);
netsnmp_feature_child_of(baby_steps, mib_helpers) netsnmp_feature_child_of(baby_steps, mib_helpers);
#ifdef NETSNMP_FEATURE_REQUIRE_BABY_STEPS #ifdef NETSNMP_FEATURE_REQUIRE_BABY_STEPS
netsnmp_feature_require(check_requests_error) netsnmp_feature_require(check_requests_error);
#endif #endif
#ifndef NETSNMP_FEATURE_REMOVE_BABY_STEPS #ifndef NETSNMP_FEATURE_REMOVE_BABY_STEPS
@ -355,7 +355,7 @@ _baby_steps_helper(netsnmp_mib_handler *handler,
* handler as a run-time injectable handler for configuration file * handler as a run-time injectable handler for configuration file
* use. * use.
*/ */
netsnmp_feature_child_of(netsnmp_baby_steps_handler_init,netsnmp_unused) netsnmp_feature_child_of(netsnmp_baby_steps_handler_init,netsnmp_unused);
#ifndef NETSNMP_FEATURE_REMOVE_NETSNMP_BABY_STEPS_HANDLER_INIT #ifndef NETSNMP_FEATURE_REMOVE_NETSNMP_BABY_STEPS_HANDLER_INIT
void void
netsnmp_baby_steps_handler_init(void) netsnmp_baby_steps_handler_init(void)

View File

@ -16,7 +16,7 @@
#include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-features.h> #include <net-snmp/net-snmp-features.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
@ -27,10 +27,10 @@
#include <net-snmp/agent/cache_handler.h> #include <net-snmp/agent/cache_handler.h>
netsnmp_feature_child_of(cache_handler, mib_helpers) netsnmp_feature_child_of(cache_handler, mib_helpers);
netsnmp_feature_child_of(cache_find_by_oid, cache_handler) netsnmp_feature_child_of(cache_find_by_oid, cache_handler);
netsnmp_feature_child_of(cache_get_head, cache_handler) netsnmp_feature_child_of(cache_get_head, cache_handler);
static netsnmp_cache *cache_head = NULL; static netsnmp_cache *cache_head = NULL;
static int cache_outstanding_valid = 0; static int cache_outstanding_valid = 0;
@ -457,7 +457,7 @@ _cache_handler_register(netsnmp_handler_registration * reginfo,
/** functionally the same as calling netsnmp_register_handler() but also /** functionally the same as calling netsnmp_register_handler() but also
* injects a cache handler at the same time for you. */ * injects a cache handler at the same time for you. */
netsnmp_feature_child_of(netsnmp_cache_handler_register,netsnmp_unused) netsnmp_feature_child_of(netsnmp_cache_handler_register,netsnmp_unused);
#ifndef NETSNMP_FEATURE_REMOVE_NETSNMP_CACHE_HANDLER_REGISTER #ifndef NETSNMP_FEATURE_REMOVE_NETSNMP_CACHE_HANDLER_REGISTER
int int
netsnmp_cache_handler_register(netsnmp_handler_registration * reginfo, netsnmp_cache_handler_register(netsnmp_handler_registration * reginfo,
@ -475,7 +475,7 @@ netsnmp_cache_handler_register(netsnmp_handler_registration * reginfo,
/** functionally the same as calling netsnmp_register_handler() but also /** functionally the same as calling netsnmp_register_handler() but also
* injects a cache handler at the same time for you. */ * injects a cache handler at the same time for you. */
netsnmp_feature_child_of(netsnmp_register_cache_handler,netsnmp_unused) netsnmp_feature_child_of(netsnmp_register_cache_handler,netsnmp_unused);
#ifndef NETSNMP_FEATURE_REMOVE_NETSNMP_REGISTER_CACHE_HANDLER #ifndef NETSNMP_FEATURE_REMOVE_NETSNMP_REGISTER_CACHE_HANDLER
int int
netsnmp_register_cache_handler(netsnmp_handler_registration * reginfo, netsnmp_register_cache_handler(netsnmp_handler_registration * reginfo,
@ -538,7 +538,7 @@ netsnmp_cache_reqinfo_extract(netsnmp_agent_request_info * reqinfo,
} }
/** Extract the cache information for a given request (PDU) */ /** Extract the cache information for a given request (PDU) */
netsnmp_feature_child_of(netsnmp_extract_cache_info,netsnmp_unused) netsnmp_feature_child_of(netsnmp_extract_cache_info,netsnmp_unused);
#ifndef NETSNMP_FEATURE_REMOVE_NETSNMP_EXTRACT_CACHE_INFO #ifndef NETSNMP_FEATURE_REMOVE_NETSNMP_EXTRACT_CACHE_INFO
netsnmp_cache * netsnmp_cache *
netsnmp_extract_cache_info(netsnmp_agent_request_info * reqinfo) netsnmp_extract_cache_info(netsnmp_agent_request_info * reqinfo)
@ -594,7 +594,7 @@ netsnmp_cache_is_valid(netsnmp_agent_request_info * reqinfo,
/** Is the cache valid for a given request? /** Is the cache valid for a given request?
* for backwards compatability. netsnmp_cache_is_valid() is preferred. * for backwards compatability. netsnmp_cache_is_valid() is preferred.
*/ */
netsnmp_feature_child_of(netsnmp_is_cache_valid,netsnmp_unused) netsnmp_feature_child_of(netsnmp_is_cache_valid,netsnmp_unused);
#ifndef NETSNMP_FEATURE_REMOVE_NETSNMP_IS_CACHE_VALID #ifndef NETSNMP_FEATURE_REMOVE_NETSNMP_IS_CACHE_VALID
int int
netsnmp_is_cache_valid(netsnmp_agent_request_info * reqinfo) netsnmp_is_cache_valid(netsnmp_agent_request_info * reqinfo)

View File

@ -26,7 +26,7 @@
* All debugging output is done via the standard debugging routines * All debugging output is done via the standard debugging routines
* with a token name of "helper:debug", so use the -Dhelper:debug * with a token name of "helper:debug", so use the -Dhelper:debug
* command line flag to see the output when running the snmpd * command line flag to see the output when running the snmpd
* demon. It's not recommended you compile this into a handler chain * daemon. It's not recommended you compile this into a handler chain
* during compile time, but instead use the "injectHandler" token in * during compile time, but instead use the "injectHandler" token in
* the snmpd.conf file (or similar) to add it to the chain later: * the snmpd.conf file (or similar) to add it to the chain later:
* *

View File

@ -22,7 +22,7 @@
#include <net-snmp/agent/instance.h> #include <net-snmp/agent/instance.h>
#include <stdlib.h> #include <stdlib.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
@ -32,8 +32,8 @@
#include <net-snmp/agent/serialize.h> #include <net-snmp/agent/serialize.h>
#include <net-snmp/agent/read_only.h> #include <net-snmp/agent/read_only.h>
netsnmp_feature_provide(instance) netsnmp_feature_provide(instance);
netsnmp_feature_child_of(instance, mib_helpers) netsnmp_feature_child_of(instance, mib_helpers);
typedef struct netsnmp_num_file_instance_s { typedef struct netsnmp_num_file_instance_s {
int refcnt; int refcnt;
@ -214,7 +214,7 @@ get_reg(const char *name,
#endif /* NETSNMP_FEATURE_REMOVE_REGISTER_NUM_FILE_INSTANCE */ #endif /* NETSNMP_FEATURE_REMOVE_REGISTER_NUM_FILE_INSTANCE */
/* Watched 'long' instances are writable on both 32-bit and 64-bit systems */ /* Watched 'long' instances are writable on both 32-bit and 64-bit systems */
netsnmp_feature_child_of(read_only_ulong_instance,instance) netsnmp_feature_child_of(read_only_ulong_instance,instance);
#ifndef NETSNMP_FEATURE_REMOVE_READ_ONLY_ULONG_INSTANCE #ifndef NETSNMP_FEATURE_REMOVE_READ_ONLY_ULONG_INSTANCE
int int
netsnmp_register_read_only_ulong_instance(const char *name, netsnmp_register_read_only_ulong_instance(const char *name,
@ -232,7 +232,7 @@ netsnmp_register_read_only_ulong_instance(const char *name,
} }
#endif /* NETSNMP_FEATURE_REMOVE_READ_ONLY_ULONG_INSTANCE */ #endif /* NETSNMP_FEATURE_REMOVE_READ_ONLY_ULONG_INSTANCE */
netsnmp_feature_child_of(ulong_instance,instance) netsnmp_feature_child_of(ulong_instance,instance);
#ifndef NETSNMP_FEATURE_REMOVE_ULONG_INSTANCE #ifndef NETSNMP_FEATURE_REMOVE_ULONG_INSTANCE
int int
netsnmp_register_ulong_instance(const char *name, netsnmp_register_ulong_instance(const char *name,
@ -249,7 +249,7 @@ netsnmp_register_ulong_instance(const char *name,
} }
#endif /* NETSNMP_FEATURE_REMOVE_ULONG_INSTANCE */ #endif /* NETSNMP_FEATURE_REMOVE_ULONG_INSTANCE */
netsnmp_feature_child_of(read_only_counter32_instance,instance) netsnmp_feature_child_of(read_only_counter32_instance,instance);
#ifndef NETSNMP_FEATURE_REMOVE_READ_ONLY_COUNTER32_INSTANCE #ifndef NETSNMP_FEATURE_REMOVE_READ_ONLY_COUNTER32_INSTANCE
int int
netsnmp_register_read_only_counter32_instance(const char *name, netsnmp_register_read_only_counter32_instance(const char *name,
@ -268,7 +268,7 @@ netsnmp_register_read_only_counter32_instance(const char *name,
} }
#endif /* NETSNMP_FEATURE_REMOVE_READ_ONLY_COUNTER32_INSTANCE */ #endif /* NETSNMP_FEATURE_REMOVE_READ_ONLY_COUNTER32_INSTANCE */
netsnmp_feature_child_of(read_only_long_instance,instance) netsnmp_feature_child_of(read_only_long_instance,instance);
#ifndef NETSNMP_FEATURE_REMOVE_READ_ONLY_LONG_INSTANCE #ifndef NETSNMP_FEATURE_REMOVE_READ_ONLY_LONG_INSTANCE
int int
netsnmp_register_read_only_long_instance(const char *name, netsnmp_register_read_only_long_instance(const char *name,
@ -285,7 +285,7 @@ netsnmp_register_read_only_long_instance(const char *name,
} }
#endif /* NETSNMP_FEATURE_REMOVE_READ_ONLY_LONG_INSTANCE */ #endif /* NETSNMP_FEATURE_REMOVE_READ_ONLY_LONG_INSTANCE */
netsnmp_feature_child_of(long_instance,instance) netsnmp_feature_child_of(long_instance,instance);
#ifndef NETSNMP_FEATURE_REMOVE_LONG_INSTANCE #ifndef NETSNMP_FEATURE_REMOVE_LONG_INSTANCE
int int
netsnmp_register_long_instance(const char *name, netsnmp_register_long_instance(const char *name,
@ -301,7 +301,7 @@ netsnmp_register_long_instance(const char *name,
#endif /* NETSNMP_FEATURE_REMOVE_LONG_INSTANCE */ #endif /* NETSNMP_FEATURE_REMOVE_LONG_INSTANCE */
/* Watched 'int' instances are only writable on 32-bit systems */ /* Watched 'int' instances are only writable on 32-bit systems */
netsnmp_feature_child_of(read_only_uint_instance,instance) netsnmp_feature_child_of(read_only_uint_instance,instance);
#ifndef NETSNMP_FEATURE_REMOVE_READ_ONLY_UINT_INSTANCE #ifndef NETSNMP_FEATURE_REMOVE_READ_ONLY_UINT_INSTANCE
int int
netsnmp_register_read_only_uint_instance(const char *name, netsnmp_register_read_only_uint_instance(const char *name,
@ -319,7 +319,7 @@ netsnmp_register_read_only_uint_instance(const char *name,
} }
#endif /* NETSNMP_FEATURE_REMOVE_READ_ONLY_UINT_INSTANCE */ #endif /* NETSNMP_FEATURE_REMOVE_READ_ONLY_UINT_INSTANCE */
netsnmp_feature_child_of(uint_instance,instance) netsnmp_feature_child_of(uint_instance,instance);
#ifndef NETSNMP_FEATURE_REMOVE_UINT_INSTANCE #ifndef NETSNMP_FEATURE_REMOVE_UINT_INSTANCE
int int
netsnmp_register_uint_instance(const char *name, netsnmp_register_uint_instance(const char *name,
@ -335,7 +335,7 @@ netsnmp_register_uint_instance(const char *name,
} }
#endif /* NETSNMP_FEATURE_REMOVE_UINT_INSTANCE */ #endif /* NETSNMP_FEATURE_REMOVE_UINT_INSTANCE */
netsnmp_feature_child_of(read_only_int_instance,instance) netsnmp_feature_child_of(read_only_int_instance,instance);
#ifndef NETSNMP_FEATURE_REMOVE_READ_ONLY_INT_INSTANCE #ifndef NETSNMP_FEATURE_REMOVE_READ_ONLY_INT_INSTANCE
int int
netsnmp_register_read_only_int_instance(const char *name, netsnmp_register_read_only_int_instance(const char *name,
@ -353,7 +353,7 @@ netsnmp_register_read_only_int_instance(const char *name,
/* /*
* Compatibility with earlier (inconsistently named) routine * Compatibility with earlier (inconsistently named) routine
*/ */
netsnmp_feature_child_of(register_read_only_int_instance,netsnmp_unused) netsnmp_feature_child_of(register_read_only_int_instance,netsnmp_unused);
#ifndef NETSNMP_FEATURE_REMOVE_REGISTER_READ_ONLY_INT_INSTANCE #ifndef NETSNMP_FEATURE_REMOVE_REGISTER_READ_ONLY_INT_INSTANCE
int int
register_read_only_int_instance(const char *name, register_read_only_int_instance(const char *name,
@ -370,7 +370,7 @@ register_read_only_int_instance(const char *name,
* Context registrations * Context registrations
*/ */
netsnmp_feature_child_of(register_read_only_ulong_instance_context,instance) netsnmp_feature_child_of(register_read_only_ulong_instance_context,instance);
#ifndef NETSNMP_FEATURE_REMOVE_REGISTER_READ_ONLY_ULONG_INSTANCE_CONTEXT #ifndef NETSNMP_FEATURE_REMOVE_REGISTER_READ_ONLY_ULONG_INSTANCE_CONTEXT
int int
netsnmp_register_read_only_ulong_instance_context(const char *name, netsnmp_register_read_only_ulong_instance_context(const char *name,
@ -392,7 +392,7 @@ netsnmp_register_read_only_ulong_instance_context(const char *name,
} }
#endif /* NETSNMP_FEATURE_REMOVE_REGISTER_READ_ONLY_ULONG_INSTANCE_CONTEXT */ #endif /* NETSNMP_FEATURE_REMOVE_REGISTER_READ_ONLY_ULONG_INSTANCE_CONTEXT */
netsnmp_feature_child_of(register_ulong_instance_context,instance) netsnmp_feature_child_of(register_ulong_instance_context,instance);
#ifndef NETSNMP_FEATURE_REMOVE_REGISTER_ULONG_INSTANCE_CONTEXT #ifndef NETSNMP_FEATURE_REMOVE_REGISTER_ULONG_INSTANCE_CONTEXT
int int
netsnmp_register_ulong_instance_context(const char *name, netsnmp_register_ulong_instance_context(const char *name,
@ -412,7 +412,7 @@ netsnmp_register_ulong_instance_context(const char *name,
} }
#endif /* NETSNMP_FEATURE_REMOVE_REGISTER_ULONG_INSTANCE_CONTEXT */ #endif /* NETSNMP_FEATURE_REMOVE_REGISTER_ULONG_INSTANCE_CONTEXT */
netsnmp_feature_child_of(register_read_only_counter32_instance_context,instance) netsnmp_feature_child_of(register_read_only_counter32_instance_context,instance);
#ifndef NETSNMP_FEATURE_REMOVE_REGISTER_READ_ONLY_COUNTER32_INSTANCE_CONTEXT #ifndef NETSNMP_FEATURE_REMOVE_REGISTER_READ_ONLY_COUNTER32_INSTANCE_CONTEXT
int int
netsnmp_register_read_only_counter32_instance_context(const char *name, netsnmp_register_read_only_counter32_instance_context(const char *name,
@ -434,7 +434,7 @@ netsnmp_register_read_only_counter32_instance_context(const char *name,
} }
#endif /* NETSNMP_FEATURE_REMOVE_REGISTER_READ_ONLY_COUNTER32_INSTANCE_CONTEXT */ #endif /* NETSNMP_FEATURE_REMOVE_REGISTER_READ_ONLY_COUNTER32_INSTANCE_CONTEXT */
netsnmp_feature_child_of(register_read_only_long_instance_context,instance) netsnmp_feature_child_of(register_read_only_long_instance_context,instance);
#ifndef NETSNMP_FEATURE_REMOVE_REGISTER_READ_ONLY_LONG_INSTANCE_CONTEXT #ifndef NETSNMP_FEATURE_REMOVE_REGISTER_READ_ONLY_LONG_INSTANCE_CONTEXT
int int
netsnmp_register_read_only_long_instance_context(const char *name, netsnmp_register_read_only_long_instance_context(const char *name,
@ -456,7 +456,7 @@ netsnmp_register_read_only_long_instance_context(const char *name,
} }
#endif /* NETSNMP_FEATURE_REMOVE_REGISTER_READ_ONLY_LONG_INSTANCE_CONTEXT */ #endif /* NETSNMP_FEATURE_REMOVE_REGISTER_READ_ONLY_LONG_INSTANCE_CONTEXT */
netsnmp_feature_child_of(register_long_instance_context,instance) netsnmp_feature_child_of(register_long_instance_context,instance);
#ifndef NETSNMP_FEATURE_REMOVE_REGISTER_LONG_INSTANCE_CONTEXT #ifndef NETSNMP_FEATURE_REMOVE_REGISTER_LONG_INSTANCE_CONTEXT
int int
netsnmp_register_long_instance_context(const char *name, netsnmp_register_long_instance_context(const char *name,
@ -476,7 +476,7 @@ netsnmp_register_long_instance_context(const char *name,
} }
#endif /* NETSNMP_FEATURE_REMOVE_REGISTER_LONG_INSTANCE_CONTEXT */ #endif /* NETSNMP_FEATURE_REMOVE_REGISTER_LONG_INSTANCE_CONTEXT */
netsnmp_feature_child_of(register_int_instance_context,instance) netsnmp_feature_child_of(register_int_instance_context,instance);
#ifndef NETSNMP_FEATURE_REMOVE_REGISTER_INT_INSTANCE_CONTEXT #ifndef NETSNMP_FEATURE_REMOVE_REGISTER_INT_INSTANCE_CONTEXT
int int
netsnmp_register_int_instance_context(const char *name, netsnmp_register_int_instance_context(const char *name,
@ -497,7 +497,7 @@ netsnmp_register_int_instance_context(const char *name,
} }
#endif /* NETSNMP_FEATURE_REMOVE_REGISTER_INT_INSTANCE_CONTEXT */ #endif /* NETSNMP_FEATURE_REMOVE_REGISTER_INT_INSTANCE_CONTEXT */
netsnmp_feature_child_of(register_read_only_int_instance_context,instance) netsnmp_feature_child_of(register_read_only_int_instance_context,instance);
#ifndef NETSNMP_FEATURE_REMOVE_REGISTER_READ_ONLY_INT_INSTANCE_CONTEXT #ifndef NETSNMP_FEATURE_REMOVE_REGISTER_READ_ONLY_INT_INSTANCE_CONTEXT
int int
netsnmp_register_read_only_int_instance_context(const char *name, netsnmp_register_read_only_int_instance_context(const char *name,
@ -521,7 +521,7 @@ netsnmp_register_read_only_int_instance_context(const char *name,
/* /*
* Compatibility with earlier (inconsistently named) routine * Compatibility with earlier (inconsistently named) routine
*/ */
netsnmp_feature_child_of(read_only_int_instance_context,instance) netsnmp_feature_child_of(read_only_int_instance_context,instance);
#ifndef NETSNMP_FEATURE_REMOVE_READ_ONLY_INT_INSTANCE_CONTEXT #ifndef NETSNMP_FEATURE_REMOVE_READ_ONLY_INT_INSTANCE_CONTEXT
int int
register_read_only_int_instance_context(const char *name, register_read_only_int_instance_context(const char *name,
@ -537,7 +537,7 @@ register_read_only_int_instance_context(const char *name,
} }
#endif /* NETSNMP_FEATURE_REMOVE_READ_ONLY_INT_INSTANCE_CONTEXT */ #endif /* NETSNMP_FEATURE_REMOVE_READ_ONLY_INT_INSTANCE_CONTEXT */
netsnmp_feature_child_of(register_num_file_instance,instance) netsnmp_feature_child_of(register_num_file_instance,instance);
#ifndef NETSNMP_FEATURE_REMOVE_REGISTER_NUM_FILE_INSTANCE #ifndef NETSNMP_FEATURE_REMOVE_REGISTER_NUM_FILE_INSTANCE
int int
netsnmp_register_num_file_instance(const char *name, netsnmp_register_num_file_instance(const char *name,
@ -581,7 +581,7 @@ netsnmp_register_num_file_instance(const char *name,
} }
#endif /* NETSNMP_FEATURE_REMOVE_REGISTER_NUM_FILE_INSTANCE */ #endif /* NETSNMP_FEATURE_REMOVE_REGISTER_NUM_FILE_INSTANCE */
netsnmp_feature_child_of(register_int_instance,instance) netsnmp_feature_child_of(register_int_instance,instance);
#ifndef NETSNMP_FEATURE_REMOVE_REGISTER_INT_INSTANCE #ifndef NETSNMP_FEATURE_REMOVE_REGISTER_INT_INSTANCE
/** /**
* This function registers an int helper handler to a specified OID. * This function registers an int helper handler to a specified OID.

View File

@ -16,8 +16,8 @@
#include <net-snmp/agent/mode_end_call.h> #include <net-snmp/agent/mode_end_call.h>
netsnmp_feature_provide(mode_end_call) netsnmp_feature_provide(mode_end_call);
netsnmp_feature_child_of(mode_end_call, mib_helpers) netsnmp_feature_child_of(mode_end_call, mib_helpers);
#ifndef NETSNMP_FEATURE_REMOVE_MODE_END_CALL #ifndef NETSNMP_FEATURE_REMOVE_MODE_END_CALL
/** @defgroup mode_end_call mode_end_call /** @defgroup mode_end_call mode_end_call

View File

@ -15,7 +15,7 @@
#include <net-snmp/agent/null.h> #include <net-snmp/agent/null.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>

View File

@ -15,7 +15,7 @@
#include <net-snmp/agent/old_api.h> #include <net-snmp/agent/old_api.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
@ -25,6 +25,17 @@
#include <stddef.h> #include <stddef.h>
/*
* mib clients are passed a pointer to a oid buffer. Some mib clients
* * (namely, those first noticed in mibII/vacm.c) modify this oid buffer
* * before they determine if they really need to send results back out
* * using it. If the master agent determined that the client was not the
* * right one to talk with, it will use the same oid buffer to pass to the
* * rest of the clients, which may not longer be valid. This should be
* * fixed in all clients rather than the master. However, its not a
* * particularily easy bug to track down so this saves debugging time at
* * the expense of a few memcpy's.
*/
#define MIB_CLIENTS_ARE_EVIL 1 #define MIB_CLIENTS_ARE_EVIL 1
#ifdef HAVE_DMALLOC_H #ifdef HAVE_DMALLOC_H
@ -270,7 +281,7 @@ netsnmp_old_api_helper(netsnmp_mib_handler *handler,
netsnmp_request_info *requests) netsnmp_request_info *requests)
{ {
#if MIB_CLIENTS_ARE_EVIL #ifdef MIB_CLIENTS_ARE_EVIL
oid save[MAX_OID_LEN]; oid save[MAX_OID_LEN];
size_t savelen = 0; size_t savelen = 0;
#endif #endif
@ -278,7 +289,7 @@ netsnmp_old_api_helper(netsnmp_mib_handler *handler,
int exact = 1; int exact = 1;
int status; int status;
struct variable *vp; struct variable *const vp = handler->myvoid;
netsnmp_old_api_cache *cacheptr; netsnmp_old_api_cache *cacheptr;
netsnmp_agent_session *oldasp = NULL; netsnmp_agent_session *oldasp = NULL;
u_char *access = NULL; u_char *access = NULL;
@ -287,8 +298,6 @@ netsnmp_old_api_helper(netsnmp_mib_handler *handler,
size_t tmp_len; size_t tmp_len;
oid tmp_name[MAX_OID_LEN]; oid tmp_name[MAX_OID_LEN];
vp = (struct variable *) handler->myvoid;
/* /*
* create old variable structure with right information * create old variable structure with right information
*/ */
@ -308,7 +317,7 @@ netsnmp_old_api_helper(netsnmp_mib_handler *handler,
for (; requests; requests = requests->next) { for (; requests; requests = requests->next) {
#if MIB_CLIENTS_ARE_EVIL #ifdef MIB_CLIENTS_ARE_EVIL
savelen = requests->requestvb->name_length; savelen = requests->requestvb->name_length;
memcpy(save, requests->requestvb->name, savelen * sizeof(oid)); memcpy(save, requests->requestvb->name, savelen * sizeof(oid));
#endif #endif
@ -322,7 +331,7 @@ netsnmp_old_api_helper(netsnmp_mib_handler *handler,
/* /*
* Actually call the old mib-module function * Actually call the old mib-module function
*/ */
if (vp && vp->findVar) { if (vp->findVar) {
tmp_len = requests->requestvb->name_length*sizeof(oid); tmp_len = requests->requestvb->name_length*sizeof(oid);
memcpy(tmp_name, requests->requestvb->name, tmp_len); memcpy(tmp_name, requests->requestvb->name, tmp_len);
/** clear the rest of tmp_name to keep valgrind happy */ /** clear the rest of tmp_name to keep valgrind happy */
@ -361,7 +370,7 @@ netsnmp_old_api_helper(netsnmp_mib_handler *handler,
/* /*
* no result returned * no result returned
*/ */
#if MIB_CLIENTS_ARE_EVIL #ifdef MIB_CLIENTS_ARE_EVIL
if (access == NULL) { if (access == NULL) {
if (netsnmp_oid_equals(requests->requestvb->name, if (netsnmp_oid_equals(requests->requestvb->name,
requests->requestvb->name_length, requests->requestvb->name_length,

View File

@ -17,15 +17,17 @@
#include <net-snmp/agent/row_merge.h> #include <net-snmp/agent/row_merge.h>
#if HAVE_STRING_H #include <stdint.h>
#ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
#endif #endif
netsnmp_feature_provide(row_merge) netsnmp_feature_provide(row_merge);
netsnmp_feature_child_of(row_merge, row_merge_all) netsnmp_feature_child_of(row_merge, row_merge_all);
netsnmp_feature_child_of(row_merge_all, mib_helpers) netsnmp_feature_child_of(row_merge_all, mib_helpers);
#ifndef NETSNMP_FEATURE_REMOVE_ROW_MERGE #ifndef NETSNMP_FEATURE_REMOVE_ROW_MERGE
@ -56,7 +58,7 @@ netsnmp_get_row_merge_handler(int prefix_len)
/** functionally the same as calling netsnmp_register_handler() but also /** functionally the same as calling netsnmp_register_handler() but also
* injects a row_merge handler at the same time for you. */ * injects a row_merge handler at the same time for you. */
netsnmp_feature_child_of(register_row_merge, row_merge_all) netsnmp_feature_child_of(register_row_merge, row_merge_all);
#ifndef NETSNMP_FEATURE_REMOVE_REGISTER_ROW_MERGE #ifndef NETSNMP_FEATURE_REMOVE_REGISTER_ROW_MERGE
int int
netsnmp_register_row_merge(netsnmp_handler_registration *reginfo) netsnmp_register_row_merge(netsnmp_handler_registration *reginfo)

View File

@ -21,7 +21,7 @@
#include <net-snmp/agent/scalar.h> #include <net-snmp/agent/scalar.h>
#include <stdlib.h> #include <stdlib.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>

View File

@ -17,7 +17,7 @@
#include <net-snmp/agent/scalar_group.h> #include <net-snmp/agent/scalar_group.h>
#include <stdlib.h> #include <stdlib.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>

View File

@ -13,15 +13,15 @@
#include <net-snmp/net-snmp-features.h> #include <net-snmp/net-snmp-features.h>
#include <net-snmp/net-snmp-includes.h> #include <net-snmp/net-snmp-includes.h>
#include <net-snmp/agent/net-snmp-agent-includes.h> #include <net-snmp/agent/net-snmp-agent-includes.h>
#include <net-snmp/agent/snmp_get_statistic.h> #include <net-snmp/agent/snmp_get_statistic.h>
#include <stdint.h>
netsnmp_feature_provide(helper_statistics) netsnmp_feature_provide(helper_statistics);
netsnmp_feature_child_of(helper_statistics, mib_helpers) netsnmp_feature_child_of(helper_statistics, mib_helpers);
#ifdef NETSNMP_FEATURE_REQUIRE_HELPER_STATISTICS #ifdef NETSNMP_FEATURE_REQUIRE_HELPER_STATISTICS
/* if we're not needed, then neither is this */ /* if we're not needed, then neither is this */
netsnmp_feature_require(statistics) netsnmp_feature_require(statistics);
#endif #endif
#ifndef NETSNMP_FEATURE_REMOVE_HELPER_STATISTICS #ifndef NETSNMP_FEATURE_REMOVE_HELPER_STATISTICS

View File

@ -4,12 +4,12 @@
#include <net-snmp/net-snmp-includes.h> #include <net-snmp/net-snmp-includes.h>
#include <net-snmp/agent/net-snmp-agent-includes.h> #include <net-snmp/agent/net-snmp-agent-includes.h>
netsnmp_feature_provide(stash_cache) netsnmp_feature_provide(stash_cache);
netsnmp_feature_child_of(stash_cache, mib_helpers) netsnmp_feature_child_of(stash_cache, mib_helpers);
#ifdef NETSNMP_FEATURE_REQUIRE_STASH_CACHE #ifdef NETSNMP_FEATURE_REQUIRE_STASH_CACHE
netsnmp_feature_require(oid_stash) netsnmp_feature_require(oid_stash);
netsnmp_feature_require(oid_stash_iterate) netsnmp_feature_require(oid_stash_iterate);
netsnmp_feature_require(oid_stash_get_data) netsnmp_feature_require(oid_stash_get_data);
#endif #endif
#ifndef NETSNMP_FEATURE_REMOVE_STASH_CACHE #ifndef NETSNMP_FEATURE_REMOVE_STASH_CACHE

View File

@ -4,12 +4,12 @@
#include <net-snmp/net-snmp-includes.h> #include <net-snmp/net-snmp-includes.h>
#include <net-snmp/agent/net-snmp-agent-includes.h> #include <net-snmp/agent/net-snmp-agent-includes.h>
netsnmp_feature_provide(stash_to_next) netsnmp_feature_provide(stash_to_next);
netsnmp_feature_child_of(stash_to_next, mib_helpers) netsnmp_feature_child_of(stash_to_next, mib_helpers);
#ifdef NETSNMP_FEATURE_REQUIRE_STASH_TO_NEXT #ifdef NETSNMP_FEATURE_REQUIRE_STASH_TO_NEXT
netsnmp_feature_require(oid_stash) netsnmp_feature_require(oid_stash);
netsnmp_feature_require(oid_stash_add_data) netsnmp_feature_require(oid_stash_add_data);
#endif #endif
#ifndef NETSNMP_FEATURE_REMOVE_STASH_TO_NEXT #ifndef NETSNMP_FEATURE_REMOVE_STASH_TO_NEXT

View File

@ -33,10 +33,10 @@
#include <net-snmp/agent/table.h> #include <net-snmp/agent/table.h>
#ifndef NETSNMP_NO_WRITE_SUPPORT #ifndef NETSNMP_NO_WRITE_SUPPORT
netsnmp_feature_require(oid_stash) netsnmp_feature_require(oid_stash);
#endif /* !NETSNMP_NO_WRITE_SUPPORT */ #endif /* !NETSNMP_NO_WRITE_SUPPORT */
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
@ -44,12 +44,12 @@ netsnmp_feature_require(oid_stash)
#include <net-snmp/library/snmp_assert.h> #include <net-snmp/library/snmp_assert.h>
netsnmp_feature_child_of(table_all, mib_helpers) netsnmp_feature_child_of(table_all, mib_helpers);
netsnmp_feature_child_of(table_build_result, table_all) netsnmp_feature_child_of(table_build_result, table_all);
netsnmp_feature_child_of(table_get_or_create_row_stash, table_all) netsnmp_feature_child_of(table_get_or_create_row_stash, table_all);
netsnmp_feature_child_of(registration_owns_table_info, table_all) netsnmp_feature_child_of(registration_owns_table_info, table_all);
netsnmp_feature_child_of(table_sparse, table_all) netsnmp_feature_child_of(table_sparse, table_all);
static void table_helper_cleanup(netsnmp_agent_request_info *reqinfo, static void table_helper_cleanup(netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *request, netsnmp_request_info *request,
@ -998,7 +998,8 @@ netsnmp_update_indexes_from_variable_list(netsnmp_table_request_info *tri)
if (!tri) if (!tri)
return SNMPERR_GENERR; return SNMPERR_GENERR;
return build_oid_noalloc(tri->index_oid, sizeof(tri->index_oid), return build_oid_noalloc(tri->index_oid,
sizeof(tri->index_oid) / sizeof(tri->index_oid[0]),
&tri->index_oid_len, NULL, 0, tri->indexes); &tri->index_oid_len, NULL, 0, tri->indexes);
} }

View File

@ -20,7 +20,7 @@
#include <net-snmp/agent/table_array.h> #include <net-snmp/agent/table_array.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
@ -30,12 +30,12 @@
#include <net-snmp/library/container.h> #include <net-snmp/library/container.h>
#include <net-snmp/library/snmp_assert.h> #include <net-snmp/library/snmp_assert.h>
netsnmp_feature_child_of(table_array_all, mib_helpers) netsnmp_feature_child_of(table_array_all, mib_helpers);
netsnmp_feature_child_of(table_array_register,table_array_all) netsnmp_feature_child_of(table_array_register,table_array_all);
netsnmp_feature_child_of(table_array_find_table_array_handler,table_array_all) netsnmp_feature_child_of(table_array_find_table_array_handler,table_array_all);
netsnmp_feature_child_of(table_array_extract_array_context,table_array_all) netsnmp_feature_child_of(table_array_extract_array_context,table_array_all);
netsnmp_feature_child_of(table_array_check_row_status,table_array_all) netsnmp_feature_child_of(table_array_check_row_status,table_array_all);
#ifndef NETSNMP_FEATURE_REMOVE_TABLE_CONTAINER #ifndef NETSNMP_FEATURE_REMOVE_TABLE_CONTAINER

View File

@ -20,7 +20,7 @@
#include <net-snmp/agent/table_container.h> #include <net-snmp/agent/table_container.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
@ -30,14 +30,14 @@
#include <net-snmp/library/container.h> #include <net-snmp/library/container.h>
#include <net-snmp/library/snmp_assert.h> #include <net-snmp/library/snmp_assert.h>
netsnmp_feature_provide(table_container) netsnmp_feature_provide(table_container);
netsnmp_feature_child_of(table_container, table_container_all) netsnmp_feature_child_of(table_container, table_container_all);
netsnmp_feature_child_of(table_container_replace_row, table_container_all) netsnmp_feature_child_of(table_container_replace_row, table_container_all);
netsnmp_feature_child_of(table_container_extract, table_container_all) netsnmp_feature_child_of(table_container_extract, table_container_all);
netsnmp_feature_child_of(table_container_management, table_container_all) netsnmp_feature_child_of(table_container_management, table_container_all);
netsnmp_feature_child_of(table_container_row_remove, table_container_all) netsnmp_feature_child_of(table_container_row_remove, table_container_all);
netsnmp_feature_child_of(table_container_row_insert, table_container_all) netsnmp_feature_child_of(table_container_row_insert, table_container_all);
netsnmp_feature_child_of(table_container_all, mib_helpers) netsnmp_feature_child_of(table_container_all, mib_helpers);
#ifndef NETSNMP_FEATURE_REMOVE_TABLE_CONTAINER #ifndef NETSNMP_FEATURE_REMOVE_TABLE_CONTAINER

View File

@ -17,7 +17,7 @@
#include <net-snmp/agent/table_data.h> #include <net-snmp/agent/table_data.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
@ -26,24 +26,24 @@
#include <net-snmp/agent/table.h> #include <net-snmp/agent/table.h>
#include <net-snmp/agent/read_only.h> #include <net-snmp/agent/read_only.h>
netsnmp_feature_child_of(table_data_all, mib_helpers) netsnmp_feature_child_of(table_data_all, mib_helpers);
netsnmp_feature_child_of(table_data, table_data_all) netsnmp_feature_child_of(table_data, table_data_all);
netsnmp_feature_child_of(register_read_only_table_data, table_data_all) netsnmp_feature_child_of(register_read_only_table_data, table_data_all);
netsnmp_feature_child_of(extract_table_row_data, table_data_all) netsnmp_feature_child_of(extract_table_row_data, table_data_all);
netsnmp_feature_child_of(insert_table_row, table_data_all) netsnmp_feature_child_of(insert_table_row, table_data_all);
netsnmp_feature_child_of(table_data_delete_table, table_data_all) netsnmp_feature_child_of(table_data_delete_table, table_data_all);
netsnmp_feature_child_of(table_data_extras, table_data_all) netsnmp_feature_child_of(table_data_extras, table_data_all);
netsnmp_feature_child_of(table_data_create_table, table_data_extras) netsnmp_feature_child_of(table_data_create_table, table_data_extras);
netsnmp_feature_child_of(table_data_create_row, table_data_extras) netsnmp_feature_child_of(table_data_create_row, table_data_extras);
netsnmp_feature_child_of(table_data_copy_row, table_data_extras) netsnmp_feature_child_of(table_data_copy_row, table_data_extras);
netsnmp_feature_child_of(table_data_remove_delete_row, table_data_extras) netsnmp_feature_child_of(table_data_remove_delete_row, table_data_extras);
netsnmp_feature_child_of(table_data_unregister, table_data_extras) netsnmp_feature_child_of(table_data_unregister, table_data_extras);
netsnmp_feature_child_of(table_data_row_count, table_data_extras) netsnmp_feature_child_of(table_data_row_count, table_data_extras);
netsnmp_feature_child_of(table_data_row_operations, table_data_extras) netsnmp_feature_child_of(table_data_row_operations, table_data_extras);
netsnmp_feature_child_of(table_data_row_first, table_data_extras) netsnmp_feature_child_of(table_data_row_first, table_data_extras);
#ifndef NETSNMP_FEATURE_REMOVE_TABLE_DATA #ifndef NETSNMP_FEATURE_REMOVE_TABLE_DATA

View File

@ -18,38 +18,38 @@
#include <net-snmp/agent/table_dataset.h> #include <net-snmp/agent/table_dataset.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
#endif #endif
netsnmp_feature_child_of(table_dataset_all, mib_helpers) netsnmp_feature_child_of(table_dataset_all, mib_helpers);
netsnmp_feature_child_of(table_dataset, table_dataset_all) netsnmp_feature_child_of(table_dataset, table_dataset_all);
netsnmp_feature_child_of(table_dataset_remove_row, table_dataset_all) netsnmp_feature_child_of(table_dataset_remove_row, table_dataset_all);
netsnmp_feature_child_of(table_data_set_column, table_dataset_all) netsnmp_feature_child_of(table_data_set_column, table_dataset_all);
netsnmp_feature_child_of(table_dataset_get_newrow, table_dataset_all) netsnmp_feature_child_of(table_dataset_get_newrow, table_dataset_all);
netsnmp_feature_child_of(table_set_add_indexes, table_dataset_all) netsnmp_feature_child_of(table_set_add_indexes, table_dataset_all);
netsnmp_feature_child_of(delete_table_data_set, table_dataset_all) netsnmp_feature_child_of(delete_table_data_set, table_dataset_all);
netsnmp_feature_child_of(table_set_multi_add_default_row, table_dataset_all) netsnmp_feature_child_of(table_set_multi_add_default_row, table_dataset_all);
netsnmp_feature_child_of(table_dataset_unregister_auto_data_table, table_dataset_all) netsnmp_feature_child_of(table_dataset_unregister_auto_data_table, table_dataset_all);
#ifdef NETSNMP_FEATURE_REQUIRE_TABLE_DATASET #ifdef NETSNMP_FEATURE_REQUIRE_TABLE_DATASET
netsnmp_feature_require(table_get_or_create_row_stash) netsnmp_feature_require(table_get_or_create_row_stash);
netsnmp_feature_require(table_data_delete_table) netsnmp_feature_require(table_data_delete_table);
netsnmp_feature_require(table_data) netsnmp_feature_require(table_data);
netsnmp_feature_require(oid_stash_get_data) netsnmp_feature_require(oid_stash_get_data);
netsnmp_feature_require(oid_stash_add_data) netsnmp_feature_require(oid_stash_add_data);
#endif /* NETSNMP_FEATURE_REQUIRE_TABLE_DATASET */ #endif /* NETSNMP_FEATURE_REQUIRE_TABLE_DATASET */
#ifndef NETSNMP_FEATURE_REMOVE_TABLE_DATASET #ifndef NETSNMP_FEATURE_REMOVE_TABLE_DATASET
#ifndef NETSNMP_NO_WRITE_SUPPORT #ifndef NETSNMP_NO_WRITE_SUPPORT
netsnmp_feature_require(oid_stash) netsnmp_feature_require(oid_stash);
#endif /* !NETSNMP_NO_WRITE_SUPPORT */ #endif /* !NETSNMP_NO_WRITE_SUPPORT */
#ifndef NETSNMP_DISABLE_MIB_LOADING #ifndef NETSNMP_DISABLE_MIB_LOADING
netsnmp_feature_require(mib_to_asn_type) netsnmp_feature_require(mib_to_asn_type);
#endif /* NETSNMP_DISABLE_MIB_LOADING */ #endif /* NETSNMP_DISABLE_MIB_LOADING */
static netsnmp_data_list *auto_tables; static netsnmp_data_list *auto_tables;

View File

@ -95,7 +95,7 @@
#include <net-snmp/agent/table_iterator.h> #include <net-snmp/agent/table_iterator.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
@ -105,16 +105,16 @@
#include <net-snmp/agent/serialize.h> #include <net-snmp/agent/serialize.h>
#include <net-snmp/agent/stash_cache.h> #include <net-snmp/agent/stash_cache.h>
netsnmp_feature_child_of(table_iterator_all, mib_helpers) netsnmp_feature_child_of(table_iterator_all, mib_helpers);
netsnmp_feature_child_of(table_iterator_insert_context, table_iterator_all) netsnmp_feature_child_of(table_iterator_insert_context, table_iterator_all);
netsnmp_feature_child_of(table_iterator_create_table, table_iterator_all) netsnmp_feature_child_of(table_iterator_create_table, table_iterator_all);
netsnmp_feature_child_of(table_iterator_row_first, table_iterator_all) netsnmp_feature_child_of(table_iterator_row_first, table_iterator_all);
netsnmp_feature_child_of(table_iterator_row_count, table_iterator_all) netsnmp_feature_child_of(table_iterator_row_count, table_iterator_all);
#ifdef NETSNMP_FEATURE_REQUIRE_STASH_CACHE #ifdef NETSNMP_FEATURE_REQUIRE_STASH_CACHE
netsnmp_feature_require(data_list_get_list_node) netsnmp_feature_require(data_list_get_list_node);
netsnmp_feature_require(oid_stash_add_data) netsnmp_feature_require(oid_stash_add_data);
#endif /* NETSNMP_FEATURE_REQUIRE_STASH_CACHE */ #endif /* NETSNMP_FEATURE_REQUIRE_STASH_CACHE */
/* ================================== /* ==================================
@ -850,7 +850,8 @@ netsnmp_table_iterator_helper_handler(netsnmp_mib_handler *handler,
netsnmp_request_get_list_data(request, netsnmp_request_get_list_data(request,
TI_REQUEST_CACHE); TI_REQUEST_CACHE);
if (!ti_info->results) { if (!ti_info->results) {
int nc; int nc;
table_info = netsnmp_extract_table_info(request); table_info = netsnmp_extract_table_info(request);
nc = netsnmp_table_next_column(table_info); nc = netsnmp_table_next_column(table_info);
if (0 == nc) { if (0 == nc) {
@ -858,7 +859,6 @@ netsnmp_table_iterator_helper_handler(netsnmp_mib_handler *handler,
snmp_set_var_objid(request->requestvb, snmp_set_var_objid(request->requestvb,
coloid, reginfo->rootoid_len+2); coloid, reginfo->rootoid_len+2);
request->processed = TABLE_ITERATOR_NOTAGAIN; request->processed = TABLE_ITERATOR_NOTAGAIN;
break;
} else { } else {
table_info->colnum = nc; table_info->colnum = nc;
hintok = 0; hintok = 0;

View File

@ -17,7 +17,7 @@
#include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-features.h> #include <net-snmp/net-snmp-features.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
@ -31,9 +31,9 @@
#include <net-snmp/library/container.h> #include <net-snmp/library/container.h>
#include <net-snmp/library/snmp_assert.h> #include <net-snmp/library/snmp_assert.h>
netsnmp_feature_child_of(table_row_all, mib_helpers) netsnmp_feature_child_of(table_row_all, mib_helpers);
netsnmp_feature_child_of(table_row_extract, table_row_all) netsnmp_feature_child_of(table_row_extract, table_row_all);
/* /*

View File

@ -17,7 +17,7 @@
#include <net-snmp/agent/table_tdata.h> #include <net-snmp/agent/table_tdata.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
@ -27,21 +27,17 @@
#include <net-snmp/agent/table_container.h> #include <net-snmp/agent/table_container.h>
#include <net-snmp/agent/read_only.h> #include <net-snmp/agent/read_only.h>
#if HAVE_DMALLOC_H netsnmp_feature_child_of(table_tdata_all, mib_helpers);
#include <dmalloc.h> netsnmp_feature_child_of(table_tdata, table_tdata_all);
#endif netsnmp_feature_child_of(table_tdata_delete_table, table_tdata_all);
netsnmp_feature_child_of(table_tdata_extract_table, table_tdata_all);
netsnmp_feature_child_of(table_tdata_all, mib_helpers) netsnmp_feature_child_of(table_tdata_remove_row, table_tdata_all);
netsnmp_feature_child_of(table_tdata, table_tdata_all) netsnmp_feature_child_of(table_tdata_insert_row, table_tdata_all);
netsnmp_feature_child_of(table_tdata_delete_table, table_tdata_all)
netsnmp_feature_child_of(table_tdata_extract_table, table_tdata_all)
netsnmp_feature_child_of(table_tdata_remove_row, table_tdata_all)
netsnmp_feature_child_of(table_tdata_insert_row, table_tdata_all)
#ifdef NETSNMP_FEATURE_REQUIRE_TABLE_TDATA #ifdef NETSNMP_FEATURE_REQUIRE_TABLE_TDATA
netsnmp_feature_require(table_container_row_insert) netsnmp_feature_require(table_container_row_insert);
#ifdef NETSNMP_FEATURE_REQUIRE_TABLE_TDATA_REMOVE_ROW #ifdef NETSNMP_FEATURE_REQUIRE_TABLE_TDATA_REMOVE_ROW
netsnmp_feature_require(table_container_row_remove) netsnmp_feature_require(table_container_row_remove);
#endif /* NETSNMP_FEATURE_REQUIRE_TABLE_TDATA_REMOVE_ROW */ #endif /* NETSNMP_FEATURE_REQUIRE_TABLE_TDATA_REMOVE_ROW */
#endif /* NETSNMP_FEATURE_REQUIRE_TABLE_TDATA */ #endif /* NETSNMP_FEATURE_REQUIRE_TABLE_TDATA */
@ -127,7 +123,7 @@ netsnmp_tdata_create_row(void)
} }
/** clones a 'tdata' row. DOES NOT CLONE THE TABLE-SPECIFIC ENTRY DATA. */ /** clones a 'tdata' row. DOES NOT CLONE THE TABLE-SPECIFIC ENTRY DATA. */
netsnmp_feature_child_of(tdata_clone_row, table_tdata_all) netsnmp_feature_child_of(tdata_clone_row, table_tdata_all);
#ifndef NETSNMP_FEATURE_REMOVE_TDATA_CLONE_ROW #ifndef NETSNMP_FEATURE_REMOVE_TDATA_CLONE_ROW
netsnmp_tdata_row * netsnmp_tdata_row *
netsnmp_tdata_clone_row(netsnmp_tdata_row *row) netsnmp_tdata_clone_row(netsnmp_tdata_row *row)
@ -165,7 +161,7 @@ netsnmp_tdata_clone_row(netsnmp_tdata_row *row)
/** copy the contents of a 'tdata' row. /** copy the contents of a 'tdata' row.
DOES NOT COPY THE TABLE-SPECIFIC ENTRY DATA. */ DOES NOT COPY THE TABLE-SPECIFIC ENTRY DATA. */
netsnmp_feature_child_of(tdata_copy_row, table_tdata_all) netsnmp_feature_child_of(tdata_copy_row, table_tdata_all);
#ifndef NETSNMP_FEATURE_REMOVE_TDATA_COPY_ROW #ifndef NETSNMP_FEATURE_REMOVE_TDATA_COPY_ROW
int int
netsnmp_tdata_copy_row(netsnmp_tdata_row *dst_row, netsnmp_tdata_row *src_row) netsnmp_tdata_copy_row(netsnmp_tdata_row *dst_row, netsnmp_tdata_row *src_row)
@ -267,7 +263,7 @@ netsnmp_tdata_add_row(netsnmp_tdata *table,
} }
/** swaps out origrow with newrow. This does *not* delete/free anything! */ /** swaps out origrow with newrow. This does *not* delete/free anything! */
netsnmp_feature_child_of(tdata_replace_row, table_tdata_all) netsnmp_feature_child_of(tdata_replace_row, table_tdata_all);
#ifndef NETSNMP_FEATURE_REMOVE_TDATA_REPLACE_ROW #ifndef NETSNMP_FEATURE_REMOVE_TDATA_REPLACE_ROW
void void
netsnmp_tdata_replace_row(netsnmp_tdata *table, netsnmp_tdata_replace_row(netsnmp_tdata *table,
@ -428,7 +424,7 @@ netsnmp_tdata_register(netsnmp_handler_registration *reginfo,
table->container, TABLE_CONTAINER_KEY_NETSNMP_INDEX); table->container, TABLE_CONTAINER_KEY_NETSNMP_INDEX);
} }
netsnmp_feature_child_of(tdata_unregister, table_tdata_all) netsnmp_feature_child_of(tdata_unregister, table_tdata_all);
#ifndef NETSNMP_FEATURE_REMOVE_TDATA_UNREGISTER #ifndef NETSNMP_FEATURE_REMOVE_TDATA_UNREGISTER
int int
netsnmp_tdata_unregister(netsnmp_handler_registration *reginfo) netsnmp_tdata_unregister(netsnmp_handler_registration *reginfo)
@ -449,7 +445,7 @@ netsnmp_tdata_extract_table(netsnmp_request_info *request)
#endif /* NETSNMP_FEATURE_REMOVE_TABLE_TDATA_EXTRACT_TABLE */ #endif /* NETSNMP_FEATURE_REMOVE_TABLE_TDATA_EXTRACT_TABLE */
/** extracts the tdata container from the request structure */ /** extracts the tdata container from the request structure */
netsnmp_feature_child_of(tdata_extract_container, table_tdata_all) netsnmp_feature_child_of(tdata_extract_container, table_tdata_all);
#ifndef NETSNMP_FEATURE_REMOVE_TDATA_EXTRACT_CONTAINER #ifndef NETSNMP_FEATURE_REMOVE_TDATA_EXTRACT_CONTAINER
netsnmp_container * netsnmp_container *
netsnmp_tdata_extract_container(netsnmp_request_info *request) netsnmp_tdata_extract_container(netsnmp_request_info *request)
@ -596,7 +592,7 @@ netsnmp_tdata_row_next_byoid(netsnmp_tdata *table,
return (netsnmp_tdata_row*)CONTAINER_NEXT( table->container, &index ); return (netsnmp_tdata_row*)CONTAINER_NEXT( table->container, &index );
} }
netsnmp_feature_child_of(tdata_row_count, table_tdata_all) netsnmp_feature_child_of(tdata_row_count, table_tdata_all);
#ifndef NETSNMP_FEATURE_REMOVE_TDATA_ROW_COUNT #ifndef NETSNMP_FEATURE_REMOVE_TDATA_ROW_COUNT
int int
netsnmp_tdata_row_count(netsnmp_tdata *table) netsnmp_tdata_row_count(netsnmp_tdata *table)
@ -615,7 +611,7 @@ netsnmp_tdata_row_count(netsnmp_tdata *table)
/** compare a row with the given index values */ /** compare a row with the given index values */
netsnmp_feature_child_of(tdata_compare_idx, table_tdata_all) netsnmp_feature_child_of(tdata_compare_idx, table_tdata_all);
#ifndef NETSNMP_FEATURE_REMOVE_TDATA_COMPARE_IDX #ifndef NETSNMP_FEATURE_REMOVE_TDATA_COMPARE_IDX
int int
netsnmp_tdata_compare_idx(netsnmp_tdata_row *row, netsnmp_tdata_compare_idx(netsnmp_tdata_row *row,

View File

@ -31,18 +31,18 @@ static void free_wrapper(void * p)
#define free_wrapper free #define free_wrapper free
#endif #endif
netsnmp_feature_provide(watcher_all) netsnmp_feature_provide(watcher_all);
netsnmp_feature_child_of(watcher_all, mib_helpers) netsnmp_feature_child_of(watcher_all, mib_helpers);
netsnmp_feature_child_of(watcher_create_info6, watcher_all) netsnmp_feature_child_of(watcher_create_info6, watcher_all);
netsnmp_feature_child_of(watcher_register_timestamp, watcher_all) netsnmp_feature_child_of(watcher_register_timestamp, watcher_all);
netsnmp_feature_child_of(watcher_ulong_scalar, watcher_all) netsnmp_feature_child_of(watcher_ulong_scalar, watcher_all);
netsnmp_feature_child_of(watcher_read_only_ulong_scalar, watcher_all) netsnmp_feature_child_of(watcher_read_only_ulong_scalar, watcher_all);
netsnmp_feature_child_of(watcher_read_only_int_scalar, watcher_all) netsnmp_feature_child_of(watcher_read_only_int_scalar, watcher_all);
netsnmp_feature_child_of(watcher_long_scalar, watcher_all) netsnmp_feature_child_of(watcher_long_scalar, watcher_all);
netsnmp_feature_child_of(watcher_read_only_long_scalar, watcher_all) netsnmp_feature_child_of(watcher_read_only_long_scalar, watcher_all);
netsnmp_feature_child_of(watcher_int_scalar, watcher_all) netsnmp_feature_child_of(watcher_int_scalar, watcher_all);
netsnmp_feature_child_of(read_only_counter32_scalar, watcher_all) netsnmp_feature_child_of(read_only_counter32_scalar, watcher_all);
netsnmp_feature_child_of(watcher_spinlock, watcher_all) netsnmp_feature_child_of(watcher_spinlock, watcher_all);
/** @defgroup watcher watcher /** @defgroup watcher watcher
* Watch a specified variable and process it as an instance or scalar object * Watch a specified variable and process it as an instance or scalar object

View File

@ -18,24 +18,24 @@
#include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-config.h>
#include <sys/types.h> #include <sys/types.h>
#if HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#if HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif #endif
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#endif #endif
#if HAVE_FCNTL_H #ifdef HAVE_FCNTL_H
#include <fcntl.h> #include <fcntl.h>
#endif #endif
#if HAVE_NETINET_IN_H #ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif #endif
#if HAVE_KVM_H #ifdef HAVE_KVM_H
#include <kvm.h> #include <kvm.h>
#endif #endif
@ -44,13 +44,8 @@
#include "kernel.h" #include "kernel.h"
#include <net-snmp/agent/ds_agent.h> #include <net-snmp/agent/ds_agent.h>
#ifndef NULL #if defined(HAVE_KVM_H) && !defined(NETSNMP_NO_KMEM_USAGE)
#define NULL 0 kvm_t *kd;
#endif
#if HAVE_KVM_H
kvm_t *kd = NULL;
/** /**
* Initialize the support for accessing kernel virtual memory. * Initialize the support for accessing kernel virtual memory.
@ -62,7 +57,7 @@ init_kmem(const char *file)
{ {
int res = TRUE; int res = TRUE;
#if HAVE_KVM_OPENFILES #ifdef HAVE_KVM_OPENFILES
char err[4096]; char err[4096];
kd = kvm_openfiles(NULL, NULL, NULL, O_RDONLY, err); kd = kvm_openfiles(NULL, NULL, NULL, O_RDONLY, err);
@ -110,7 +105,7 @@ klookup(unsigned long off, void *target, size_t siz)
return 0; return 0;
result = kvm_read(kd, off, target, siz); result = kvm_read(kd, off, target, siz);
if (result != siz) { if (result != siz) {
#if HAVE_KVM_OPENFILES #ifdef HAVE_KVM_OPENFILES
snmp_log(LOG_ERR, "kvm_read(*, %lx, %p, %x) = %d: %s\n", off, snmp_log(LOG_ERR, "kvm_read(*, %lx, %p, %x) = %d: %s\n", off,
target, (unsigned) siz, result, kvm_geterr(kd)); target, (unsigned) siz, result, kvm_geterr(kd));
#else #else
@ -135,9 +130,8 @@ free_kmem(void)
} }
} }
#else /* HAVE_KVM_H */ #elif defined(HAVE_NLIST_H) && !defined(__linux__) && \
!defined(NETSNMP_NO_KMEM_USAGE)
#ifdef HAVE_KMEM
static off_t klseek(off_t); static off_t klseek(off_t);
static int klread(char *, int); static int klread(char *, int);
@ -259,6 +253,15 @@ free_kmem(void)
} }
} }
#endif /* HAVE_KMEM */ #else
int
init_kmem(const char *file)
{
return 1; /* success */
}
#endif /* HAVE_KVM_H */ void
free_kmem(void)
{
}
#endif

View File

@ -17,14 +17,14 @@
extern int init_kmem(const char *); extern int init_kmem(const char *);
extern void free_kmem(void); extern void free_kmem(void);
#if HAVE_KVM_H #ifdef HAVE_KVM_H
extern int klookup(unsigned long, void *, size_t); extern int klookup(unsigned long, void *, size_t);
#define NETSNMP_KLOOKUP(x,y,z) klookup((unsigned long) x,y,z) #define NETSNMP_KLOOKUP(x,y,z) klookup((unsigned long) x,y,z)
#else #else
#define NETSNMP_KLOOKUP(x,y,z) (0) #define NETSNMP_KLOOKUP(x,y,z) (0)
#endif #endif
#if HAVE_KVM_H #ifdef HAVE_KVM_H
#include <kvm.h> #include <kvm.h>
extern kvm_t *kd; extern kvm_t *kd;
#endif #endif

View File

@ -4,29 +4,29 @@
#include <net-snmp/agent/mib_module_config.h> #include <net-snmp/agent/mib_module_config.h>
#include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-config.h>
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
#endif #endif
#if HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#if HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif #endif
#include <sys/types.h> #include <sys/types.h>
#if TIME_WITH_SYS_TIME #ifdef TIME_WITH_SYS_TIME
# include <sys/time.h> # include <sys/time.h>
# include <time.h> # include <time.h>
#else #else
# if HAVE_SYS_TIME_H # ifdef HAVE_SYS_TIME_H
# include <sys/time.h> # include <sys/time.h>
# else # else
# include <time.h> # include <time.h>
# endif # endif
#endif #endif
#if HAVE_NETINET_IN_H #ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif #endif
@ -65,9 +65,6 @@ init_mib_modules(void)
{ {
static int once = 0; static int once = 0;
#ifdef USING_IF_MIB_DATA_ACCESS_INTERFACE_MODULE
netsnmp_access_interface_init();
#endif
# include "mib_module_inits.h" # include "mib_module_inits.h"
need_shutdown = 1; need_shutdown = 1;

File diff suppressed because it is too large Load Diff

View File

@ -44,13 +44,13 @@
* *
*/ */
config_require(Rmon/rows) config_require(Rmon/rows);
config_require(Rmon/agutil) config_require(Rmon/agutil);
config_require(Rmon/statistics) config_require(Rmon/statistics);
/* older implementation: */ /* older implementation: */
/* config_require(Rmon/alarm) */ /* config_require(Rmon/alarm) */
config_require(Rmon/alarmTable) config_require(Rmon/alarmTable);
config_require(Rmon/history) config_require(Rmon/history);
config_require(Rmon/event) config_require(Rmon/event);
config_add_mib(RMON-MIB) config_add_mib(RMON-MIB);

View File

@ -210,7 +210,7 @@ AGUTIL_sys_up_time(void)
void void
SYSTEM_get_eth_statistics(VAR_OID_T * data_source, ETH_STATS_T * where) SYSTEM_get_eth_statistics(VAR_OID_T * data_source, ETH_STATS_T * where)
{ {
#if OPTICALL_ACESS #ifdef OPTICALL_ACESS
where->ifIndex = data_source->objid[data_source->length - 1]; where->ifIndex = data_source->objid[data_source->length - 1];
agent_get_Rmon_ethernet_statistics(where->ifIndex, 1, /* exact */ agent_get_Rmon_ethernet_statistics(where->ifIndex, 1, /* exact */
where); where);

View File

@ -63,7 +63,7 @@ int AGUTIL_get_oid_value(u_char * var_val, u_char var_val_type,
u_long AGUTIL_sys_up_time(void); u_long AGUTIL_sys_up_time(void);
#if OPTICALL_ACESS #ifdef OPTICALL_ACESS
#define ETH_STATS_T UID_PORT_STATISTICS_T #define ETH_STATS_T UID_PORT_STATISTICS_T
#else #else
typedef struct { typedef struct {

View File

@ -20,17 +20,17 @@
#include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-config.h>
#if HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#if HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif #endif
#if TIME_WITH_SYS_TIME #ifdef TIME_WITH_SYS_TIME
# include <sys/time.h> # include <sys/time.h>
# include <time.h> # include <time.h>
#else #else
# if HAVE_SYS_TIME_H # ifdef HAVE_SYS_TIME_H
# include <sys/time.h> # include <sys/time.h>
# else # else
# include <time.h> # include <time.h>
@ -129,6 +129,8 @@
0; 0;
#endif #endif
static unsigned char zero_octet_string[1];
static int static int
fetch_var_val(oid * name, size_t namelen, u_long * new_value) fetch_var_val(oid * name, size_t namelen, u_long * new_value)
{ {
@ -645,7 +647,7 @@ var_alarmEntry(struct variable * vp, oid * name, size_t * length,
return (unsigned char *) hdr->owner; return (unsigned char *) hdr->owner;
} else { } else {
*var_len = 0; *var_len = 0;
return (unsigned char *) ""; return zero_octet_string;
} }
case IDalarmStatus: case IDalarmStatus:

View File

@ -17,16 +17,20 @@
#include "alarmTable.h" #include "alarmTable.h"
#include "event.h" #include "event.h"
netsnmp_feature_require(iquery) netsnmp_feature_require(iquery);
netsnmp_feature_require(query_set_default_session) netsnmp_feature_require(query_set_default_session);
netsnmp_feature_require(table_tdata) netsnmp_feature_require(table_tdata);
netsnmp_feature_require(check_vb_type_and_max_size) netsnmp_feature_require(check_vb_type_and_max_size);
netsnmp_feature_require(table_tdata_extract_table) netsnmp_feature_require(table_tdata_extract_table);
#ifndef NETSNMP_NO_WRITE_SUPPORT #ifndef NETSNMP_NO_WRITE_SUPPORT
netsnmp_feature_require(table_tdata_insert_row) netsnmp_feature_require(table_tdata_insert_row);
netsnmp_feature_require(iquery_pdu_session) netsnmp_feature_require(iquery_pdu_session);
#endif /* NETSNMP_NO_WRITE_SUPPORT */ #endif /* NETSNMP_NO_WRITE_SUPPORT */
static netsnmp_tdata *alarm_data;
static netsnmp_table_registration_info *alarm_info;
static netsnmp_handler_registration *alarm_reg;
/** Initializes the alarmTable module */ /** Initializes the alarmTable module */
void void
init_alarmTable(void) init_alarmTable(void)
@ -43,33 +47,38 @@ initialize_table_alarmTable(void)
{ {
static oid alarmTable_oid[] = { 1, 3, 6, 1, 2, 1, 16, 3, 1 }; static oid alarmTable_oid[] = { 1, 3, 6, 1, 2, 1, 16, 3, 1 };
size_t alarmTable_oid_len = OID_LENGTH(alarmTable_oid); size_t alarmTable_oid_len = OID_LENGTH(alarmTable_oid);
netsnmp_handler_registration *reg;
netsnmp_tdata *table_data;
netsnmp_table_registration_info *table_info;
DEBUGMSGTL(( "rmon:alarmTable", "initialize_table_alarmTable called.\n")); DEBUGMSGTL(( "rmon:alarmTable", "initialize_table_alarmTable called.\n"));
reg = alarm_reg =
netsnmp_create_handler_registration("alarmTable", netsnmp_create_handler_registration("alarmTable",
alarmTable_handler, alarmTable_handler,
alarmTable_oid, alarmTable_oid,
alarmTable_oid_len, alarmTable_oid_len,
HANDLER_CAN_RWRITE); HANDLER_CAN_RWRITE);
table_data = netsnmp_tdata_create_table("alarmTable", 0); alarm_data = netsnmp_tdata_create_table("alarmTable", 0);
table_info = SNMP_MALLOC_TYPEDEF(netsnmp_table_registration_info); alarm_info = SNMP_MALLOC_TYPEDEF(netsnmp_table_registration_info);
netsnmp_table_helper_add_indexes(table_info, ASN_INTEGER, /* index: alarmIndex */ netsnmp_table_helper_add_indexes(alarm_info, ASN_INTEGER, /* index: alarmIndex */
0); 0);
table_info->min_column = COLUMN_ALARMINDEX; alarm_info->min_column = COLUMN_ALARMINDEX;
table_info->max_column = COLUMN_ALARMSTATUS; alarm_info->max_column = COLUMN_ALARMSTATUS;
netsnmp_tdata_register(reg, table_data, table_info); netsnmp_tdata_register(alarm_reg, alarm_data, alarm_info);
/* /*
* Initialise the contents of the table here * Initialise the contents of the table here
*/ */
} }
void shutdown_alarmTable(void)
{
netsnmp_tdata_unregister(alarm_reg);
netsnmp_table_registration_info_free(alarm_info);
}
#define ALARM_STR1_LEN 32 #define ALARM_STR1_LEN 32
typedef enum { typedef enum {
RMON1_ENTRY_VALID = 1, RMON1_ENTRY_VALID = 1,
@ -805,7 +814,7 @@ alarmTable_handler(netsnmp_mib_handler *handler,
netsnmp_query_set_default_session(sess); netsnmp_query_set_default_session(sess);
DEBUGMSGTL(("rmon:alarmTable", "user name %s\n", secName)); DEBUGMSGTL(("rmon:alarmTable", "user name %s\n", secName));
} else { } else {
snmp_log(LOG_ERR, "user name %s not found\n", secName); snmp_log(LOG_ERR, "user name not found\n");
config_perror("Unknown user name\n"); config_perror("Unknown user name\n");
} }

View File

@ -11,15 +11,16 @@
#ifndef ALARMTABLE_H #ifndef ALARMTABLE_H
#define ALARMTABLE_H #define ALARMTABLE_H
config_require(utilities/iquery) config_require(utilities/iquery);
config_require(Rmon/agutil) config_require(Rmon/agutil);
config_require(Rmon/rows) config_require(Rmon/rows);
config_require(Rmon/event) config_require(Rmon/event);
/* /*
* function declarations * function declarations
*/ */
void init_alarmTable(void); void init_alarmTable(void);
void shutdown_alarmTable(void);
void initialize_table_alarmTable(void); void initialize_table_alarmTable(void);
Netsnmp_Node_Handler alarmTable_handler; Netsnmp_Node_Handler alarmTable_handler;

View File

@ -21,20 +21,20 @@
#include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-features.h> #include <net-snmp/net-snmp-features.h>
#if HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#if TIME_WITH_SYS_TIME #ifdef TIME_WITH_SYS_TIME
# include <sys/time.h> # include <sys/time.h>
# include <time.h> # include <time.h>
#else #else
# if HAVE_SYS_TIME_H # ifdef HAVE_SYS_TIME_H
# include <sys/time.h> # include <sys/time.h>
# else # else
# include <time.h> # include <time.h>
# endif # endif
#endif #endif
#if HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif #endif
#include <ctype.h> #include <ctype.h>
@ -50,7 +50,7 @@
#include "agutil_api.h" #include "agutil_api.h"
#include "row_api.h" #include "row_api.h"
netsnmp_feature_require(snprint_objid) netsnmp_feature_require(snprint_objid);
/* /*
* File scope definitions section * File scope definitions section
@ -524,7 +524,7 @@ create_explanaition(CRTL_ENTRY_T * evptr, u_char is_rising,
tmp = strchr(pch, '.'); tmp = strchr(pch, '.');
if (!tmp) if (!tmp)
break; break;
if (isdigit(tmp[1]) || '"' == tmp[1]) if (isdigit((unsigned char)tmp[1]) || '"' == tmp[1])
break; break;
pch = tmp + 1; pch = tmp + 1;
} }

View File

@ -26,10 +26,10 @@
*/ */
void init_event(void); void init_event(void);
config_require(util_funcs) config_require(util_funcs);
config_require(Rmon/agutil) config_require(Rmon/agutil);
config_require(Rmon/rows) config_require(Rmon/rows);
int int
event_api_send_alarm(u_char is_rising, u_long alarm_index, event_api_send_alarm(u_char is_rising, u_long alarm_index,

View File

@ -20,20 +20,20 @@
#include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-config.h>
#if HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#if TIME_WITH_SYS_TIME #ifdef TIME_WITH_SYS_TIME
# include <sys/time.h> # include <sys/time.h>
# include <time.h> # include <time.h>
#else #else
# if HAVE_SYS_TIME_H # ifdef HAVE_SYS_TIME_H
# include <sys/time.h> # include <sys/time.h>
# else # else
# include <time.h> # include <time.h>
# endif # endif
#endif #endif
#if HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif #endif

View File

@ -20,20 +20,20 @@
#include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-config.h>
#if HAVE_STDLIB #ifdef HAVE_STDLIB
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#if TIME_WITH_SYS_TIME #ifdef TIME_WITH_SYS_TIME
# include <sys/time.h> # include <sys/time.h>
# include <time.h> # include <time.h>
#else #else
# if HAVE_SYS_TIME_H # ifdef HAVE_SYS_TIME_H
# include <sys/time.h> # include <sys/time.h>
# else # else
# include <time.h> # include <time.h>
# endif # endif
#endif #endif
#if HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif #endif

View File

@ -22,10 +22,10 @@
* users, then it may be safe to turn on. */ * users, then it may be safe to turn on. */
#define ENABLE_EXTEND_WRITE_ACCESS 0 #define ENABLE_EXTEND_WRITE_ACCESS 0
netsnmp_feature_require(extract_table_row_data) netsnmp_feature_require(extract_table_row_data);
netsnmp_feature_require(table_data_delete_table) netsnmp_feature_require(table_data_delete_table);
#ifndef NETSNMP_NO_WRITE_SUPPORT #ifndef NETSNMP_NO_WRITE_SUPPORT
netsnmp_feature_require(insert_table_row) netsnmp_feature_require(insert_table_row);
#endif /* NETSNMP_NO_WRITE_SUPPORT */ #endif /* NETSNMP_NO_WRITE_SUPPORT */
oid ns_extend_oid[] = { 1, 3, 6, 1, 4, 1, 8072, 1, 3, 2 }; oid ns_extend_oid[] = { 1, 3, 6, 1, 4, 1, 8072, 1, 3, 2 };
@ -260,6 +260,10 @@ _unregister_extend(extend_registration_block *eptr)
} }
netsnmp_table_data_delete_table(eptr->dinfo); netsnmp_table_data_delete_table(eptr->dinfo);
netsnmp_unregister_handler( eptr->reg[0] );
netsnmp_unregister_handler( eptr->reg[1] );
netsnmp_unregister_handler( eptr->reg[2] );
netsnmp_unregister_handler( eptr->reg[3] );
free(eptr->root_oid); free(eptr->root_oid);
free(eptr); free(eptr);
} }
@ -272,11 +276,14 @@ extend_clear_callback(int majorID, int minorID,
for ( eptr=ereg_head; eptr; eptr=enext ) { for ( eptr=ereg_head; eptr; eptr=enext ) {
enext=eptr->next; enext=eptr->next;
netsnmp_table_data_delete_table(eptr->dinfo);
netsnmp_unregister_handler( eptr->reg[0] ); netsnmp_unregister_handler( eptr->reg[0] );
netsnmp_unregister_handler( eptr->reg[1] ); netsnmp_unregister_handler( eptr->reg[1] );
netsnmp_unregister_handler( eptr->reg[2] ); netsnmp_unregister_handler( eptr->reg[2] );
netsnmp_unregister_handler( eptr->reg[3] ); netsnmp_unregister_handler( eptr->reg[3] );
SNMP_FREE(eptr); if (eptr->root_oid)
free(eptr->root_oid);
free(eptr);
} }
ereg_head = NULL; ereg_head = NULL;
return 0; return 0;
@ -354,8 +361,8 @@ extend_load_cache(netsnmp_cache *cache, void *magic)
ret = run_exec_command( cmd_buf, extension->input, out_buf, &out_len); ret = run_exec_command( cmd_buf, extension->input, out_buf, &out_len);
DEBUGMSG(( "nsExtendTable:cache", ": %s : %d\n", cmd_buf, ret)); DEBUGMSG(( "nsExtendTable:cache", ": %s : %d\n", cmd_buf, ret));
if (ret >= 0) { if (ret >= 0) {
if (out_buf[ out_len-1 ] == '\n') if (out_len > 0 && out_buf[out_len - 1] == '\n')
out_buf[ --out_len ] = '\0'; /* Stomp on trailing newline */ out_buf[--out_len] = '\0'; /* Strip trailing newline */
extension->output = strdup( out_buf ); extension->output = strdup( out_buf );
extension->out_len = out_len; extension->out_len = out_len;
/* /*
@ -573,8 +580,12 @@ extend_parse_config(const char *token, char *cptr)
if (!strcmp( token, "execFix" ) || if (!strcmp( token, "execFix" ) ||
!strcmp( token, "extendfix" ) || !strcmp( token, "extendfix" ) ||
!strcmp( token, "execFix2" )) { !strcmp( token, "execFix2" )) {
strcpy( exec_name2, exec_name ); strlcpy(exec_name2, exec_name, sizeof(exec_name2));
strcat( exec_name, "Fix" ); if (snprintf(exec_name, sizeof(exec_name), "%sFix", exec_name2) >=
sizeof(exec_name)) {
config_perror("ERROR: argument too long");
return;
}
flags |= NS_EXTEND_FLAGS_WRITEABLE; flags |= NS_EXTEND_FLAGS_WRITEABLE;
/* XXX - Check for shell... */ /* XXX - Check for shell... */
} }
@ -652,9 +663,9 @@ handle_nsExtendConfigTable(netsnmp_mib_handler *handler,
netsnmp_request_info *request; netsnmp_request_info *request;
netsnmp_table_request_info *table_info; netsnmp_table_request_info *table_info;
netsnmp_extend *extension; netsnmp_extend *extension;
extend_registration_block *eptr; extend_registration_block *eptr NETSNMP_ATTRIBUTE_UNUSED;
int i; int i;
int need_to_validate = 0; int need_to_validate NETSNMP_ATTRIBUTE_UNUSED = 0;
for ( request=requests; request; request=request->next ) { for ( request=requests; request; request=request->next ) {
if (request->processed) if (request->processed)
@ -1532,52 +1543,49 @@ var_extensible_old(struct variable * vp,
idx = name[*length-1] -1; idx = name[*length-1] -1;
if (idx > max_compatability_entries) if (idx > max_compatability_entries)
return NULL; return NULL;
exten = &compatability_entries[ idx ]; exten = &compatability_entries[idx];
if (exten) { switch (vp->magic) {
switch (vp->magic) { case MIBINDEX:
case MIBINDEX: long_ret = name[*length - 1];
long_ret = name[*length - 1]; return (u_char *) &long_ret;
return ((u_char *) (&long_ret)); case ERRORNAME: /* name defined in config file */
case ERRORNAME: /* name defined in config file */ *var_len = strlen(exten->exec_entry->token);
*var_len = strlen(exten->exec_entry->token); return ((u_char *) (exten->exec_entry->token));
return ((u_char *) (exten->exec_entry->token)); case SHELLCOMMAND:
case SHELLCOMMAND: cmdline = _get_cmdline(exten->exec_entry);
cmdline = _get_cmdline(exten->exec_entry); if (cmdline)
*var_len = strlen(cmdline);
return (u_char *) cmdline;
case ERRORFLAG: /* return code from the process */
netsnmp_cache_check_and_reload( exten->exec_entry->cache );
long_ret = exten->exec_entry->result;
return (u_char *) &long_ret;
case ERRORMSG: /* first line of text returned from the process */
netsnmp_cache_check_and_reload( exten->exec_entry->cache );
if (exten->exec_entry->numlines > 1) {
*var_len = (exten->exec_entry->lines[1])-
(exten->exec_entry->output) -1;
} else if (exten->exec_entry->output) {
*var_len = strlen(exten->exec_entry->output);
} else {
*var_len = 0;
}
return (u_char *) exten->exec_entry->output;
case ERRORFIX:
*write_method = fixExec2Error;
long_return = 0;
return (u_char *) &long_return;
case ERRORFIXCMD:
if (exten->efix_entry) {
cmdline = _get_cmdline(exten->efix_entry);
if (cmdline) if (cmdline)
*var_len = strlen(cmdline); *var_len = strlen(cmdline);
return ((u_char *) cmdline); return (u_char *) cmdline;
case ERRORFLAG: /* return code from the process */ } else {
netsnmp_cache_check_and_reload( exten->exec_entry->cache ); *var_len = 0;
long_ret = exten->exec_entry->result; return (u_char *) &long_return; /* Just needs to be non-null! */
return ((u_char *) (&long_ret));
case ERRORMSG: /* first line of text returned from the process */
netsnmp_cache_check_and_reload( exten->exec_entry->cache );
if (exten->exec_entry->numlines > 1) {
*var_len = (exten->exec_entry->lines[1])-
(exten->exec_entry->output) -1;
} else if (exten->exec_entry->output) {
*var_len = strlen(exten->exec_entry->output);
} else {
*var_len = 0;
}
return ((u_char *) (exten->exec_entry->output));
case ERRORFIX:
*write_method = fixExec2Error;
long_return = 0;
return ((u_char *) &long_return);
case ERRORFIXCMD:
if (exten->efix_entry) {
cmdline = _get_cmdline(exten->efix_entry);
if (cmdline)
*var_len = strlen(cmdline);
return ((u_char *) cmdline);
} else {
*var_len = 0;
return ((u_char *) &long_return); /* Just needs to be non-null! */
}
} }
return NULL;
} }
return NULL; return NULL;
} }
@ -1590,13 +1598,10 @@ fixExec2Error(int action,
size_t var_val_len, size_t var_val_len,
u_char * statP, oid * name, size_t name_len) u_char * statP, oid * name, size_t name_len)
{ {
netsnmp_old_extend *exten = NULL;
unsigned int idx;
idx = name[name_len-1] -1;
exten = &compatability_entries[ idx ];
#if !defined(NETSNMP_NO_WRITE_SUPPORT) && ENABLE_EXTEND_WRITE_ACCESS #if !defined(NETSNMP_NO_WRITE_SUPPORT) && ENABLE_EXTEND_WRITE_ACCESS
unsigned int idx = name[name_len - 1] - 1;
const netsnmp_old_extend *exten = &compatability_entries[idx];
switch (action) { switch (action) {
case MODE_SET_RESERVE1: case MODE_SET_RESERVE1:
if (var_val_type != ASN_INTEGER) { if (var_val_type != ASN_INTEGER) {

View File

@ -1,9 +1,9 @@
#ifndef NETSNMP_EXTEND_H #ifndef NETSNMP_EXTEND_H
#define NETSNMP_EXTEND_H #define NETSNMP_EXTEND_H
config_require( util_funcs/header_simple_table ) config_require( util_funcs/header_simple_table );
config_require( utilities/execute ) config_require( utilities/execute );
config_add_mib(NET-SNMP-EXTEND-MIB) config_add_mib(NET-SNMP-EXTEND-MIB);
typedef struct netsnmp_extend_s { typedef struct netsnmp_extend_s {
char *token; char *token;

View File

@ -13,7 +13,7 @@
#include <net-snmp/agent/cache_handler.h> #include <net-snmp/agent/cache_handler.h>
#include "agent/nsCache.h" #include "agent/nsCache.h"
netsnmp_feature_require(cache_get_head) netsnmp_feature_require(cache_get_head);
/* /*

View File

@ -3,6 +3,7 @@
#include <net-snmp/agent/net-snmp-agent-includes.h> #include <net-snmp/agent/net-snmp-agent-includes.h>
#include <net-snmp/agent/scalar.h> #include <net-snmp/agent/scalar.h>
#include <stdint.h>
#ifdef HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else

View File

@ -13,9 +13,9 @@
#include <net-snmp/library/snmp_logging.h> #include <net-snmp/library/snmp_logging.h>
#include "agent/nsLogging.h" #include "agent/nsLogging.h"
netsnmp_feature_require(logging_external) netsnmp_feature_require(logging_external);
#ifndef NETSNMP_NO_WRITE_SUPPORT #ifndef NETSNMP_NO_WRITE_SUPPORT
netsnmp_feature_require(table_iterator_insert_context) netsnmp_feature_require(table_iterator_insert_context);
#endif /* NETSNMP_NO_WRITE_SUPPORT */ #endif /* NETSNMP_NO_WRITE_SUPPORT */
/* /*

View File

@ -9,7 +9,7 @@
#include <net-snmp/agent/net-snmp-agent-includes.h> #include <net-snmp/agent/net-snmp-agent-includes.h>
#include "nsModuleTable.h" #include "nsModuleTable.h"
netsnmp_feature_require(table_dataset) netsnmp_feature_require(table_dataset);
void void
nsModuleTable_free(void *context, netsnmp_iterator_info *dont_care) nsModuleTable_free(void *context, netsnmp_iterator_info *dont_care)

View File

@ -12,7 +12,7 @@
#include <net-snmp/agent/table_iterator.h> #include <net-snmp/agent/table_iterator.h>
#include "nsTransactionTable.h" #include "nsTransactionTable.h"
netsnmp_feature_require(table_dataset) netsnmp_feature_require(table_dataset);
/** Initialize the nsTransactionTable table by defining it's contents /** Initialize the nsTransactionTable table by defining it's contents
and how it's structured */ and how it's structured */

View File

@ -10,10 +10,10 @@
#include <net-snmp/agent/net-snmp-agent-includes.h> #include <net-snmp/agent/net-snmp-agent-includes.h>
#include "nsVacmAccessTable.h" #include "nsVacmAccessTable.h"
netsnmp_feature_require(check_vb_storagetype) netsnmp_feature_require(check_vb_storagetype);
#ifndef NETSNMP_NO_WRITE_SUPPORT #ifndef NETSNMP_NO_WRITE_SUPPORT
netsnmp_feature_require(check_vb_type_and_max_size) netsnmp_feature_require(check_vb_type_and_max_size);
netsnmp_feature_require(table_iterator_insert_context) netsnmp_feature_require(table_iterator_insert_context);
#endif /* NETSNMP_NO_WRITE_SUPPORT */ #endif /* NETSNMP_NO_WRITE_SUPPORT */
/** Initializes the nsVacmAccessTable module */ /** Initializes the nsVacmAccessTable module */

View File

@ -5,7 +5,7 @@
#ifndef NSVACMACCESSTABLE_H #ifndef NSVACMACCESSTABLE_H
#define NSVACMACCESSTABLE_H #define NSVACMACCESSTABLE_H
config_add_mib(NET-SNMP-VACM-MIB) config_add_mib(NET-SNMP-VACM-MIB);
/* /*
* function declarations * function declarations

View File

@ -1,9 +1,9 @@
config_require(agent/nsTransactionTable) config_require(agent/nsTransactionTable);
config_require(agent/nsModuleTable) config_require(agent/nsModuleTable);
#ifndef NETSNMP_NO_DEBUGGING #ifndef NETSNMP_NO_DEBUGGING
config_require(agent/nsDebug) config_require(agent/nsDebug);
#endif #endif
config_require(agent/nsCache) config_require(agent/nsCache);
config_require(agent/nsLogging) config_require(agent/nsLogging);
config_require(agent/nsVacmAccessTable) config_require(agent/nsVacmAccessTable);
config_add_mib(NET-SNMP-AGENT-MIB) config_add_mib(NET-SNMP-AGENT-MIB);

View File

@ -1,6 +1,6 @@
#ifndef _AGENTX_MIBGROUP_H #ifndef _AGENTX_MIBGROUP_H
#define _AGENTX_MIBGROUP_H #define _AGENTX_MIBGROUP_H
config_require(agentx/master) config_require(agentx/master);
config_require(agentx/subagent) config_require(agentx/subagent);
#endif /* _AGENTX_MIBGROUP_H */ #endif /* _AGENTX_MIBGROUP_H */

View File

@ -9,7 +9,7 @@
#ifdef HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
@ -21,8 +21,8 @@
#include "agentx/agentx_config.h" #include "agentx/agentx_config.h"
#include "agentx/protocol.h" #include "agentx/protocol.h"
netsnmp_feature_require(user_information) netsnmp_feature_require(user_information);
netsnmp_feature_require(string_time_to_secs) netsnmp_feature_require(string_time_to_secs);
/* --------------------------------------------------------------------- /* ---------------------------------------------------------------------
* *
@ -140,6 +140,22 @@ agentx_parse_agentx_retries(const char *token, char *cptr)
} }
#endif /* USING_AGENTX_MASTER_MODULE */ #endif /* USING_AGENTX_MASTER_MODULE */
#ifdef USING_AGENTX_SUBAGENT_MODULE
void
agentx_parse_agentx_ping_interval(const char *token, char *cptr)
{
int x = atoi(cptr);
DEBUGMSGTL(("agentx/config/ping", "%s\n", cptr));
if (x < 1) {
config_perror("Invalid ping interval value");
return;
}
netsnmp_ds_set_int(NETSNMP_DS_APPLICATION_ID,
NETSNMP_DS_AGENT_AGENTX_PING_INTERVAL, x);
}
#endif /* USING_AGENTX_SUBAGENT_MODULE */
/* --------------------------------------------------------------------- /* ---------------------------------------------------------------------
* *
* Sub-agent * Sub-agent
@ -160,7 +176,7 @@ agentx_register_config_handler(const char *token,
register_config_handler(":agentx", token, parser, releaser, help); register_config_handler(":agentx", token, parser, releaser, help);
} }
netsnmp_feature_child_of(agentx_unregister_config_handler, netsnmp_unused) netsnmp_feature_child_of(agentx_unregister_config_handler, netsnmp_unused);
#ifndef NETSNMP_FEATURE_REMOVE_AGENTX_UNREGISTER_CONFIG_HANDLER #ifndef NETSNMP_FEATURE_REMOVE_AGENTX_UNREGISTER_CONFIG_HANDLER
void void
agentx_unregister_config_handler(const char *token) agentx_unregister_config_handler(const char *token)
@ -187,6 +203,21 @@ agentx_config_init(void)
agentx_register_config_handler("agentxsocket", agentx_register_config_handler("agentxsocket",
agentx_parse_agentx_socket, NULL, agentx_parse_agentx_socket, NULL,
"AgentX bind address"); "AgentX bind address");
agentx_register_config_handler("agentxRetries",
agentx_parse_agentx_retries, NULL,
"AgentX Retries");
/* default to 5 retries */
netsnmp_ds_set_int(NETSNMP_DS_APPLICATION_ID,
NETSNMP_DS_AGENT_AGENTX_RETRIES, 5);
agentx_register_config_handler("agentxTimeout",
agentx_parse_agentx_timeout, NULL,
"AgentX Timeout (seconds)");
/* default to 1 second */
netsnmp_ds_set_int(NETSNMP_DS_APPLICATION_ID,
NETSNMP_DS_AGENT_AGENTX_TIMEOUT, 1 * ONE_SEC);
#ifdef USING_AGENTX_MASTER_MODULE #ifdef USING_AGENTX_MASTER_MODULE
/* /*
* tokens for master agent * tokens for master agent
@ -198,33 +229,20 @@ agentx_config_init(void)
agentx_register_config_handler("agentxperms", agentx_register_config_handler("agentxperms",
agentx_parse_agentx_perms, NULL, agentx_parse_agentx_perms, NULL,
"AgentX socket permissions: socket_perms [directory_perms [username|userid [groupname|groupid]]]"); "AgentX socket permissions: socket_perms [directory_perms [username|userid [groupname|groupid]]]");
agentx_register_config_handler("agentxRetries",
agentx_parse_agentx_retries, NULL,
"AgentX Retries");
agentx_register_config_handler("agentxTimeout",
agentx_parse_agentx_timeout, NULL,
"AgentX Timeout (seconds)");
} }
#endif /* USING_AGENTX_MASTER_MODULE */ #endif /* USING_AGENTX_MASTER_MODULE */
#ifdef USING_AGENTX_SUBAGENT_MODULE #ifdef USING_AGENTX_SUBAGENT_MODULE
/* /*
* tokens for master agent * tokens for subagent
*/ */
if (SUB_AGENT == agent_role) { if (SUB_AGENT == agent_role) {
/* agentx_register_config_handler("agentxPingInterval",
* set up callbacks to initiate master agent pings for this session agentx_parse_agentx_ping_interval, NULL,
*/ "AgentX ping interval");
netsnmp_ds_register_config(ASN_INTEGER, /* ping and/or reconnect by default every 15 seconds */
netsnmp_ds_get_string(NETSNMP_DS_LIBRARY_ID, netsnmp_ds_set_int(NETSNMP_DS_APPLICATION_ID,
NETSNMP_DS_LIB_APPTYPE), NETSNMP_DS_AGENT_AGENTX_PING_INTERVAL, 15);
"agentxPingInterval",
NETSNMP_DS_APPLICATION_ID,
NETSNMP_DS_AGENT_AGENTX_PING_INTERVAL);
/* ping and/or reconnect by default every 15 seconds */
netsnmp_ds_set_int(NETSNMP_DS_APPLICATION_ID,
NETSNMP_DS_AGENT_AGENTX_PING_INTERVAL, 15);
} }
#endif /* USING_AGENTX_SUBAGENT_MODULE */ #endif /* USING_AGENTX_SUBAGENT_MODULE */
} }

View File

@ -1,7 +1,7 @@
#ifndef __AGENTX_CONFIG_H__ #ifndef __AGENTX_CONFIG_H__
#define __AGENTX_CONFIG_H__ #define __AGENTX_CONFIG_H__
config_belongs_in(agent_module) config_belongs_in(agent_module);
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {

View File

@ -7,30 +7,30 @@
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>
#if HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
#endif #endif
#if HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif #endif
#include <sys/types.h> #include <sys/types.h>
#if TIME_WITH_SYS_TIME #ifdef TIME_WITH_SYS_TIME
# include <sys/time.h> # include <sys/time.h>
# include <time.h> # include <time.h>
#else #else
# if HAVE_SYS_TIME_H # ifdef HAVE_SYS_TIME_H
# include <sys/time.h> # include <sys/time.h>
# else # else
# include <time.h> # include <time.h>
# endif # endif
#endif #endif
#if HAVE_NETINET_IN_H #ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif #endif
@ -43,7 +43,7 @@
#include "agentx/client.h" #include "agentx/client.h"
#include "agentx/subagent.h" #include "agentx/subagent.h"
netsnmp_feature_require(set_agent_uptime) netsnmp_feature_require(set_agent_uptime);
/* /*
* AgentX handling utility routines * AgentX handling utility routines
@ -105,7 +105,7 @@ int
agentx_open_session(netsnmp_session * ss) agentx_open_session(netsnmp_session * ss)
{ {
netsnmp_pdu *pdu, *response; netsnmp_pdu *pdu, *response;
u_long timeout; int timeout;
DEBUGMSGTL(("agentx/subagent", "opening session \n")); DEBUGMSGTL(("agentx/subagent", "opening session \n"));
if (ss == NULL || !IS_AGENTX_VERSION(ss->version)) { if (ss == NULL || !IS_AGENTX_VERSION(ss->version)) {
@ -118,7 +118,7 @@ agentx_open_session(netsnmp_session * ss)
timeout = netsnmp_ds_get_int(NETSNMP_DS_APPLICATION_ID, timeout = netsnmp_ds_get_int(NETSNMP_DS_APPLICATION_ID,
NETSNMP_DS_AGENT_AGENTX_TIMEOUT); NETSNMP_DS_AGENT_AGENTX_TIMEOUT);
if (timeout < 0) if (timeout < 0)
pdu->time = 0; pdu->time = 0;
else else
/* for master TIMEOUT is usec, but Agentx Open specifies sec */ /* for master TIMEOUT is usec, but Agentx Open specifies sec */
pdu->time = timeout/ONE_SEC; pdu->time = timeout/ONE_SEC;

View File

@ -1,7 +1,7 @@
#ifndef AGENTX_CLIENT_H #ifndef AGENTX_CLIENT_H
#define AGENTX_CLIENT_H #define AGENTX_CLIENT_H
config_belongs_in(agent_module) config_belongs_in(agent_module);
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {

View File

@ -15,7 +15,7 @@
#include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-features.h> #include <net-snmp/net-snmp-features.h>
#if HAVE_IO_H #ifdef HAVE_IO_H
#include <io.h> #include <io.h>
#endif #endif
@ -24,20 +24,20 @@
#ifdef HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
#endif #endif
#if HAVE_NETINET_IN_H #ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif #endif
#if HAVE_SYS_SOCKET_H #ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h> #include <sys/socket.h>
#endif #endif
#include <errno.h> #include <errno.h>
#if HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif #endif
#ifdef HAVE_SYS_STAT_H #ifdef HAVE_SYS_STAT_H
@ -51,9 +51,9 @@
#include "agentx/protocol.h" #include "agentx/protocol.h"
#include "agentx/master_admin.h" #include "agentx/master_admin.h"
netsnmp_feature_require(handler_mark_requests_as_delegated) netsnmp_feature_require(handler_mark_requests_as_delegated);
netsnmp_feature_require(unix_socket_paths) netsnmp_feature_require(unix_socket_paths);
netsnmp_feature_require(free_agent_snmp_session_by_session) netsnmp_feature_require(free_agent_snmp_session_by_session);
void void
real_init_master(void) real_init_master(void)
@ -178,13 +178,17 @@ real_init_master(void)
agentx_sock_user = -1; agentx_sock_user = -1;
if (agentx_sock_group == 0 ) if (agentx_sock_group == 0 )
agentx_sock_group = -1; agentx_sock_group = -1;
chown(name, agentx_sock_user, agentx_sock_group); NETSNMP_IGNORE_RESULT(chown(name, agentx_sock_user,
agentx_sock_group));
} }
} }
#endif #endif
session = session =
snmp_add_full(&sess, t, NULL, agentx_parse, NULL, NULL, snmp_add_full(&sess, t, NULL, agentx_parse, NULL, NULL,
agentx_realloc_build, agentx_check_packet, NULL); agentx_realloc_build, agentx_check_packet, NULL);
/* snmp_add_full() frees 't' upon failure. */
if (!session)
t = NULL;
} }
if (session == NULL) { if (session == NULL) {
netsnmp_transport_free(t); netsnmp_transport_free(t);
@ -221,7 +225,7 @@ agentx_got_response(int operation,
/* response is too late, free the cache */ /* response is too late, free the cache */
if (magic) if (magic)
netsnmp_free_delegated_cache((netsnmp_delegated_cache*) magic); netsnmp_free_delegated_cache((netsnmp_delegated_cache*) magic);
return 0; return 1;
} }
requests = cache->requests; requests = cache->requests;
@ -280,6 +284,11 @@ agentx_got_response(int operation,
netsnmp_free_delegated_cache(cache); netsnmp_free_delegated_cache(cache);
return 0; return 0;
case NETSNMP_CALLBACK_OP_RESEND:
DEBUGMSGTL(("agentx/master", "resend on session %8p req=0x%x\n",
session, (unsigned)reqid));
return 0;
case NETSNMP_CALLBACK_OP_RECEIVED_MESSAGE: case NETSNMP_CALLBACK_OP_RECEIVED_MESSAGE:
/* /*
* This session is alive * This session is alive
@ -608,8 +617,6 @@ agentx_master_handler(netsnmp_mib_handler *handler,
result = snmp_async_send(ax_session, pdu, agentx_got_response, cb_data); result = snmp_async_send(ax_session, pdu, agentx_got_response, cb_data);
if (result == 0) { if (result == 0) {
snmp_free_pdu(pdu); snmp_free_pdu(pdu);
if (cb_data)
netsnmp_free_delegated_cache((netsnmp_delegated_cache*) cb_data);
} }
return SNMP_ERR_NOERROR; return SNMP_ERR_NOERROR;

View File

@ -1,11 +1,11 @@
#ifndef _AGENTX_MASTER_H #ifndef _AGENTX_MASTER_H
#define _AGENTX_MASTER_H #define _AGENTX_MASTER_H
config_belongs_in(agent_module) config_belongs_in(agent_module);
config_require(agentx/protocol) config_require(agentx/protocol);
config_require(agentx/master_admin) config_require(agentx/master_admin);
config_require(agentx/agentx_config) config_require(agentx/agentx_config);
void init_master(void); void init_master(void);
void real_init_master(void); void real_init_master(void);

View File

@ -13,20 +13,20 @@
#ifdef HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#if TIME_WITH_SYS_TIME #ifdef TIME_WITH_SYS_TIME
# include <sys/time.h> # include <sys/time.h>
# include <time.h> # include <time.h>
#else #else
# if HAVE_SYS_TIME_H # ifdef HAVE_SYS_TIME_H
# include <sys/time.h> # include <sys/time.h>
# else # else
# include <time.h> # include <time.h>
# endif # endif
#endif #endif
#if HAVE_NETINET_IN_H #ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif #endif
#if HAVE_SYS_SOCKET_H #ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h> #include <sys/socket.h>
#endif #endif
@ -45,11 +45,11 @@
#include <net-snmp/agent/agent_sysORTable.h> #include <net-snmp/agent/agent_sysORTable.h>
#include "master.h" #include "master.h"
netsnmp_feature_require(unregister_mib_table_row) netsnmp_feature_require(unregister_mib_table_row);
netsnmp_feature_require(trap_vars_with_context) netsnmp_feature_require(trap_vars_with_context);
netsnmp_feature_require(calculate_sectime_diff) netsnmp_feature_require(calculate_sectime_diff);
netsnmp_feature_require(allocate_globalcacheid) netsnmp_feature_require(allocate_globalcacheid);
netsnmp_feature_require(remove_index) netsnmp_feature_require(remove_index);
netsnmp_session * netsnmp_session *
find_agentx_session(netsnmp_session * session, int sessid) find_agentx_session(netsnmp_session * session, int sessid)
@ -444,17 +444,12 @@ agentx_notify(netsnmp_session * session, netsnmp_pdu *pdu)
* as this is valid AgentX syntax. * as this is valid AgentX syntax.
*/ */
/* If a context name was specified, send the trap using that context. /* If a context name was specified, send the trap using that context.
* Otherwise, send the trap without the context using the old method */ * Otherwise, send the trap without the context using the old method */
if (pdu->contextName != NULL) if (pdu->contextName != NULL)
{ send_trap_vars_with_context(-1, -1, pdu->variables, pdu->contextName);
send_trap_vars_with_context(-1, -1, pdu->variables, else
pdu->contextName);
}
else
{
send_trap_vars(-1, -1, pdu->variables); send_trap_vars(-1, -1, pdu->variables);
}
return AGENTX_ERR_NOERROR; return AGENTX_ERR_NOERROR;
} }

View File

@ -1,7 +1,7 @@
#ifndef _AGENTX_MASTER_ADMIN_H #ifndef _AGENTX_MASTER_ADMIN_H
#define _AGENTX_MASTER_ADMIN_H #define _AGENTX_MASTER_ADMIN_H
config_belongs_in(agent_module) config_belongs_in(agent_module);
int handle_master_agentx_packet(int, netsnmp_session *, int handle_master_agentx_packet(int, netsnmp_session *,
int, netsnmp_pdu *, void *); int, netsnmp_pdu *, void *);

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
#ifndef AGENTX_PROTOCOL_H #ifndef AGENTX_PROTOCOL_H
#define AGENTX_PROTOCOL_H #define AGENTX_PROTOCOL_H
config_belongs_in(agent_module) config_belongs_in(agent_module);
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {

View File

@ -8,25 +8,25 @@
#ifdef HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#if TIME_WITH_SYS_TIME #ifdef TIME_WITH_SYS_TIME
# include <sys/time.h> # include <sys/time.h>
# include <time.h> # include <time.h>
#else #else
# if HAVE_SYS_TIME_H # ifdef HAVE_SYS_TIME_H
# include <sys/time.h> # include <sys/time.h>
# else # else
# include <time.h> # include <time.h>
# endif # endif
#endif #endif
#if HAVE_SYS_SOCKET_H #ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h> #include <sys/socket.h>
#endif #endif
#if HAVE_STRING_H #ifdef HAVE_STRING_H
#include <string.h> #include <string.h>
#else #else
#include <strings.h> #include <strings.h>
#endif #endif
#if HAVE_NETINET_IN_H #ifdef HAVE_NETINET_IN_H
#include <netinet/in.h> #include <netinet/in.h>
#endif #endif
@ -47,10 +47,10 @@
#include "subagent.h" #include "subagent.h"
netsnmp_feature_child_of(agentx_subagent, agentx_all) netsnmp_feature_child_of(agentx_subagent, agentx_all);
netsnmp_feature_child_of(agentx_enable_subagent, agentx_subagent) netsnmp_feature_child_of(agentx_enable_subagent, agentx_subagent);
netsnmp_feature_require(remove_trap_session) netsnmp_feature_require(remove_trap_session);
#ifdef USING_AGENTX_SUBAGENT_MODULE #ifdef USING_AGENTX_SUBAGENT_MODULE
@ -247,6 +247,8 @@ static void
send_agentx_error(netsnmp_session *session, netsnmp_pdu *pdu, int errstat, int errindex) send_agentx_error(netsnmp_session *session, netsnmp_pdu *pdu, int errstat, int errindex)
{ {
pdu = snmp_clone_pdu(pdu); pdu = snmp_clone_pdu(pdu);
if (!pdu)
return;
pdu->command = AGENTX_MSG_RESPONSE; pdu->command = AGENTX_MSG_RESPONSE;
pdu->version = session->version; pdu->version = session->version;
pdu->errstat = errstat; pdu->errstat = errstat;
@ -503,6 +505,9 @@ handle_agentx_packet(int operation, netsnmp_session * session, int reqid,
*/ */
internal_pdu = snmp_clone_pdu(pdu); internal_pdu = snmp_clone_pdu(pdu);
if (!internal_pdu)
return 1;
free(internal_pdu->contextName);
internal_pdu->contextName = (char *) internal_pdu->community; internal_pdu->contextName = (char *) internal_pdu->community;
internal_pdu->contextNameLen = internal_pdu->community_len; internal_pdu->contextNameLen = internal_pdu->community_len;
internal_pdu->community = NULL; internal_pdu->community = NULL;
@ -548,6 +553,8 @@ handle_subagent_response(int op, netsnmp_session * session, int reqid,
} }
pdu = snmp_clone_pdu(pdu); pdu = snmp_clone_pdu(pdu);
if (!pdu)
return 1;
DEBUGMSGTL(("agentx/subagent", DEBUGMSGTL(("agentx/subagent",
"handling AgentX response (cmd 0x%02x orig_cmd 0x%02x)" "handling AgentX response (cmd 0x%02x orig_cmd 0x%02x)"
" (req=0x%x,trans=0x%x,sess=0x%x)\n", " (req=0x%x,trans=0x%x,sess=0x%x)\n",
@ -642,6 +649,8 @@ handle_subagent_set_response(int op, netsnmp_session * session, int reqid,
(unsigned)pdu->command, (unsigned)pdu->reqid, (unsigned)pdu->command, (unsigned)pdu->reqid,
(unsigned)pdu->transid, (unsigned)pdu->sessid)); (unsigned)pdu->transid, (unsigned)pdu->sessid));
pdu = snmp_clone_pdu(pdu); pdu = snmp_clone_pdu(pdu);
if (!pdu)
return 1;
asi = (struct agent_netsnmp_set_info *) magic; asi = (struct agent_netsnmp_set_info *) magic;
retsess = asi->sess; retsess = asi->sess;
@ -675,11 +684,13 @@ handle_subagent_set_response(int op, netsnmp_session * session, int reqid,
pdu->variables = NULL; /* the variables were added by us */ pdu->variables = NULL; /* the variables were added by us */
} }
netsnmp_assert(retsess != NULL); if (retsess && pdu) {
pdu->command = AGENTX_MSG_RESPONSE; pdu->command = AGENTX_MSG_RESPONSE;
pdu->version = retsess->version; pdu->version = retsess->version;
if (!snmp_send(retsess, pdu)) { if (!snmp_send(retsess, pdu))
snmp_free_pdu(pdu);
} else if (pdu) {
snmp_free_pdu(pdu); snmp_free_pdu(pdu);
} }
DEBUGMSGTL(("agentx/subagent", " FINISHED\n")); DEBUGMSGTL(("agentx/subagent", " FINISHED\n"));
@ -870,6 +881,8 @@ subagent_open_master_session(void)
agentx_realloc_build, agentx_check_packet, NULL); agentx_realloc_build, agentx_check_packet, NULL);
if (main_session == NULL) { if (main_session == NULL) {
/* snmp_add_full() frees 't' upon failure. */
t = NULL;
if (!netsnmp_ds_get_boolean(NETSNMP_DS_APPLICATION_ID, if (!netsnmp_ds_get_boolean(NETSNMP_DS_APPLICATION_ID,
NETSNMP_DS_AGENT_NO_CONNECTION_WARNINGS)) { NETSNMP_DS_AGENT_NO_CONNECTION_WARNINGS)) {
char buf[1024]; char buf[1024];

View File

@ -1,14 +1,14 @@
#ifndef _AGENTX_SUBAGENT_H #ifndef _AGENTX_SUBAGENT_H
#define _AGENTX_SUBAGENT_H #define _AGENTX_SUBAGENT_H
config_belongs_in(agent_module) config_belongs_in(agent_module);
config_require(agentx/protocol) config_require(agentx/protocol);
config_require(agentx/client) config_require(agentx/client);
config_require(agentx/agentx_config) config_require(agentx/agentx_config);
#ifndef NETSNMP_TRANSPORT_CALLBACK_DOMAIN #ifndef NETSNMP_TRANSPORT_CALLBACK_DOMAIN
config_error(agentx/subagent depends on the Callback transport) config_error(agentx/subagent depends on the Callback transport);
#endif #endif
int subagent_init(void); int subagent_init(void);

View File

@ -3,54 +3,54 @@
/* these go into both the mini agent and the full agent */ /* these go into both the mini agent and the full agent */
config_require(snmpv3mibs) config_require(snmpv3mibs);
/* very few default mibs */ /* very few default mibs */
config_add_mib(SNMPv2-MIB) config_add_mib(SNMPv2-MIB);
config_add_mib(IF-MIB) config_add_mib(IF-MIB);
config_add_mib(IP-MIB) config_add_mib(IP-MIB);
config_add_mib(TCP-MIB) config_add_mib(TCP-MIB);
config_add_mib(UDP-MIB) config_add_mib(UDP-MIB);
#ifdef NETSNMP_MINI_AGENT #ifdef NETSNMP_MINI_AGENT
/* limit the mibII modules to the bare minimum */ /* limit the mibII modules to the bare minimum */
config_require(mibII/snmp_mib) config_require(mibII/snmp_mib);
config_require(mibII/system_mib) config_require(mibII/system_mib);
config_require(mibII/sysORTable) config_require(mibII/sysORTable);
config_require(mibII/vacm_vars) config_require(mibII/vacm_vars);
config_require(mibII/vacm_conf) config_require(mibII/vacm_conf);
#else /* !NETSNMP_MINI_AGENT == the full shabang */ #else /* !NETSNMP_MINI_AGENT == the full shabang */
config_require(mibII) config_require(mibII);
config_require(ucd_snmp) config_require(ucd_snmp);
config_require(notification) config_require(notification);
config_require(notification-log-mib) config_require(notification-log-mib);
config_require(target) config_require(target);
config_require(agent_mibs) config_require(agent_mibs);
config_require(agentx) config_require(agentx);
config_require(disman/event) config_require(disman/event);
#ifndef NETSNMP_NO_WRITE_SUPPORT #ifndef NETSNMP_NO_WRITE_SUPPORT
config_require(disman/schedule) config_require(disman/schedule);
#endif /* !NETSNMP_NO_WRITE_SUPPORT */ #endif /* !NETSNMP_NO_WRITE_SUPPORT */
config_require(utilities) config_require(utilities);
/* default MIBs to auto-include for parsing */ /* default MIBs to auto-include for parsing */
/* NOTE: we consider these MIBs users will likely want to load by /* NOTE: we consider these MIBs users will likely want to load by
default, even if they're not supporting it in the agent (ie, the default, even if they're not supporting it in the agent (ie, the
command line tools need to load them anyway) */ command line tools need to load them anyway) */
config_add_mib(HOST-RESOURCES-MIB) config_add_mib(HOST-RESOURCES-MIB);
config_add_mib(NOTIFICATION-LOG-MIB) config_add_mib(NOTIFICATION-LOG-MIB);
config_add_mib(DISMAN-EVENT-MIB) config_add_mib(DISMAN-EVENT-MIB);
#ifndef NETSNMP_NO_WRITE_SUPPORT #ifndef NETSNMP_NO_WRITE_SUPPORT
config_add_mib(DISMAN-SCHEDULE-MIB) config_add_mib(DISMAN-SCHEDULE-MIB);
#endif /* !NETSNMP_NO_WRITE_SUPPORT */ #endif /* !NETSNMP_NO_WRITE_SUPPORT */
/* architecture specific extra modules */ /* architecture specific extra modules */
/* these symbols are set in the host specific net-snmp/system/<os>.h files */ /* these symbols are set in the host specific net-snmp/system/<os>.h files */
#ifdef NETSNMP_INCLUDE_HOST_RESOURCES #ifdef NETSNMP_INCLUDE_HOST_RESOURCES
config_require(host) config_require(host);
#endif #endif
#endif #endif

View File

@ -5,7 +5,7 @@
#include <limits.h> #include <limits.h>
netsnmp_feature_require(container_fifo) netsnmp_feature_require(container_fifo);
#include "deliverByNotify.h" #include "deliverByNotify.h"

View File

@ -1,18 +1,18 @@
#ifndef DELIVERBYNOTIFY_H #ifndef DELIVERBYNOTIFY_H
#define DELIVERBYNOTIFY_H 1 #define DELIVERBYNOTIFY_H 1
#if TIME_WITH_SYS_TIME #ifdef TIME_WITH_SYS_TIME
# include <sys/time.h> # include <sys/time.h>
# include <time.h> # include <time.h>
#else #else
# if HAVE_SYS_TIME_H # ifdef HAVE_SYS_TIME_H
# include <sys/time.h> # include <sys/time.h>
# else # else
# include <time.h> # include <time.h>
# endif # endif
#endif #endif
config_add_mib(NET-SNMP-PERIODIC-NOTIFY-MIB) config_add_mib(NET-SNMP-PERIODIC-NOTIFY-MIB);
void init_deliverByNotify(void); void init_deliverByNotify(void);

View File

@ -1,11 +1,11 @@
/* /*
* Wrapper for the full DisMan implementation * Wrapper for the full DisMan implementation
*/ */
config_require(disman/event-mib) config_require(disman/event-mib);
config_require(disman/expression-mib) config_require(disman/expression-mib);
#ifndef NETSNMP_NO_WRITE_SUPPORT #ifndef NETSNMP_NO_WRITE_SUPPORT
/* the schedule mib is all about writing (SETs) */ /* the schedule mib is all about writing (SETs) */
config_require(disman/schedule) config_require(disman/schedule);
#endif /* !NETSNMP_NO_WRITE_SUPPORT */ #endif /* !NETSNMP_NO_WRITE_SUPPORT */
/* config_require(disman/nslookup-mib) */ /* config_require(disman/nslookup-mib) */
/* config_require(disman/ping-mib) */ /* config_require(disman/ping-mib) */

View File

@ -1,2 +1,2 @@
config_require(disman/event) config_require(disman/event);

View File

@ -1,34 +1,34 @@
config_add_mib(DISMAN-EVENT-MIB) config_add_mib(DISMAN-EVENT-MIB);
/* /*
* wrapper for the new disman event mib implementation code files * wrapper for the new disman event mib implementation code files
*/ */
config_require(disman/event/mteScalars) config_require(disman/event/mteScalars);
config_require(disman/event/mteTrigger) config_require(disman/event/mteTrigger);
config_require(disman/event/mteTriggerTable) config_require(disman/event/mteTriggerTable);
config_require(disman/event/mteTriggerDeltaTable) config_require(disman/event/mteTriggerDeltaTable);
config_require(disman/event/mteTriggerExistenceTable) config_require(disman/event/mteTriggerExistenceTable);
config_require(disman/event/mteTriggerBooleanTable) config_require(disman/event/mteTriggerBooleanTable);
config_require(disman/event/mteTriggerThresholdTable) config_require(disman/event/mteTriggerThresholdTable);
config_require(disman/event/mteTriggerConf) config_require(disman/event/mteTriggerConf);
config_require(disman/event/mteEvent) config_require(disman/event/mteEvent);
config_require(disman/event/mteEventTable) config_require(disman/event/mteEventTable);
config_require(disman/event/mteEventSetTable) config_require(disman/event/mteEventSetTable);
config_require(disman/event/mteEventNotificationTable) config_require(disman/event/mteEventNotificationTable);
config_require(disman/event/mteEventConf) config_require(disman/event/mteEventConf);
config_require(disman/event/mteObjects) config_require(disman/event/mteObjects);
config_require(disman/event/mteObjectsTable) config_require(disman/event/mteObjectsTable);
config_require(disman/event/mteObjectsConf) config_require(disman/event/mteObjectsConf);
/* /*
* conflicts with the previous implementation * conflicts with the previous implementation
*/ */
config_exclude(disman/mteTriggerTable) config_exclude(disman/mteTriggerTable);
config_exclude(disman/mteTriggerDeltaTable) config_exclude(disman/mteTriggerDeltaTable);
config_exclude(disman/mteTriggerExistenceTable) config_exclude(disman/mteTriggerExistenceTable);
config_exclude(disman/mteTriggerBooleanTable) config_exclude(disman/mteTriggerBooleanTable);
config_exclude(disman/mteTriggerThresholdTable) config_exclude(disman/mteTriggerThresholdTable);
config_exclude(disman/mteObjectsTable) config_exclude(disman/mteObjectsTable);
config_exclude(disman/mteEventTable) config_exclude(disman/mteEventTable);
config_exclude(disman/mteEventNotificationTable) config_exclude(disman/mteEventNotificationTable);

View File

@ -13,9 +13,9 @@
#include "disman/event/mteTrigger.h" #include "disman/event/mteTrigger.h"
#include "disman/event/mteObjects.h" #include "disman/event/mteObjects.h"
netsnmp_feature_child_of(disman_debugging, libnetsnmpmibs) netsnmp_feature_child_of(disman_debugging, libnetsnmpmibs);
netsnmp_feature_child_of(mteevent, libnetsnmpmibs) netsnmp_feature_child_of(mteevent, libnetsnmpmibs);
netsnmp_feature_child_of(mteevent_removeentry, mteevent) netsnmp_feature_child_of(mteevent_removeentry, mteevent);
netsnmp_tdata *event_table_data; netsnmp_tdata *event_table_data;

View File

@ -12,7 +12,7 @@
#include "disman/event/mteEvent.h" #include "disman/event/mteEvent.h"
#include "disman/event/mteEventConf.h" #include "disman/event/mteEventConf.h"
netsnmp_feature_require(iquery) netsnmp_feature_require(iquery);
/** Initializes the mteEventsConf module */ /** Initializes the mteEventsConf module */
void void

View File

@ -1,7 +1,7 @@
#ifndef MTEEVENTCONF_H #ifndef MTEEVENTCONF_H
#define MTEEVENTCONF_H #define MTEEVENTCONF_H
config_require(utilities/iquery) config_require(utilities/iquery);
/* /*
* function declarations * function declarations

View File

@ -13,10 +13,10 @@
#include "disman/event/mteEvent.h" #include "disman/event/mteEvent.h"
#include "disman/event/mteEventNotificationTable.h" #include "disman/event/mteEventNotificationTable.h"
netsnmp_feature_require(table_tdata) netsnmp_feature_require(table_tdata);
#ifndef NETSNMP_NO_WRITE_SUPPORT #ifndef NETSNMP_NO_WRITE_SUPPORT
netsnmp_feature_require(check_vb_type_and_max_size) netsnmp_feature_require(check_vb_type_and_max_size);
netsnmp_feature_require(check_vb_oid) netsnmp_feature_require(check_vb_oid);
#endif /* NETSNMP_NO_WRITE_SUPPORT */ #endif /* NETSNMP_NO_WRITE_SUPPORT */
static netsnmp_table_registration_info *table_info; static netsnmp_table_registration_info *table_info;

View File

@ -13,11 +13,11 @@
#include "disman/event/mteEvent.h" #include "disman/event/mteEvent.h"
#include "disman/event/mteEventSetTable.h" #include "disman/event/mteEventSetTable.h"
netsnmp_feature_require(table_tdata) netsnmp_feature_require(table_tdata);
#ifndef NETSNMP_NO_WRITE_SUPPORT #ifndef NETSNMP_NO_WRITE_SUPPORT
netsnmp_feature_require(check_vb_type_and_max_size) netsnmp_feature_require(check_vb_type_and_max_size);
netsnmp_feature_require(check_vb_oid) netsnmp_feature_require(check_vb_oid);
netsnmp_feature_require(check_vb_truthvalue) netsnmp_feature_require(check_vb_truthvalue);
#endif /* NETSNMP_NO_WRITE_SUPPORT */ #endif /* NETSNMP_NO_WRITE_SUPPORT */
static netsnmp_table_registration_info *table_info; static netsnmp_table_registration_info *table_info;

Some files were not shown because too many files have changed in this diff Show More