# HG changeset patch # User Gowtham Thommandra # Date 1390383960 28800 # Node ID ce501c11d5fac4be8ab362d2c36a2efb3adf3889 # Parent 81d624418adcc3363adf2c25e2534d83efa1c291 15685782 SUNBT7005330 NET-SNMP upgrade to latest stable version diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/net-snmp-26.p5m --- a/components/net-snmp/net-snmp-26.p5m Wed Jan 22 01:46:00 2014 -0800 +++ b/components/net-snmp/net-snmp-26.p5m Wed Jan 22 01:46:00 2014 -0800 @@ -18,13 +18,14 @@ # # CDDL HEADER END # -# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. # set name=pkg.fmri \ value=pkg:/library/python-2/net-snmp-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) set name=pkg.summary value="The Net-SNMP - Python 2.6 bindings" set name=com.oracle.info.description value="Python 2.6 bindings for Net-SNMP" +set name=com.oracle.info.tpno value=13120 set name=info.classification \ value=org.opensolaris.category.2008:Development/Python set name=info.source-url value=$(COMPONENT_ARCHIVE_URL) diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/net-snmp-27.p5m --- a/components/net-snmp/net-snmp-27.p5m Wed Jan 22 01:46:00 2014 -0800 +++ b/components/net-snmp/net-snmp-27.p5m Wed Jan 22 01:46:00 2014 -0800 @@ -18,13 +18,14 @@ # # CDDL HEADER END # -# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. # set name=pkg.fmri \ value=pkg:/library/python-2/net-snmp-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) set name=pkg.summary value="The Net-SNMP - Python 2.7 bindings" set name=com.oracle.info.description value="Python 2.7 bindings for Net-SNMP" +set name=com.oracle.info.tpno value=13120 set name=info.classification \ value=org.opensolaris.category.2008:Development/Python set name=info.source-url value=$(COMPONENT_ARCHIVE_URL) diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/net-snmp-addons.p5m --- a/components/net-snmp/net-snmp-addons.p5m Wed Jan 22 01:46:00 2014 -0800 +++ b/components/net-snmp/net-snmp-addons.p5m Wed Jan 22 01:46:00 2014 -0800 @@ -18,12 +18,13 @@ # # CDDL HEADER END # -# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. # set name=pkg.fmri value=pkg:/system/management/snmp/net-snmp/addons@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) set name=pkg.summary value="Net-SNMP addon libraries" set name=com.oracle.info.description value="the Net-SNMP addon libraries" +set name=com.oracle.info.tpno value=13120 set name=info.classification value="org.opensolaris.category.2008:System/Enterprise Management" set name=info.upstream-url value=$(COMPONENT_PROJECT_URL) set name=info.source-url value=$(COMPONENT_ARCHIVE_URL) diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/net-snmp-base.p5m --- a/components/net-snmp/net-snmp-base.p5m Wed Jan 22 01:46:00 2014 -0800 +++ b/components/net-snmp/net-snmp-base.p5m Wed Jan 22 01:46:00 2014 -0800 @@ -18,7 +18,7 @@ # # CDDL HEADER END # -# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. # default mangler.man.stability volatile> @@ -29,6 +29,7 @@ set name=info.source-url value=$(COMPONENT_ARCHIVE_URL) set name=org.opensolaris.consolidation value=$(CONSOLIDATION) set name=com.oracle.info.description value="the Net-SNMP agent files and libraries" +set name=com.oracle.info.tpno value=13120 set name=info.classification value="org.opensolaris.category.2008:System/Enterprise Management" set name=org.opensolaris.arc-caseid \ @@ -102,6 +103,7 @@ file local/mib2c-conf.d/syntax-RowStatus-varbind-validate.m2i path=etc/net-snmp/snmp/mib2c-data/syntax-RowStatus-varbind-validate.m2i file local/mib2c-conf.d/syntax-StorageType-dependencies.m2i path=etc/net-snmp/snmp/mib2c-data/syntax-StorageType-dependencies.m2i file local/mib2c-conf.d/syntax-TestAndIncr-get.m2i path=etc/net-snmp/snmp/mib2c-data/syntax-TestAndIncr-get.m2i +file local/mib2c-conf.d/generic-get-U64.m2i path=etc/net-snmp/snmp/mib2c-data/generic-get-U64.m2i file local/mib2c.access_functions.conf path=etc/net-snmp/snmp/mib2c.access_functions.conf file local/mib2c.array-user.conf path=etc/net-snmp/snmp/mib2c.array-user.conf file local/mib2c.check_values.conf path=etc/net-snmp/snmp/mib2c.check_values.conf @@ -121,6 +123,7 @@ file local/mib2c.notify.conf path=etc/net-snmp/snmp/mib2c.notify.conf file local/mib2c.old-api.conf path=etc/net-snmp/snmp/mib2c.old-api.conf file local/mib2c.perl.conf path=etc/net-snmp/snmp/mib2c.perl.conf +file local/mib2c.raw-table.conf path=etc/net-snmp/snmp/mib2c.raw-table.conf file local/mib2c.row.conf path=etc/net-snmp/snmp/mib2c.row.conf file local/mib2c.scalar.conf path=etc/net-snmp/snmp/mib2c.scalar.conf file local/mib2c.table_data.conf path=etc/net-snmp/snmp/mib2c.table_data.conf @@ -132,6 +135,9 @@ file $(MACH32)/sun/agent/mibs/SUN-SEA-PROXY-MIB.txt path=etc/net-snmp/snmp/mibs/SUN-SEA-PROXY-MIB.txt file $(MACH32)/sun/agent/mibs/smatrap.mib path=etc/net-snmp/snmp/mibs/smatrap.mib file mibs/AGENTX-MIB.txt path=etc/net-snmp/snmp/mibs/AGENTX-MIB.txt +file mibs/BRIDGE-MIB.txt path=etc/net-snmp/snmp/mibs/BRIDGE-MIB.txt +file mibs/NET-SNMP-PASS-MIB.txt path=etc/net-snmp/snmp/mibs/NET-SNMP-PASS-MIB.txt +file mibs/SCTP-MIB.txt path=etc/net-snmp/snmp/mibs/SCTP-MIB.txt file mibs/DISMAN-EVENT-MIB.txt path=etc/net-snmp/snmp/mibs/DISMAN-EVENT-MIB.txt file mibs/DISMAN-EXPRESSION-MIB.txt path=etc/net-snmp/snmp/mibs/DISMAN-EXPRESSION-MIB.txt file mibs/DISMAN-NSLOOKUP-MIB.txt path=etc/net-snmp/snmp/mibs/DISMAN-NSLOOKUP-MIB.txt @@ -228,6 +234,7 @@ file path=usr/bin/mib2c file path=usr/bin/mib2c-update file usr/bin/net-snmp-config path=usr/bin/net-snmp-config-32 +file path=usr/bin/net-snmp-create-v3-user file build/prototype/$(MACH64)/usr/bin/$(MACH64)/net-snmp-config path=usr/bin/net-snmp-config-64 file path=usr/bin/snmpbulkget file path=usr/bin/snmpbulkwalk @@ -249,12 +256,17 @@ file path=usr/bin/snmpwalk file path=usr/bin/tkmib file path=usr/bin/traptoemail +file build/prototype/$(MACH64)/usr/bin/$(MACH64)/net-snmp-create-v3-user path=usr/bin/$(MACH64)/net-snmp-create-v3-user +file build/prototype/$(MACH64)/usr/bin/$(MACH64)/agentxtrap path=usr/lib/$(MACH64)/agentxtrap +file build/prototype/$(MACH64)/usr/bin/$(MACH64)/net-snmp-cert path=usr/lib/$(MACH64)/net-snmp-cert +file build/prototype/$(MACH64)/usr/bin/$(MACH64)/snmp-bridge-mib path=usr/lib/$(MACH64)/snmp-bridge-mib file path=usr/include/net-snmp/agent/agent_callbacks.h file path=usr/include/net-snmp/agent/agent_handler.h file path=usr/include/net-snmp/agent/agent_index.h file path=usr/include/net-snmp/agent/agent_module_config.h file path=usr/include/net-snmp/agent/agent_read_config.h file path=usr/include/net-snmp/agent/agent_registry.h +file path=usr/include/net-snmp/agent/agent_sysORTable.h file path=usr/include/net-snmp/agent/agent_trap.h file path=usr/include/net-snmp/agent/all_helpers.h file path=usr/include/net-snmp/agent/auto_nlist.h @@ -280,9 +292,12 @@ file path=usr/include/net-snmp/agent/serialize.h file path=usr/include/net-snmp/agent/set_helper.h file path=usr/include/net-snmp/agent/snmp_agent.h +file path=usr/include/net-snmp/agent/snmp_get_statistic.h file path=usr/include/net-snmp/agent/snmp_vars.h file path=usr/include/net-snmp/agent/stash_cache.h file path=usr/include/net-snmp/agent/stash_to_next.h +file path=usr/include/net-snmp/agent/struct.h +file path=usr/include/net-snmp/agent/sysORTable.h file path=usr/include/net-snmp/agent/table_array.h file path=usr/include/net-snmp/agent/table_container.h file path=usr/include/net-snmp/agent/table_data.h @@ -297,8 +312,8 @@ file path=usr/include/net-snmp/definitions.h file path=usr/include/net-snmp/library/asn1.h file path=usr/include/net-snmp/library/callback.h +file path=usr/include/net-snmp/library/cert_util.h file path=usr/include/net-snmp/library/check_varbind.h -file path=usr/include/net-snmp/library/cmu_compat.h file path=usr/include/net-snmp/library/container_binary_array.h file path=usr/include/net-snmp/library/container_iterator.h file path=usr/include/net-snmp/library/container_list_ssll.h @@ -306,16 +321,19 @@ file path=usr/include/net-snmp/library/container.h file path=usr/include/net-snmp/library/data_list.h file path=usr/include/net-snmp/library/default_store.h +file path=usr/include/net-snmp/library/dir_utils.h file path=usr/include/net-snmp/library/factory.h file path=usr/include/net-snmp/library/fd_event_manager.h file path=usr/include/net-snmp/library/file_utils.h file path=usr/include/net-snmp/library/getopt.h file path=usr/include/net-snmp/library/int64.h file path=usr/include/net-snmp/library/keytools.h +file path=usr/include/net-snmp/library/large_fd_set.h file path=usr/include/net-snmp/library/lcd_time.h file path=usr/include/net-snmp/library/md5.h file path=usr/include/net-snmp/library/mib.h file path=usr/include/net-snmp/library/mt_support.h +file path=usr/include/net-snmp/library/oid.h file path=usr/include/net-snmp/library/oid_stash.h file path=usr/include/net-snmp/library/parse.h file path=usr/include/net-snmp/library/read_config.h @@ -335,10 +353,17 @@ file path=usr/include/net-snmp/library/snmp_transport.h file path=usr/include/net-snmp/library/snmp-tc.h file path=usr/include/net-snmp/library/snmp.h +file path=usr/include/net-snmp/library/snmpAliasDomain.h file path=usr/include/net-snmp/library/snmpCallbackDomain.h +file path=usr/include/net-snmp/library/snmpIPv4BaseDomain.h +file path=usr/include/net-snmp/library/snmpIPv6BaseDomain.h +file path=usr/include/net-snmp/library/snmpSocketBaseDomain.h +file path=usr/include/net-snmp/library/snmpTCPBaseDomain.h file path=usr/include/net-snmp/library/snmpTCPDomain.h file path=usr/include/net-snmp/library/snmpTCPIPv6Domain.h +file path=usr/include/net-snmp/library/snmpUDPBaseDomain.h file path=usr/include/net-snmp/library/snmpUDPDomain.h +file path=usr/include/net-snmp/library/snmpUDPIPv4BaseDomain.h file path=usr/include/net-snmp/library/snmpUDPIPv6Domain.h file path=usr/include/net-snmp/library/snmpUnixDomain.h file path=usr/include/net-snmp/library/snmpusm.h @@ -348,6 +373,7 @@ file path=usr/include/net-snmp/library/text_utils.h file path=usr/include/net-snmp/library/tools.h file path=usr/include/net-snmp/library/transform_oids.h +file path=usr/include/net-snmp/library/types.h file path=usr/include/net-snmp/library/ucd_compat.h file path=usr/include/net-snmp/library/vacm.h file path=usr/include/net-snmp/library/winpipe.h @@ -356,6 +382,7 @@ file path=usr/include/net-snmp/mib_api.h file path=usr/include/net-snmp/net-snmp-config.h file path=usr/include/net-snmp/net-snmp-includes.h +file path=usr/include/net-snmp/net-snmp-features.h file path=usr/include/net-snmp/output_api.h file path=usr/include/net-snmp/pdu_api.h file path=usr/include/net-snmp/session_api.h @@ -370,6 +397,7 @@ file path=usr/include/net-snmp/system/darwin7.h file path=usr/include/net-snmp/system/darwin8.h file path=usr/include/net-snmp/system/darwin9.h +file path=usr/include/net-snmp/system/darwin10.h file path=usr/include/net-snmp/system/dragonfly.h file path=usr/include/net-snmp/system/dynix.h file path=usr/include/net-snmp/system/freebsd.h @@ -378,6 +406,10 @@ file path=usr/include/net-snmp/system/freebsd4.h file path=usr/include/net-snmp/system/freebsd5.h file path=usr/include/net-snmp/system/freebsd6.h +file path=usr/include/net-snmp/system/freebsd7.h +file path=usr/include/net-snmp/system/freebsd8.h +file path=usr/include/net-snmp/system/freebsd9.h +file path=usr/include/net-snmp/system/freebsd10.h file path=usr/include/net-snmp/system/generic.h file path=usr/include/net-snmp/system/hpux.h file path=usr/include/net-snmp/system/irix.h @@ -386,6 +418,8 @@ file path=usr/include/net-snmp/system/mips.h file path=usr/include/net-snmp/system/netbsd.h file path=usr/include/net-snmp/system/openbsd.h +file path=usr/include/net-snmp/system/openbsd4.h +file path=usr/include/net-snmp/system/openbsd5.h file path=usr/include/net-snmp/system/osf5.h file path=usr/include/net-snmp/system/solaris.h file path=usr/include/net-snmp/system/solaris2.3.h @@ -442,18 +476,19 @@ file path=usr/include/ucd-snmp/var_struct.h file path=usr/include/ucd-snmp/version.h file $(MACH64)/sun/agent/modules/entityMib/libentity.so path=usr/lib/$(MACH64)/libentity.so -file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmp.so.15.1.0 path=usr/lib/$(MACH64)/libnetsnmp.so.15.1.0 -file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmpagent.so.15.1.0 path=usr/lib/$(MACH64)/libnetsnmpagent.so.15.1.0 -file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmphelpers.so.15.1.0 path=usr/lib/$(MACH64)/libnetsnmphelpers.so.15.1.0 -file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmpmibs.so.15.1.0 path=usr/lib/$(MACH64)/libnetsnmpmibs.so.15.1.0 -file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmptrapd.so.15.1.0 path=usr/lib/$(MACH64)/libnetsnmptrapd.so.15.1.0 +file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmp.so.30.0.2 path=usr/lib/$(MACH64)/libnetsnmp.so.30.0.2 +file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmpagent.so.30.0.2 path=usr/lib/$(MACH64)/libnetsnmpagent.so.30.0.2 +file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmphelpers.so.30.0.2 path=usr/lib/$(MACH64)/libnetsnmphelpers.so.30.0.2 +file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmpmibs.so.30.0.2 path=usr/lib/$(MACH64)/libnetsnmpmibs.so.30.0.2 +file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmptrapd.so.30.0.2 path=usr/lib/$(MACH64)/libnetsnmptrapd.so.30.0.2 +file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libsnmp.so.30.0.2 path=usr/lib/$(MACH64)/libsnmp.so.30.0.2 file $(MACH32)/sun/agent/modules/entityMib/libentity.so path=usr/lib/libentity.so -file path=usr/lib/libnetsnmp.so.15.1.0 -file path=usr/lib/libnetsnmpagent.so.15.1.0 -file path=usr/lib/libnetsnmphelpers.so.15.1.0 -file path=usr/lib/libnetsnmpmibs.so.15.1.0 -file path=usr/lib/libnetsnmptrapd.so.15.1.0 -file path=usr/lib/libsnmp.so.15.1.0 +file path=usr/lib/libnetsnmp.so.30.0.2 +file path=usr/lib/libnetsnmpagent.so.30.0.2 +file path=usr/lib/libnetsnmphelpers.so.30.0.2 +file path=usr/lib/libnetsnmpmibs.so.30.0.2 +file path=usr/lib/libnetsnmptrapd.so.30.0.2 +file path=usr/lib/libsnmp.so.30.0.2 file $(MACH32)/sun/masfcnv path=usr/lib/net-snmp/masfcnv file $(MACH32)/sun/masfd path=usr/lib/net-snmp/masfd file path=usr/perl5/$(PERL_VERSION)/man/man3/NetSNMP::agent::default_store.3 @@ -466,7 +501,7 @@ file path=usr/perl5/$(PERL_VERSION)/man/man3/SNMP.3 file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/Bundle/NetSNMP/.packlist file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/agent/agent.bs -file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/agent/agent.so +file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/agent/agent.so pkg.depend.bypass-generate=.* file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/agent/autosplit.ix file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/agent/default_store/autosplit.ix file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/agent/default_store/default_store.bs @@ -476,16 +511,16 @@ file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/ASN/autosplit.ix file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/default_store/autosplit.ix file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/default_store/default_store.bs -file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/default_store/default_store.so +file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/default_store/default_store.so pkg.depend.bypass-generate=.* file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/OID/autosplit.ix file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/OID/OID.bs -file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/OID/OID.so +file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/OID/OID.so pkg.depend.bypass-generate=.* file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/TrapReceiver/autosplit.ix file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/TrapReceiver/TrapReceiver.bs -file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/TrapReceiver/TrapReceiver.so +file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/TrapReceiver/TrapReceiver.so pkg.depend.bypass-generate=.* file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/SNMP/autosplit.ix file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/SNMP/SNMP.bs -file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/SNMP/SNMP.so +file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/SNMP/SNMP.so pkg.depend.bypass-generate=.* file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/Bundle/Makefile.subs.pl file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/NetSNMP/agent.pm file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/NetSNMP/agent/default_store.pm @@ -505,28 +540,30 @@ link path=usr/bin/net-snmp-config target=./net-snmp-config-32 variant.arch=i386 link path=usr/bin/net-snmp-config target=./net-snmp-config-64 variant.arch=sparc link path=usr/bin/snmpinform target=snmptrap -link path=usr/lib/$(MACH64)/libnetsnmp.so target=./libnetsnmp.so.15.1.0 -link path=usr/lib/$(MACH64)/libnetsnmp.so.15 target=./libnetsnmp.so.15.1.0 -link path=usr/lib/$(MACH64)/libnetsnmpagent.so target=./libnetsnmpagent.so.15.1.0 -link path=usr/lib/$(MACH64)/libnetsnmpagent.so.15 target=./libnetsnmpagent.so.15.1.0 -link path=usr/lib/$(MACH64)/libnetsnmphelpers.so target=./libnetsnmphelpers.so.15.1.0 -link path=usr/lib/$(MACH64)/libnetsnmphelpers.so.15 target=./libnetsnmphelpers.so.15.1.0 -link path=usr/lib/$(MACH64)/libnetsnmpmibs.so target=./libnetsnmpmibs.so.15.1.0 -link path=usr/lib/$(MACH64)/libnetsnmpmibs.so.15 target=./libnetsnmpmibs.so.15.1.0 -link path=usr/lib/$(MACH64)/libnetsnmptrapd.so target=./libnetsnmptrapd.so.15.1.0 -link path=usr/lib/$(MACH64)/libnetsnmptrapd.so.15 target=./libnetsnmptrapd.so.15.1.0 -link path=usr/lib/libnetsnmp.so target=./libnetsnmp.so.15.1.0 -link path=usr/lib/libnetsnmp.so.15 target=./libnetsnmp.so.15.1.0 -link path=usr/lib/libnetsnmpagent.so target=./libnetsnmpagent.so.15.1.0 -link path=usr/lib/libnetsnmpagent.so.15 target=./libnetsnmpagent.so.15.1.0 -link path=usr/lib/libnetsnmphelpers.so target=./libnetsnmphelpers.so.15.1.0 -link path=usr/lib/libnetsnmphelpers.so.15 target=./libnetsnmphelpers.so.15.1.0 -link path=usr/lib/libnetsnmpmibs.so target=./libnetsnmpmibs.so.15.1.0 -link path=usr/lib/libnetsnmpmibs.so.15 target=./libnetsnmpmibs.so.15.1.0 -link path=usr/lib/libnetsnmptrapd.so target=./libnetsnmptrapd.so.15.1.0 -link path=usr/lib/libnetsnmptrapd.so.15 target=./libnetsnmptrapd.so.15.1.0 -link path=usr/lib/libsnmp.so target=./libsnmp.so.15.1.0 -link path=usr/lib/libsnmp.so.15 target=./libsnmp.so.15.1.0 +link path=usr/lib/$(MACH64)/libnetsnmp.so target=./libnetsnmp.so.30.0.2 +link path=usr/lib/$(MACH64)/libnetsnmp.so.30 target=./libnetsnmp.so.30.0.2 +link path=usr/lib/$(MACH64)/libnetsnmpagent.so target=./libnetsnmpagent.so.30.0.2 +link path=usr/lib/$(MACH64)/libnetsnmpagent.so.30 target=./libnetsnmpagent.so.30.0.2 +link path=usr/lib/$(MACH64)/libnetsnmphelpers.so target=./libnetsnmphelpers.so.30.0.2 +link path=usr/lib/$(MACH64)/libnetsnmphelpers.so.30 target=./libnetsnmphelpers.so.30.0.2 +link path=usr/lib/$(MACH64)/libnetsnmpmibs.so target=./libnetsnmpmibs.so.30.0.2 +link path=usr/lib/$(MACH64)/libnetsnmpmibs.so.30 target=./libnetsnmpmibs.so.30.0.2 +link path=usr/lib/$(MACH64)/libnetsnmptrapd.so target=./libnetsnmptrapd.so.30.0.2 +link path=usr/lib/$(MACH64)/libnetsnmptrapd.so.30 target=./libnetsnmptrapd.so.30.0.2 +link path=usr/lib/$(MACH64)/libsnmp.so target=./libsnmp.so.30.0.2 +link path=usr/lib/$(MACH64)/libsnmp.so.30 target=./libsnmp.so.30.0.2 +link path=usr/lib/libnetsnmp.so target=./libnetsnmp.so.30.0.2 +link path=usr/lib/libnetsnmp.so.30 target=./libnetsnmp.so.30.0.2 +link path=usr/lib/libnetsnmpagent.so target=./libnetsnmpagent.so.30.0.2 +link path=usr/lib/libnetsnmpagent.so.30 target=./libnetsnmpagent.so.30.0.2 +link path=usr/lib/libnetsnmphelpers.so target=./libnetsnmphelpers.so.30.0.2 +link path=usr/lib/libnetsnmphelpers.so.30 target=./libnetsnmphelpers.so.30.0.2 +link path=usr/lib/libnetsnmpmibs.so target=./libnetsnmpmibs.so.30.0.2 +link path=usr/lib/libnetsnmpmibs.so.30 target=./libnetsnmpmibs.so.30.0.2 +link path=usr/lib/libnetsnmptrapd.so target=./libnetsnmptrapd.so.30.0.2 +link path=usr/lib/libnetsnmptrapd.so.30 target=./libnetsnmptrapd.so.30.0.2 +link path=usr/lib/libsnmp.so target=./libsnmp.so.30.0.2 +link path=usr/lib/libsnmp.so.30 target=./libsnmp.so.30.0.2 depend fmri=library/python-2/net-snmp-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \ predicate=runtime/python-26 \ @@ -534,4 +571,4 @@ depend fmri=library/python-2/net-snmp-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \ predicate=runtime/python-27 \ - type=conditional + type=conditional diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/net-snmp-documentation.p5m --- a/components/net-snmp/net-snmp-documentation.p5m Wed Jan 22 01:46:00 2014 -0800 +++ b/components/net-snmp/net-snmp-documentation.p5m Wed Jan 22 01:46:00 2014 -0800 @@ -18,7 +18,7 @@ # # CDDL HEADER END # -# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. # default mangler.man.stability volatile> @@ -27,6 +27,7 @@ set name=pkg.summary \ value="Net-SNMP Agent manpages and html documentation files" set name=com.oracle.info.description value="the Net-SNMP agent manpages and html documentation files" +set name=com.oracle.info.tpno value=13120 set name=info.classification \ value="org.opensolaris.category.2008:System/Enterprise Management" set name=info.source-url value=$(COMPONENT_ARCHIVE_URL) @@ -221,6 +222,10 @@ path=usr/share/doc/net-snmp/html/agent__registry_8c_source.html file build/$(MACH32)/docs/html/agent__registry_8h_source.html \ path=usr/share/doc/net-snmp/html/agent__registry_8h_source.html +file build/$(MACH32)/docs/html/agent__sysORTable_8c_source.html \ + path=usr/share/doc/net-snmp/html/agent__sysORTable_8c_source.html +file build/$(MACH32)/docs/html/agent__sysORTable_8h_source.html \ + path=usr/share/doc/net-snmp/html/agent__sysORTable_8h_source.html file build/$(MACH32)/docs/html/agent__trap_8c_source.html \ path=usr/share/doc/net-snmp/html/agent__trap_8c_source.html file build/$(MACH32)/docs/html/agent__trap_8h_source.html \ @@ -259,6 +264,12 @@ path=usr/share/doc/net-snmp/html/callback_8c_source.html file build/$(MACH32)/docs/html/callback_8h_source.html \ path=usr/share/doc/net-snmp/html/callback_8h_source.html +file build/$(MACH32)/docs/html/cert__util_8c_source.html \ + path=usr/share/doc/net-snmp/html/cert__util_8c_source.html +file build/$(MACH32)/docs/html/cert__util_8h_source.html \ + path=usr/share/doc/net-snmp/html/cert__util_8h_source.html +file build/$(MACH32)/docs/html/closedir_8c_source.html \ + path=usr/share/doc/net-snmp/html/closedir_8c_source.html file build/$(MACH32)/docs/html/check__varbind_8c_source.html \ path=usr/share/doc/net-snmp/html/check__varbind_8c_source.html file build/$(MACH32)/docs/html/check__varbind_8h_source.html \ @@ -267,10 +278,6 @@ path=usr/share/doc/net-snmp/html/classes.html file build/$(MACH32)/docs/html/closed.png \ path=usr/share/doc/net-snmp/html/closed.png -file build/$(MACH32)/docs/html/cmu__compat_8c_source.html \ - path=usr/share/doc/net-snmp/html/cmu__compat_8c_source.html -file build/$(MACH32)/docs/html/cmu__compat_8h_source.html \ - path=usr/share/doc/net-snmp/html/cmu__compat_8h_source.html file build/$(MACH32)/docs/html/config__api_8h_source.html \ path=usr/share/doc/net-snmp/html/config__api_8h_source.html file build/$(MACH32)/docs/html/container_8c_source.html \ @@ -323,6 +330,12 @@ path=usr/share/doc/net-snmp/html/delayed_instance_8c-example.html file build/$(MACH32)/docs/html/deprecated.html \ path=usr/share/doc/net-snmp/html/deprecated.html +file build/$(MACH32)/docs/html/dir__utils_8c_source.html \ + path=usr/share/doc/net-snmp/html/dir__utils_8c_source.html +file build/$(MACH32)/docs/html/dir__utils_8h_source.html \ + path=usr/share/doc/net-snmp/html/dir__utils_8h_source.html +file build/$(MACH32)/docs/html/dummy_8c_source.html \ + path=usr/share/doc/net-snmp/html/dummy_8c_source.html file build/$(MACH32)/docs/html/doxygen.css \ path=usr/share/doc/net-snmp/html/doxygen.css file build/$(MACH32)/docs/html/doxygen.png \ @@ -355,6 +368,8 @@ path=usr/share/doc/net-snmp/html/getopt_8c_source.html file build/$(MACH32)/docs/html/getopt_8h_source.html \ path=usr/share/doc/net-snmp/html/getopt_8h_source.html +file build/$(MACH32)/docs/html/gettimeofday_8c_source.html \ + path=usr/share/doc/net-snmp/html/gettimeofday_8c_source.html file build/$(MACH32)/docs/html/globals.html \ path=usr/share/doc/net-snmp/html/globals.html file build/$(MACH32)/docs/html/globals_defs.html \ @@ -367,6 +382,18 @@ path=usr/share/doc/net-snmp/html/group__access__multiplexer.html file build/$(MACH32)/docs/html/group__agent.html \ path=usr/share/doc/net-snmp/html/group__agent.html +file build/$(MACH32)/docs/html/group__agent__context__cache.html \ + path=usr/share/doc/net-snmp/html/group__agent__context__cache.html +file build/$(MACH32)/docs/html/group__agent__lookup__cache.html \ + path=usr/share/doc/net-snmp/html/group__agent__lookup__cache.html +file build/$(MACH32)/docs/html/group__agent__mib__registering.html \ + path=usr/share/doc/net-snmp/html/group__agent__mib__registering.html +file build/$(MACH32)/docs/html/group__agent__mib__subtree.html \ + path=usr/share/doc/net-snmp/html/group__agent__mib__subtree.html +file build/$(MACH32)/docs/html/group__agent__signals.html \ + path=usr/share/doc/net-snmp/html/group__agent__signals.html +file build/$(MACH32)/docs/html/group__null__container.html \ + path=usr/share/doc/net-snmp/html/group__null__container.html file build/$(MACH32)/docs/html/group__agent__registry.html \ path=usr/share/doc/net-snmp/html/group__agent__registry.html file build/$(MACH32)/docs/html/group__agent__trap.html \ @@ -469,6 +496,12 @@ path=usr/share/doc/net-snmp/html/index.html file build/$(MACH32)/docs/html/inet__ntop_8c_source.html \ path=usr/share/doc/net-snmp/html/inet__ntop_8c_source.html +file build/$(MACH32)/docs/html/inet__ntop_8h_source.html \ + path=usr/share/doc/net-snmp/html/inet__ntop_8h_source.html +file build/$(MACH32)/docs/html/inet__pton_8h_source.html \ + path=usr/share/doc/net-snmp/html/inet__pton_8h_source.html +file build/$(MACH32)/docs/html/int64_8c.html \ + path=usr/share/doc/net-snmp/html/int64_8c.html file build/$(MACH32)/docs/html/inet__pton_8c_source.html \ path=usr/share/doc/net-snmp/html/inet__pton_8c_source.html file build/$(MACH32)/docs/html/instance_8c_source.html \ @@ -481,6 +514,10 @@ path=usr/share/doc/net-snmp/html/int64_8h_source.html file build/$(MACH32)/docs/html/jquery.js \ path=usr/share/doc/net-snmp/html/jquery.js +file build/$(MACH32)/docs/html/kernel_8c.html \ + path=usr/share/doc/net-snmp/html/kernel_8c.html +file build/$(MACH32)/docs/html/kernel_8h.html \ + path=usr/share/doc/net-snmp/html/kernel_8h.html file build/$(MACH32)/docs/html/kernel_8c_source.html \ path=usr/share/doc/net-snmp/html/kernel_8c_source.html file build/$(MACH32)/docs/html/kernel_8h_source.html \ @@ -489,6 +526,18 @@ path=usr/share/doc/net-snmp/html/keytools_8c_source.html file build/$(MACH32)/docs/html/keytools_8h_source.html \ path=usr/share/doc/net-snmp/html/keytools_8h_source.html +file build/$(MACH32)/docs/html/large__fd__set_8c.html \ + path=usr/share/doc/net-snmp/html/large__fd__set_8c.html +file build/$(MACH32)/docs/html/large__fd__set_8c_source.html \ + path=usr/share/doc/net-snmp/html/large__fd__set_8c_source.html +file build/$(MACH32)/docs/html/large__fd__set_8h.html \ + path=usr/share/doc/net-snmp/html/large__fd__set_8h.html +file build/$(MACH32)/docs/html/large__fd__set_8h_source.html \ + path=usr/share/doc/net-snmp/html/large__fd__set_8h_source.html +file build/$(MACH32)/docs/html/library_2openssl__md5_8h_source.html \ + path=usr/share/doc/net-snmp/html/library_2openssl__md5_8h_source.html +file build/$(MACH32)/docs/html/library_2types_8h_source.html \ + path=usr/share/doc/net-snmp/html/library_2types_8h_source.html file build/$(MACH32)/docs/html/lcd__time_8c_source.html \ path=usr/share/doc/net-snmp/html/lcd__time_8c_source.html file build/$(MACH32)/docs/html/lcd__time_8h_source.html \ @@ -537,6 +586,8 @@ path=usr/share/doc/net-snmp/html/net-snmp-agent-includes_8h_source.html file build/$(MACH32)/docs/html/net-snmp-config_8h_source.html \ path=usr/share/doc/net-snmp/html/net-snmp-config_8h_source.html +file build/$(MACH32)/docs/html/net-snmp-features_8h_source.html \ + path=usr/share/doc/net-snmp/html/net-snmp-features_8h_source.html file build/$(MACH32)/docs/html/net-snmp-includes_8h_source.html \ path=usr/share/doc/net-snmp/html/net-snmp-includes_8h_source.html file build/$(MACH32)/docs/html/netSnmpHostsTable_8c_source.html \ @@ -577,6 +628,18 @@ path=usr/share/doc/net-snmp/html/oid__stash_8c_source.html file build/$(MACH32)/docs/html/oid__stash_8h_source.html \ path=usr/share/doc/net-snmp/html/oid__stash_8h_source.html +file build/$(MACH32)/docs/html/oid_8h_source.html \ + path=usr/share/doc/net-snmp/html/oid_8h_source.html +file build/$(MACH32)/docs/html/opendir_8c_source.html \ + path=usr/share/doc/net-snmp/html/opendir_8c_source.html +file build/$(MACH32)/docs/html/openssl__aes_8h_source.html \ + path=usr/share/doc/net-snmp/html/openssl__aes_8h_source.html +file build/$(MACH32)/docs/html/openssl__des_8h_source.html \ + path=usr/share/doc/net-snmp/html/openssl__des_8h_source.html +file build/$(MACH32)/docs/html/openssl__md5_8h_source.html \ + path=usr/share/doc/net-snmp/html/openssl__md5_8h_source.html +file build/$(MACH32)/docs/html/openssl__sha_8h_source.html \ + path=usr/share/doc/net-snmp/html/openssl__sha_8h_source.html file build/$(MACH32)/docs/html/old__api_8c_source.html \ path=usr/share/doc/net-snmp/html/old__api_8c_source.html file build/$(MACH32)/docs/html/old__api_8h_source.html \ @@ -595,6 +658,8 @@ path=usr/share/doc/net-snmp/html/pdu__api_8h_source.html file build/$(MACH32)/docs/html/pkcs_8c_source.html \ path=usr/share/doc/net-snmp/html/pkcs_8c_source.html +file build/$(MACH32)/docs/html/readdir_8c_source.html \ + path=usr/share/doc/net-snmp/html/readdir_8c_source.html file build/$(MACH32)/docs/html/read__config_8c_source.html \ path=usr/share/doc/net-snmp/html/read__config_8c_source.html file build/$(MACH32)/docs/html/read__config_8h_source.html \ @@ -637,40 +702,62 @@ path=usr/share/doc/net-snmp/html/snmp-tc_8c_source.html file build/$(MACH32)/docs/html/snmp-tc_8h_source.html \ path=usr/share/doc/net-snmp/html/snmp-tc_8h_source.html -file build/$(MACH32)/docs/html/snmpAAL5PVCDomain_8c_source.html \ - path=usr/share/doc/net-snmp/html/snmpAAL5PVCDomain_8c_source.html +file build/$(MACH32)/docs/html/snmpAliasDomain_8h_source.html \ + path=usr/share/doc/net-snmp/html/snmpAliasDomain_8h_source.html +file build/$(MACH32)/docs/html/snmpDTLSUDPDomain_8h_source.html \ + path=usr/share/doc/net-snmp/html/snmpDTLSUDPDomain_8h_source.html +file build/$(MACH32)/docs/html/snmpIPv4BaseDomain_8h_source.html \ + path=usr/share/doc/net-snmp/html/snmpIPv4BaseDomain_8h_source.html +file build/$(MACH32)/docs/html/snmpIPv6BaseDomain_8h_source.html \ + path=usr/share/doc/net-snmp/html/snmpIPv6BaseDomain_8h_source.html +file build/$(MACH32)/docs/html/snmpSSHDomain_8h_source.html \ + path=usr/share/doc/net-snmp/html/snmpSSHDomain_8h_source.html +file build/$(MACH32)/docs/html/snmpSocketBaseDomain_8h_source.html \ + path=usr/share/doc/net-snmp/html/snmpSocketBaseDomain_8h_source.html +file build/$(MACH32)/docs/html/snmpTCPBaseDomain_8h_source.html \ + path=usr/share/doc/net-snmp/html/snmpTCPBaseDomain_8h_source.html +file build/$(MACH32)/docs/html/snmpTLSBaseDomain_8h_source.html \ + path=usr/share/doc/net-snmp/html/snmpTLSBaseDomain_8h_source.html +file build/$(MACH32)/docs/html/snmpTLSTCPDomain_8h_source.html \ + path=usr/share/doc/net-snmp/html/snmpTLSTCPDomain_8h_source.html +file build/$(MACH32)/docs/html/snmpUDPBaseDomain_8h_source.html \ + path=usr/share/doc/net-snmp/html/snmpUDPBaseDomain_8h_source.html +file build/$(MACH32)/docs/html/snmpUDPIPv4BaseDomain_8h_source.html \ + path=usr/share/doc/net-snmp/html/snmpUDPIPv4BaseDomain_8h_source.html +file build/$(MACH32)/docs/html/snmp__get__statistic_8c_source.html \ + path=usr/share/doc/net-snmp/html/snmp__get__statistic_8c_source.html +file build/$(MACH32)/docs/html/snmp__get__statistic_8h_source.html \ + path=usr/share/doc/net-snmp/html/snmp__get__statistic_8h_source.html +file build/$(MACH32)/docs/html/snmp__openssl_8c_source.html \ + path=usr/share/doc/net-snmp/html/snmp__openssl_8c_source.html +file build/$(MACH32)/docs/html/snmp__openssl_8h_source.html \ + path=usr/share/doc/net-snmp/html/snmp__openssl_8h_source.html +file build/$(MACH32)/docs/html/snmp__parse__args_8h.html \ + path=usr/share/doc/net-snmp/html/snmp__parse__args_8h.html +file build/$(MACH32)/docs/html/snmp__perl_8h_source.html \ + path=usr/share/doc/net-snmp/html/snmp__perl_8h_source.html +file build/$(MACH32)/docs/html/snmpsm__shutdown_8h_source.html \ + path=usr/share/doc/net-snmp/html/snmpsm__shutdown_8h_source.html +file build/$(MACH32)/docs/html/snmptsm_8c_source.html \ + path=usr/share/doc/net-snmp/html/snmptsm_8c_source.html +file build/$(MACH32)/docs/html/snmptsm_8h_source.html \ + path=usr/share/doc/net-snmp/html/snmptsm_8h_source.html file build/$(MACH32)/docs/html/snmpAAL5PVCDomain_8h_source.html \ path=usr/share/doc/net-snmp/html/snmpAAL5PVCDomain_8h_source.html -file build/$(MACH32)/docs/html/snmpCallbackDomain_8c_source.html \ - path=usr/share/doc/net-snmp/html/snmpCallbackDomain_8c_source.html file build/$(MACH32)/docs/html/snmpCallbackDomain_8h_source.html \ path=usr/share/doc/net-snmp/html/snmpCallbackDomain_8h_source.html -file build/$(MACH32)/docs/html/snmpIPXDomain_8c_source.html \ - path=usr/share/doc/net-snmp/html/snmpIPXDomain_8c_source.html file build/$(MACH32)/docs/html/snmpIPXDomain_8h_source.html \ path=usr/share/doc/net-snmp/html/snmpIPXDomain_8h_source.html -file build/$(MACH32)/docs/html/snmpSTDDomain_8c_source.html \ - path=usr/share/doc/net-snmp/html/snmpSTDDomain_8c_source.html file build/$(MACH32)/docs/html/snmpSTDDomain_8h_source.html \ path=usr/share/doc/net-snmp/html/snmpSTDDomain_8h_source.html -file build/$(MACH32)/docs/html/snmpTCPDomain_8c_source.html \ - path=usr/share/doc/net-snmp/html/snmpTCPDomain_8c_source.html file build/$(MACH32)/docs/html/snmpTCPDomain_8h_source.html \ path=usr/share/doc/net-snmp/html/snmpTCPDomain_8h_source.html -file build/$(MACH32)/docs/html/snmpTCPIPv6Domain_8c_source.html \ - path=usr/share/doc/net-snmp/html/snmpTCPIPv6Domain_8c_source.html file build/$(MACH32)/docs/html/snmpTCPIPv6Domain_8h_source.html \ path=usr/share/doc/net-snmp/html/snmpTCPIPv6Domain_8h_source.html -file build/$(MACH32)/docs/html/snmpUDPDomain_8c_source.html \ - path=usr/share/doc/net-snmp/html/snmpUDPDomain_8c_source.html file build/$(MACH32)/docs/html/snmpUDPDomain_8h_source.html \ path=usr/share/doc/net-snmp/html/snmpUDPDomain_8h_source.html -file build/$(MACH32)/docs/html/snmpUDPIPv6Domain_8c_source.html \ - path=usr/share/doc/net-snmp/html/snmpUDPIPv6Domain_8c_source.html file build/$(MACH32)/docs/html/snmpUDPIPv6Domain_8h_source.html \ path=usr/share/doc/net-snmp/html/snmpUDPIPv6Domain_8h_source.html -file build/$(MACH32)/docs/html/snmpUnixDomain_8c_source.html \ - path=usr/share/doc/net-snmp/html/snmpUnixDomain_8c_source.html file build/$(MACH32)/docs/html/snmpUnixDomain_8h_source.html \ path=usr/share/doc/net-snmp/html/snmpUnixDomain_8h_source.html file build/$(MACH32)/docs/html/snmp_8c_source.html \ @@ -743,10 +830,6 @@ path=usr/share/doc/net-snmp/html/snmpksm_8c_source.html file build/$(MACH32)/docs/html/snmpksm_8h_source.html \ path=usr/share/doc/net-snmp/html/snmpksm_8h_source.html -file build/$(MACH32)/docs/html/snmplocalsm_8c_source.html \ - path=usr/share/doc/net-snmp/html/snmplocalsm_8c_source.html -file build/$(MACH32)/docs/html/snmplocalsm_8h_source.html \ - path=usr/share/doc/net-snmp/html/snmplocalsm_8h_source.html file build/$(MACH32)/docs/html/snmpsm__init_8h_source.html \ path=usr/share/doc/net-snmp/html/snmpsm__init_8h_source.html file build/$(MACH32)/docs/html/snmpusm_8c_source.html \ @@ -771,6 +854,12 @@ path=usr/share/doc/net-snmp/html/stash__to__next_8c_source.html file build/$(MACH32)/docs/html/stash__to__next_8h_source.html \ path=usr/share/doc/net-snmp/html/stash__to__next_8h_source.html +file build/$(MACH32)/docs/html/strlcat_8c_source.html \ + path=usr/share/doc/net-snmp/html/strlcat_8c_source.html +file build/$(MACH32)/docs/html/strtoull_8c_source.html \ + path=usr/share/doc/net-snmp/html/strtoull_8c_source.html +file build/$(MACH32)/docs/html/sysORTable_8h_source.html \ + path=usr/share/doc/net-snmp/html/sysORTable_8h_source.html file build/$(MACH32)/docs/html/strlcpy_8c_source.html \ path=usr/share/doc/net-snmp/html/strlcpy_8c_source.html file build/$(MACH32)/docs/html/strtok__r_8c_source.html \ @@ -779,6 +868,52 @@ path=usr/share/doc/net-snmp/html/strtol_8c_source.html file build/$(MACH32)/docs/html/strtoul_8c_source.html \ path=usr/share/doc/net-snmp/html/strtoul_8c_source.html +file build/$(MACH32)/docs/html/structDES__ks.html \ + path=usr/share/doc/net-snmp/html/structDES__ks.html +file build/$(MACH32)/docs/html/structMD5state__st.html \ + path=usr/share/doc/net-snmp/html/structMD5state__st.html +file build/$(MACH32)/docs/html/structSHA256state__st.html \ + path=usr/share/doc/net-snmp/html/structSHA256state__st.html +file build/$(MACH32)/docs/html/structSHA512state__st.html \ + path=usr/share/doc/net-snmp/html/structSHA512state__st.html +file build/$(MACH32)/docs/html/structSHAstate__st.html \ + path=usr/share/doc/net-snmp/html/structSHAstate__st.html +file build/$(MACH32)/docs/html/struct__dir__struc.html \ + path=usr/share/doc/net-snmp/html/struct__dir__struc.html +file build/$(MACH32)/docs/html/struct__netsnmpTLSBaseData__s.html \ + path=usr/share/doc/net-snmp/html/struct__netsnmpTLSBaseData__s.html +file build/$(MACH32)/docs/html/struct__netsnmp__verify__info__s.html \ + path=usr/share/doc/net-snmp/html/struct__netsnmp__verify__info__s.html +file build/$(MACH32)/docs/html/structaes__key__st.html \ + path=usr/share/doc/net-snmp/html/structaes__key__st.html +file build/$(MACH32)/docs/html/structdata__node__s.html \ + path=usr/share/doc/net-snmp/html/structdata__node__s.html +file build/$(MACH32)/docs/html/structdirect.html \ + path=usr/share/doc/net-snmp/html/structdirect.html +file build/$(MACH32)/docs/html/structnetsnmp__addr__pair__s.html \ + path=usr/share/doc/net-snmp/html/structnetsnmp__addr__pair__s.html +file build/$(MACH32)/docs/html/structnetsnmp__indexed__addr__pair__s.html \ + path=usr/share/doc/net-snmp/html/structnetsnmp__indexed__addr__pair__s.html +file build/$(MACH32)/docs/html/structnetsnmp__large__fd__set__s.html \ + path=usr/share/doc/net-snmp/html/structnetsnmp__large__fd__set__s.html +file build/$(MACH32)/docs/html/structnetsnmp__state__machine__input__s.html \ + path=usr/share/doc/net-snmp/html/structnetsnmp__state__machine__input__s.html +file build/$(MACH32)/docs/html/structnetsnmp__state__machine__step__s.html \ + path=usr/share/doc/net-snmp/html/structnetsnmp__state__machine__step__s.html +file build/$(MACH32)/docs/html/structnetsnmp__tmStateReference__s.html \ + path=usr/share/doc/net-snmp/html/structnetsnmp__tmStateReference__s.html +file build/$(MACH32)/docs/html/structnetsnmp__transport__config__s.html \ + path=usr/share/doc/net-snmp/html/structnetsnmp__transport__config__s.html +file build/$(MACH32)/docs/html/structnetsnmp__tsmSecurityReference__s.html \ + path=usr/share/doc/net-snmp/html/structnetsnmp__tsmSecurityReference__s.html +file build/$(MACH32)/docs/html/structregister__sysOR__parameters.html \ + path=usr/share/doc/net-snmp/html/structregister__sysOR__parameters.html +file build/$(MACH32)/docs/html/structrowcreate__state__s.html \ + path=usr/share/doc/net-snmp/html/structrowcreate__state__s.html +file build/$(MACH32)/docs/html/structssll__iterator__s.html \ + path=usr/share/doc/net-snmp/html/structssll__iterator__s.html +file build/$(MACH32)/docs/html/structsysORTable.html \ + path=usr/share/doc/net-snmp/html/structsysORTable.html file build/$(MACH32)/docs/html/structMDstruct.html \ path=usr/share/doc/net-snmp/html/structMDstruct.html file build/$(MACH32)/docs/html/struct__InputParams.html \ @@ -787,12 +922,6 @@ path=usr/share/doc/net-snmp/html/struct__PrefixList.html file build/$(MACH32)/docs/html/struct__agent__nsap.html \ path=usr/share/doc/net-snmp/html/struct__agent__nsap.html -file build/$(MACH32)/docs/html/struct__com2SecEntry.html \ - path=usr/share/doc/net-snmp/html/struct__com2SecEntry.html -file build/$(MACH32)/docs/html/struct__com2SecUnixEntry.html \ - path=usr/share/doc/net-snmp/html/struct__com2SecUnixEntry.html -file build/$(MACH32)/docs/html/struct__sockaddr__un__pair.html \ - path=usr/share/doc/net-snmp/html/struct__sockaddr__un__pair.html file build/$(MACH32)/docs/html/structaddrCache.html \ path=usr/share/doc/net-snmp/html/structaddrCache.html file build/$(MACH32)/docs/html/structagent__add__trap__args.html \ @@ -811,16 +940,10 @@ path=usr/share/doc/net-snmp/html/structconfig__files.html file build/$(MACH32)/docs/html/structconfig__line.html \ path=usr/share/doc/net-snmp/html/structconfig__line.html -file build/$(MACH32)/docs/html/structcontainer__table__data__s.html \ - path=usr/share/doc/net-snmp/html/structcontainer__table__data__s.html -file build/$(MACH32)/docs/html/structcontainer__type__s.html \ - path=usr/share/doc/net-snmp/html/structcontainer__type__s.html file build/$(MACH32)/docs/html/structcounter64.html \ path=usr/share/doc/net-snmp/html/structcounter64.html file build/$(MACH32)/docs/html/structdata__set__cache__s.html \ path=usr/share/doc/net-snmp/html/structdata__set__cache__s.html -file build/$(MACH32)/docs/html/structdata__set__tables__s.html \ - path=usr/share/doc/net-snmp/html/structdata__set__tables__s.html file build/$(MACH32)/docs/html/structenginetime__struct.html \ path=usr/share/doc/net-snmp/html/structenginetime__struct.html file build/$(MACH32)/docs/html/structenum__list.html \ @@ -829,42 +952,12 @@ path=usr/share/doc/net-snmp/html/structget__req__state.html file build/$(MACH32)/docs/html/structindex__list.html \ path=usr/share/doc/net-snmp/html/structindex__list.html -file build/$(MACH32)/docs/html/structiterator__info__s.html \ - path=usr/share/doc/net-snmp/html/structiterator__info__s.html file build/$(MACH32)/docs/html/structksm__cache__entry.html \ path=usr/share/doc/net-snmp/html/structksm__cache__entry.html file build/$(MACH32)/docs/html/structksm__secStateRef.html \ path=usr/share/doc/net-snmp/html/structksm__secStateRef.html file build/$(MACH32)/docs/html/structlookup__cache__context__s.html \ path=usr/share/doc/net-snmp/html/structlookup__cache__context__s.html -file build/$(MACH32)/docs/html/structlookup__cache__s.html \ - path=usr/share/doc/net-snmp/html/structlookup__cache__s.html -file build/$(MACH32)/docs/html/structmib__atEntry.html \ - path=usr/share/doc/net-snmp/html/structmib__atEntry.html -file build/$(MACH32)/docs/html/structmib__egp.html \ - path=usr/share/doc/net-snmp/html/structmib__egp.html -file build/$(MACH32)/docs/html/structmib__egpNeighEntry.html \ - path=usr/share/doc/net-snmp/html/structmib__egpNeighEntry.html -file build/$(MACH32)/docs/html/structmib__icmp.html \ - path=usr/share/doc/net-snmp/html/structmib__icmp.html -file build/$(MACH32)/docs/html/structmib__ifEntry.html \ - path=usr/share/doc/net-snmp/html/structmib__ifEntry.html -file build/$(MACH32)/docs/html/structmib__interface.html \ - path=usr/share/doc/net-snmp/html/structmib__interface.html -file build/$(MACH32)/docs/html/structmib__ip.html \ - path=usr/share/doc/net-snmp/html/structmib__ip.html -file build/$(MACH32)/docs/html/structmib__ipAddrEntry.html \ - path=usr/share/doc/net-snmp/html/structmib__ipAddrEntry.html -file build/$(MACH32)/docs/html/structmib__ipRouteEntry.html \ - path=usr/share/doc/net-snmp/html/structmib__ipRouteEntry.html -file build/$(MACH32)/docs/html/structmib__system.html \ - path=usr/share/doc/net-snmp/html/structmib__system.html -file build/$(MACH32)/docs/html/structmib__tcp.html \ - path=usr/share/doc/net-snmp/html/structmib__tcp.html -file build/$(MACH32)/docs/html/structmib__tcpConnEntry.html \ - path=usr/share/doc/net-snmp/html/structmib__tcpConnEntry.html -file build/$(MACH32)/docs/html/structmib__udp.html \ - path=usr/share/doc/net-snmp/html/structmib__udp.html file build/$(MACH32)/docs/html/structmodule.html \ path=usr/share/doc/net-snmp/html/structmodule.html file build/$(MACH32)/docs/html/structmodule__compatability.html \ @@ -941,8 +1034,6 @@ path=usr/share/doc/net-snmp/html/structnetsnmp__monitor__callback__header__s.html file build/$(MACH32)/docs/html/structnetsnmp__monitor__callback__set__request__s.html \ path=usr/share/doc/net-snmp/html/structnetsnmp__monitor__callback__set__request__s.html -file build/$(MACH32)/docs/html/structnetsnmp__num__file__instance__s.html \ - path=usr/share/doc/net-snmp/html/structnetsnmp__num__file__instance__s.html file build/$(MACH32)/docs/html/structnetsnmp__oid__stash__node__s.html \ path=usr/share/doc/net-snmp/html/structnetsnmp__oid__stash__node__s.html file build/$(MACH32)/docs/html/structnetsnmp__oid__stash__save__info__s.html \ @@ -1001,16 +1092,12 @@ path=usr/share/doc/net-snmp/html/structnetsnmp__transport__s.html file build/$(MACH32)/docs/html/structnetsnmp__tree__cache__s.html \ path=usr/share/doc/net-snmp/html/structnetsnmp__tree__cache__s.html -file build/$(MACH32)/docs/html/structnetsnmp__udp__addr__pair__s.html \ - path=usr/share/doc/net-snmp/html/structnetsnmp__udp__addr__pair__s.html file build/$(MACH32)/docs/html/structnetsnmp__void__array__s.html \ path=usr/share/doc/net-snmp/html/structnetsnmp__void__array__s.html file build/$(MACH32)/docs/html/structnetsnmp__watcher__info__s.html \ path=usr/share/doc/net-snmp/html/structnetsnmp__watcher__info__s.html file build/$(MACH32)/docs/html/structnewrow__stash__s.html \ path=usr/share/doc/net-snmp/html/structnewrow__stash__s.html -file build/$(MACH32)/docs/html/structnode.html \ - path=usr/share/doc/net-snmp/html/structnode.html file build/$(MACH32)/docs/html/structobjgroup.html \ path=usr/share/doc/net-snmp/html/structobjgroup.html file build/$(MACH32)/docs/html/structold__opi__cache__s.html \ @@ -1027,18 +1114,12 @@ path=usr/share/doc/net-snmp/html/structsession__list.html file build/$(MACH32)/docs/html/structsl__container__s.html \ path=usr/share/doc/net-snmp/html/structsl__container__s.html -file build/$(MACH32)/docs/html/structsl__node.html \ - path=usr/share/doc/net-snmp/html/structsl__node.html file build/$(MACH32)/docs/html/structsnmp__alarm.html \ path=usr/share/doc/net-snmp/html/structsnmp__alarm.html file build/$(MACH32)/docs/html/structsnmp__enum__list.html \ path=usr/share/doc/net-snmp/html/structsnmp__enum__list.html -file build/$(MACH32)/docs/html/structsnmp__enum__list__str.html \ - path=usr/share/doc/net-snmp/html/structsnmp__enum__list__str.html file build/$(MACH32)/docs/html/structsnmp__gen__callback.html \ path=usr/share/doc/net-snmp/html/structsnmp__gen__callback.html -file build/$(MACH32)/docs/html/structsnmp__index.html \ - path=usr/share/doc/net-snmp/html/structsnmp__index.html file build/$(MACH32)/docs/html/structsnmp__internal__session.html \ path=usr/share/doc/net-snmp/html/structsnmp__internal__session.html file build/$(MACH32)/docs/html/structsnmp__log__message.html \ @@ -1069,12 +1150,8 @@ path=usr/share/doc/net-snmp/html/structti__cache__info__s.html file build/$(MACH32)/docs/html/structtok.html \ path=usr/share/doc/net-snmp/html/structtok.html -file build/$(MACH32)/docs/html/structtrap__sink.html \ - path=usr/share/doc/net-snmp/html/structtrap__sink.html file build/$(MACH32)/docs/html/structtree.html \ path=usr/share/doc/net-snmp/html/structtree.html -file build/$(MACH32)/docs/html/structundoInfo.html \ - path=usr/share/doc/net-snmp/html/structundoInfo.html file build/$(MACH32)/docs/html/structusmStateReference.html \ path=usr/share/doc/net-snmp/html/structusmStateReference.html file build/$(MACH32)/docs/html/structusmUser.html \ @@ -1155,8 +1232,6 @@ path=usr/share/doc/net-snmp/html/table__tdata_8h_source.html file build/$(MACH32)/docs/html/tabs.css \ path=usr/share/doc/net-snmp/html/tabs.css -file build/$(MACH32)/docs/html/test__binary__array_8c_source.html \ - path=usr/share/doc/net-snmp/html/test__binary__array_8c_source.html file build/$(MACH32)/docs/html/text__utils_8c_source.html \ path=usr/share/doc/net-snmp/html/text__utils_8c_source.html file build/$(MACH32)/docs/html/text__utils_8h_source.html \ @@ -1173,6 +1248,10 @@ path=usr/share/doc/net-snmp/html/transform__oids_8h_source.html file build/$(MACH32)/docs/html/types_8h_source.html \ path=usr/share/doc/net-snmp/html/types_8h_source.html +file build/$(MACH32)/docs/html/testing_8h_source.html \ + path=usr/share/doc/net-snmp/html/testing_8h_source.html +file build/$(MACH32)/docs/html/unionnetsnmp__sockaddr__storage__u.html \ + path=usr/share/doc/net-snmp/html/unionnetsnmp__sockaddr__storage__u.html file build/$(MACH32)/docs/html/ucd-snmp-includes_8h_source.html \ path=usr/share/doc/net-snmp/html/ucd-snmp-includes_8h_source.html file build/$(MACH32)/docs/html/ucdDemoPublic_8c_source.html \ @@ -1217,11 +1296,14 @@ path=usr/share/doc/net-snmp/html/winservice_8c_source.html file build/$(MACH32)/docs/html/winservice_8h_source.html \ path=usr/share/doc/net-snmp/html/winservice_8h_source.html +file path=usr/share/man/man1/agentxtrap.1 file path=usr/share/man/man1/encode_keychange.1 file path=usr/share/man/man1/fixproc.1 file path=usr/share/man/man1/mib2c-update.1 file path=usr/share/man/man1/mib2c.1 file path=usr/share/man/man1/net-snmp-config.1 +file path=usr/share/man/man1/net-snmp-create-v3-user.1 +file path=usr/share/man/man1/snmp-bridge-mib.1 file path=usr/share/man/man1/snmpbulkget.1 file path=usr/share/man/man1/snmpbulkwalk.1 file path=usr/share/man/man1/snmpcmd.1 @@ -1252,88 +1334,58 @@ file path=usr/share/man/man3/fprint_value.3 file path=usr/share/man/man3/fprint_variable.3 file path=usr/share/man/man3/get_module_node.3 -file path=usr/share/man/man3/init_mib.3 -file path=usr/share/man/man3/init_mib_internals.3 -file path=usr/share/man/man3/mib_api.3 -file path=usr/share/man/man3/netsnmp_Container_iterator.3 -file path=usr/share/man/man3/netsnmp_agent.3 -file path=usr/share/man/man3/netsnmp_baby_steps.3 -file path=usr/share/man/man3/netsnmp_bulk_to_next.3 -file path=usr/share/man/man3/netsnmp_cache_handler.3 -file path=usr/share/man/man3/netsnmp_container.3 -file path=usr/share/man/man3/netsnmp_debug.3 -file path=usr/share/man/man3/netsnmp_ds_get_boolean.3 -file path=usr/share/man/man3/netsnmp_ds_get_int.3 -file path=usr/share/man/man3/netsnmp_ds_get_string.3 -file path=usr/share/man/man3/netsnmp_ds_register_config.3 -file path=usr/share/man/man3/netsnmp_ds_register_premib.3 -file path=usr/share/man/man3/netsnmp_ds_set_boolean.3 -file path=usr/share/man/man3/netsnmp_ds_set_int.3 -file path=usr/share/man/man3/netsnmp_ds_set_string.3 -file path=usr/share/man/man3/netsnmp_ds_shutdown.3 -file path=usr/share/man/man3/netsnmp_example_scalar_int.3 -file path=usr/share/man/man3/netsnmp_handler.3 -file path=usr/share/man/man3/netsnmp_instance.3 -file path=usr/share/man/man3/netsnmp_iterator_info_s.3 -file path=usr/share/man/man3/netsnmp_leaf.3 -file path=usr/share/man/man3/netsnmp_library.3 -file path=usr/share/man/man3/netsnmp_mib_handler_methods.3 -file path=usr/share/man/man3/netsnmp_mib_utilities.3 -file path=usr/share/man/man3/netsnmp_mode_end_call.3 -file path=usr/share/man/man3/netsnmp_multiplexer.3 -file path=usr/share/man/man3/netsnmp_old_api.3 -file path=usr/share/man/man3/netsnmp_read_only.3 -file path=usr/share/man/man3/netsnmp_row_merge.3 -file path=usr/share/man/man3/netsnmp_scalar.3 -file path=usr/share/man/man3/netsnmp_scalar_group_group.3 -file path=usr/share/man/man3/netsnmp_serialize.3 -file path=usr/share/man/man3/netsnmp_stash_cache.3 -file path=usr/share/man/man3/netsnmp_table.3 -file path=usr/share/man/man3/netsnmp_table_array.3 -file path=usr/share/man/man3/netsnmp_table_data.3 -file path=usr/share/man/man3/netsnmp_table_dataset.3 -file path=usr/share/man/man3/netsnmp_table_iterator.3 -file path=usr/share/man/man3/netsnmp_utilities.3 -file path=usr/share/man/man3/netsnmp_watcher.3 +file path=usr/share/man/man3/netsnmp_agent_api.3 +file path=usr/share/man/man3/netsnmp_config_api.3 +file path=usr/share/man/man3/netsnmp_init_mib.3 +file path=usr/share/man/man3/netsnmp_mib_api.3 +file path=usr/share/man/man3/netsnmp_pdu_api.3 +file path=usr/share/man/man3/netsnmp_read_module.3 +file path=usr/share/man/man3/netsnmp_sess_api.3 +file path=usr/share/man/man3/netsnmp_session_api.3 +file path=usr/share/man/man3/netsnmp_trap_api.3 +file path=usr/share/man/man3/netsnmp_varbind_api.3 file path=usr/share/man/man3/print_description.3 file path=usr/share/man/man3/print_mib.3 file path=usr/share/man/man3/print_objid.3 file path=usr/share/man/man3/print_value.3 file path=usr/share/man/man3/print_variable.3 file path=usr/share/man/man3/read_all_mibs.3 -file path=usr/share/man/man3/read_config.3 file path=usr/share/man/man3/read_config_print_usage.3 file path=usr/share/man/man3/read_configs.3 file path=usr/share/man/man3/read_mib.3 -file path=usr/share/man/man3/read_module.3 -file path=usr/share/man/man3/read_module_node.3 file path=usr/share/man/man3/read_objid.3 file path=usr/share/man/man3/read_premib_configs.3 file path=usr/share/man/man3/register_app_config_handler.3 -file path=usr/share/man/man3/register_app_premib_handler.3 +file path=usr/share/man/man3/register_app_prenetsnmp_mib_handler.3 file path=usr/share/man/man3/register_config_handler.3 +file path=usr/share/man/man3/register_const_config_handler.3 file path=usr/share/man/man3/register_mib_handlers.3 -file path=usr/share/man/man3/register_premib_handler.3 +file path=usr/share/man/man3/register_prenetsnmp_mib_handler.3 file path=usr/share/man/man3/send_easy_trap.3 file path=usr/share/man/man3/send_trap_vars.3 file path=usr/share/man/man3/send_v2trap.3 file path=usr/share/man/man3/shutdown_mib.3 -file path=usr/share/man/man3/snmp_agent_api.3 +file path=usr/share/man/man3/snmp_add_null_var.3 file path=usr/share/man/man3/snmp_alarm.3 file path=usr/share/man/man3/snmp_alarm_register.3 file path=usr/share/man/man3/snmp_alarm_register_hr.3 file path=usr/share/man/man3/snmp_alarm_unregister.3 -file path=usr/share/man/man3/snmp_api.3 file path=usr/share/man/man3/snmp_api_errstring.3 file path=usr/share/man/man3/snmp_close.3 +file path=usr/share/man/man3/snmp_clone_pdu.3 file path=usr/share/man/man3/snmp_error.3 +file path=usr/share/man/man3/snmp_fix_pdu.3 file path=usr/share/man/man3/snmp_free_pdu.3 +file path=usr/share/man/man3/snmp_free_var.3 +file path=usr/share/man/man3/snmp_free_varbind.3 file path=usr/share/man/man3/snmp_open.3 +file path=usr/share/man/man3/snmp_parse_oid.3 file path=usr/share/man/man3/snmp_perror.3 +file path=usr/share/man/man3/snmp_pdu_add_variable.3 +file path=usr/share/man/man3/snmp_pdu_create.3 file path=usr/share/man/man3/snmp_read.3 file path=usr/share/man/man3/snmp_select_info.3 file path=usr/share/man/man3/snmp_send.3 -file path=usr/share/man/man3/snmp_sess_api.3 file path=usr/share/man/man3/snmp_sess_async_send.3 file path=usr/share/man/man3/snmp_sess_close.3 file path=usr/share/man/man3/snmp_sess_error.3 @@ -1345,16 +1397,20 @@ file path=usr/share/man/man3/snmp_sess_send.3 file path=usr/share/man/man3/snmp_sess_session.3 file path=usr/share/man/man3/snmp_sess_timeout.3 +file path=usr/share/man/man3/snmp_set_mib_errors.3 file path=usr/share/man/man3/snmp_set_mib_warnings.3 file path=usr/share/man/man3/snmp_set_save_descriptions.3 +file path=usr/share/man/man3/snmp_set_var_objid.3 +file path=usr/share/man/man3/snmp_set_var_typed_integer.3 +file path=usr/share/man/man3/snmp_set_var_typed_value.3 +file path=usr/share/man/man3/snmp_set_var_value.3 file path=usr/share/man/man3/snmp_timeout.3 -file path=usr/share/man/man3/snmp_trap_api.3 +file path=usr/share/man/man3/snmp_varlist_add_variable.3 +file path=usr/share/man/man3/snprint_description.3 file path=usr/share/man/man3/snprint_objid.3 file path=usr/share/man/man3/snprint_value.3 file path=usr/share/man/man3/snprint_variable.3 -file path=usr/share/man/man3/sprint_realloc_objid.3 -file path=usr/share/man/man3/sprint_realloc_value.3 -file path=usr/share/man/man3/sprint_realloc_variable.3 +file path=usr/share/man/man3/unregister_all_config_handlers.3 file path=usr/share/man/man3/unregister_app_config_handler.3 file path=usr/share/man/man3/unregister_config_handler.3 file path=usr/share/man/man5/mib2c.conf.5 diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/patches/001.scapi.patch --- a/components/net-snmp/patches/001.scapi.patch Wed Jan 22 01:46:00 2014 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ ---- net-snmp-5.4.1/snmplib/scapi.c Fri Sep 15 05:47:01 2006 -+++ net-snmp-5.4.1.mod/snmplib/scapi.c Sat Jul 4 02:58:34 2009 -@@ -406,11 +406,11 @@ - int rval = SNMPERR_SUCCESS; - #endif - int ret; -+ unsigned int tmp_len; - - #ifdef NETSNMP_USE_OPENSSL - const EVP_MD *hashfn; - EVP_MD_CTX ctx, *cptr; -- unsigned int tmp_len; - #endif - - DEBUGTRACE; -@@ -479,13 +479,11 @@ - - #ifndef NETSNMP_DISABLE_MD5 - if (ISTRANSFORM(hashtype, HMACMD5Auth)) { -- rval = pkcs_digest(CKM_MD5, buf, buf_len, MAC, &tmp_len); -- *MAC_len = tmp_len; -+ rval = pkcs_digest(CKM_MD5, buf, buf_len, MAC, MAC_len); - } else - #endif - if (ISTRANSFORM(hashtype, HMACSHA1Auth)) { -- rval = pkcs_digest(CKM_SHA_1, buf, buf_len, MAC, &tmp_len); -- *MAC_len = tmp_len; -+ rval = pkcs_digest(CKM_SHA_1, buf, buf_len, MAC, MAC_len); - } else { - return (SNMPERR_GENERR); - } diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/patches/003.solaris-ip-mib.patch --- a/components/net-snmp/patches/003.solaris-ip-mib.patch Wed Jan 22 01:46:00 2014 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,491 +0,0 @@ ---- net-snmp-5.4.1/agent/mibgroup/ip-mib/data_access/systemstats_solaris2.c (revision 0) -+++ net-snmp-5.4.1-patch/agent/mibgroup/ip-mib/data_access/systemstats_solaris2.c (revision 0) -@@ -0,0 +1,199 @@ -+#include -+#include -+ -+#include -+#include -+#include -+ -+#include "kernel_sunos5.h" -+ -+static int _systemstats(mibgroup_e, netsnmp_container *, u_int); -+static void _add_ipstats(mib2_ipIfStatsEntry_t *, mib2_ipIfStatsEntry_t *); -+static int _insert_entry(netsnmp_container *, mib2_ipIfStatsEntry_t *); -+ -+void -+netsnmp_access_systemstats_arch_init(void) -+{ -+ init_kernel_sunos5(); -+} -+ -+/* -+ * @retval 0 success -+ * @retval -1 container error -+ * @retval -2 could not create entry (probably malloc) -+ */ -+int -+netsnmp_access_systemstats_container_arch_load(netsnmp_container* container, -+ u_int load_flags) -+{ -+ int rc; -+ -+ if (container == NULL) -+ return (-1); -+ -+ if ((rc = _systemstats(MIB_IP_TRAFFIC_STATS, container, load_flags)) < 0) -+ return (rc); -+#if defined(NETSNMP_ENABLE_IPV6) -+ if ((rc = _systemstats(MIB_IP6, container, load_flags)) < 0) { -+ netsnmp_access_systemstats_container_free(container, -+ NETSNMP_ACCESS_SYSTEMSTATS_FREE_NOFLAGS); -+ return (rc); -+ } -+#endif -+ return (0); -+} -+ -+/* -+ * @retval 0 success -+ * @retval <0 error -+ */ -+static int -+_systemstats(mibgroup_e mib, netsnmp_container *container, u_int load_flags) -+{ -+ mib2_ipIfStatsEntry_t ipe, iptot; -+ req_e req = GET_FIRST; -+ int ipversion = (mib == MIB_IP6) ? MIB2_INETADDRESSTYPE_ipv6 : -+ MIB2_INETADDRESSTYPE_ipv4; -+ bzero((void *)&iptot, sizeof(iptot)); -+ -+ while (getMibstat(mib, &ipe, sizeof(ipe), req, -+ &Get_everything, NULL) == 0) { -+ req = GET_NEXT; -+ netsnmp_assert(ipe.ipIfStatsIPVersion == ipversion); -+ _add_ipstats(&iptot, &ipe); -+ } -+ iptot.ipIfStatsIPVersion = ipversion; -+ return _insert_entry(container, &iptot); -+} -+ -+static void -+_add_ipstats(mib2_ipIfStatsEntry_t *o1, mib2_ipIfStatsEntry_t *o2) -+{ -+ o1->ipIfStatsInHdrErrors += o2->ipIfStatsInHdrErrors; -+ o1->ipIfStatsInTooBigErrors += o2->ipIfStatsInTooBigErrors; -+ o1->ipIfStatsInNoRoutes += o2->ipIfStatsInNoRoutes; -+ o1->ipIfStatsInAddrErrors += o2->ipIfStatsInAddrErrors; -+ o1->ipIfStatsInUnknownProtos += o2->ipIfStatsInUnknownProtos; -+ o1->ipIfStatsInTruncatedPkts += o2->ipIfStatsInTruncatedPkts; -+ o1->ipIfStatsInDiscards += o2->ipIfStatsInDiscards; -+ o1->ipIfStatsOutDiscards += o2->ipIfStatsOutDiscards; -+ o1->ipIfStatsOutFragOKs += o2->ipIfStatsOutFragOKs; -+ o1->ipIfStatsOutFragFails += o2->ipIfStatsOutFragFails; -+ o1->ipIfStatsOutFragCreates += o2->ipIfStatsOutFragCreates; -+ o1->ipIfStatsReasmReqds += o2->ipIfStatsReasmReqds; -+ o1->ipIfStatsReasmOKs += o2->ipIfStatsReasmOKs; -+ o1->ipIfStatsReasmFails += o2->ipIfStatsReasmFails; -+ o1->ipIfStatsOutNoRoutes += o2->ipIfStatsOutNoRoutes; -+ o1->ipIfStatsReasmDuplicates += o2->ipIfStatsReasmDuplicates; -+ o1->ipIfStatsReasmPartDups += o2->ipIfStatsReasmPartDups; -+ o1->ipIfStatsForwProhibits += o2->ipIfStatsForwProhibits; -+ o1->udpInCksumErrs += o2->udpInCksumErrs; -+ o1->udpInOverflows += o2->udpInOverflows; -+ o1->rawipInOverflows += o2->rawipInOverflows; -+ o1->ipIfStatsInWrongIPVersion += o2->ipIfStatsInWrongIPVersion; -+ o1->ipIfStatsOutWrongIPVersion += o2->ipIfStatsOutWrongIPVersion; -+ o1->ipIfStatsOutSwitchIPVersion += o2->ipIfStatsOutSwitchIPVersion; -+ o1->ipIfStatsHCInReceives += o2->ipIfStatsHCInReceives; -+ o1->ipIfStatsHCInOctets += o2->ipIfStatsHCInOctets; -+ o1->ipIfStatsHCInForwDatagrams += o2->ipIfStatsHCInForwDatagrams; -+ o1->ipIfStatsHCInDelivers += o2->ipIfStatsHCInDelivers; -+ o1->ipIfStatsHCOutRequests += o2->ipIfStatsHCOutRequests; -+ o1->ipIfStatsHCOutForwDatagrams += o2->ipIfStatsHCOutForwDatagrams; -+ o1->ipIfStatsOutFragReqds += o2->ipIfStatsOutFragReqds; -+ o1->ipIfStatsHCOutTransmits += o2->ipIfStatsHCOutTransmits; -+ o1->ipIfStatsHCOutOctets += o2->ipIfStatsHCOutOctets; -+ o1->ipIfStatsHCInMcastPkts += o2->ipIfStatsHCInMcastPkts; -+ o1->ipIfStatsHCInMcastOctets += o2->ipIfStatsHCInMcastOctets; -+ o1->ipIfStatsHCOutMcastPkts += o2->ipIfStatsHCOutMcastPkts; -+ o1->ipIfStatsHCOutMcastOctets += o2->ipIfStatsHCOutMcastOctets; -+ o1->ipIfStatsHCInBcastPkts += o2->ipIfStatsHCInBcastPkts; -+ o1->ipIfStatsHCOutBcastPkts += o2->ipIfStatsHCOutBcastPkts; -+ o1->ipsecInSucceeded += o2->ipsecInSucceeded; -+ o1->ipsecInFailed += o2->ipsecInFailed; -+ o1->ipInCksumErrs += o2->ipInCksumErrs; -+ o1->tcpInErrs += o2->tcpInErrs; -+ o1->udpNoPorts += o2->udpNoPorts; -+} -+ -+/* -+ * @retval 0 entry was successfully inserted in the container -+ * @retval -1 container error -+ * @retval -2 memory allocation error -+ */ -+static int -+_insert_entry(netsnmp_container *container, mib2_ipIfStatsEntry_t *ipe) -+{ -+ netsnmp_systemstats_entry *ep = -+ netsnmp_access_systemstats_entry_create(ipe->ipIfStatsIPVersion); -+ -+ DEBUGMSGTL(("access:systemstats:arch", "insert entry for v%d\n", -+ ipe->ipIfStatsIPVersion)); -+ if (ep == NULL) { -+ DEBUGMSGT(("access:systemstats:arch", "insert failed (alloc)")); -+ return (-2); -+ } -+ -+ ep->stats.HCInReceives.low = -+ ipe->ipIfStatsHCInReceives & 0xffffffff; -+ ep->stats.HCInReceives.high = ipe->ipIfStatsHCInReceives >> 32; -+ ep->stats.HCInOctets.low = -+ ipe->ipIfStatsHCInOctets & 0xffffffff; -+ ep->stats.HCInOctets.high = ipe->ipIfStatsHCInOctets >> 32; -+ ep->stats.InHdrErrors = ipe->ipIfStatsInHdrErrors; -+ ep->stats.InAddrErrors = ipe->ipIfStatsInAddrErrors; -+ ep->stats.InUnknownProtos = ipe->ipIfStatsInUnknownProtos; -+ ep->stats.InTruncatedPkts = ipe->ipIfStatsInTruncatedPkts; -+ ep->stats.HCInForwDatagrams.low = -+ ipe->ipIfStatsHCInForwDatagrams & 0xffffffff; -+ ep->stats.HCInForwDatagrams.high = -+ ipe->ipIfStatsHCInForwDatagrams >> 32; -+ ep->stats.ReasmReqds = ipe->ipIfStatsReasmReqds; -+ ep->stats.ReasmOKs = ipe->ipIfStatsReasmOKs; -+ ep->stats.ReasmFails = ipe->ipIfStatsReasmFails; -+ ep->stats.InDiscards = ipe->ipIfStatsInDiscards; -+ ep->stats.HCInDelivers.low = -+ ipe->ipIfStatsHCInDelivers & 0xffffffff; -+ ep->stats.HCInDelivers.high = -+ ipe->ipIfStatsHCInDelivers >> 32; -+ ep->stats.HCOutRequests.low = -+ ipe->ipIfStatsHCOutRequests & 0xffffffff; -+ ep->stats.HCOutRequests.high = -+ ipe->ipIfStatsHCOutRequests >> 32; -+ ep->stats.OutNoRoutes = ipe->ipIfStatsOutNoRoutes; -+ ep->stats.HCOutForwDatagrams.low = -+ ipe->ipIfStatsHCOutForwDatagrams & 0xffffffff; -+ ep->stats.HCOutForwDatagrams.high = -+ ipe->ipIfStatsHCOutForwDatagrams >> 32; -+ ep->stats.OutDiscards = ipe->ipIfStatsOutDiscards; -+ ep->stats.OutFragOKs = ipe->ipIfStatsOutFragOKs; -+ ep->stats.OutFragFails = ipe->ipIfStatsOutFragFails; -+ ep->stats.OutFragCreates = ipe->ipIfStatsOutFragCreates; -+ ep->stats.HCOutTransmits.low = -+ ipe->ipIfStatsHCOutTransmits & 0xffffffff; -+ ep->stats.HCOutTransmits.high = ipe->ipIfStatsHCOutTransmits >> 32; -+ ep->stats.HCOutOctets.low = ipe->ipIfStatsHCOutOctets & 0xffffffff; -+ ep->stats.HCOutOctets.high = ipe->ipIfStatsHCOutOctets >> 32; -+ ep->stats.HCInMcastPkts.low = ipe->ipIfStatsHCInMcastPkts & 0xffffffff; -+ ep->stats.HCInMcastPkts.high = ipe->ipIfStatsHCInMcastPkts >> 32; -+ ep->stats.HCInMcastOctets.low = -+ ipe->ipIfStatsHCInMcastOctets & 0xffffffff; -+ ep->stats.HCInMcastOctets.high = ipe->ipIfStatsHCInMcastOctets >> 32; -+ ep->stats.HCOutMcastPkts.low = -+ ipe->ipIfStatsHCOutMcastPkts & 0xffffffff; -+ ep->stats.HCOutMcastPkts.high = ipe->ipIfStatsHCOutMcastPkts >> 32; -+ ep->stats.HCOutMcastOctets.low = -+ ipe->ipIfStatsHCOutMcastOctets & 0xffffffff; -+ ep->stats.HCOutMcastOctets.high = ipe->ipIfStatsHCOutMcastOctets >> 32; -+ ep->stats.HCInBcastPkts.low = ipe->ipIfStatsHCInBcastPkts & 0xffffffff; -+ ep->stats.HCInBcastPkts.high = ipe->ipIfStatsHCInBcastPkts >> 32; -+ ep->stats.HCOutBcastPkts.low = -+ ipe->ipIfStatsHCOutBcastPkts & 0xffffffff; -+ ep->stats.HCOutBcastPkts.high = ipe->ipIfStatsHCOutBcastPkts >> 32; -+ -+ if (CONTAINER_INSERT(container, ep) < 0) { -+ DEBUGMSGT(("access:systemstats:arch", "unable to insert entry")); -+ netsnmp_access_systemstats_entry_free(ep); -+ return (-1); -+ } -+ return (0); -+} ---- net-snmp-5.4.1/agent/mibgroup/ip-mib/data_access/ipaddress_solaris2.c (revision 0) -+++ net-snmp-5.4.1-patch/agent/mibgroup/ip-mib/data_access/ipaddress_solaris2.c (revision 0) -@@ -0,0 +1,286 @@ -+/* -+ * IP-MIB architecture support -+ * -+ */ -+#include -+#include -+ -+#include -+#include -+#include -+ -+#include "ip-mib/ipAddressTable/ipAddressTable_constants.h" -+ -+#include "kernel_sunos5.h" -+#include "mibII/mibII_common.h" -+ -+static int _load_v4(netsnmp_container *container, int idx_offset); -+#if defined( NETSNMP_ENABLE_IPV6 ) -+static int _load_v6(netsnmp_container *container, int idx_offset); -+#endif -+ -+/* -+ * initialize arch specific storage -+ * -+ * @retval 0: success -+ * @retval <0: error -+ */ -+int -+netsnmp_arch_ipaddress_entry_init(netsnmp_ipaddress_entry *entry) -+{ -+ init_kernel_sunos5(); -+ return 0; -+} -+ -+/* -+ * cleanup arch specific storage -+ */ -+void -+netsnmp_arch_ipaddress_entry_cleanup(netsnmp_ipaddress_entry *entry) -+{ -+ /* -+ * Nothing to do. -+ */ -+} -+ -+/* -+ * copy arch specific storage -+ */ -+int -+netsnmp_arch_ipaddress_entry_copy(netsnmp_ipaddress_entry *lhs, -+ netsnmp_ipaddress_entry *rhs) -+{ -+ /* -+ * Nothing to do. -+ */ -+ return 0; -+} -+ -+/* -+ * create a new entry -+ */ -+int -+netsnmp_arch_ipaddress_create(netsnmp_ipaddress_entry *entry) -+{ -+ if (NULL == entry) -+ return -1; -+ -+ DEBUGMSGT(("access:ipaddress:create", "not applicable\n")); -+ return 0; -+} -+ -+/* -+ * delete an entry -+ */ -+int -+netsnmp_arch_ipaddress_delete(netsnmp_ipaddress_entry *entry) -+{ -+ if (NULL == entry) -+ return -1; -+ -+ DEBUGMSGT(("access:ipaddress:create", "not applicable\n")); -+ return 0; -+} -+ -+/** -+ * -+ * @retval 0 no errors -+ * @retval !0 errors -+ */ -+int -+netsnmp_arch_ipaddress_container_load(netsnmp_container *container, -+ u_int load_flags) -+{ -+ int rc = 0, idx_offset = 0; -+ -+ if (!(load_flags & NETSNMP_ACCESS_IPADDRESS_LOAD_IPV6_ONLY)) { -+ rc = _load_v4(container, idx_offset); -+ if(rc < 0) { -+ u_int flags = NETSNMP_ACCESS_IPADDRESS_FREE_KEEP_CONTAINER; -+ netsnmp_access_ipaddress_container_free(container, flags); -+ } -+ } -+ -+#if defined( NETSNMP_ENABLE_IPV6 ) -+ -+ if (!(load_flags & NETSNMP_ACCESS_IPADDRESS_LOAD_IPV4_ONLY)) { -+ if (rc < 0) -+ rc = 0; -+ -+ idx_offset = rc; -+ -+ rc = _load_v6(container, idx_offset); -+ if(rc < 0) { -+ u_int flags = NETSNMP_ACCESS_IPADDRESS_FREE_KEEP_CONTAINER; -+ netsnmp_access_ipaddress_container_free(container, flags); -+ } -+ } -+#endif -+ -+ /* -+ * return no errors (0) if we found any interfaces -+ */ -+ if(rc > 0) -+ rc = 0; -+ return rc; -+} -+ -+/* -+ * @retval >=idx_offset ok -+ * @retval -1 memory allocation error -+ * @retval -2 interface lookup error -+ * @retval -3 container error -+ */ -+static int -+_load_v4(netsnmp_container *container, int idx_offset) -+{ -+ mib2_ipAddrEntry_t ipae; -+ netsnmp_ipaddress_entry *entry; -+ req_e req = GET_FIRST; -+ int rc = 0; -+ -+ DEBUGMSGTL(("access:ipaddress:container", "loading v4\n")); -+ while ((rc = getMibstat(MIB_IP_ADDR, &ipae, sizeof(ipae), req, -+ &Get_everything, NULL)) == 0) { -+ req = GET_NEXT; -+ entry = netsnmp_access_ipaddress_entry_create(); -+ if (entry == NULL) -+ return (-1); -+ if (ipae.ipAdEntAddr == INADDR_ANY) -+ continue; -+ -+ ipae.ipAdEntIfIndex.o_bytes[ipae.ipAdEntIfIndex.o_length] = '\0'; -+ DEBUGMSGTL(("access:ipaddress:container", "found if %s\n", -+ ipae.ipAdEntIfIndex.o_bytes)); -+ /* Obtain interface index */ -+ entry->if_index = -+ netsnmp_access_interface_index_find(ipae.ipAdEntIfIndex.o_bytes); -+ if (entry->if_index == 0) { -+ DEBUGMSGTL(("access:ipaddress:container", "cannot find if %s\n", -+ ipae.ipAdEntIfIndex)); -+ netsnmp_access_ipaddress_entry_free(entry); -+ return (-2); -+ } -+ -+ if (strchr((const char *)&ipae.ipAdEntIfIndex.o_bytes, ':') != 0) -+ entry->flags |= NETSNMP_ACCESS_IPADDRESS_ISALIAS; -+ -+ /* Get the address */ -+ entry->ia_address_len = sizeof(ipae.ipAdEntAddr); -+ netsnmp_assert(entry->ia_address_len == 4 && -+ entry->ia_address_len <= sizeof(entry->ia_address)); -+ memcpy(&entry->ia_address, &ipae.ipAdEntAddr, entry->ia_address_len); -+ -+ /* prefix */ -+ entry->ia_prefix_len = ipae.ipAdEntInfo.ae_subnet_len; -+ -+ /* set the Origin */ -+ if (ipae.ipAdEntInfo.ae_flags & IFF_DHCPRUNNING) -+ entry->ia_origin = IPADDRESSORIGINTC_DHCP; -+ else -+ entry->ia_origin = IPADDRESSORIGINTC_MANUAL; -+ -+ /* set ipv4 constants */ -+ entry->ia_type = IPADDRESSTYPE_UNICAST; -+ entry->ia_status = IPADDRESSSTATUSTC_PREFERRED; -+ -+ entry->ns_ia_index = ++idx_offset; -+ -+ DEBUGMSGTL(("access:ipaddress:container", "insert if %d, addrlen %d\n", -+ entry->if_index, entry->ia_address_len)); -+ -+ if (CONTAINER_INSERT(container, entry) < 0) { -+ DEBUGMSGTL(("access:ipaddress:container", "unable to insert %s\n", -+ ipae.ipAdEntIfIndex.o_bytes)); -+ netsnmp_access_ipaddress_entry_free(entry); -+ return (-3); -+ } -+ } -+ return (idx_offset); -+} -+ -+/* -+ * @retval >=idx_offset ok -+ * @retval -1 memory allocation error -+ * @retval -2 interface lookup error -+ * @retval -3 container error -+ */ -+#if defined( NETSNMP_ENABLE_IPV6 ) -+static int -+_load_v6(netsnmp_container *container, int idx_offset) -+{ -+ mib2_ipv6AddrEntry_t ip6ae; -+ netsnmp_ipaddress_entry *entry; -+ req_e req = GET_FIRST; -+ int rc = 0; -+ -+ DEBUGMSGTL(("access:ipaddress:container", "loading v6... cache %d\n", -+ MIB_IP6_ADDR)); -+ while ((rc = getMibstat(MIB_IP6_ADDR, &ip6ae, sizeof(ip6ae), req, -+ &Get_everything, NULL)) == 0) { -+ req = GET_NEXT; -+ entry = netsnmp_access_ipaddress_entry_create(); -+ if (entry == NULL) -+ return (-1); -+ if (bcmp((const void *)&ip6ae.ipv6AddrAddress, -+ (const void *)&in6addr_any, -+ sizeof (ip6ae.ipv6AddrAddress)) == 0) -+ continue; -+ -+ ip6ae.ipv6AddrIfIndex.o_bytes[ip6ae.ipv6AddrIfIndex.o_length] = '\0'; -+ DEBUGMSGTL(("access:ipaddress:container", "found if %s\n", -+ ip6ae.ipv6AddrIfIndex.o_bytes)); -+ -+ /* Obtain interface index */ -+ entry->if_index = -+ netsnmp_access_interface_index_find( -+ ip6ae.ipv6AddrIfIndex.o_bytes); -+ if (entry->if_index == 0) { -+ DEBUGMSGTL(("access:ipaddress:container", "cannot find if %s\n", -+ ip6ae.ipv6AddrIfIndex.o_bytes)); -+ netsnmp_access_ipaddress_entry_free(entry); -+ return (-2); -+ } -+ -+ /* Get the address */ -+ entry->ia_address_len = sizeof(ip6ae.ipv6AddrAddress); -+ netsnmp_assert(entry->ia_address_len == 16 && -+ entry->ia_address_len <= sizeof(entry->ia_address)); -+ memcpy(&entry->ia_address, &ip6ae.ipv6AddrAddress, -+ entry->ia_address_len); -+ -+ /* prefix */ -+ entry->ia_prefix_len = ip6ae.ipv6AddrPfxLength; -+ -+ /* type is anycast? (mib2.h: 1 = yes, 2 = no) */ -+ entry->ia_type = (ip6ae.ipv6AddrAnycastFlag == 1) ? -+ IPADDRESSTYPE_ANYCAST : IPADDRESSTYPE_UNICAST; -+ -+ /* origin (mib2.h: 1 = stateless, 2 = stateful, 3 = unknown) */ -+ DEBUGMSGTL(("access:ipaddress:container", "origin %d\n", -+ ip6ae.ipv6AddrType)); -+ if (ip6ae.ipv6AddrType == 1) -+ entry->ia_origin = IPADDRESSORIGINTC_LINKLAYER; -+ else if (ip6ae.ipv6AddrInfo.ae_flags & IFF_DHCPRUNNING) -+ entry->ia_origin = IPADDRESSORIGINTC_DHCP; -+ else -+ entry->ia_origin = IPADDRESSORIGINTC_MANUAL; -+ -+ /* status */ -+ entry->ia_status = ip6ae.ipv6AddrStatus; -+ -+ entry->ns_ia_index = ++idx_offset; -+ -+ DEBUGMSGTL(("access:ipaddress:container", "insert if %d, addrlen %d\n", -+ entry->if_index, entry->ia_address_len)); -+ -+ if (CONTAINER_INSERT(container, entry) < 0) { -+ DEBUGMSGTL(("access:ipaddress:container", "unable to insert %s\n", -+ ip6ae.ipv6AddrIfIndex.o_bytes)); -+ netsnmp_access_ipaddress_entry_free(entry); -+ return (-3); -+ } -+ } -+ return (idx_offset); -+} -+#endif /* defined( NETSNMP_ENABLE_IPV6 ) */ diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/patches/004.16436.patch --- a/components/net-snmp/patches/004.16436.patch Wed Jan 22 01:46:00 2014 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,162 +0,0 @@ -Index: net-snmp/include/net-snmp/system/solaris.h -=================================================================== ---- net-snmp/include/net-snmp/system/solaris.h (revision 16435) -+++ net-snmp/include/net-snmp/system/solaris.h (revision 16436) -@@ -38,3 +38,10 @@ - - /* Solaris 7+ */ - #define NETSNMP_DONT_USE_NLIST 1 -+ -+/* -+ * NEW_MIB_COMPLIANT is a define used in Solaris 10U4+ to enable additional -+ * MIB information (it affects the structs in -+ */ -+ -+#define NEW_MIB_COMPLIANT -Index: net-snmp/configure.in -=================================================================== ---- net-snmp/configure.in (revision 16435) -+++ net-snmp/configure.in (revision 16436) -@@ -1339,8 +1339,9 @@ - AC_CHECK_TYPES([off64_t]) - AC_CHECK_TYPES([uintptr_t, intptr_t]) - --# solaris specific type -+# solaris specific types - AC_CHECK_TYPES([Counter64],,,[#include ]) -+AC_CHECK_TYPES([mib2_ipIfStatsEntry_t],,,[#include ]) - - # guess IPv6 stack type. - if test "x$enable_ipv6" = "xyes"; then -Index: net-snmp/agent/mibgroup/kernel_sunos5.h -=================================================================== ---- net-snmp/agent/mibgroup/kernel_sunos5.h (revision 16435) -+++ net-snmp/agent/mibgroup/kernel_sunos5.h (revision 16436) -@@ -71,7 +71,11 @@ - MIB_TRANSMISSION = 14, - MIB_SNMP = 15, - #ifdef SOLARIS_HAVE_IPV6_MIB_SUPPORT -- MIB_IP6_ADDR = 16, -+#ifdef SOLARIS_HAVE_RFC4293_SUPPORT -+ MIB_IP_TRAFFIC_STATS, -+#endif -+ MIB_IP6, -+ MIB_IP6_ADDR, - MIB_TCP6_CONN, - MIB_UDP6_ENDPOINT, - #endif -Index: net-snmp/agent/mibgroup/if-mib/data_access/interface_solaris2.c -=================================================================== ---- net-snmp/agent/mibgroup/if-mib/data_access/interface_solaris2.c (revision 16435) -+++ net-snmp/agent/mibgroup/if-mib/data_access/interface_solaris2.c (revision 16436) -@@ -3,9 +3,9 @@ - */ - #include - #include --#include "mibII/mibII_common.h" - #include "if-mib/ifTable/ifTable_constants.h" - #include "kernel_sunos5.h" -+#include "mibII/mibII_common.h" - - #include - -Index: net-snmp/agent/mibgroup/ip-mib/data_access/ipaddress.h -=================================================================== ---- net-snmp/agent/mibgroup/ip-mib/data_access/ipaddress.h (revision 16435) -+++ net-snmp/agent/mibgroup/ip-mib/data_access/ipaddress.h (revision 16436) -@@ -20,6 +20,8 @@ - config_require(ip-mib/data_access/ipaddress_common) - #if defined( linux ) - config_require(ip-mib/data_access/ipaddress_linux) -+#elif defined( solaris2 ) -+config_require(ip-mib/data_access/ipaddress_solaris2) - #else - config_error(the ipaddress data access library is not available in this environment.) - #endif -Index: net-snmp/agent/mibgroup/ip-mib/data_access/systemstats.h -=================================================================== ---- net-snmp/agent/mibgroup/ip-mib/data_access/systemstats.h (revision 16435) -+++ net-snmp/agent/mibgroup/ip-mib/data_access/systemstats.h (revision 16436) -@@ -20,6 +20,8 @@ - config_require(ip-mib/data_access/systemstats_common) - #if defined( linux ) - config_require(ip-mib/data_access/systemstats_linux) -+#elif defined( solaris2 ) -+config_require(ip-mib/data_access/systemstats_solaris2) - #else - config_error(the systemstats data access library is not available in this environment.) - #endif -Index: net-snmp/agent/mibgroup/mibII.h -=================================================================== ---- net-snmp/agent/mibgroup/mibII.h (revision 16435) -+++ net-snmp/agent/mibgroup/mibII.h (revision 16436) -@@ -30,3 +30,10 @@ - #if defined( linux ) - config_require(ip-mib ip-forward-mib tcp-mib udp-mib) - #endif -+ -+/* -+ * For Solaris, enable additional tables when it has extended MIB support. -+ */ -+#if defined( solaris2 ) && defined( HAVE_MIB2_IPIFSTATSENTRY_T ) -+config_require(ip-mib/ipSystemStatsTable ip-mib/ipAddressTable) -+#endif -Index: net-snmp/agent/mibgroup/kernel_sunos5.c -=================================================================== ---- net-snmp/agent/mibgroup/kernel_sunos5.c (revision 16435) -+++ net-snmp/agent/mibgroup/kernel_sunos5.c (revision 16436) -@@ -45,6 +45,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -103,6 +104,13 @@ - {MIB_TRANSMISSION, 0, (void *) -1, 0, 0, 0, 0}, - {MIB_SNMP, 0, (void *) -1, 0, 0, 0, 0}, - #ifdef SOLARIS_HAVE_IPV6_MIB_SUPPORT -+#ifdef SOLARIS_HAVE_RFC4293_SUPPORT -+ {MIB_IP_TRAFFIC_STATS, 20 * sizeof(mib2_ipIfStatsEntry_t), (void *)-1, 0, -+ 30, 0, 0}, -+ {MIB_IP6, 20 * sizeof(mib2_ipIfStatsEntry_t), (void *)-1, 0, 30, 0, 0}, -+#else -+ {MIB_IP6, 20 * sizeof(mib2_ipv6IfStatsEntry_t), (void *)-1, 0, 30, 0, 0}, -+#endif - {MIB_IP6_ADDR, 20 * sizeof(mib2_ipv6AddrEntry_t), (void *)-1, 0, 30, 0, 0}, - {MIB_TCP6_CONN, 1000 * sizeof(mib2_tcp6ConnEntry_t), (void *) -1, 0, 30, - 0, 0}, -@@ -131,6 +139,10 @@ - {MIB2_TRANSMISSION, 0,}, - {MIB2_SNMP, 0,}, - #ifdef SOLARIS_HAVE_IPV6_MIB_SUPPORT -+#ifdef SOLARIS_HAVE_RFC4293_SUPPORT -+ {MIB2_IP, MIB2_IP_TRAFFIC_STATS}, -+#endif -+ {MIB2_IP6, 0}, - {MIB2_IP6, MIB2_IP6_ADDR}, - {MIB2_TCP6, MIB2_TCP6_CONN}, - {MIB2_UDP6, MIB2_UDP6_ENTRY}, -@@ -343,7 +355,8 @@ - kstat_ctl_t *ksc; - kstat_t *ks, *kstat_data; - kstat_named_t *d; -- size_t i, instance; -+ uint_t i; -+ int instance; - char module_name[64]; - int ret; - u_longlong_t val; /* The largest value */ -@@ -900,7 +913,11 @@ - req = (struct opthdr *)(tor + 1); - req->level = groupname; - req->name = subgroupname; -+#if defined( SOLARIS_HAVE_RFC4293_SUPPORT ) -+ req->len = 1; /* Used as a flag for S10 to grab extra data */ -+#else - req->len = 0; -+#endif - strbuf.len = tor->OPT_length + tor->OPT_offset; - flags = 0; - if ((rc = putmsg(sd, &strbuf, NULL, flags))) { diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/patches/005.16736.patch --- a/components/net-snmp/patches/005.16736.patch Wed Jan 22 01:46:00 2014 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,759 +0,0 @@ -Index: net-snmp/agent/mibgroup/kernel_sunos5.h -=================================================================== ---- net-snmp/agent/mibgroup/kernel_sunos5.h (revision 16735) -+++ net-snmp/agent/mibgroup/kernel_sunos5.h (revision 16736) -@@ -193,6 +193,8 @@ - int getKstatString(const char *statname, const char *varname, - char *value, size_t value_len); - -+ int solaris2_if_nametoindex(const char *, int); -+ - #ifdef _STDC_COMPAT - #ifdef __cplusplus - } -Index: net-snmp/agent/mibgroup/if-mib/data_access/interface_solaris2.c -=================================================================== ---- net-snmp/agent/mibgroup/if-mib/data_access/interface_solaris2.c (revision 16735) -+++ net-snmp/agent/mibgroup/if-mib/data_access/interface_solaris2.c (revision 16736) -@@ -14,6 +14,7 @@ - #include - #include - #include -+#include - - static int _set_ip_flags_v4(netsnmp_interface_entry *, mib2_ifEntry_t *); - static int _match_ifname_v4addr(void *ifname, void *ipaddr); -@@ -43,25 +44,7 @@ - #if defined(HAVE_IF_NAMETOINDEX) - return if_nametoindex(name); - #else /* use GIFINDEX */ -- int sd; -- struct ifreq ifr; -- -- if (name == 0) { -- return (0); -- } -- -- if ((sd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { -- return (0); -- } -- -- strncpy(ifr.ifr_name, name, IFNAMSIZ); -- if (ioctl(sd, SIOCGIFINDEX, (char *) &ifr) < 0) { -- close(sd); -- return (0); -- } -- -- close(sd); -- return (ifr.ifr_index); -+ return solaris2_if_nametoindex(name, strlen(name)); - #endif /* defined(HAVE_IF_NAMETOINDEX) */ - } - -Index: net-snmp/agent/mibgroup/mibII/interfaces.c -=================================================================== ---- net-snmp/agent/mibgroup/mibII/interfaces.c (revision 16735) -+++ net-snmp/agent/mibgroup/mibII/interfaces.c (revision 16736) -@@ -2245,71 +2245,7 @@ - int - Interface_Index_By_Name(char *Name, int Len) - { -- int i, sd, lastlen = 0, interfaces = 0; -- struct ifconf ifc; -- struct ifreq *ifrp = NULL; -- char *buf = NULL; -- -- if (Name == 0) { -- return 0; -- } -- if ((sd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { -- return 0; -- } -- -- /* -- * Cope with lots of interfaces and brokenness of ioctl SIOCGIFCONF -- * on some platforms; see W. R. Stevens, ``Unix Network Programming -- * Volume I'', p.435. -- */ -- -- for (i = 8;; i += 8) { -- buf = calloc(i, sizeof(struct ifreq)); -- if (buf == NULL) { -- close(sd); -- return 0; -- } -- ifc.ifc_len = i * sizeof(struct ifreq); -- ifc.ifc_buf = (caddr_t) buf; -- -- if (ioctl(sd, SIOCGIFCONF, (char *) &ifc) < 0) { -- if (errno != EINVAL || lastlen != 0) { -- /* -- * Something has gone genuinely wrong. -- */ -- free(buf); -- close(sd); -- return 0; -- } -- /* -- * Otherwise, it could just be that the buffer is too small. -- */ -- } else { -- if (ifc.ifc_len == lastlen) { -- /* -- * The length is the same as the last time; we're done. -- */ -- break; -- } -- lastlen = ifc.ifc_len; -- } -- free(buf); -- } -- -- ifrp = ifc.ifc_req; -- interfaces = (ifc.ifc_len / sizeof(struct ifreq)) + 1; -- -- for (i = 1; i < interfaces; i++, ifrp++) { -- if (strncmp(ifrp->ifr_name, Name, Len) == 0) { -- free(buf); -- close(sd); -- return i; -- } -- } -- -- free(buf); -- close(sd); -- return 0; -+ return (solaris2_if_nametoindex(Name, Len)); - } - - #endif /* solaris2 */ -Index: net-snmp/agent/mibgroup/kernel_sunos5.c -=================================================================== ---- net-snmp/agent/mibgroup/kernel_sunos5.c (revision 16735) -+++ net-snmp/agent/mibgroup/kernel_sunos5.c (revision 16736) -@@ -169,11 +169,14 @@ - getif(mib2_ifEntry_t *ifbuf, size_t size, req_e req_type, mib2_ifEntry_t *resp, - size_t *length, int (*comp)(void *, void *), void *arg); - static void --set_if_info(mib2_ifEntry_t *ifp, unsigned index, char *name, uint64_t flags,int mtu); -+set_if_info(mib2_ifEntry_t *ifp, unsigned index, char *name, uint64_t flags, -+ int mtu); - static int get_if_stats(mib2_ifEntry_t *ifp); - --static int get_phys_address(mib2_ifEntry_t *ifp); --static int _dlpi_phys_address(int fd, char *paddr, int maxlen, int *paddrlen); -+static int _dlpi_open(const char *devname); -+static int _dlpi_get_phys_address(int fd, char *paddr, int maxlen, -+ int *paddrlen); -+static int _dlpi_get_iftype(int fd, unsigned int *iftype); - static int _dlpi_attach(int fd, int ppa); - static int _dlpi_parse_devname(char *devname, int *ppap); - -@@ -1047,7 +1050,7 @@ - mib2_ifEntry_t *resp, size_t *length, int (*comp)(void *, void *), - void *arg) - { -- int i, ret; -+ int fd, i, ret; - int ifsd, ifsd6 = -1; - struct lifreq lifreq, *lifrp; - mib2_ifEntry_t *ifp; -@@ -1109,6 +1112,15 @@ - - memset(ifp, 0, sizeof(mib2_ifEntry_t)); - -+ if ((fd = _dlpi_open(ifnp->if_name)) != -1) { -+ /* Could open DLPI... now try to grab some info */ -+ (void) _dlpi_get_phys_address(fd, ifp->ifPhysAddress.o_bytes, -+ sizeof(ifp->ifPhysAddress.o_bytes), -+ &ifp->ifPhysAddress.o_length); -+ (void) _dlpi_get_iftype(fd, &ifp->ifType); -+ close(fd); -+ } -+ - set_if_info(ifp, ifnp->if_index, ifnp->if_name, if_flags, - lifrp->lifr_metric); - -@@ -1117,9 +1129,6 @@ - continue; - } - -- /* try to obtain the physical address */ -- (void) get_phys_address(ifp); -- - /* - * Once we reach here we know that all went well, so move to - * the next ifEntry. -@@ -1294,8 +1303,11 @@ - #endif /*defined(HAVE_IF_NAMEINDEX)&&defined(NETSNMP_INCLUDE_IFTABLE_REWRITES)*/ - - static void --set_if_info(mib2_ifEntry_t *ifp, unsigned index, char *name, uint64_t flags, int mtu) -+set_if_info(mib2_ifEntry_t *ifp, unsigned index, char *name, uint64_t flags, -+ int mtu) - { -+ boolean_t havespeed = B_FALSE; -+ - /* - * Set basic information - */ -@@ -1307,101 +1319,122 @@ - ifp->ifLastChange = 0; /* Who knows ... */ - ifp->flags = flags; - ifp->ifMtu = mtu; -+ ifp->ifSpeed = 0; - -- /* make ifOperStatus depend on link status if available */ -- if (ifp->ifAdminStatus == 1) { -- int i_tmp; -- /* only UPed interfaces get correct link status - if any */ -- if (getKstatInt(NULL, name,"link_up",&i_tmp) == 0) { -- ifp->ifOperStatus = i_tmp ? 1 : 2; -- } -- } -- - /* -- * Set link Type and Speed -+ * Get link speed - */ -- ifp->ifType = 1; -- ifp->ifSpeed = 0; -- -- if ((getKstatInt(NULL, name, "ifspeed", &ifp->ifSpeed) == 0) && -- (ifp->ifSpeed != 0)) { -+ if ((getKstatInt(NULL, name, "ifspeed", &ifp->ifSpeed) == 0)) { - /* - * check for SunOS patch with half implemented ifSpeed - */ -- if (ifp->ifSpeed < 10000) { -+ if (ifp->ifSpeed > 0 && ifp->ifSpeed < 10000) { - ifp->ifSpeed *= 1000000; - } -+ havespeed = B_TRUE; - } else if (getKstatInt(NULL, name, "ifSpeed", &ifp->ifSpeed) == 0) { - /* - * this is good - */ -+ havespeed = B_TRUE; - } - -- switch (name[0]) { -- case 'a': /* ath (802.11) */ -- if (name[1] == 't' && name[2] == 'h') -- ifp->ifType = 71; -- break; -- case 'l': /* le / lo / lane (ATM LAN Emulation) */ -- if (name[1] == 'o') { -- if (!ifp->ifSpeed) -- ifp->ifSpeed = 127000000; -- ifp->ifType = 24; -- } else if (name[1] == 'e') { -- if (!ifp->ifSpeed) -- ifp->ifSpeed = 10000000; -- ifp->ifType = 6; -- } else if (name[1] == 'a') { -- if (!ifp->ifSpeed) -- ifp->ifSpeed = 155000000; -- ifp->ifType = 37; -- } -- break; -+ /* make ifOperStatus depend on link status if available */ -+ if (ifp->ifAdminStatus == 1) { -+ int i_tmp; -+ /* only UPed interfaces get correct link status - if any */ -+ if (getKstatInt(NULL, name,"link_up",&i_tmp) == 0) { -+ ifp->ifOperStatus = i_tmp ? 1 : 2; -+#ifdef IFF_FAILED -+ } else if (flags & IFF_FAILED) { -+ /* -+ * If IPMP is used, and if the daemon marks the interface -+ * as 'failed', then we know for sure something is amiss. -+ */ -+ ifp->ifOperStatus = 2; -+#endif -+ } else if (havespeed == B_TRUE && ifp->ifSpeed == 0) { -+ /* Heuristic */ -+ ifp->ifOperStatus = 2; -+ } -+ } - -- case 'g': /* ge (gigabit ethernet card) */ -- case 'c': /* ce (Cassini Gigabit-Ethernet (PCI) */ -- if (!ifp->ifSpeed) -- ifp->ifSpeed = 1000000000; -- ifp->ifType = 6; -- break; -- -- case 'h': /* hme (SBus card) */ -- case 'e': /* eri (PCI card) */ -- case 'b': /* be */ -- case 'd': /* dmfe -- found on netra X1 */ -- if (!ifp->ifSpeed) -- ifp->ifSpeed = 100000000; -- ifp->ifType = 6; -- break; -- -- case 'f': /* fa (Fore ATM) */ -- if (!ifp->ifSpeed) -- ifp->ifSpeed = 155000000; -- ifp->ifType = 37; -- break; -- -- case 'q': /* qe (QuadEther)/qa (Fore ATM)/qfe (QuadFastEther) */ -- if (name[1] == 'a') { -- if (!ifp->ifSpeed) -- ifp->ifSpeed = 155000000; -- ifp->ifType = 37; -- } else if (name[1] == 'e') { -+ /* -+ * Set link Type and Speed (if it could not be determined from kstat) -+ */ -+ if (ifp->ifType == 24) { -+ ifp->ifSpeed = 127000000; -+ } else if (ifp->ifType == 1 || ifp->ifType == 0) { -+ /* -+ * Could not get the type from DLPI, so lets fall back to the hardcoded -+ * values. -+ */ -+ switch (name[0]) { -+ case 'a': /* ath (802.11) */ -+ if (name[1] == 't' && name[2] == 'h') -+ ifp->ifType = 71; -+ break; -+ case 'l': /* le / lo / lane (ATM LAN Emulation) */ -+ if (name[1] == 'o') { - if (!ifp->ifSpeed) -+ ifp->ifSpeed = 127000000; -+ ifp->ifType = 24; -+ } else if (name[1] == 'e') { -+ if (!ifp->ifSpeed) - ifp->ifSpeed = 10000000; - ifp->ifType = 6; -- } else if (name[1] == 'f') { -+ } else if (name[1] == 'a') { - if (!ifp->ifSpeed) -- ifp->ifSpeed = 100000000; -+ ifp->ifSpeed = 155000000; -+ ifp->ifType = 37; -+ } -+ break; -+ -+ case 'g': /* ge (gigabit ethernet card) */ -+ case 'c': /* ce (Cassini Gigabit-Ethernet (PCI) */ -+ if (!ifp->ifSpeed) -+ ifp->ifSpeed = 1000000000; - ifp->ifType = 6; -+ break; -+ -+ case 'h': /* hme (SBus card) */ -+ case 'e': /* eri (PCI card) */ -+ case 'b': /* be */ -+ case 'd': /* dmfe -- found on netra X1 */ -+ if (!ifp->ifSpeed) -+ ifp->ifSpeed = 100000000; -+ ifp->ifType = 6; -+ break; -+ -+ case 'f': /* fa (Fore ATM) */ -+ if (!ifp->ifSpeed) -+ ifp->ifSpeed = 155000000; -+ ifp->ifType = 37; -+ break; -+ -+ case 'q': /* qe (QuadEther)/qa (Fore ATM)/qfe (QuadFastEther) */ -+ if (name[1] == 'a') { -+ if (!ifp->ifSpeed) -+ ifp->ifSpeed = 155000000; -+ ifp->ifType = 37; -+ } else if (name[1] == 'e') { -+ if (!ifp->ifSpeed) -+ ifp->ifSpeed = 10000000; -+ ifp->ifType = 6; -+ } else if (name[1] == 'f') { -+ if (!ifp->ifSpeed) -+ ifp->ifSpeed = 100000000; -+ ifp->ifType = 6; -+ } -+ break; -+ -+ case 'i': /* ibd (Infiniband)/ip.tun (IP tunnel) */ -+ if (name[1] == 'b') -+ ifp->ifType = 199; -+ else if (name[1] == 'p') -+ ifp->ifType = 131; -+ break; - } -- break; -- -- case 'i': /* ibd (Infiniband)/ip.tun (IP tunnel) */ -- if (name[1] == 'b') -- ifp->ifType = 199; -- else if (name[1] == 'p') -- ifp->ifType = 131; -- break; - } - } - -@@ -1491,68 +1524,69 @@ - } - - /* -- * Obtain the physical address using DLPI. Pieces of this code is directly -- * taken from libdlpi, which unfortunately is not yet commonly available. -+ * Open a DLPI device. -+ * -+ * On success the file descriptor is returned. -+ * On error -1 is returned. - */ -- --static int --get_phys_address(mib2_ifEntry_t *ifp) -+static int -+_dlpi_open(const char *devname) - { -- char *devstr; -- int fd; -- int ppa = -1; -- int rc = -1; -+ char *devstr; -+ int fd = -1; -+ int ppa = -1; - -- DEBUGMSGTL(("kernel_sunos5", "get_phys_address called\n")); -+ DEBUGMSGTL(("kernel_sunos5", "_dlpi_open called\n")); - -- if ((devstr = malloc(5 + ifp->ifDescr.o_length + 1)) == NULL) -+ if (devname == NULL) - return (-1); -- (void) sprintf(devstr, "/dev/%s", ifp->ifDescr.o_bytes); -+ -+ if ((devstr = malloc(5 + strlen(devname) + 1)) == NULL) -+ return (-1); -+ (void) sprintf(devstr, "/dev/%s", devname); - DEBUGMSGTL(("kernel_sunos5:dlpi", "devstr(%s)\n", devstr)); - /* - * First try opening the device using style 1, if the device does not - * exist we try style 2. Modules will not be pushed, so something like - * ip tunnels will not work. - */ -- if ((fd = open(devstr, O_RDWR | O_NONBLOCK)) != -1) { -- DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open(%s)\n", devstr)); -- rc = _dlpi_phys_address(fd, ifp->ifPhysAddress.o_bytes, -- sizeof(ifp->ifPhysAddress.o_bytes), -- &ifp->ifPhysAddress.o_length); -- } else if (_dlpi_parse_devname(devstr, &ppa) == 0) { -- DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 parse: %s, %d\n", -- devstr, ppa)); -- /* try style 2 */ -- if ((fd = open(devstr, O_RDWR | O_NONBLOCK)) != -1) { -- DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 open(%s)\n", devstr)); -- if (_dlpi_attach(fd, ppa) == 0) { -- DEBUGMSGTL(("kernel_sunos5:dlpi", "attached\n")); -- rc = _dlpi_phys_address(fd, ifp->ifPhysAddress.o_bytes, -- sizeof(ifp->ifPhysAddress.o_bytes), -- &ifp->ifPhysAddress.o_length); -- } -- } -- } -+ -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open(%s)\n", devstr)); -+ if ((fd = open(devstr, O_RDWR | O_NONBLOCK)) < 0) { -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open failed\n")); -+ if (_dlpi_parse_devname(devstr, &ppa) == 0) { -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 parse: %s, %d\n", -+ devstr, ppa)); -+ /* try style 2 */ -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 open(%s)\n", devstr)); - -- free(devstr); -- if (fd != -1) -- close(fd); -+ if ((fd = open(devstr, O_RDWR | O_NONBLOCK)) != -1) { -+ if (_dlpi_attach(fd, ppa) == 0) { -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "attached\n")); -+ } else { -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "attached failed\n")); -+ close(fd); -+ fd = -1; -+ } -+ } else { -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 open failed\n")); -+ } -+ } -+ } else { -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open succeeded\n")); -+ } - -- if (rc == 0) { -- /* successful */ -- DEBUGMSGTL(("kernel_sunos5:dlpi", "got phys addr using DLPI\n")); -- return (0); -- } else { -- DEBUGMSGTL(("kernel_sunos5:dlpi", "unable to get phys address\n")); -- return (-1); -- } -+ /* clean up */ -+ free(devstr); -+ -+ return (fd); - } - - /* -- * -+ * Obtain the physical address of the interface using DLPI - */ - static int --_dlpi_phys_address(int fd, char *addr, int maxlen, int *addrlen) -+_dlpi_get_phys_address(int fd, char *addr, int maxlen, int *addrlen) - { - dl_phys_addr_req_t paddr_req; - union DL_primitives *dlp; -@@ -1560,6 +1594,8 @@ - char buf[MAX(DL_PHYS_ADDR_ACK_SIZE+64, DL_ERROR_ACK_SIZE)]; - int flag = 0; - -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "_dlpi_get_phys_address\n")); -+ - paddr_req.dl_primitive = DL_PHYS_ADDR_REQ; - paddr_req.dl_addr_type = DL_CURR_PHYS_ADDR; - ctlbuf.buf = (char *)&paddr_req; -@@ -1570,7 +1606,7 @@ - ctlbuf.maxlen = sizeof(buf); - ctlbuf.len = 0; - ctlbuf.buf = buf; -- if (getmsg(fd, &ctlbuf, NULL, &flag) != 0) -+ if (getmsg(fd, &ctlbuf, NULL, &flag) < 0) - return (-1); - - if (ctlbuf.len < sizeof(uint32_t)) -@@ -1580,6 +1616,7 @@ - case DL_PHYS_ADDR_ACK: { - dl_phys_addr_ack_t *phyp = (dl_phys_addr_ack_t *)buf; - -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "got ACK\n")); - if (ctlbuf.len < DL_PHYS_ADDR_ACK_SIZE || phyp->dl_addr_length > maxlen) - return (-1); - (void) memcpy(addr, buf+phyp->dl_addr_offset, phyp->dl_addr_length); -@@ -1589,16 +1626,137 @@ - case DL_ERROR_ACK: { - dl_error_ack_t *errp = (dl_error_ack_t *)buf; - -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "got ERROR ACK\n")); - if (ctlbuf.len < DL_ERROR_ACK_SIZE) - return (-1); - return (errp->dl_errno); - } - default: -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "got type: %x\n", dlp->dl_primitive)); - return (-1); - } - } - -+/* -+ * Query the interface about it's type. -+ */ - static int -+_dlpi_get_iftype(int fd, unsigned int *iftype) -+{ -+ dl_info_req_t info_req; -+ union DL_primitives *dlp; -+ struct strbuf ctlbuf; -+ char buf[MAX(DL_INFO_ACK_SIZE, DL_ERROR_ACK_SIZE)]; -+ int flag = 0; -+ -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "_dlpi_get_iftype\n")); -+ -+ info_req.dl_primitive = DL_INFO_REQ; -+ ctlbuf.buf = (char *)&info_req; -+ ctlbuf.len = DL_INFO_REQ_SIZE; -+ if (putmsg(fd, &ctlbuf, NULL, 0) < 0) { -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "putmsg failed: %d\nn", errno)); -+ return (-1); -+ } -+ -+ ctlbuf.maxlen = sizeof(buf); -+ ctlbuf.len = 0; -+ ctlbuf.buf = buf; -+ if (getmsg(fd, &ctlbuf, NULL, &flag) < 0) { -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "getmsg failed: %d\n", errno)); -+ return (-1); -+ } -+ -+ if (ctlbuf.len < sizeof(uint32_t)) -+ return (-1); -+ dlp = (union DL_primitives *)buf; -+ switch (dlp->dl_primitive) { -+ case DL_INFO_ACK: { -+ dl_info_ack_t *info = (dl_info_ack_t *)buf; -+ -+ if (ctlbuf.len < DL_INFO_ACK_SIZE) -+ return (-1); -+ -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "dl_mac_type: %x\n", -+ info->dl_mac_type)); -+ switch (info->dl_mac_type) { -+ case DL_CSMACD: -+ case DL_ETHER: -+ case DL_ETH_CSMA: -+ *iftype = 6; -+ break; -+ case DL_TPB: /* Token Passing Bus */ -+ *iftype = 8; -+ break; -+ case DL_TPR: /* Token Passing Ring */ -+ *iftype = 9; -+ break; -+ case DL_HDLC: -+ *iftype = 118; -+ break; -+ case DL_FDDI: -+ *iftype = 15; -+ break; -+ case DL_FC: /* Fibre channel */ -+ *iftype = 56; -+ break; -+ case DL_ATM: -+ *iftype = 37; -+ break; -+ case DL_X25: -+ case DL_ISDN: -+ *iftype = 63; -+ break; -+ case DL_HIPPI: -+ *iftype = 47; -+ break; -+#ifdef DL_IB -+ case DL_IB: -+ *iftype = 199; -+ break; -+#endif -+ case DL_FRAME: /* Frame Relay */ -+ *iftype = 32; -+ break; -+ case DL_LOOP: -+ *iftype = 24; -+ break; -+#ifdef DL_WIFI -+ case DL_WIFI: -+ *iftype = 71; -+ break; -+#endif -+#ifdef DL_IPV4 /* then IPv6 is also defined */ -+ case DL_IPV4: /* IPv4 Tunnel */ -+ case DL_IPV6: /* IPv6 Tunnel */ -+ *iftype = 131; -+ break; -+#endif -+ default: -+ *iftype = 1; /* Other */ -+ break; -+ } -+ -+ return (0); -+ } -+ case DL_ERROR_ACK: { -+ dl_error_ack_t *errp = (dl_error_ack_t *)buf; -+ -+ DEBUGMSGTL(("kernel_sunos5:dlpi", -+ "got DL_ERROR_ACK: dlpi %d, error %d\n", errp->dl_errno, -+ errp->dl_unix_errno)); -+ -+ if (ctlbuf.len < DL_ERROR_ACK_SIZE) -+ return (-1); -+ return (errp->dl_errno); -+ } -+ default: -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "got type %x\n", dlp->dl_primitive)); -+ return (-1); -+ } -+} -+ -+static int - _dlpi_attach(int fd, int ppa) - { - dl_attach_req_t attach_req; -@@ -1680,8 +1838,83 @@ - } else { - return 1; - } --} -+} - -+/* -+ * Try to determine the index of a particular interface. If mfd-rewrites is -+ * specified, then this function would only be used when the system does not -+ * have if_nametoindex(3SOCKET). -+ */ -+int -+solaris2_if_nametoindex(const char *Name, int Len) -+{ -+ int i, sd, lastlen = 0, interfaces = 0; -+ struct ifconf ifc; -+ struct ifreq *ifrp = NULL; -+ char *buf = NULL; -+ -+ if (Name == 0) { -+ return 0; -+ } -+ if ((sd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { -+ return 0; -+ } -+ -+ /* -+ * Cope with lots of interfaces and brokenness of ioctl SIOCGIFCONF -+ * on some platforms; see W. R. Stevens, ``Unix Network Programming -+ * Volume I'', p.435. -+ */ -+ -+ for (i = 8;; i += 8) { -+ buf = calloc(i, sizeof(struct ifreq)); -+ if (buf == NULL) { -+ close(sd); -+ return 0; -+ } -+ ifc.ifc_len = i * sizeof(struct ifreq); -+ ifc.ifc_buf = (caddr_t) buf; -+ -+ if (ioctl(sd, SIOCGIFCONF, (char *) &ifc) < 0) { -+ if (errno != EINVAL || lastlen != 0) { -+ /* -+ * Something has gone genuinely wrong. -+ */ -+ free(buf); -+ close(sd); -+ return 0; -+ } -+ /* -+ * Otherwise, it could just be that the buffer is too small. -+ */ -+ } else { -+ if (ifc.ifc_len == lastlen) { -+ /* -+ * The length is the same as the last time; we're done. -+ */ -+ break; -+ } -+ lastlen = ifc.ifc_len; -+ } -+ free(buf); -+ } -+ -+ ifrp = ifc.ifc_req; -+ interfaces = (ifc.ifc_len / sizeof(struct ifreq)) + 1; -+ -+ for (i = 1; i < interfaces; i++, ifrp++) { -+ if (strncmp(ifrp->ifr_name, Name, Len) == 0) { -+ free(buf); -+ close(sd); -+ return i; -+ } -+ } -+ -+ free(buf); -+ close(sd); -+ return 0; -+} -+ - #ifdef _STDC_COMPAT - #ifdef __cplusplus - } diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/patches/006.16742.patch --- a/components/net-snmp/patches/006.16742.patch Wed Jan 22 01:46:00 2014 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,625 +0,0 @@ -Index: net-snmp/agent/mibgroup/kernel_sunos5.c -=================================================================== ---- net-snmp/agent/mibgroup/kernel_sunos5.c (revision 16741) -+++ net-snmp/agent/mibgroup/kernel_sunos5.c (revision 16742) -@@ -173,12 +173,14 @@ - int mtu); - static int get_if_stats(mib2_ifEntry_t *ifp); - -+#if defined(HAVE_IF_NAMEINDEX) && defined(NETSNMP_INCLUDE_IFTABLE_REWRITES) - static int _dlpi_open(const char *devname); - static int _dlpi_get_phys_address(int fd, char *paddr, int maxlen, - int *paddrlen); - static int _dlpi_get_iftype(int fd, unsigned int *iftype); - static int _dlpi_attach(int fd, int ppa); - static int _dlpi_parse_devname(char *devname, int *ppap); -+#endif - - - -@@ -1044,8 +1046,300 @@ - * Get info for interfaces group. Mimics getmib interface as much as possible - * to be substituted later if SunSoft decides to extend its mib2 interface. - */ -+ - #if defined(HAVE_IF_NAMEINDEX) && defined(NETSNMP_INCLUDE_IFTABLE_REWRITES) -+ -+/* -+ * If IFTABLE_REWRITES is enabled, then we will also rely on DLPI to obtain -+ * information from the NIC. -+ */ -+ -+/* -+ * Open a DLPI device. -+ * -+ * On success the file descriptor is returned. -+ * On error -1 is returned. -+ */ - static int -+_dlpi_open(const char *devname) -+{ -+ char *devstr; -+ int fd = -1; -+ int ppa = -1; -+ -+ DEBUGMSGTL(("kernel_sunos5", "_dlpi_open called\n")); -+ -+ if (devname == NULL) -+ return (-1); -+ -+ if ((devstr = malloc(5 + strlen(devname) + 1)) == NULL) -+ return (-1); -+ (void) sprintf(devstr, "/dev/%s", devname); -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "devstr(%s)\n", devstr)); -+ /* -+ * First try opening the device using style 1, if the device does not -+ * exist we try style 2. Modules will not be pushed, so something like -+ * ip tunnels will not work. -+ */ -+ -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open(%s)\n", devstr)); -+ if ((fd = open(devstr, O_RDWR | O_NONBLOCK)) < 0) { -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open failed\n")); -+ if (_dlpi_parse_devname(devstr, &ppa) == 0) { -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 parse: %s, %d\n", -+ devstr, ppa)); -+ /* try style 2 */ -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 open(%s)\n", devstr)); -+ -+ if ((fd = open(devstr, O_RDWR | O_NONBLOCK)) != -1) { -+ if (_dlpi_attach(fd, ppa) == 0) { -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "attached\n")); -+ } else { -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "attached failed\n")); -+ close(fd); -+ fd = -1; -+ } -+ } else { -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 open failed\n")); -+ } -+ } -+ } else { -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open succeeded\n")); -+ } -+ -+ /* clean up */ -+ free(devstr); -+ -+ return (fd); -+} -+ -+/* -+ * Obtain the physical address of the interface using DLPI -+ */ -+static int -+_dlpi_get_phys_address(int fd, char *addr, int maxlen, int *addrlen) -+{ -+ dl_phys_addr_req_t paddr_req; -+ union DL_primitives *dlp; -+ struct strbuf ctlbuf; -+ char buf[MAX(DL_PHYS_ADDR_ACK_SIZE+64, DL_ERROR_ACK_SIZE)]; -+ int flag = 0; -+ -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "_dlpi_get_phys_address\n")); -+ -+ paddr_req.dl_primitive = DL_PHYS_ADDR_REQ; -+ paddr_req.dl_addr_type = DL_CURR_PHYS_ADDR; -+ ctlbuf.buf = (char *)&paddr_req; -+ ctlbuf.len = DL_PHYS_ADDR_REQ_SIZE; -+ if (putmsg(fd, &ctlbuf, NULL, 0) < 0) -+ return (-1); -+ -+ ctlbuf.maxlen = sizeof(buf); -+ ctlbuf.len = 0; -+ ctlbuf.buf = buf; -+ if (getmsg(fd, &ctlbuf, NULL, &flag) < 0) -+ return (-1); -+ -+ if (ctlbuf.len < sizeof(uint32_t)) -+ return (-1); -+ dlp = (union DL_primitives *)buf; -+ switch (dlp->dl_primitive) { -+ case DL_PHYS_ADDR_ACK: { -+ dl_phys_addr_ack_t *phyp = (dl_phys_addr_ack_t *)buf; -+ -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "got ACK\n")); -+ if (ctlbuf.len < DL_PHYS_ADDR_ACK_SIZE || phyp->dl_addr_length > maxlen) -+ return (-1); -+ (void) memcpy(addr, buf+phyp->dl_addr_offset, phyp->dl_addr_length); -+ *addrlen = phyp->dl_addr_length; -+ return (0); -+ } -+ case DL_ERROR_ACK: { -+ dl_error_ack_t *errp = (dl_error_ack_t *)buf; -+ -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "got ERROR ACK\n")); -+ if (ctlbuf.len < DL_ERROR_ACK_SIZE) -+ return (-1); -+ return (errp->dl_errno); -+ } -+ default: -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "got type: %x\n", dlp->dl_primitive)); -+ return (-1); -+ } -+} -+ -+/* -+ * Query the interface about it's type. -+ */ -+static int -+_dlpi_get_iftype(int fd, unsigned int *iftype) -+{ -+ dl_info_req_t info_req; -+ union DL_primitives *dlp; -+ struct strbuf ctlbuf; -+ char buf[MAX(DL_INFO_ACK_SIZE, DL_ERROR_ACK_SIZE)]; -+ int flag = 0; -+ -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "_dlpi_get_iftype\n")); -+ -+ info_req.dl_primitive = DL_INFO_REQ; -+ ctlbuf.buf = (char *)&info_req; -+ ctlbuf.len = DL_INFO_REQ_SIZE; -+ if (putmsg(fd, &ctlbuf, NULL, 0) < 0) { -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "putmsg failed: %d\nn", errno)); -+ return (-1); -+ } -+ -+ ctlbuf.maxlen = sizeof(buf); -+ ctlbuf.len = 0; -+ ctlbuf.buf = buf; -+ if (getmsg(fd, &ctlbuf, NULL, &flag) < 0) { -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "getmsg failed: %d\n", errno)); -+ return (-1); -+ } -+ -+ if (ctlbuf.len < sizeof(uint32_t)) -+ return (-1); -+ dlp = (union DL_primitives *)buf; -+ switch (dlp->dl_primitive) { -+ case DL_INFO_ACK: { -+ dl_info_ack_t *info = (dl_info_ack_t *)buf; -+ -+ if (ctlbuf.len < DL_INFO_ACK_SIZE) -+ return (-1); -+ -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "dl_mac_type: %x\n", -+ info->dl_mac_type)); -+ switch (info->dl_mac_type) { -+ case DL_CSMACD: -+ case DL_ETHER: -+ case DL_ETH_CSMA: -+ *iftype = 6; -+ break; -+ case DL_TPB: /* Token Passing Bus */ -+ *iftype = 8; -+ break; -+ case DL_TPR: /* Token Passing Ring */ -+ *iftype = 9; -+ break; -+ case DL_HDLC: -+ *iftype = 118; -+ break; -+ case DL_FDDI: -+ *iftype = 15; -+ break; -+ case DL_FC: /* Fibre channel */ -+ *iftype = 56; -+ break; -+ case DL_ATM: -+ *iftype = 37; -+ break; -+ case DL_X25: -+ case DL_ISDN: -+ *iftype = 63; -+ break; -+ case DL_HIPPI: -+ *iftype = 47; -+ break; -+#ifdef DL_IB -+ case DL_IB: -+ *iftype = 199; -+ break; -+#endif -+ case DL_FRAME: /* Frame Relay */ -+ *iftype = 32; -+ break; -+ case DL_LOOP: -+ *iftype = 24; -+ break; -+#ifdef DL_WIFI -+ case DL_WIFI: -+ *iftype = 71; -+ break; -+#endif -+#ifdef DL_IPV4 /* then IPv6 is also defined */ -+ case DL_IPV4: /* IPv4 Tunnel */ -+ case DL_IPV6: /* IPv6 Tunnel */ -+ *iftype = 131; -+ break; -+#endif -+ default: -+ *iftype = 1; /* Other */ -+ break; -+ } -+ -+ return (0); -+ } -+ case DL_ERROR_ACK: { -+ dl_error_ack_t *errp = (dl_error_ack_t *)buf; -+ -+ DEBUGMSGTL(("kernel_sunos5:dlpi", -+ "got DL_ERROR_ACK: dlpi %d, error %d\n", errp->dl_errno, -+ errp->dl_unix_errno)); -+ -+ if (ctlbuf.len < DL_ERROR_ACK_SIZE) -+ return (-1); -+ return (errp->dl_errno); -+ } -+ default: -+ DEBUGMSGTL(("kernel_sunos5:dlpi", "got type %x\n", dlp->dl_primitive)); -+ return (-1); -+ } -+} -+ -+static int -+_dlpi_attach(int fd, int ppa) -+{ -+ dl_attach_req_t attach_req; -+ struct strbuf ctlbuf; -+ union DL_primitives *dlp; -+ char buf[MAX(DL_OK_ACK_SIZE, DL_ERROR_ACK_SIZE)]; -+ int flag = 0; -+ -+ attach_req.dl_primitive = DL_ATTACH_REQ; -+ attach_req.dl_ppa = ppa; -+ ctlbuf.buf = (char *)&attach_req; -+ ctlbuf.len = DL_ATTACH_REQ_SIZE; -+ if (putmsg(fd, &ctlbuf, NULL, 0) != 0) -+ return (-1); -+ -+ ctlbuf.buf = buf; -+ ctlbuf.len = 0; -+ ctlbuf.maxlen = sizeof(buf); -+ if (getmsg(fd, &ctlbuf, NULL, &flag) != 0) -+ return (-1); -+ -+ if (ctlbuf.len < sizeof(uint32_t)) -+ return (-1); -+ -+ dlp = (union DL_primitives *)buf; -+ if (dlp->dl_primitive == DL_OK_ACK && ctlbuf.len >= DL_OK_ACK_SIZE) -+ return (0); -+ return (-1); -+} -+ -+static int -+_dlpi_parse_devname(char *devname, int *ppap) -+{ -+ int ppa = 0; -+ int m = 1; -+ int i = strlen(devname) - 1; -+ -+ while (i >= 0 && isdigit(devname[i])) { -+ ppa += m * (devname[i] - '0'); -+ m *= 10; -+ i--; -+ } -+ -+ if (m == 1) { -+ return (-1); -+ } -+ *ppap = ppa; -+ devname[i + 1] = '\0'; -+ -+ return (0); -+} -+static int - getif(mib2_ifEntry_t *ifbuf, size_t size, req_e req_type, - mib2_ifEntry_t *resp, size_t *length, int (*comp)(void *, void *), - void *arg) -@@ -1229,7 +1523,8 @@ - - if (ioctl(ifsd, SIOCGIFFLAGS, ifrp) < 0) { - ret = -1; -- snmp_log(LOG_ERR, "SIOCGIFFLAGS %s: %s\n", ifrp->ifr_name, strerror(errno)); -+ snmp_log(LOG_ERR, "SIOCGIFFLAGS %s: %s\n", ifrp->ifr_name, -+ strerror(errno)); - goto Return; - } - if_flags = ifrp->ifr_flags; -@@ -1522,294 +1817,7 @@ - ifp->ifHCOutMulticastPkts); - return(0); - } -- - /* -- * Open a DLPI device. -- * -- * On success the file descriptor is returned. -- * On error -1 is returned. -- */ --static int --_dlpi_open(const char *devname) --{ -- char *devstr; -- int fd = -1; -- int ppa = -1; -- -- DEBUGMSGTL(("kernel_sunos5", "_dlpi_open called\n")); -- -- if (devname == NULL) -- return (-1); -- -- if ((devstr = malloc(5 + strlen(devname) + 1)) == NULL) -- return (-1); -- (void) sprintf(devstr, "/dev/%s", devname); -- DEBUGMSGTL(("kernel_sunos5:dlpi", "devstr(%s)\n", devstr)); -- /* -- * First try opening the device using style 1, if the device does not -- * exist we try style 2. Modules will not be pushed, so something like -- * ip tunnels will not work. -- */ -- -- DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open(%s)\n", devstr)); -- if ((fd = open(devstr, O_RDWR | O_NONBLOCK)) < 0) { -- DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open failed\n")); -- if (_dlpi_parse_devname(devstr, &ppa) == 0) { -- DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 parse: %s, %d\n", -- devstr, ppa)); -- /* try style 2 */ -- DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 open(%s)\n", devstr)); -- -- if ((fd = open(devstr, O_RDWR | O_NONBLOCK)) != -1) { -- if (_dlpi_attach(fd, ppa) == 0) { -- DEBUGMSGTL(("kernel_sunos5:dlpi", "attached\n")); -- } else { -- DEBUGMSGTL(("kernel_sunos5:dlpi", "attached failed\n")); -- close(fd); -- fd = -1; -- } -- } else { -- DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 open failed\n")); -- } -- } -- } else { -- DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open succeeded\n")); -- } -- -- /* clean up */ -- free(devstr); -- -- return (fd); --} -- --/* -- * Obtain the physical address of the interface using DLPI -- */ --static int --_dlpi_get_phys_address(int fd, char *addr, int maxlen, int *addrlen) --{ -- dl_phys_addr_req_t paddr_req; -- union DL_primitives *dlp; -- struct strbuf ctlbuf; -- char buf[MAX(DL_PHYS_ADDR_ACK_SIZE+64, DL_ERROR_ACK_SIZE)]; -- int flag = 0; -- -- DEBUGMSGTL(("kernel_sunos5:dlpi", "_dlpi_get_phys_address\n")); -- -- paddr_req.dl_primitive = DL_PHYS_ADDR_REQ; -- paddr_req.dl_addr_type = DL_CURR_PHYS_ADDR; -- ctlbuf.buf = (char *)&paddr_req; -- ctlbuf.len = DL_PHYS_ADDR_REQ_SIZE; -- if (putmsg(fd, &ctlbuf, NULL, 0) < 0) -- return (-1); -- -- ctlbuf.maxlen = sizeof(buf); -- ctlbuf.len = 0; -- ctlbuf.buf = buf; -- if (getmsg(fd, &ctlbuf, NULL, &flag) < 0) -- return (-1); -- -- if (ctlbuf.len < sizeof(uint32_t)) -- return (-1); -- dlp = (union DL_primitives *)buf; -- switch (dlp->dl_primitive) { -- case DL_PHYS_ADDR_ACK: { -- dl_phys_addr_ack_t *phyp = (dl_phys_addr_ack_t *)buf; -- -- DEBUGMSGTL(("kernel_sunos5:dlpi", "got ACK\n")); -- if (ctlbuf.len < DL_PHYS_ADDR_ACK_SIZE || phyp->dl_addr_length > maxlen) -- return (-1); -- (void) memcpy(addr, buf+phyp->dl_addr_offset, phyp->dl_addr_length); -- *addrlen = phyp->dl_addr_length; -- return (0); -- } -- case DL_ERROR_ACK: { -- dl_error_ack_t *errp = (dl_error_ack_t *)buf; -- -- DEBUGMSGTL(("kernel_sunos5:dlpi", "got ERROR ACK\n")); -- if (ctlbuf.len < DL_ERROR_ACK_SIZE) -- return (-1); -- return (errp->dl_errno); -- } -- default: -- DEBUGMSGTL(("kernel_sunos5:dlpi", "got type: %x\n", dlp->dl_primitive)); -- return (-1); -- } --} -- --/* -- * Query the interface about it's type. -- */ --static int --_dlpi_get_iftype(int fd, unsigned int *iftype) --{ -- dl_info_req_t info_req; -- union DL_primitives *dlp; -- struct strbuf ctlbuf; -- char buf[MAX(DL_INFO_ACK_SIZE, DL_ERROR_ACK_SIZE)]; -- int flag = 0; -- -- DEBUGMSGTL(("kernel_sunos5:dlpi", "_dlpi_get_iftype\n")); -- -- info_req.dl_primitive = DL_INFO_REQ; -- ctlbuf.buf = (char *)&info_req; -- ctlbuf.len = DL_INFO_REQ_SIZE; -- if (putmsg(fd, &ctlbuf, NULL, 0) < 0) { -- DEBUGMSGTL(("kernel_sunos5:dlpi", "putmsg failed: %d\nn", errno)); -- return (-1); -- } -- -- ctlbuf.maxlen = sizeof(buf); -- ctlbuf.len = 0; -- ctlbuf.buf = buf; -- if (getmsg(fd, &ctlbuf, NULL, &flag) < 0) { -- DEBUGMSGTL(("kernel_sunos5:dlpi", "getmsg failed: %d\n", errno)); -- return (-1); -- } -- -- if (ctlbuf.len < sizeof(uint32_t)) -- return (-1); -- dlp = (union DL_primitives *)buf; -- switch (dlp->dl_primitive) { -- case DL_INFO_ACK: { -- dl_info_ack_t *info = (dl_info_ack_t *)buf; -- -- if (ctlbuf.len < DL_INFO_ACK_SIZE) -- return (-1); -- -- DEBUGMSGTL(("kernel_sunos5:dlpi", "dl_mac_type: %x\n", -- info->dl_mac_type)); -- switch (info->dl_mac_type) { -- case DL_CSMACD: -- case DL_ETHER: -- case DL_ETH_CSMA: -- *iftype = 6; -- break; -- case DL_TPB: /* Token Passing Bus */ -- *iftype = 8; -- break; -- case DL_TPR: /* Token Passing Ring */ -- *iftype = 9; -- break; -- case DL_HDLC: -- *iftype = 118; -- break; -- case DL_FDDI: -- *iftype = 15; -- break; -- case DL_FC: /* Fibre channel */ -- *iftype = 56; -- break; -- case DL_ATM: -- *iftype = 37; -- break; -- case DL_X25: -- case DL_ISDN: -- *iftype = 63; -- break; -- case DL_HIPPI: -- *iftype = 47; -- break; --#ifdef DL_IB -- case DL_IB: -- *iftype = 199; -- break; --#endif -- case DL_FRAME: /* Frame Relay */ -- *iftype = 32; -- break; -- case DL_LOOP: -- *iftype = 24; -- break; --#ifdef DL_WIFI -- case DL_WIFI: -- *iftype = 71; -- break; --#endif --#ifdef DL_IPV4 /* then IPv6 is also defined */ -- case DL_IPV4: /* IPv4 Tunnel */ -- case DL_IPV6: /* IPv6 Tunnel */ -- *iftype = 131; -- break; --#endif -- default: -- *iftype = 1; /* Other */ -- break; -- } -- -- return (0); -- } -- case DL_ERROR_ACK: { -- dl_error_ack_t *errp = (dl_error_ack_t *)buf; -- -- DEBUGMSGTL(("kernel_sunos5:dlpi", -- "got DL_ERROR_ACK: dlpi %d, error %d\n", errp->dl_errno, -- errp->dl_unix_errno)); -- -- if (ctlbuf.len < DL_ERROR_ACK_SIZE) -- return (-1); -- return (errp->dl_errno); -- } -- default: -- DEBUGMSGTL(("kernel_sunos5:dlpi", "got type %x\n", dlp->dl_primitive)); -- return (-1); -- } --} -- --static int --_dlpi_attach(int fd, int ppa) --{ -- dl_attach_req_t attach_req; -- struct strbuf ctlbuf; -- union DL_primitives *dlp; -- char buf[MAX(DL_OK_ACK_SIZE, DL_ERROR_ACK_SIZE)]; -- int flag = 0; -- -- attach_req.dl_primitive = DL_ATTACH_REQ; -- attach_req.dl_ppa = ppa; -- ctlbuf.buf = (char *)&attach_req; -- ctlbuf.len = DL_ATTACH_REQ_SIZE; -- if (putmsg(fd, &ctlbuf, NULL, 0) != 0) -- return (-1); -- -- ctlbuf.buf = buf; -- ctlbuf.len = 0; -- ctlbuf.maxlen = sizeof(buf); -- if (getmsg(fd, &ctlbuf, NULL, &flag) != 0) -- return (-1); -- -- if (ctlbuf.len < sizeof(uint32_t)) -- return (-1); -- -- dlp = (union DL_primitives *)buf; -- if (dlp->dl_primitive == DL_OK_ACK && ctlbuf.len >= DL_OK_ACK_SIZE) -- return (0); -- return (-1); --} -- --static int --_dlpi_parse_devname(char *devname, int *ppap) --{ -- int ppa = 0; -- int m = 1; -- int i = strlen(devname) - 1; -- -- while (i >= 0 && isdigit(devname[i])) { -- ppa += m * (devname[i] - '0'); -- m *= 10; -- i--; -- } -- -- if (m == 1) { -- return (-1); -- } -- *ppap = ppa; -- devname[i + 1] = '\0'; -- -- return (0); --} -- --/* - * Always TRUE. May be used as a comparison function in getMibstat - * to obtain the whole table (GET_FIRST should be used) - */ diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/patches/007.16863.patch --- a/components/net-snmp/patches/007.16863.patch Wed Jan 22 01:46:00 2014 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ -Index: net-snmp/snmplib/asn1.c -=================================================================== ---- net-snmp/snmplib/asn1.c (revision 16862) -+++ net-snmp/snmplib/asn1.c (revision 16863) -@@ -2735,7 +2735,7 @@ - } - - CHECK_OVERFLOW_S(integer,10); -- testvalue = (*intp < 0) ? -1 : 0; -+ testvalue = (integer < 0) ? -1 : 0; - - if (((*pkt_len - *offset) < 1) && !(r && asn_realloc(pkt, pkt_len))) { - return 0; diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/patches/009.ltmain.sh.patch --- a/components/net-snmp/patches/009.ltmain.sh.patch Wed Jan 22 01:46:00 2014 -0800 +++ b/components/net-snmp/patches/009.ltmain.sh.patch Wed Jan 22 01:46:00 2014 -0800 @@ -1,31 +1,28 @@ ---- net-snmp-5.4.2.1/ltmain.sh Fri Jun 6 02:34:34 2008 -+++ net-snmp-5.4.2.1/ltmain.mod.sh Tue Feb 3 11:02:05 2009 -@@ -1425,7 +1425,9 @@ +# +# The Net-SNMP libraries are built without -zdefs and are missing a large +# number of dependency specifications (DT_NEEDED). This makes it +# impossible to build plugin modules against these libraries using +# -zdefs, which should work. One such example is FMA in ON gate. +# +--- net-snmp-5.7.2/ltmain.sh Sun Dec 30 23:42:05 2012 ++++ net-snmp-5.7.2/ltmain.sh Sun Dec 30 23:49:01 2012 +@@ -5406,7 +5406,9 @@ if test "$prev" = rpath; then case "$rpath " in *" $arg "*) ;; -- *) rpath="$rpath $arg" ;; -+ *) rpath="$rpath $arg" -+ # This is make sure only $libdir path is encoded in RUNPATH -+ sma_rpath="$rpath" ;; +- *) func_append rpath " $arg" ;; ++ *) func_append rpath " $arg" ++ # This is make sure only $libdir path is encoded in RUNPATH ++ sma_rpath="$rpath" ;; esac else case "$xrpath " in -@@ -3915,7 +3917,7 @@ - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= -- dep_rpath= -+ dep_rpath="-R $sma_rpath" - rpath="$finalize_rpath" - test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do -@@ -3935,7 +3937,7 @@ +@@ -8046,7 +8048,7 @@ fi else eval flag=\"$hardcode_libdir_flag_spec\" -- dep_rpath="$dep_rpath $flag" -+ #dep_rpath="$dep_rpath $flag" +- func_append dep_rpath " $flag" ++#func_append dep_rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/patches/011.Makefile.in.patch --- a/components/net-snmp/patches/011.Makefile.in.patch Wed Jan 22 01:46:00 2014 -0800 +++ b/components/net-snmp/patches/011.Makefile.in.patch Wed Jan 22 01:46:00 2014 -0800 @@ -1,38 +1,42 @@ -Only in net-snmp-5.4.1.mod: .patches.011.Makefile.in.patch -diff -ru net-snmp-5.4.1/agent/Makefile.in net-snmp-5.4.1.mod/agent/Makefile.in ---- net-snmp-5.4.1/agent/Makefile.in 2007-07-05 04:56:56.000000000 +0530 -+++ net-snmp-5.4.1.mod/agent/Makefile.in 2009-06-24 06:08:28.858891018 +0530 -@@ -120,8 +120,11 @@ - OBJS = $(LIBAGENTOBJS) $(AGENTOBJS) mib_modules.o auto_nlist.o +# +# The Net-SNMP libraries are built without -zdefs and are missing a large +# number of dependency specifications (DT_NEEDED). This makes it +# impossible to build plugin modules against these libraries using +# -zdefs, which should work. One such example is FMA in ON gate. +# +--- net-snmp-5.7.2/agent/Makefile.in Tue Oct 9 15:28:58 2012 ++++ net-snmp-5.7.2/agent/Makefile.in Sun Dec 30 23:58:44 2012 +@@ -274,9 +274,13 @@ LOBJS = $(LLIBAGENTOBJS) $(LAGENTOBJS) mib_modules.lo auto_nlist.lo + FTOBJS = $(LLIBAGENTFTS) $(FTAGENTOBJS) mib_modules.ft auto_nlist.ft -+LIB_LD_ADD_AGENT =-lnetsnmp -lnetsnmphelpers -+ -+LIB_LD_ADD_PATH_MIBS =-Lhelpers -L../snmplib ++LIB_LD_ADD_AGENT =-lnetsnmp -lnetsnmphelpers ++ ++LIB_LD_ADD_PATH_MIBS =-Lhelpers -L../snmplib ++ + FEATUREFILE = $(top_builddir)/include/net-snmp/agent/features.h -all: agentlib subdirs miblib $(INSTALLBINPROGS) $(INSTALLSBINPROGS) +all: agentlib subdirs miblib relinklib $(INSTALLBINPROGS) $(INSTALLSBINPROGS) # # build stuff targets -@@ -152,6 +155,10 @@ +@@ -306,6 +310,10 @@ agentlib: $(AGENTLIB) -+relinklib: ${LLIBAGENTOBJS} $(USELIBS) ++relinklib: ${LLIBAGENTOBJS} $(USELIBS) + $(LIB_LD_CMD) $(AGENTLIB) $(LIB_LD_ADD_PATH_MIBS) ${LLIBAGENTOBJS} $(USELIBS) ${LAGENTLIBS} $(LDFLAGS) $(PERLLDOPTS_FOR_LIBS) $(LIB_LD_LIBS) $(LIB_LD_ADD_AGENT) + $(RANLIB) $(AGENTLIB) $(LIB_LD_ADD_AGENT) + miblib: $(MIBLIB) - libs: $(INSTALLLIBS) -Only in net-snmp-5.4.1.mod/agent: Makefile.in~ -diff -ru net-snmp-5.4.1/agent/helpers/Makefile.in net-snmp-5.4.1.mod/agent/helpers/Makefile.in ---- net-snmp-5.4.1/agent/helpers/Makefile.in 2007-06-27 03:15:20.000000000 +0530 -+++ net-snmp-5.4.1.mod/agent/helpers/Makefile.in 2009-06-24 06:01:35.912702710 +0530 -@@ -137,8 +137,11 @@ - table_tdata.lo \ - watcher.lo + libs: $(AGENTLIB) $(MIBLIB) +--- net-snmp-5.7.2/agent/helpers/Makefile.in Sun Dec 30 22:37:05 2012 ++++ net-snmp-5.7.2/agent/helpers/Makefile.in Mon Dec 31 00:02:37 2012 +@@ -31,8 +31,11 @@ + + LOBJS = dummy.lo +LIB_LD_ADD =-lnetsnmp +LIB_LD_ADD_PATH =-L../../snmplib @@ -40,31 +44,30 @@ all: standardall libnetsnmphelpers.$(LIB_EXTENSION)$(LIB_VERSION): $(LOBJS) -- $(LIB_LD_CMD) $@ $(LOBJS) $(AGENTLIB) $(NETSNMPLIB) $(LDFLAGS) $(LIB_LD_LIBS) +- $(LIB_LD_CMD) $@ $(LOBJS) @LD_NO_UNDEFINED@ $(LDFLAGS) $(LIB_LD_LIBS) - $(RANLIB) $@ -+ $(LIB_LD_CMD) $@ $(LIB_LD_ADD_PATH) $(LOBJS) $(AGENTLIB) $(NETSNMPLIB) $(LDFLAGS) $(LIB_LD_LIBS) $(LIB_LD_ADD) ++ $(LIB_LD_CMD) $@ $(LIB_LD_ADD_PATH) $(LOBJS) @LD_NO_UNDEFINED@ $(LDFLAGS) $(LIB_LD_LIBS) $(LIB_LD_ADD) + $(RANLIB) $@ $(LIB_LD_ADD) -diff -ru net-snmp-5.4.1/snmplib/Makefile.in net-snmp-5.4.1.mod/snmplib/Makefile.in ---- net-snmp-5.4.1/snmplib/Makefile.in 2007-06-19 03:04:43.000000000 +0530 -+++ net-snmp-5.4.1.mod/snmplib/Makefile.in 2009-06-24 06:01:35.912972597 +0530 -@@ -181,6 +181,9 @@ +--- net-snmp-5.7.2/snmplib/Makefile.in Sun Dec 30 22:37:08 2012 ++++ net-snmp-5.7.2/agent/helpers/Makefile.in Mon Dec 31 00:06:01 2012 +@@ -221,6 +221,9 @@ # just in case someone wants to remove libtool, change this to OBJS. TOBJS=$(LOBJS) +# To satisfy -zdefs -+LIB_LD_ADD =-lnsl -lsocket -L$(libdir) ++LIB_LD_ADD =-lnsl -lsocket -L$(libdir) + + FEATUREFILE = $(top_builddir)/include/net-snmp/library/features.h + # - CPPFLAGS = $(TOP_INCLUDES) -I. $(SNMPLIB_INCLUDES) @CPPFLAGS@ - -@@ -188,8 +191,8 @@ +@@ -230,8 +233,8 @@ # how to build the libraries. libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION): $(TOBJS) -- $(LIB_LD_CMD) $@ $(TOBJS) $(LDFLAGS) @LNETSNMPLIBS@ +- $(LIB_LD_CMD) $@ $(TOBJS) @LD_NO_UNDEFINED@ $(LDFLAGS) @LNETSNMPLIBS@ - $(RANLIB) $@ -+ $(LIB_LD_CMD) $@ $(TOBJS) $(LDFLAGS) @LNETSNMPLIBS@ } $(LIB_LD_ADD) -+ $(RANLIB) $@ $(LIB_LD_ADD) ++ $(LIB_LD_CMD) $@ $(TOBJS) @LD_NO_UNDEFINED@ $(LDFLAGS) @LNETSNMPLIBS@ } $(LIB_LD_ADD) ++ $(RANLIB) $@ $(LIB_LD_ADD) libsnmp.$(LIB_EXTENSION)$(LIB_VERSION): $(TOBJS) - $(LIB_LD_CMD) $@ $(TOBJS) $(LDFLAGS) @LNETSNMPLIBS@ + $(LIB_LD_CMD) $@ $(TOBJS) @LD_NO_UNDEFINED@ $(LDFLAGS) @LNETSNMPLIBS@ diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/patches/013.6852099.proxy.patch --- a/components/net-snmp/patches/013.6852099.proxy.patch Wed Jan 22 01:46:00 2014 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ ---- a/agent/mibgroup/ucd-snmp/proxy.c 2006-10-17 18:16:29.000000000 +0200 -+++ b/agent/mibgroup/ucd-snmp/proxy.c 2012-03-27 09:02:10.488425400 +0200 -@@ -396,6 +396,8 @@ - - if (!pdu || !sp) { - netsnmp_set_request_error(reqinfo, requests, SNMP_ERR_GENERR); -+ if (pdu) -+ snmp_free_pdu(pdu); - return SNMP_ERR_NOERROR; - } - -@@ -408,6 +410,8 @@ - /* - * too large - */ -+ if (pdu) -+ snmp_free_pdu(pdu); - snmp_log(LOG_ERR, - "proxy oid request length is too long\n"); - return SNMP_ERR_NOERROR; -@@ -437,6 +441,8 @@ - */ - if (!proxy_fill_in_session(handler, reqinfo, (void **)&configured)) { - netsnmp_set_request_error(reqinfo, requests, SNMP_ERR_GENERR); -+ if (pdu) -+ snmp_free_pdu(pdu); - return SNMP_ERR_NOERROR; - } - diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/patches/017.6984919.kernel_sunos5.patch --- a/components/net-snmp/patches/017.6984919.kernel_sunos5.patch Wed Jan 22 01:46:00 2014 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ ---- patch/net-snmp-5.4.1/agent/mibgroup/kernel_sunos5.c Tue Oct 12 06:55:48 2010 -+++ net-snmp-5.4.1/agent/mibgroup/kernel_sunos5.c Tue Oct 12 07:03:49 2010 -@@ -82,7 +82,7 @@ - static - mibcache Mibcache[MIBCACHE_SIZE+1] = { - {MIB_SYSTEM, 0, (void *) -1, 0, 0, 0, 0}, -- {MIB_INTERFACES, 10 * sizeof(mib2_ifEntry_t), (void *) -1, 0, 30, 0, -+ {MIB_INTERFACES, 50 * sizeof(mib2_ifEntry_t), (void *) -1, 0, 30, 0, - 0}, - {MIB_AT, 0, (void *) -1, 0, 0, 0, 0}, - {MIB_IP, sizeof(mib2_ip_t), (void *) -1, 0, 60, 0, 0}, diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/patches/018.6932608.systemstats_common.patch --- a/components/net-snmp/patches/018.6932608.systemstats_common.patch Wed Jan 22 01:46:00 2014 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ ---- patch/net-snmp-5.4.1-64/agent/mibgroup/ip-mib/data_access/systemstats_common.c Tue Feb 8 13:58:36 2005 -+++ net-snmp-5.4.1/agent/mibgroup/ip-mib/data_access/systemstats_common.c Mon Aug 2 05:21:15 2010 -@@ -339,7 +339,7 @@ - */ - if (0 == need_wrap_check) { - SNMP_FREE(prev_vals->old_stats); -- } -+ } else { - - /* - * update old stats from new stats. -@@ -346,6 +346,7 @@ - * careful - old_stats is a pointer to stats... - */ - memcpy(prev_vals->old_stats, &new_vals->stats, sizeof(new_vals->stats)); -+ } - - return 0; - } diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/patches/019.6998845.container.patch --- a/components/net-snmp/patches/019.6998845.container.patch Wed Jan 22 01:46:00 2014 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,314 +0,0 @@ ---- net-snmp/include/net-snmp/library/container.h Mon Dec 5 00:13:04 2005 -+++ net-snmp/include/net-snmp/library/container.h Fri Jan 14 17:35:37 2011 -@@ -31,8 +31,16 @@ - struct netsnmp_container_s; /** forward declare */ - - /* -- * function returning an int for an operation on a container -+ * function for performing an operation on a container which -+ * returns (maybe the same) container. - */ -+ -+ typedef struct netsnmp_container_s* (netsnmp_container_mod_op) -+ (struct netsnmp_container_s *, void *context, u_int flags); -+ -+ /* -+ * function for setting an option on a container -+ */ - typedef int (netsnmp_container_option)(struct netsnmp_container_s *, - int set, u_int flags); - -@@ -192,6 +200,14 @@ - netsnmp_container_op *insert_filter; - - /* -+ * OPTIONAL function to duplicate a container. Defaults to a shallow -+ * copy. Only the specified container is copied (i.e. sub-containers -+ * not included). -+ */ -+ -+ netsnmp_container_mod_op *duplicate; -+ -+ /* - * function to compare two object stored in the container. - * - * Returns: -@@ -219,11 +235,16 @@ - - /* - * sort count, for iterators to track (insert/delete -- * bumps coutner, invalidates iterator -+ * bumps counter, invalidates iterator) - */ - u_long sync; - - /* -+ * flags -+ */ -+ u_int flags; -+ -+ /* - * containers can contain other containers (additional indexes) - */ - struct netsnmp_container_s *next, *prev; -@@ -288,15 +309,15 @@ - #define CONTAINER_SET_OPTIONS(x,o,rc) do { \ - if (NULL==(x)->options) \ - rc = -1; \ -- else \ -+ else { \ - rc = (x)->options(x, 1, o); \ -+ if (rc != -1 ) \ -+ (x)->flags |= o; \ -+ } \ - } while(0) - - #define CONTAINER_CHECK_OPTION(x,o,rc) do { \ -- if (NULL==(x)->options) \ -- rc = -1; \ -- else \ -- rc = (x)->options(x,0, o); \ -+ rc = x->flags & 0; \ - } while(0) - - -@@ -335,6 +356,12 @@ - int CONTAINER_REMOVE(netsnmp_container *x, const void *k); - - /* -+ * duplicate container -+ */ -+ netsnmp_container *CONTAINER_DUP(netsnmp_container *x, void *ctx, -+ u_int flags); -+ -+ /* - * clear all containers. When clearing the *first* container, and - * *only* the first container, call the function f for each item. - * After calling this function, all containers should be empty. -@@ -364,7 +391,7 @@ - continue; - rc2 = x->insert(x,k); - if (rc2) { -- snmp_log(LOG_ERR,"error on subcontainer '%s' insert (%d)\n", -+ snmp_log(LOG_DEBUG,"error on subcontainer '%s' insert (%d)\n", - x->container_name ? x->container_name : "", rc2); - rc = rc2; - } -@@ -402,6 +429,22 @@ - * container.c. If you change one, change them both. - */ - NETSNMP_STATIC_INLINE /* gcc docs recommend static w/inline */ -+ netsnmp_container *CONTAINER_DUP(netsnmp_container *x, void *ctx, -+ u_int flags) -+ { -+ if (NULL == x->duplicate) { -+ snmp_log(LOG_ERR, "container '%s' does not support duplicate\n", -+ x->container_name ? x->container_name : ""); -+ return NULL; -+ } -+ return x->duplicate(x, ctx, flags); -+ } -+ -+ /*------------------------------------------------------------------ -+ * These functions should EXACTLY match the function version in -+ * container.c. If you change one, change them both. -+ */ -+ NETSNMP_STATIC_INLINE /* gcc docs recommend static w/inline */ - int CONTAINER_FREE(netsnmp_container *x) - { - int rc2, rc = 0; -@@ -474,6 +517,10 @@ - } - - #endif -+ -+ /** Duplicate container meta-data. */ -+ int netsnmp_container_data_dup(netsnmp_container *dup, -+ netsnmp_container *c); - - /************************************************************************* - * ---- net-snmp/snmplib/container_binary_array.c Wed Aug 23 21:23:22 2006 -+++ net-snmp/snmplib/container_binary_array.c Fri Jan 14 17:35:37 2011 -@@ -36,7 +36,6 @@ - typedef struct binary_array_table_s { - size_t max_size; /* Size of the current data table */ - size_t count; /* Index of the next free entry */ -- u_int flags; /* flags */ - int dirty; - int data_size; /* Size of an individual entry */ - void **data; /* The table itself */ -@@ -99,7 +98,7 @@ - netsnmp_assert(t!=NULL); - netsnmp_assert(c->compare!=NULL); - -- if (t->flags & CONTAINER_KEY_UNSORTED) -+ if (c->flags & CONTAINER_KEY_UNSORTED) - return 0; - - if (t->dirty) { -@@ -204,11 +203,16 @@ - int - netsnmp_binary_array_options_set(netsnmp_container *c, int set, u_int flags) - { -- binary_array_table *t = (binary_array_table*)c->container_data; -- if (set) -- t->flags = flags; -+#define BA_FLAGS (CONTAINER_KEY_ALLOW_DUPLICATES|CONTAINER_KEY_UNSORTED) -+ -+ if (set) { -+ if ((flags & BA_FLAGS) == flags) -+ c->flags = flags; -+ else -+ flags = (u_int)-1; /* unsupported flag */ -+ } - else -- return ((t->flags & flags) == flags); -+ return ((c->flags & flags) == flags); - return flags; - } - -@@ -371,7 +375,7 @@ - /* - * check for duplicates - */ -- if (! (t->flags & CONTAINER_KEY_ALLOW_DUPLICATES)) { -+ if (! (c->flags & CONTAINER_KEY_ALLOW_DUPLICATES)) { - new_data = netsnmp_binary_array_get(c, entry, 1); - if (NULL != new_data) { - DEBUGMSGTL(("container","not inserting duplicate key\n")); -@@ -579,6 +583,56 @@ - return va; - } - -+static netsnmp_container * -+_ba_duplicate(netsnmp_container *c, void *ctx, u_int flags) -+{ -+ netsnmp_container *dup; -+ binary_array_table *dupt, *t; -+ -+ if (flags) { -+ snmp_log(LOG_ERR, "binary arry duplicate does not supprt flags yet\n"); -+ return NULL; -+ } -+ -+ dup = netsnmp_container_get_binary_array(); -+ if (NULL == dup) { -+ snmp_log(LOG_ERR," no memory for binary array duplicate\n"); -+ return NULL; -+ } -+ /* -+ * deal with container stuff -+ */ -+ if (netsnmp_container_data_dup(dup, c) != 0) { -+ netsnmp_binary_array_release(dup); -+ return NULL; -+ } -+ -+ /* -+ * deal with data -+ */ -+ dupt = (binary_array_table*)dup->container_data; -+ t = (binary_array_table*)c->container_data; -+ -+ dupt->max_size = t->max_size; -+ dupt->count = t->count; -+ dupt->dirty = t->dirty; -+ dupt->data_size = t->data_size; -+ -+ /* -+ * shallow copy -+ */ -+ dupt->data = (void**) calloc(dupt->max_size, dupt->data_size); -+ if (NULL == dupt->data) { -+ snmp_log(LOG_ERR, "no memory for binary array duplicate\n"); -+ netsnmp_binary_array_release(dup); -+ return NULL; -+ } -+ -+ memcpy(dupt->data, t->data, dupt->max_size * dupt->data_size); -+ -+ return dup; -+} -+ - netsnmp_container * - netsnmp_container_get_binary_array(void) - { -@@ -592,7 +646,11 @@ - } - - c->container_data = netsnmp_binary_array_initialize(); -- -+ -+ /* -+ * NOTE: CHANGES HERE MUST BE DUPLICATED IN duplicate AS WELL!! -+ */ -+ - c->get_size = _ba_size; - c->init = NULL; - c->cfree = _ba_free; -@@ -604,6 +662,7 @@ - c->get_iterator = _ba_iterator_get; - c->for_each = _ba_for_each; - c->clear = _ba_clear; -+ c->duplicate = _ba_duplicate; - - return c; - } ---- net-snmp/snmplib/container.c Fri Aug 25 15:11:06 2006 -+++ net-snmp/snmplib/container.c Fri Jan 14 17:35:37 2011 -@@ -278,7 +278,7 @@ - continue; - rc2 = x->insert(x,k); - if (rc2) { -- snmp_log(LOG_ERR,"error on subcontainer '%s' insert (%d)\n", -+ snmp_log(LOG_DEBUG,"error on subcontainer '%s' insert (%d)\n", - x->container_name ? x->container_name : "", rc2); - rc = rc2; - } -@@ -311,6 +311,20 @@ - } - - /*------------------------------------------------------------------ -+ * These functions should EXACTLY match the function version in -+ * container.c. If you change one, change them both. -+ */ -+netsnmp_container *CONTAINER_DUP(netsnmp_container *x, void *ctx, u_int flags) -+{ -+ if (NULL == x->duplicate) { -+ snmp_log(LOG_ERR, "container '%s' does not support duplicate\n", -+ x->container_name ? x->container_name : ""); -+ return NULL; -+ } -+ return x->duplicate(x, ctx, flags); -+} -+ -+/*------------------------------------------------------------------ - * These functions should EXACTLY match the inline version in - * container.h. If you change one, change them both. - */ -@@ -408,6 +422,24 @@ - c->find = fnd; - } - -+int -+netsnmp_container_data_dup(netsnmp_container *dup, netsnmp_container *c) -+{ -+ if (!dup || !c) -+ return -1; -+ -+ if (c->container_name) -+ dup->container_name = strdup(c->container_name); -+ dup->compare = c->compare; -+ dup->ncompare = c->ncompare; -+ dup->release = c->release; -+ dup->insert_filter = c->insert_filter; -+ dup->sync = c->sync; -+ dup->flags = c->flags; -+ -+ return 0; -+} -+ - /*------------------------------------------------------------------ - * - * simple comparison routines diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/patches/021.7046749.snmp_api.patch --- a/components/net-snmp/patches/021.7046749.snmp_api.patch Wed Jan 22 01:46:00 2014 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ ---- net-snmp/snmplib/snmp_api.c Fri Nov 11 12:36:16 2011 -+++ net-snmp/snmplib/snmp_api.c Fri Nov 11 12:35:36 2011 -@@ -419,7 +419,7 @@ - if (netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_16BIT_IDS)) - return (retVal & 0x7fff); /* mask to 15 bits */ - else -- return retVal; -+ return (retVal & 0x7fffffff); /* mask to 31 bits */ - } - - long -@@ -435,7 +435,7 @@ - if (netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_16BIT_IDS)) - return (retVal & 0x7fff); /* mask to 15 bits */ - else -- return retVal; -+ return (retVal & 0x7fffffff); /* mask to 31 bits */ - } - - long -@@ -451,7 +451,7 @@ - if (netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_16BIT_IDS)) - return (retVal & 0x7fff); /* mask to 15 bits */ - else -- return retVal; -+ return (retVal & 0x7fffffff); /* mask to 31 bits */ - } - - long -@@ -467,7 +467,7 @@ - if (netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_16BIT_IDS)) - return (retVal & 0x7fff); /* mask to 15 bits */ - else -- return retVal; -+ return (retVal & 0x7fffffff); /* mask to 31 bits */ - } - - void diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/patches/025.7162956.util_funcs.patch --- a/components/net-snmp/patches/025.7162956.util_funcs.patch Wed Jan 22 01:46:00 2014 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ ---- a/agent/mibgroup/util_funcs.c 2007-01-11 23:13:56.000000000 +0100 -+++ b/agent/mibgroup/util_funcs.c 2012-06-01 13:20:07.243670066 +0200 -@@ -254,7 +254,7 @@ - #if HAVE_EXECV - char cachefile[STRMAX]; - char cache[NETSNMP_MAXCACHESIZE]; -- ssize_t cachebytes; -+ int cachebytes; - int cfd; - #ifdef NETSNMP_EXCACHETIME - long curtime; diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/patches/026.7186501.cpu_kstat.patch --- a/components/net-snmp/patches/026.7186501.cpu_kstat.patch Wed Jan 22 01:46:00 2014 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ ---- net-snmp-5.4.1/agent/mibgroup/hardware/cpu/cpu_kstat.c Thu Oct 5 08:53:42 2006 -+++ net-snmp-5.4.1.mod/agent/mibgroup/hardware/cpu/cpu_kstat.c Thu Mar 29 07:57:19 2012 -@@ -103,6 +103,8 @@ - if (strcmp(ksp->ks_module, "cpu_stat") == 0) { - i = ksp->ks_instance; - cpu2 = netsnmp_cpu_get_byIdx( i, 0 ); -+ if ( !cpu2 ) -+ break; /* or continue ?*/ /*Skip new CPUs */ - if ((ksp->ks_type != KSTAT_TYPE_RAW) || - (ksp->ks_data_size != sizeof(cs))|| - (kstat_read(kstat_fd, ksp, &cs) == -1)) { diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/patches/027.7118090.hr_filesys.patch --- a/components/net-snmp/patches/027.7118090.hr_filesys.patch Wed Jan 22 01:46:00 2014 -0800 +++ b/components/net-snmp/patches/027.7118090.hr_filesys.patch Wed Jan 22 01:46:00 2014 -0800 @@ -1,4 +1,9 @@ /* + * Version 2 - Modified the patch file to make it work for the newer + * revision in net-snmp 5.7.2. Some fragments of the patch had gone + * into the community net-snmp source. So this patch file has been + * updated with the correct diffs. + * * This patch fixes the performance issue observed while retrieving the * hrStorage parameters in systems with large number of mountpoints * parameters using snmpwalk. @@ -8,19 +13,20 @@ * Get_Next_HR_FileSys() function. * * We see that in the Get_Next_HR_FileSys() function, inorder to access - * the last mountpoint, the /etc/mnttab is opened and we walk through - * all the mnttab entries for all filesystems till the end. This is the - * reason we find a large number of the MNTIOC_GETMNTENT ioctl() calls. + * the last mountpoint, the /etc/mnttab is opened and we walk through + * all the mnttab entries for all filesystems till the end. This is the + * reason we find a large number of the MNTIOC_GETMNTENT ioctl() calls. * * To reduce the overhead of the getmntent() calls, we maintain a cache - * of all the /etc/mnttab entries and walk through the cache instead of + * of all the /etc/mnttab entries and walk through the cache instead of * opening /etc/mnttab and walking all the entries for each mountpoint. * This functionality is provided by the load_mnttab_cache_solaris() * function called from the Init_HR_FileSys() function. */ ---- net-snmp-5.4.1.orig/agent/mibgroup/host/hr_filesys.c 2007-05-18 11:08:01.000000000 -0700 -+++ net-snmp-5.4.1/agent/mibgroup/host/hr_filesys.c 2013-01-17 03:36:28.181493003 -0800 -@@ -31,6 +31,10 @@ + +--- net-snmp/agent/mibgroup/host/hr_filesys.c Sun Dec 30 22:37:05 2012 ++++ net-snmp/agent/mibgroup/host/hr_filesys.c Mon Dec 31 00:55:29 2012 +@@ -46,6 +46,10 @@ #include #endif @@ -31,7 +37,7 @@ #include #if HAVE_STRING_H #include -@@ -85,7 +89,11 @@ +@@ -108,7 +112,11 @@ #ifdef solaris2 struct mnttab HRFS_entry_struct; @@ -39,155 +45,86 @@ +struct mnttab *HRFS_entry; +struct mnttab *HRFS_list; +static int fscount; -+static time_t last_access = -1; ++static time_t last_access=-1; + #define HRFS_name mnt_special #define HRFS_mount mnt_mountp #define HRFS_type mnt_fstype -@@ -167,6 +175,9 @@ - static u_char *when_dumped(char *filesys, int level, size_t * length); - int header_hrfilesys(struct variable *, oid *, size_t *, int, - size_t *, WriteMethod **); +@@ -619,6 +627,12 @@ + void + Init_HR_FileSys(void) + { +#ifdef solaris2 -+static int load_mnttab_cache_solaris(void); ++ char buf[512]={NULL}; ++ int lines=0, i=0; ++ struct stat file_stat; +#endif - - /********************* - * -@@ -606,8 +617,14 @@ ++ + #if HAVE_GETFSSTAT + #if defined(HAVE_STATVFS) && defined(__NetBSD__) + fscount = getvfsstat(NULL, 0, ST_NOWAIT); +@@ -662,7 +676,59 @@ HRFS_index = 1; if (fp != NULL) fclose(fp); +- fp = fopen(ETC_MNTTAB, "r"); +#ifdef solaris2 -+ if(!load_mnttab_cache_solaris()) -+ return; -+#else - fp = fopen(ETC_MNTTAB, "r"); - #endif -+ -+#endif - } - - const char *HRFS_ignores[] = { -@@ -663,6 +680,117 @@ - 0 - }; - -+#ifdef solaris2 -+ -+/* -+ * This function has been introduced to reduce the overhead -+ * of the getmntent() calls used to fetch the details of -+ * the /etc/mnttab entries in Init_HR_FileSys(). -+ * -+ * We maintain a cache of all the /etc/mnttab entries and -+ * walk through the cache instead of opening /etc/mnttab and -+ * walking all the entries for each mountpoint. -+ */ ++ HRFS_index = 0; ++ stat(ETC_MNTTAB, &file_stat); ++ if (last_access == -1 || last_access != file_stat.st_mtime) { ++ fp = fopen(ETC_MNTTAB, "r"); ++ if(fp == NULL) ++ { ++ DEBUGMSGTL(("host/hr_filesys", "fopen failed for mnttab.\n")); ++ return; ++ } + -+static int -+load_mnttab_cache_solaris() -+{ -+ char buf[512] = {NULL}; -+ int i = 0; -+ struct stat file_stat; -+ const char **cpp; -+ char *ch; -+ int token_flag = 0; -+ int skip_flag = 0; -+ int ignore_flag = 0; -+ int j = 0; -+ int lines = 0; -+ int ret = 0; -+ HRFS_index = 0; -+ -+ stat(ETC_MNTTAB, &file_stat); -+ if (last_access == -1 || last_access != file_stat.st_mtime) { -+ fp = fopen(ETC_MNTTAB, "r"); -+ if(fp == NULL) -+ { -+ DEBUGMSGTL(("host/hr_filesys", "fopen failed for mnttab.\n")); -+ return -1; -+ } -+ -+ /* find the number of valid entries in mnttab. */ -+ -+ while ((fgets((char *) &buf, sizeof(buf), fp)) != NULL) { -+ j = 0; -+ skip_flag = 0; -+ token_flag = 0; ++ while ( (fgets((char *)&buf,sizeof(buf),fp)) != NULL) { ++ lines++; ++ } ++ fclose(fp); ++ ++ HRFS_list = (struct mnttab *) malloc (sizeof(struct mnttab) * lines); ++ ++ if(HRFS_list == NULL) ++ { ++ DEBUGMSGTL(("host/hr_filesys", "Memory allocation for mnttab cache failed.\n")); ++ return; ++ } + -+ /* tokenize the mnttab entries to fetch the fstype -+ * which determines the valid entries. -+ */ -+ -+ ch = strtok(buf, " \t"); -+ while (ch != NULL) { -+ j++; -+ if(j == 3) { -+ for (cpp = HRFS_ignores; *cpp != NULL; ++cpp) { -+ if(!strncmp(ch, *cpp, strlen(ch))) { -+ skip_flag = 1; -+ break; -+ } -+ } -+ token_flag = 1; ++ fp = fopen(ETC_MNTTAB, "r"); ++ ++ if(fp == NULL) ++ { ++ DEBUGMSGTL(("host/hr_filesys", "fopen failed for mnttab.\n")); ++ free(HRFS_list); ++ return; + } -+ if(token_flag) -+ break; -+ ch = strtok(NULL, " \t"); -+ } -+ if(!skip_flag) -+ lines++; -+ } -+ fclose(fp); -+ -+ fscount = lines; -+ HRFS_list = (struct mnttab *) malloc (sizeof(struct mnttab) * fscount); -+ if(HRFS_list == NULL) { -+ DEBUGMSGTL(("host/hr_filesys", "Memory allocation for mnttab cache failed.\n")); -+ return -1; -+ } + -+ fp = fopen(ETC_MNTTAB, "r"); -+ if(fp == NULL) { -+ DEBUGMSGTL(("host/hr_filesys", "fopen failed for mnttab.\n")); -+ free(HRFS_list); -+ return -1; -+ } -+ -+ while (i < fscount) { -+ if (getmntent(fp, &HRFS_entry_struct) == 0) { -+ for (cpp = HRFS_ignores; *cpp != NULL; ++cpp) { -+ if (!strcmp(HRFS_entry_struct.HRFS_type, *cpp)) { -+ ignore_flag = 1; -+ break; -+ } -+ } -+ -+ if(!ignore_flag) { -+ HRFS_list[i].mnt_special = strdup(HRFS_entry_struct.mnt_special); -+ HRFS_list[i].mnt_mountp = strdup(HRFS_entry_struct.mnt_mountp); -+ HRFS_list[i].mnt_fstype = strdup(HRFS_entry_struct.mnt_fstype); -+ HRFS_list[i].mnt_mntopts = strdup(HRFS_entry_struct.mnt_mntopts); -+ i++; -+ } -+ -+ ignore_flag = 0; -+ } -+ } -+ -+ HRFS_entry = HRFS_list; -+ last_access = file_stat.st_mtime; -+ } -+ return ret; -+} ++ fscount = lines; ++ while (i < fscount) ++ { ++ if (getmntent(fp, &HRFS_entry_struct) == 0) ++ { ++ HRFS_list[i].mnt_special = strdup(HRFS_entry_struct.mnt_special); ++ HRFS_list[i].mnt_mountp = strdup(HRFS_entry_struct.mnt_mountp); ++ HRFS_list[i].mnt_fstype = strdup(HRFS_entry_struct.mnt_fstype); ++ HRFS_list[i].mnt_mntopts = strdup(HRFS_entry_struct.mnt_mntopts); ++ i++; ++ } ++ } ++ ++ HRFS_entry = HRFS_list; ++ last_access = file_stat.st_mtime; ++ } ++#else ++ fp = fopen(ETC_MNTTAB, "r"); +#endif + - int - Get_Next_HR_FileSys(void) - { -@@ -699,17 +827,18 @@ + if (!fp) { + netsnmp_config_error("Can't open mnttab %s\n", ETC_MNTTAB); + } +@@ -758,17 +824,20 @@ #else const char **cpp; @@ -196,13 +133,16 @@ #ifdef solaris2 - if (getmntent(fp, HRFS_entry) != 0) -+ if (HRFS_index >= fscount) - return -1; -+ HRFS_entry = &HRFS_list[HRFS_index]; -+ return ++HRFS_index; +- return -1; ++ ++ if (HRFS_index >= fscount) ++ return -1; ++ HRFS_entry = &HRFS_list[HRFS_index]; ++ return ++HRFS_index; ++ #else -+ if (fp == NULL) -+ return -1; ++ if (fp == NULL) ++ return -1; HRFS_entry = getmntent(fp); if (HRFS_entry == NULL) return -1; @@ -210,7 +150,7 @@ for (cpp = HRFS_ignores; *cpp != NULL; ++cpp) if (!strcmp(HRFS_entry->HRFS_type, *cpp)) -@@ -728,6 +857,8 @@ +@@ -787,6 +856,8 @@ } return HRFS_index++; @@ -219,28 +159,28 @@ #endif /* HAVE_GETFSSTAT */ } -@@ -791,9 +922,24 @@ +@@ -854,10 +925,24 @@ HRFS_entry = NULL; } #else -+ int i = 0; ++ int i=0; if (fp != NULL) fclose(fp); fp = NULL; + +#ifdef solaris2 -+while (i < fscount) { -+ free(HRFS_list[i].mnt_special); -+ free(HRFS_list[i].mnt_mountp); -+ free(HRFS_list[i].mnt_fstype); -+ free(HRFS_list[i].mnt_mntopts); -+ i++; -+} -+ if (HRFS_list != NULL) -+ free(HRFS_list); -+ last_access = -1; ++ while (i < fscount) { ++ free(HRFS_list[i].mnt_special); ++ free(HRFS_list[i].mnt_mountp); ++ free(HRFS_list[i].mnt_fstype); ++ free(HRFS_list[i].mnt_mntopts); ++ i++; ++ } ++ if (HRFS_list != NULL) ++ free(HRFS_list); + #endif ++ +#endif -+ - #endif } + diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/patches/029.7097655.ipAddressTable_container.patch --- a/components/net-snmp/patches/029.7097655.ipAddressTable_container.patch Wed Jan 22 01:46:00 2014 -0800 +++ b/components/net-snmp/patches/029.7097655.ipAddressTable_container.patch Wed Jan 22 01:46:00 2014 -0800 @@ -1,457 +1,24 @@ -diff -ur net-snmp-5.4.1.org/agent/helpers/table_tdata.c net-snmp-5.4.1.container/agent/helpers/table_tdata.c ---- net-snmp-5.4.1.org/agent/helpers/table_tdata.c 2012-04-02 01:31:08.387259100 -0700 -+++ net-snmp-5.4.1.container/agent/helpers/table_tdata.c 2012-04-02 01:58:23.019636200 -0700 -@@ -57,9 +57,18 @@ - if ( !table ) - return NULL; - -+ table->flags = flags; - if (name) - table->name = strdup(name); -- table->container = netsnmp_container_find( "table_container" ); -+ -+ if (!(table->flags & TDATA_FLAG_NO_CONTAINER)) { -+ table->container = netsnmp_container_find( name ); -+ if (!table->container) -+ table->container = netsnmp_container_find( "table_container" ); -+ if (table->container) -+ table->container->container_name = strdup(name); -+ } -+ - return table; - } - -diff -ur net-snmp-5.4.1.org/agent/mibgroup/ip-forward-mib/data_access/route_common.c net-snmp-5.4.1.container/agent/mibgroup/ip-forward-mib/data_access/route_common.c ---- net-snmp-5.4.1.org/agent/mibgroup/ip-forward-mib/data_access/route_common.c 2012-04-02 01:31:08.334343300 -0700 -+++ net-snmp-5.4.1.container/agent/mibgroup/ip-forward-mib/data_access/route_common.c 2012-04-02 02:00:46.671129800 -0700 -@@ -47,8 +47,11 @@ - - DEBUGMSGTL(("access:route:container", "load\n")); - -- if (NULL == container) -+ if (NULL == container) { - container = netsnmp_container_find("access:_route:table_container"); -+ if (container) -+ container->container_name = strdup("_route"); -+ } - if (NULL == container) { - snmp_log(LOG_ERR, "no container specified/found for access_route\n"); - return NULL; -diff -ur net-snmp-5.4.1.org/agent/mibgroup/ip-forward-mib/inetCidrRouteTable/inetCidrRouteTable_interface.c net-snmp-5.4.1.container/agent/mibgroup/ip-forward-mib/inetCidrRouteTable/inetCidrRouteTable_interface.c ---- net-snmp-5.4.1.org/agent/mibgroup/ip-forward-mib/inetCidrRouteTable/inetCidrRouteTable_interface.c 2012-04-02 01:31:08.341048100 -0700 -+++ net-snmp-5.4.1.container/agent/mibgroup/ip-forward-mib/inetCidrRouteTable/inetCidrRouteTable_interface.c 2012-04-02 02:05:22.940847300 -0700 -@@ -2307,9 +2307,12 @@ - if_ctx->cache->flags = NETSNMP_CACHE_DONT_INVALIDATE_ON_SET; - - inetCidrRouteTable_container_init(&if_ctx->container, if_ctx->cache); -- if (NULL == if_ctx->container) -+ if (NULL == if_ctx->container) { - if_ctx->container = - netsnmp_container_find("inetCidrRouteTable:table_container"); -+ if (NULL != if_ctx->container) -+ if_ctx->container->container_name = strdup("inetCidrRouteTable"); -+ } - if (NULL == if_ctx->container) { - snmp_log(LOG_ERR, "error creating container in " - "inetCidrRouteTable_container_init\n"); -diff -ur net-snmp-5.4.1.org/agent/mibgroup/ip-forward-mib/ipCidrRouteTable/ipCidrRouteTable_interface.c net-snmp-5.4.1.container/agent/mibgroup/ip-forward-mib/ipCidrRouteTable/ipCidrRouteTable_interface.c ---- net-snmp-5.4.1.org/agent/mibgroup/ip-forward-mib/ipCidrRouteTable/ipCidrRouteTable_interface.c 2012-04-02 01:31:08.337647600 -0700 -+++ net-snmp-5.4.1.container/agent/mibgroup/ip-forward-mib/ipCidrRouteTable/ipCidrRouteTable_interface.c 2012-04-02 02:08:16.825508200 -0700 -@@ -2259,9 +2259,12 @@ - if_ctx->cache->flags = NETSNMP_CACHE_DONT_INVALIDATE_ON_SET; - - ipCidrRouteTable_container_init(&if_ctx->container, if_ctx->cache); -- if (NULL == if_ctx->container) -+ if (NULL == if_ctx->container) { - if_ctx->container = - netsnmp_container_find("ipCidrRouteTable:table_container"); -+ if (NULL != if_ctx->container) -+ if_ctx->container->container_name = strdup("ipCidrRouteTable"); -+ } - if (NULL == if_ctx->container) { - snmp_log(LOG_ERR, "error creating container in " - "ipCidrRouteTable_container_init\n"); -diff -ur net-snmp-5.4.1.org/agent/mibgroup/ip-mib/data_access/arp_common.c net-snmp-5.4.1.container/agent/mibgroup/ip-mib/data_access/arp_common.c ---- net-snmp-5.4.1.org/agent/mibgroup/ip-mib/data_access/arp_common.c 2012-04-02 01:31:08.353034100 -0700 -+++ net-snmp-5.4.1.container/agent/mibgroup/ip-mib/data_access/arp_common.c 2012-04-02 02:10:39.120984300 -0700 -@@ -62,8 +62,11 @@ - - DEBUGMSGTL(("access:arp:container", "load\n")); - -- if (NULL == container) -+ if (NULL == container) { - container = netsnmp_container_find("access:arp:table_container"); -+ if (container) -+ container->container_name = strdup("arp"); -+ } - if (NULL == container) { - snmp_log(LOG_ERR, "no container specified/found for access_arp\n"); - return NULL; -diff -ur net-snmp-5.4.1.org/agent/mibgroup/ip-mib/data_access/systemstats_common.c net-snmp-5.4.1.container/agent/mibgroup/ip-mib/data_access/systemstats_common.c ---- net-snmp-5.4.1.org/agent/mibgroup/ip-mib/data_access/systemstats_common.c 2012-04-02 01:31:08.353793700 -0700 -+++ net-snmp-5.4.1.container/agent/mibgroup/ip-mib/data_access/systemstats_common.c 2012-04-02 02:12:30.680237000 -0700 -@@ -96,8 +96,11 @@ - - DEBUGMSGTL(("access:systemstats:container", "load\n")); - -- if (NULL == container) -+ if (NULL == container) { - container = netsnmp_access_systemstats_container_init(load_flags); -+ if (NULL != container) -+ container->container_name = strdup("systemstats_autocreate"); -+ } - if (NULL == container) { - snmp_log(LOG_ERR, "no container specified/found for access_systemstats\n"); - return NULL; -diff -ur net-snmp-5.4.1.org/agent/mibgroup/ip-mib/inetNetToMediaTable/inetNetToMediaTable_interface.c net-snmp-5.4.1.container/agent/mibgroup/ip-mib/inetNetToMediaTable/inetNetToMediaTable_interface.c ---- net-snmp-5.4.1.org/agent/mibgroup/ip-mib/inetNetToMediaTable/inetNetToMediaTable_interface.c 2012-04-02 01:31:08.349583400 -0700 -+++ net-snmp-5.4.1.container/agent/mibgroup/ip-mib/inetNetToMediaTable/inetNetToMediaTable_interface.c 2012-04-02 02:13:41.237688000 -0700 -@@ -1935,9 +1935,12 @@ - if_ctx->cache->flags = NETSNMP_CACHE_DONT_INVALIDATE_ON_SET; - - inetNetToMediaTable_container_init(&if_ctx->container, if_ctx->cache); -- if (NULL == if_ctx->container) -+ if (NULL == if_ctx->container) { - if_ctx->container = - netsnmp_container_find("inetNetToMediaTable:table_container"); -+ if (if_ctx->container) -+ if_ctx->container->container_name = strdup("inetNetToMediaTable"); -+ } - if (NULL == if_ctx->container) { - snmp_log(LOG_ERR, "error creating container in " - "inetNetToMediaTable_container_init\n"); -diff -ur net-snmp-5.4.1.org/agent/mibgroup/ip-mib/ipv4InterfaceTable/ipv4InterfaceTable_interface.c net-snmp-5.4.1.container/agent/mibgroup/ip-mib/ipv4InterfaceTable/ipv4InterfaceTable_interface.c ---- net-snmp-5.4.1.org/agent/mibgroup/ip-mib/ipv4InterfaceTable/ipv4InterfaceTable_interface.c 2012-04-02 01:31:08.365565600 -0700 -+++ net-snmp-5.4.1.container/agent/mibgroup/ip-mib/ipv4InterfaceTable/ipv4InterfaceTable_interface.c 2012-04-02 03:44:15.669526200 -0700 -@@ -1251,15 +1251,18 @@ - * container init - */ - ipv4InterfaceTable_container_init(&if_ctx->container); -- if (NULL == if_ctx->container) -+ if (NULL == if_ctx->container) - if_ctx->container = - netsnmp_container_find("ipv4InterfaceTable:table_container"); -+ - if (NULL == if_ctx->container) { - snmp_log(LOG_ERR, "error creating container in " - "ipv4InterfaceTable_container_init\n"); - return; - } - -+ if_ctx->container->container_name = strdup("ipv4InterfaceTable"); -+ - } /* _ipv4InterfaceTable_container_init */ - - /** -diff -ur net-snmp-5.4.1.org/agent/mibgroup/ip-mib/ipv6InterfaceTable/ipv6InterfaceTable_interface.c net-snmp-5.4.1.container/agent/mibgroup/ip-mib/ipv6InterfaceTable/ipv6InterfaceTable_interface.c ---- net-snmp-5.4.1.org/agent/mibgroup/ip-mib/ipv6InterfaceTable/ipv6InterfaceTable_interface.c 2012-04-02 01:31:08.363180800 -0700 -+++ net-snmp-5.4.1.container/agent/mibgroup/ip-mib/ipv6InterfaceTable/ipv6InterfaceTable_interface.c 2012-04-02 03:45:04.295800900 -0700 -@@ -1341,6 +1341,7 @@ - "ipv6InterfaceTable_container_init\n"); - return; - } -+ if_ctx->container->container_name = strdup("ipv6InterfaceTable"); - - } /* _ipv6InterfaceTable_container_init */ - -diff -ur net-snmp-5.4.1.org/agent/mibgroup/tcp-mib/tcpConnectionTable/tcpConnectionTable_interface.c net-snmp-5.4.1.container/agent/mibgroup/tcp-mib/tcpConnectionTable/tcpConnectionTable_interface.c ---- net-snmp-5.4.1.org/agent/mibgroup/tcp-mib/tcpConnectionTable/tcpConnectionTable_interface.c 2012-04-02 01:31:08.199286300 -0700 -+++ net-snmp-5.4.1.container/agent/mibgroup/tcp-mib/tcpConnectionTable/tcpConnectionTable_interface.c 2012-04-02 03:47:50.113861500 -0700 -@@ -1731,9 +1731,12 @@ - if_ctx->cache->flags = NETSNMP_CACHE_DONT_INVALIDATE_ON_SET; - - tcpConnectionTable_container_init(&if_ctx->container, if_ctx->cache); -- if (NULL == if_ctx->container) -+ if (NULL == if_ctx->container) { - if_ctx->container = - netsnmp_container_find("tcpConnectionTable:table_container"); -+ if (if_ctx->container) -+ if_ctx->container->container_name = strdup("tcpConnectionTable"); -+ } - if (NULL == if_ctx->container) { - snmp_log(LOG_ERR, "error creating container in " - "tcpConnectionTable_container_init\n"); -diff -ur net-snmp-5.4.1.org/agent/mibgroup/tcp-mib/tcpListenerTable/tcpListenerTable_interface.c net-snmp-5.4.1.container/agent/mibgroup/tcp-mib/tcpListenerTable/tcpListenerTable_interface.c ---- net-snmp-5.4.1.org/agent/mibgroup/tcp-mib/tcpListenerTable/tcpListenerTable_interface.c 2012-04-02 01:31:08.201001900 -0700 -+++ net-snmp-5.4.1.container/agent/mibgroup/tcp-mib/tcpListenerTable/tcpListenerTable_interface.c 2012-04-02 03:48:52.542497400 -0700 -@@ -922,9 +922,12 @@ - if_ctx->cache->flags = NETSNMP_CACHE_DONT_INVALIDATE_ON_SET; - - tcpListenerTable_container_init(&if_ctx->container, if_ctx->cache); -- if (NULL == if_ctx->container) -+ if (NULL == if_ctx->container) { - if_ctx->container = - netsnmp_container_find("tcpListenerTable:table_container"); -+ if (if_ctx->container) -+ if_ctx->container->container_name = strdup("tcpListenerTable"); -+ } - if (NULL == if_ctx->container) { - snmp_log(LOG_ERR, "error creating container in " - "tcpListenerTable_container_init\n"); -diff -ur net-snmp-5.4.1.org/include/net-snmp/agent/table_tdata.h net-snmp-5.4.1.container/include/net-snmp/agent/table_tdata.h ---- net-snmp-5.4.1.org/include/net-snmp/agent/table_tdata.h 2012-04-02 01:31:08.444022500 -0700 -+++ net-snmp-5.4.1.container/include/net-snmp/agent/table_tdata.h 2012-04-02 23:50:13.830827600 -0700 -@@ -21,6 +21,7 @@ - #define TABLE_TDATA_TABLE "table_tdata_table" - - #define TDATA_FLAG_NO_STORE_INDEXES 0x01 -+#define TDATA_FLAG_NO_CONTAINER 0x02 /* user will provide container */ - - /* - * The (table-independent) per-row data structure -diff -ur net-snmp-5.4.1.org/include/net-snmp/library/container.h net-snmp-5.4.1.container/include/net-snmp/library/container.h ---- net-snmp-5.4.1.orig/include/net-snmp/library/container.h 2012-09-13 03:44:03.378177029 -0700 -+++ net-snmp-5.4.1.container/include/net-snmp/library/container.h 2012-09-05 12:05:44.822831595 -0700 -@@ -373,31 +373,42 @@ - */ - int CONTAINER_FREE(netsnmp_container *x); - #else -- /*------------------------------------------------------------------ -- * These functions should EXACTLY match the function version in -- * container.c. If you change one, change them both. -- */ -- NETSNMP_STATIC_INLINE /* gcc docs recommend static w/inline */ -- int CONTAINER_INSERT(netsnmp_container *x, const void *k) -- { -- int rc2, rc = 0; -- -- /** start at first container */ -- while(x->prev) -- x = x->prev; -- for(; x; x = x->next) { -- if ((NULL != x->insert_filter) && -- (x->insert_filter(x,k) == 1)) -- continue; -- rc2 = x->insert(x,k); -- if (rc2) { -- snmp_log(LOG_DEBUG,"error on subcontainer '%s' insert (%d)\n", -- x->container_name ? x->container_name : "", rc2); -- rc = rc2; -- } -- } -- return rc; -- } -+ /*------------------------------------------------------------------ -+ * These functions should EXACTLY match the function version in -+ * container.c. If you change one, change them both. -+ */ -+ NETSNMP_STATIC_INLINE /* gcc docs recommend static w/inline */ -+ int CONTAINER_INSERT_HELPER(netsnmp_container* x, const void* k) -+ { -+ while(x && x->insert_filter && x->insert_filter(x,k) == 1) -+ x = x->next; -+ if(x) { -+ int rc = x->insert(x,k); -+ if(rc) -+ snmp_log(LOG_ERR,"error on subcontainer '%s' insert (%d)\n", -+ x->container_name ? x->container_name : "", rc); -+ else { -+ rc = CONTAINER_INSERT_HELPER(x->next, k); -+ if(rc) -+ x->remove(x,k); -+ } -+ return rc; -+ } -+ return 0; -+ } -+ -+ /*------------------------------------------------------------------ -+ * These functions should EXACTLY match the function version in -+ * container.c. If you change one, change them both. -+ */ -+ NETSNMP_STATIC_INLINE /* gcc docs recommend static w/inline */ -+ int CONTAINER_INSERT(netsnmp_container* x, const void* k) -+ { -+ /** start at first container */ -+ while(x->prev) -+ x = x->prev; -+ return CONTAINER_INSERT_HELPER(x, k); -+ } - - /*------------------------------------------------------------------ - * These functions should EXACTLY match the function version in -diff -ur net-snmp-5.4.1.org/snmplib/container.c net-snmp-5.4.1.container/snmplib/container.c ---- net-snmp-5.4.1/snmplib/container.c 2012-09-13 03:44:03.380247622 -0700 -+++ net-snmp-5.4.1.container/snmplib/container.c 2012-09-13 03:33:19.759881202 -0700 -@@ -49,7 +49,8 @@ - */ - containers = netsnmp_container_get_binary_array(); - containers->compare = netsnmp_compare_cstring; -- -+ containers->container_name = strdup("container list"); -+ - /* - * register containers - */ -@@ -265,25 +266,34 @@ - * These functions should EXACTLY match the inline version in - * container.h. If you change one, change them both. - */ --int CONTAINER_INSERT(netsnmp_container *x, const void *k) --{ -- int rc2, rc = 0; -- -- /** start at first container */ -+int CONTAINER_INSERT_HELPER(netsnmp_container* x, const void* k) -+{ -+ while(x && x->insert_filter && x->insert_filter(x,k) == 1) -+ x = x->next; -+ if(x) { -+ int rc = x->insert(x,k); -+ if(rc) -+ snmp_log(LOG_DEBUG,"error on subcontainer '%s' insert (%d)\n", -+ x->container_name ? x->container_name : "", rc); -+ else { -+ rc = CONTAINER_INSERT_HELPER(x->next, k); -+ if(rc) -+ x->remove(x,k); -+ } -+ return rc; -+ } -+ return 0; -+ } -+ -+/*------------------------------------------------------------------ -+ * These functions should EXACTLY match the inline version in -+ * container.h. If you change one, change them both. -+ */ -+int CONTAINER_INSERT(netsnmp_container* x, const void* k) -+{ - while(x->prev) -- x = x->prev; -- for(; x; x = x->next) { -- if ((NULL != x->insert_filter) && -- (x->insert_filter(x,k) == 1)) -- continue; -- rc2 = x->insert(x,k); -- if (rc2) { -- snmp_log(LOG_DEBUG,"error on subcontainer '%s' insert (%d)\n", -- x->container_name ? x->container_name : "", rc2); -- rc = rc2; -- } -- } -- return rc; -+ x = x->prev; -+ return CONTAINER_INSERT_HELPER(x, k); - } - - /*------------------------------------------------------------------ -diff -ur net-snmp-5.4.1.org/agent/mibgroup/ip-mib/ipAddressTable/ipAddressTable_data_access.c net-snmp-5.4.1.container/agent/mibgroup/ip-mib/ipAddressTable/ipAddressTable_data_access.c ---- net-snmp-5.4.1.orig/agent/mibgroup/ip-mib/ipAddressTable/ipAddressTable_data_access.c 2007-05-17 14:53:28.000000000 -0700 -+++ net-snmp-5.4.1.container/agent/mibgroup/ip-mib/ipAddressTable/ipAddressTable_data_access.c 2012-09-13 03:45:25.253102053 -0700 -@@ -134,6 +134,7 @@ - *container_ptr_ptr = - netsnmp_container_find("ipAddressTable:table_container"); - if (NULL != *container_ptr_ptr) { -+ (*container_ptr_ptr)->container_name = strdup("ipAddressTable"); - ipAddressTable_container_load(*container_ptr_ptr); - CONTAINER_FOR_EACH(*container_ptr_ptr, - (netsnmp_container_obj_func *) _clear_times, -@@ -344,56 +345,58 @@ +# +# netsnmp_access_ipaddress_container_load() can return NULL. +# ipaddressTable_container_load() should check for the validity +# of return value before accessing it or else it causes SEGV. +# +--- net-snmp-5.7.2/agent/mibgroup/ip-mib/ipAddressTable/ipAddressTable_data_access.c Wed Jan 30 02:01:56 2013 ++++ net-snmp-5.7.2/agent/mibgroup/ip-mib/ipAddressTable/ipAddressTable_data_access.c Wed Jan 30 02:04:46 2013 +@@ -348,6 +348,8 @@ * what we've already got, and make any adjustments, saving * missing addresses to be deleted. */ -- tmp_ptr[0] = ipaddress_container->next; -- tmp_ptr[1] = NULL; -- CONTAINER_FOR_EACH(container, (netsnmp_container_obj_func *) -- _check_entry_for_updates, tmp_ptr); -- -- /* -- * now add any new interfaces -- */ -- CONTAINER_FOR_EACH(ipaddress_container, -- (netsnmp_container_obj_func *) _add_new_entry, -- container); -- -- /* -- * free the container. we've either claimed each entry, or released it, -- * so the access function doesn't need to clear the container. -- */ -- netsnmp_access_ipaddress_container_free(ipaddress_container, -- NETSNMP_ACCESS_IPADDRESS_FREE_DONT_CLEAR); -- -- /* -- * remove deleted addresses from table container -- */ -- if (NULL != tmp_ptr[1]) { -- netsnmp_container *tmp_container = -- (netsnmp_container *) tmp_ptr[1]; -- ipAddressTable_rowreq_ctx *tmp_ctx; -- -- /* -- * this works because the tmp_container is a linked list, -- * which can be used like a stack... -- */ -- while (CONTAINER_SIZE(tmp_container)) { -- /* -- * get from delete list -- */ -- tmp_ctx = CONTAINER_FIRST(tmp_container); -- -- /* -- * release context, delete from table container -- */ -- CONTAINER_REMOVE(container, tmp_ctx); -- ipAddressTable_release_rowreq_ctx(tmp_ctx); -- -- /* -- * pop off delete list -- */ -- CONTAINER_REMOVE(tmp_container, NULL); -- } + if(ipaddress_container != NULL) + { -+ tmp_ptr[0] = ipaddress_container->next; -+ tmp_ptr[1] = NULL; -+ CONTAINER_FOR_EACH(container, (netsnmp_container_obj_func *) -+ _check_entry_for_updates, tmp_ptr); -+ -+ /* -+ * now add any new interfaces -+ */ -+ CONTAINER_FOR_EACH(ipaddress_container, -+ (netsnmp_container_obj_func *) _add_new_entry, -+ container); -+ -+ /* -+ * free the container. we've either claimed each entry, or released it, -+ * so the access function doesn't need to clear the container. -+ */ -+ netsnmp_access_ipaddress_container_free(ipaddress_container, -+ NETSNMP_ACCESS_IPADDRESS_FREE_DONT_CLEAR); -+ -+ /* -+ * remove deleted addresses from table container -+ */ -+ if (NULL != tmp_ptr[1]) { -+ netsnmp_container *tmp_container = -+ (netsnmp_container *) tmp_ptr[1]; -+ ipAddressTable_rowreq_ctx *tmp_ctx; -+ -+ /* -+ * this works because the tmp_container is a linked list, -+ * which can be used like a stack... -+ */ -+ while (CONTAINER_SIZE(tmp_container)) { -+ /* -+ * get from delete list -+ */ -+ tmp_ctx = CONTAINER_FIRST(tmp_container); -+ -+ /* -+ * release context, delete from table container -+ */ -+ CONTAINER_REMOVE(container, tmp_ctx); -+ ipAddressTable_release_rowreq_ctx(tmp_ctx); -+ -+ /* -+ * pop off delete list -+ */ -+ CONTAINER_REMOVE(tmp_container, NULL); -+ } -+ } + tmp_ptr[0] = ipaddress_container->next; + tmp_ptr[1] = NULL; + CONTAINER_FOR_EACH(container, (netsnmp_container_obj_func *) +@@ -395,6 +397,7 @@ + * pop off delete list + */ + CONTAINER_REMOVE(tmp_container, NULL); ++ } + } } -- - DEBUGMSGT(("verbose:ipAddressTable:ipAddressTable_cache_load", - "%d records\n", CONTAINER_SIZE(container))); diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/resolve.deps --- a/components/net-snmp/resolve.deps Wed Jan 22 01:46:00 2014 -0800 +++ b/components/net-snmp/resolve.deps Wed Jan 22 01:46:00 2014 -0800 @@ -5,6 +5,7 @@ shell/ksh93 system/core-os system/library +system/library/math system/linker system/management/snmp/net-snmp system/network diff -r 81d624418adc -r ce501c11d5fa components/net-snmp/run-tests --- a/components/net-snmp/run-tests Wed Jan 22 01:46:00 2014 -0800 +++ b/components/net-snmp/run-tests Wed Jan 22 01:46:00 2014 -0800 @@ -20,7 +20,7 @@ # CDDL HEADER END # # -# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. # # #pragma ident "@(#)run-tests 1.1 09/07/08 SMI" @@ -61,7 +61,7 @@ PATH=${IROOT}/usr/sbin/i86:${IROOTB}:${IROOTS}:/usr/ccs/bin:/usr/bin:${SPRO_VROOT}/bin:/usr/sbin:/sbin:/usr/bin:/usr/etc:/usr/sbin:/etc:.:/usr/openwin/bin export PATH #./RUNTESTS -a > test.32.out 2>&1 -./RUNTESTS -a > ${VER}/test.32.out 2>&1 +./RUNTESTS > ${VER}/test.32.out 2>&1 if [ $? -ne 0 ]; then echo "" echo "==================================================================" @@ -74,7 +74,7 @@ PATH=${IROOT}/usr/sbin/amd64:${IROOT}/usr/bin:/usr/ccs/bin:/usr/bin:${SPRO_VROOT}/bin:/usr/sbin:/sbin:/usr/bin:/usr/etc:/usr/sbin:/etc:.:/usr/openwin/bin export PATH cd ${VER64}/testing -./RUNTESTS -a > ${VER64}/test.64.out 2>&1 +./RUNTESTS > ${VER64}/test.64.out 2>&1 if [ $? -ne 0 ]; then echo "" echo "==================================================================" @@ -89,7 +89,7 @@ cd ${VER64}/testing PATH=${IROOT}/usr/sbin:${IROOT}/usr/bin:/usr/ccs/bin:/usr/bin:${SPRO_VROOT}/bin:/usr/sbin:/sbin:/usr/bin:/usr/etc:/usr/sbin:/etc:.:/usr/openwin/bin export PATH -./RUNTESTS -a > ${VER64}/test.64.out 2>&1 +./RUNTESTS > ${VER64}/test.64.out 2>&1 if [ $? -ne 0 ]; then echo "" echo "=================================================================="