From 586d4d1526ba10f9cb0f148963b7b9b070cd49a0 Mon Sep 17 00:00:00 2001 From: Packit Date: Sep 10 2020 11:07:36 +0000 Subject: Apply patch net-snmp-5.7.2-pie.patch patch_name: net-snmp-5.7.2-pie.patch present_in_specfile: true --- diff --git a/agent/Makefile.in b/agent/Makefile.in index 4448009..9571c53 100644 --- a/agent/Makefile.in +++ b/agent/Makefile.in @@ -297,7 +297,7 @@ getmibstat.o: mibgroup/kernel_sunos5.c $(CC) $(CFLAGS) -o $@ -D_GETMIBSTAT_TEST -DDODEBUG -c $? snmpd$(EXEEXT): ${LAGENTOBJS} $(USELIBS) $(AGENTLIB) $(HELPERLIB) $(MIBLIB) $(LIBTARG) - $(LINK) $(CFLAGS) -o $@ ${LAGENTOBJS} ${LDFLAGS} ${OUR_AGENT_LIBS} + $(LINK) $(CFLAGS) -o $@ -pie ${LAGENTOBJS} ${LDFLAGS} ${OUR_AGENT_LIBS} libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION): ${LLIBAGENTOBJS} $(USELIBS) $(LIB_LD_CMD) $(AGENTLIB) ${LLIBAGENTOBJS} $(USELIBS) ${LAGENTLIBS} @LD_NO_UNDEFINED@ $(LDFLAGS) $(PERLLDOPTS_FOR_LIBS) $(LIB_LD_LIBS) @AGENTLIBS@ diff --git a/agent/Makefile.in.pie b/agent/Makefile.in.pie new file mode 100644 index 0000000..4448009 --- /dev/null +++ b/agent/Makefile.in.pie @@ -0,0 +1,347 @@ +# +# Makefile for snmpd +# + +mysubdir=agent + +# use GNU vpath, if available, to only set a path for source and headers +# VPATH will pick up objects too, which is bad if you are sharing a +# source dir... +@GNU_vpath@ %.h $(srcdir) +@GNU_vpath@ %.c $(srcdir) +# fallback to regular VPATH for non-gnu... +@NON_GNU_VPATH@ $(srcdir) + +# +# what to install +# +SUBDIRS=helpers mibgroup +FTSUBDIRS=mibgroup helpers + +INSTALLSBINPROGS= @SNMPD@ +INSTALLLIBS = libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION) +INSTALLPOSTLIBS = libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION) + +INCLUDESUBDIR=agent +HEADERS=\ + agent_read_config.h \ + agent_registry.h \ + agent_index.h \ + agent_sysORTable.h \ + agent_trap.h \ + auto_nlist.h \ + ds_agent.h \ + snmp_agent.h \ + snmp_vars.h \ + var_struct.h \ + agent_handler.h \ + net-snmp-agent-includes.h \ + mib_modules.h \ + agent_callbacks.h \ + sysORTable.h \ + all_helpers.h \ + baby_steps.h \ + bulk_to_next.h \ + cache_handler.h \ + debug_handler.h \ + instance.h \ + mode_end_call.h \ + multiplexer.h \ + null.h \ + old_api.h \ + read_only.h \ + row_merge.h \ + scalar.h \ + scalar_group.h \ + serialize.h \ + snmp_get_statistic.h \ + stash_cache.h \ + stash_to_next.h \ + table_array.h \ + table_container.h \ + table.h \ + table_data.h \ + table_dataset.h \ + table_tdata.h \ + table_iterator.h \ + watcher.h \ + netsnmp_close_fds.h + +HEADERSONLY=mfd.h set_helper.h + +INCLUDESUBDIRHEADERS=$(HEADERS) $(HEADERSONLY) + +INSTALLBUILTSUBDIRHEADERS=../include/net-snmp/agent/mib_module_config.h \ + ../include/net-snmp/agent/agent_module_config.h \ + mibgroup/mib_module_includes.h +INSTALLBUILTSUBDIR=agent + +INCLUDEMIBGROUPDIR=agent/mibgroup +INCLUDEMIBGROUPDIRHEADERS=struct.h util_funcs.h util_funcs/header_generic.h \ + util_funcs/header_simple_table.h util_funcs/MIB_STATS_CACHE_TIMEOUT.h + +OTHERINSTALL=installmibgroupheaders @EMBEDPERLINSTALL@ +OTHERUNINSTALL=@EMBEDPERLUNINSTALL@ + +# XXX: need to install these They're really UCD specific, however. +BROKEINSTALL= \ + mibgroup/struct.h \ + mibgroup/util_funcs.h \ + mibgroup/mibincl.h \ + mibgroup/ucd-snmp/dlmod.h \ + mibgroup/utilities/execute.h \ + mibgroup/header_complex.h + +INSTALLUCDHEADERS= \ + agent_index.h \ + agent_read_config.h \ + agent_registry.h \ + agent_sysORTable.h \ + agent_trap.h \ + auto_nlist.h \ + ds_agent.h \ + header_complex.h \ + mibincl.h \ + snmp_agent.h \ + ucd-snmp-includes.h \ + ucd-snmp-agent-includes.h \ + util_funcs.h \ + var_struct.h + +# +# how to build it info +# +USELIBS = ../snmplib/libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION) +AGENTLIB = libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION) +MIBLIB = libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION) + +LAGENTLIBS = @LAGENTLIBS@ +LMIBLIBS = @LMIBLIBS@ +VAL_LIBS = @VAL_LIBS@ +PERLLDOPTS_FOR_APPS = @PERLLDOPTS_FOR_APPS@ +PERLLDOPTS_FOR_LIBS = @PERLLDOPTS_FOR_LIBS@ +LIBS = $(USELIBS) @AGENTLIBS@ $(PERLLDOPTS_FOR_APPS) $(VAL_LIBS) +OUR_AGENT_LIBS = $(AGENTLIB) $(MIBLIB) $(LIBS) @DLLIBS@ +CPPFLAGS = $(TOP_INCLUDES) -I. $(AGENT_INCLUDES) $(MIBGROUP_INCLUDES) \ + $(SNMPLIB_INCLUDES) @CPPFLAGS@ + + +# +# Objects +# + +# libnetsnmpmibs objects. +@mibgroup_list_lo@ +@mibgroup_list_ft@ +@mibgroup_list_o@ +@agentgroup_list_lo@ +@agentgroup_list_ft@ +@agentgroup_list_o@ +FTMIBOBJS = $(mibgroup_list_ft) mib_modules.ft auto_nlist.ft +LMIBOBJS = $(mibgroup_list_lo) mib_modules.lo auto_nlist.lo +MIBOBJS = $(mibgroup_list_o) mib_modules.o auto_nlist.o + +# libnetsnmpagent objects +LIBAGENTOBJS= \ + helpers/all_helpers.o \ + helpers/baby_steps.o \ + helpers/bulk_to_next.o \ + helpers/cache_handler.o \ + helpers/debug_handler.o \ + helpers/instance.o \ + helpers/mode_end_call.o \ + helpers/multiplexer.o \ + helpers/null.o \ + helpers/old_api.o \ + helpers/read_only.o \ + helpers/row_merge.o \ + helpers/scalar.o \ + helpers/scalar_group.o \ + helpers/serialize.o \ + helpers/snmp_get_statistic.o \ + helpers/stash_cache.o \ + helpers/stash_to_next.o \ + helpers/table.o \ + helpers/table_array.o \ + helpers/table_container.o \ + helpers/table_data.o \ + helpers/table_dataset.o \ + helpers/table_iterator.o \ + helpers/table_row.o \ + helpers/table_tdata.o \ + helpers/watcher.o \ + agent_handler.o \ + agent_index.o \ + agent_read_config.o \ + agent_registry.o \ + agent_sysORTable.o \ + agent_trap.o \ + kernel.o \ + netsnmp_close_fds.o \ + snmp_agent.o \ + snmp_vars.o \ + $(agentgroup_list_o) \ + @OTHERAGENTLIBOBJS@ + +LLIBAGENTOBJS= \ + helpers/all_helpers.lo \ + helpers/baby_steps.lo \ + helpers/bulk_to_next.lo \ + helpers/cache_handler.lo \ + helpers/debug_handler.lo \ + helpers/instance.lo \ + helpers/mode_end_call.lo \ + helpers/multiplexer.lo \ + helpers/null.lo \ + helpers/old_api.lo \ + helpers/read_only.lo \ + helpers/row_merge.lo \ + helpers/scalar.lo \ + helpers/scalar_group.lo \ + helpers/serialize.lo \ + helpers/snmp_get_statistic.lo \ + helpers/stash_cache.lo \ + helpers/stash_to_next.lo \ + helpers/table.lo \ + helpers/table_array.lo \ + helpers/table_container.lo \ + helpers/table_data.lo \ + helpers/table_dataset.lo \ + helpers/table_iterator.lo \ + helpers/table_row.lo \ + helpers/table_tdata.lo \ + helpers/watcher.lo \ + agent_handler.lo \ + agent_index.lo \ + agent_read_config.lo \ + agent_registry.lo \ + agent_sysORTable.lo \ + agent_trap.lo \ + kernel.lo \ + netsnmp_close_fds.lo \ + snmp_agent.lo \ + snmp_vars.lo \ + $(agentgroup_list_lo) \ + @OTHERAGENTLIBLOBJS@ + +LLIBAGENTFTS= \ + helpers/all_helpers.ft \ + helpers/baby_steps.ft \ + helpers/bulk_to_next.ft \ + helpers/cache_handler.ft \ + helpers/debug_handler.ft \ + helpers/instance.ft \ + helpers/mode_end_call.ft \ + helpers/multiplexer.ft \ + helpers/null.ft \ + helpers/old_api.ft \ + helpers/read_only.ft \ + helpers/row_merge.ft \ + helpers/scalar.ft \ + helpers/scalar_group.ft \ + helpers/serialize.ft \ + helpers/snmp_get_statistic.ft \ + helpers/stash_cache.ft \ + helpers/stash_to_next.ft \ + helpers/table.ft \ + helpers/table_array.ft \ + helpers/table_container.ft \ + helpers/table_data.ft \ + helpers/table_dataset.ft \ + helpers/table_iterator.ft \ + helpers/table_row.ft \ + helpers/table_tdata.ft \ + helpers/watcher.ft \ + agent_handler.ft \ + agent_index.ft \ + agent_read_config.ft \ + agent_registry.ft \ + agent_sysORTable.ft \ + agent_trap.ft \ + kernel.ft \ + netsnmp_close_fds.ft \ + snmp_agent.ft \ + snmp_vars.ft \ + $(agentgroup_list_ft) \ + @OTHERAGENTLIBLFTS@ + +# The agent objects. +AGENTOBJS=snmpd.o @other_agentobjs@ +LAGENTOBJS=snmpd.lo @other_lagentobjs@ +FTAGENTOBJS=snmpd.ft @other_ftagentobjs@ + +# +# Define OBJS and LOBJS for clean target (just this directory) +# +OBJS = $(LIBAGENTOBJS) $(AGENTOBJS) mib_modules.o auto_nlist.o +LOBJS = $(LLIBAGENTOBJS) $(LAGENTOBJS) mib_modules.lo auto_nlist.lo +FTOBJS = $(LLIBAGENTFTS) $(FTAGENTOBJS) mib_modules.ft auto_nlist.ft + +FEATUREFILE = $(top_builddir)/include/net-snmp/agent/features.h + +all: agentlib subdirs miblib $(INSTALLBINPROGS) $(INSTALLSBINPROGS) + +# +# build stuff targets +# +getkstat: getkstat.o + $(CC) $(CFLAGS) -o $@ $? $(LIBS) + +getkstat.o: mibgroup/kernel_sunos5.c + $(CC) $(CFLAGS) -o $@ -D_GETKSTAT_TEST -DDODEBUG -c $? + +getmibstat: getmibstat.o + $(CC) $(CFLAGS) -o $@ $? $(LIBS) + +getmibstat.o: mibgroup/kernel_sunos5.c + $(CC) $(CFLAGS) -o $@ -D_GETMIBSTAT_TEST -DDODEBUG -c $? + +snmpd$(EXEEXT): ${LAGENTOBJS} $(USELIBS) $(AGENTLIB) $(HELPERLIB) $(MIBLIB) $(LIBTARG) + $(LINK) $(CFLAGS) -o $@ ${LAGENTOBJS} ${LDFLAGS} ${OUR_AGENT_LIBS} + +libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION): ${LLIBAGENTOBJS} $(USELIBS) + $(LIB_LD_CMD) $(AGENTLIB) ${LLIBAGENTOBJS} $(USELIBS) ${LAGENTLIBS} @LD_NO_UNDEFINED@ $(LDFLAGS) $(PERLLDOPTS_FOR_LIBS) $(LIB_LD_LIBS) @AGENTLIBS@ + $(RANLIB) $(AGENTLIB) + +libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION): ${LMIBOBJS} $(AGENTLIB) $(USELIBS) + $(LIB_LD_CMD) $(MIBLIB) ${LMIBOBJS} $(AGENTLIB) $(USELIBS) @LD_NO_UNDEFINED@ $(LDFLAGS) ${LMIBLIBS} $(PERLLDOPTS_FOR_LIBS) $(LIB_LD_LIBS) @AGENTLIBS@ + $(RANLIB) $(MIBLIB) + +agentlib: $(AGENTLIB) + +miblib: $(MIBLIB) + +libs: $(AGENTLIB) $(MIBLIB) + +embedperlinstall: + @$(SHELL) $(srcdir)/../mkinstalldirs $(INSTALL_PREFIX)$(snmplibdir) + @$(INSTALL_DATA) $(srcdir)/snmp_perl.pl $(INSTALL_PREFIX)$(snmplibdir)/snmp_perl.pl + @echo "install: installed snmp_perl.pl in $(INSTALL_PREFIX)$(snmplibdir)" + +embedperluninstall: + @rm -f $(INSTALL_PREFIX)$(snmplibdir)/snmp_perl.pl + @echo "removed snmp_perl.pl from $(INSTALL_PREFIX)$(snmplibdir)" + +installmibgroupheaders: + @for it in $(INCLUDEMIBGROUPDIRHEADERS) ; do \ + itd=`dirname "$(INSTALL_PREFIX)$(includedir)/agent/$$it"` ; \ + if [ ! -d "$$itd" ] ; then \ + echo "creating directory $$itd" ; \ + $(SHELL) "$(top_srcdir)/mkinstalldirs" "$$itd" ; \ + fi ; \ + $(INSTALL_DATA) "$(top_srcdir)/$(INCLUDEMIBGROUPDIR)/$$it" \ + "$$itd" ; \ + echo "installing $$it in $$itd" ; \ + done + +@module_list_deps@ +@agent_module_list_deps@ +@mib_module_list_deps@ + +mib_modules.lo: mibgroup/mib_module_inits.h +# +# dependency for snmplib object. it's here because the headers listed +# are relative to the agent directory. + +subdirs: agentlib +# wait for agentlib before building 'subdirs' target diff --git a/apps/Makefile.in b/apps/Makefile.in index e5e1f69..d2f69f9 100644 --- a/apps/Makefile.in +++ b/apps/Makefile.in @@ -156,37 +156,37 @@ OTHERUNINSTALL=snmpinformuninstall snmptopuninstall snmptrapdperluninstall # build rules # snmpwalk$(EXEEXT): snmpwalk.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmpwalk.$(OSUFFIX) ${LDFLAGS} ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie snmpwalk.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpbulkwalk$(EXEEXT): snmpbulkwalk.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmpbulkwalk.$(OSUFFIX) ${LDFLAGS} ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie snmpbulkwalk.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpbulkget$(EXEEXT): snmpbulkget.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmpbulkget.$(OSUFFIX) ${LDFLAGS} ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie snmpbulkget.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmptranslate$(EXEEXT): snmptranslate.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmptranslate.$(OSUFFIX) ${LDFLAGS} ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie snmptranslate.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpstatus$(EXEEXT): snmpstatus.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmpstatus.$(OSUFFIX) ${LDFLAGS} ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie snmpstatus.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpget$(EXEEXT): snmpget.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmpget.$(OSUFFIX) ${LDFLAGS} ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie snmpget.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpdelta$(EXEEXT): snmpdelta.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmpdelta.$(OSUFFIX) ${LDFLAGS} ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie snmpdelta.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmptable$(EXEEXT): snmptable.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmptable.$(OSUFFIX) ${LDFLAGS} ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie snmptable.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmptest$(EXEEXT): snmptest.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmptest.$(OSUFFIX) ${LDFLAGS} ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie snmptest.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmptrapd$(EXEEXT): $(TRAPD_OBJECTS) $(USETRAPLIBS) $(INSTALLLIBS) - $(LINK) ${CFLAGS} -o $@ $(TRAPD_OBJECTS) $(INSTALLLIBS) ${LDFLAGS} ${TRAPLIBS} + $(LINK) ${CFLAGS} -o $@ -pie $(TRAPD_OBJECTS) $(INSTALLLIBS) ${LDFLAGS} ${TRAPLIBS} snmptrap$(EXEEXT): snmptrap.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmptrap.$(OSUFFIX) ${LDFLAGS} ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie snmptrap.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpinform$(EXEEXT): snmptrap$(EXEEXT) rm -f snmpinform @@ -197,34 +197,34 @@ snmptop$(EXEEXT): snmpps$(EXEEXT) $(LN_S) snmpps$(EXEEXT) snmptop$(EXEEXT) snmpset$(EXEEXT): snmpset.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmpset.$(OSUFFIX) ${LDFLAGS} ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie snmpset.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpusm$(EXEEXT): snmpusm.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmpusm.$(OSUFFIX) ${LDFLAGS} ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie snmpusm.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpvacm$(EXEEXT): snmpvacm.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmpvacm.$(OSUFFIX) ${LDFLAGS} ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie snmpvacm.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmptls$(EXEEXT): snmptls.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmptls.$(OSUFFIX) ${LDFLAGS} ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie snmptls.$(OSUFFIX) ${LDFLAGS} ${LIBS} agentxtrap$(EXEEXT): agentxtrap.$(OSUFFIX) $(USEAGENTLIBS) $(LINK) ${CFLAGS} -o $@ agentxtrap.$(OSUFFIX) ${LDFLAGS} $(USEAGENTLIBS) $(PERLLDOPTS_FOR_APPS) ${LIBS} snmpgetnext$(EXEEXT): snmpgetnext.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmpgetnext.$(OSUFFIX) ${LDFLAGS} ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie snmpgetnext.$(OSUFFIX) ${LDFLAGS} ${LIBS} encode_keychange$(EXEEXT): encode_keychange.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ encode_keychange.$(OSUFFIX) ${LDFLAGS} ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie encode_keychange.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpdf$(EXEEXT): snmpdf.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmpdf.$(OSUFFIX) ${LDFLAGS} ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie snmpdf.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpps$(EXEEXT): snmpps.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmpps.$(OSUFFIX) ${LDFLAGS} @LIBCURSES@ ${LIBS} + $(LINK) ${CFLAGS} -o $@ -pie snmpps.$(OSUFFIX) ${LDFLAGS} @LIBCURSES@ ${LIBS} snmpping$(EXEEXT): snmpping.$(OSUFFIX) $(USELIBS) - $(LINK) ${CFLAGS} -o $@ snmpping.$(OSUFFIX) ${LDFLAGS} ${LIBS} -lm + $(LINK) ${CFLAGS} -o $@ -pie snmpping.$(OSUFFIX) ${LDFLAGS} ${LIBS} -lm snmppcap$(EXEEXT): snmppcap.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ snmppcap.$(OSUFFIX) ${LDFLAGS} ${LIBS} -lpcap diff --git a/apps/Makefile.in.pie b/apps/Makefile.in.pie new file mode 100644 index 0000000..e5e1f69 --- /dev/null +++ b/apps/Makefile.in.pie @@ -0,0 +1,263 @@ +# +# Makefile for snmpget, snmpwalk, snmpbulkwalk, snmptest, snmptranslate, +# snmptrapd, snmptable, snmpset, snmpgetnext, and other utilities. +# + +mysubdir=apps + +# use GNU vpath, if available, to only set a path for source and headers +# VPATH will pick up objects too, which is bad if you are sharing a +# source dir... +@GNU_vpath@ %.h $(srcdir) +@GNU_vpath@ %.c $(srcdir) +# fallback to regular VPATH for non-gnu... +@NON_GNU_VPATH@ $(srcdir) + +# +# Things to install +# + +@NETSNMP_BUILD_SSH_PROG_TRUE@SSHINSTALLBINPROG = sshtosnmp$(EXEEXT) +@NETSNMP_BUILD_SSH_PROG_FALSE@SSHINSTALLBINPROG = +@NETSNMP_BUILD_SSH_PROG_TRUE@SSHFEATUREPROG = sshtosnmp.ft +@NETSNMP_BUILD_SSH_PROG_FALSE@SSHFEATUREPROG = +@NETSNMP_BUILD_TLS_PROG_TRUE@TLSINSTALLBINPROG = snmptls$(EXEEXT) +@NETSNMP_BUILD_TLS_PROG_FALSE@TLSINSTALLBINPROG = +@NETSNMP_BUILD_TLS_PROG_TRUE@TLSFEATUREPROG = snmptls.ft +@NETSNMP_BUILD_TLS_PROG_FALSE@TLSFEATUREPROG = +@NETSNMP_BUILD_USM_PROG_TRUE@USMINSTALLBINPROG = snmpusm$(EXEEXT) +@NETSNMP_BUILD_USM_PROG_FALSE@USMINSTALLBINPROG = +@NETSNMP_BUILD_USM_PROG_TRUE@USMFEATUREPROG = snmpusm.ft +@NETSNMP_BUILD_USM_PROG_FALSE@USMFEATUREPROG = +@NETSNMP_BUILD_USM_PROG_TRUE@EKCSTALLBINPROG = encode_keychange$(EXEEXT) +@NETSNMP_BUILD_USM_PROG_FALSE@EKCSTALLBINPROG = +@NETSNMP_BUILD_USM_PROG_TRUE@EKCFEATUREPROG = encode_keychange.ft +@NETSNMP_BUILD_USM_PROG_FALSE@EKCFEATUREPROG = +@NETSNMP_BUILD_SET_PROG_TRUE@SNMPSETINSTALLBINPROG = snmpset$(EXEEXT) +@NETSNMP_BUILD_SET_PROG_FALSE@SNMPSETINSTALLBINPROG = +@NETSNMP_BUILD_SET_PROG_TRUE@SNMPSETFEATUREPROG = snmpset.ft +@NETSNMP_BUILD_SET_PROG_FALSE@SNMPSETFEATUREPROG = +@NETSNMP_BUILD_SET_PROG_TRUE@SNMPVACMINSTALLBINPROG = snmpvacm$(EXEEXT) +@NETSNMP_BUILD_SET_PROG_FALSE@SNMPVACMINSTALLBINPROG = +@NETSNMP_BUILD_SET_PROG_TRUE@SNMPVACMFEATUREPROG = snmpvacm.ft +@NETSNMP_BUILD_SET_PROG_FALSE@SNMPVACMFEATUREPROG = +@NETSNMP_BUILD_SET_PROG_TRUE@SNMPPINGINSTALLBINPROG = snmpping$(EXEEXT) +@NETSNMP_BUILD_SET_PROG_FALSE@SNMPPINGINSTALLBINPROG = +@NETSNMP_BUILD_SET_PROG_TRUE@SNMPPINGFEATUREPROG = snmpping.ft +@NETSNMP_BUILD_SET_PROG_FALSE@SNMPPINGFEATUREPROG = +@NETSNMP_BUILD_PCAP_PROG_TRUE@SNMPPCAPINSTALLBINPROG = snmppcap$(EXEEXT) +@NETSNMP_BUILD_PCAP_PROG_FALSE@SNMPPCAPINSTALLBINPROG = +@NETSNMP_BUILD_PCAP_PROG_TRUE@SNMPPCAPFEATUREPROG = snmppcap.ft +@NETSNMP_BUILD_PCAP_PROG_FALSE@SNMPPCAPFEATUREPROG = + +@NETSNMP_HAVE_AGENTX_LIBS_TRUE@AGENTXTRAP = agentxtrap$(EXEEXT) +@NETSNMP_HAVE_AGENTX_LIBS_FALSE@AGENTXTRAP = + +INSTALLBINPROGS = snmpget$(EXEEXT) \ + snmpgetnext$(EXEEXT) \ + $(SNMPSETINSTALLBINPROG) \ + snmpwalk$(EXEEXT) \ + snmpbulkwalk$(EXEEXT) \ + snmptable$(EXEEXT) \ + snmptrap$(EXEEXT) \ + snmpbulkget$(EXEEXT) \ + snmptranslate$(EXEEXT) \ + snmpstatus$(EXEEXT) \ + snmpdelta$(EXEEXT) \ + snmptest$(EXEEXT) \ + snmpdf$(EXEEXT) \ + snmpps$(EXEEXT) \ + $(SNMPPINGINSTALLBINPROG) \ + $(AGENTXTRAP) \ + $(SNMPVACMINSTALLBINPROG) \ + $(SSHINSTALLBINPROG) $(TLSINSTALLBINPROG) \ + $(USMINSTALLBINPROG) $(EKCSTALLBINPROG) \ + $(SNMPPCAPINSTALLBINPROG) + +INSTALLSBINPROGS = snmptrapd$(EXEEXT) + +INSTALLLIBS = libnetsnmptrapd.$(LIB_EXTENSION)$(LIB_VERSION) + +SUBDIRS = snmpnetstat + +FEATUREFILE=../include/net-snmp/features-apps.h + +# +# build variables. +# + +# USELIBS/USEAGENTLIBS are for dependencies +USELIBS = ../snmplib/libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION) +AGENTLIB = ../agent/libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION) +MIBLIB = ../agent/libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION) +USEAGENTLIBS = $(MIBLIB) $(AGENTLIB) $(USELIBS) +MYSQL_LIBS = @MYSQL_LIBS@ +MYSQL_INCLUDES = @MYSQL_INCLUDES@ + +VAL_LIBS = @VAL_LIBS@ +LIBS = $(USELIBS) $(VAL_LIBS) @LIBS@ +PERLLDOPTS_FOR_APPS = @PERLLDOPTS_FOR_APPS@ +PERLLDOPTS_FOR_LIBS = @PERLLDOPTS_FOR_LIBS@ + +# +# hack for compiling trapd when agent is disabled +TRAPDWITHAGENT = $(USETRAPLIBS) $(MYSQL_LIBS) $(VAL_LIBS) @AGENTLIBS@ +TRAPDWITHOUTAGENT = $(LIBS) $(MYSQL_LIBS) $(VAL_LIBS) + +# these will be set by configure to one of the above 2 lines +TRAPLIBS = @TRAPLIBS@ $(PERLLDOPTS_FOR_APPS) +USETRAPLIBS = @USETRAPLIBS@ + +CPPFLAGS = $(TOP_INCLUDES) -I. $(AGENT_INCLUDES) $(HELPER_INCLUDES) \ + $(MIBGROUP_INCLUDES) \ + $(SNMPLIB_INCLUDES) $(MYSQL_INCLUDES) @CPPFLAGS@ + +OSUFFIX = lo +TRAPD_OBJECTS = snmptrapd.$(OSUFFIX) @other_trapd_objects@ +LIBTRAPD_OBJS = snmptrapd_handlers.o snmptrapd_log.o \ + snmptrapd_auth.o snmptrapd_sql.o +LLIBTRAPD_OBJS = snmptrapd_handlers.lo snmptrapd_log.lo \ + snmptrapd_auth.lo snmptrapd_sql.lo +LIBTRAPD_FTS = snmptrapd_handlers.ft snmptrapd_log.ft \ + snmptrapd_auth.ft snmptrapd_sql.ft +OBJS = *.o +LOBJS = *.lo +FTOBJS=$(LIBTRAPD_FTS) \ + snmpwalk.ft \ + snmpbulkwalk.ft \ + snmpbulkget.ft \ + snmptranslate.ft \ + snmpstatus.ft \ + snmpget.ft \ + snmpdelta.ft \ + snmptable.ft \ + snmptest.ft \ + snmptrapd.ft \ + snmptrap.ft \ + $(SNMPSETFEATUREPROG) \ + $(SNMPVACMFEATUREPROG) \ + $(SNMPPINGFEATUREPROG) \ + $(SNMPPCAPFEATUREPROG) \ + $(USMFEATUREPROG) \ + $(TLSFEATUREPROG) \ + agentxtrap.ft \ + snmpgetnext.ft \ + $(EKCFEATUREPROG) \ + snmpdf.ft \ + snmpps.ft \ + $(SSHFEATUREPROG) + +all: standardall + +OTHERINSTALL=snmpinforminstall snmptopinstall snmptrapdperlinstall +OTHERUNINSTALL=snmpinformuninstall snmptopuninstall snmptrapdperluninstall + +# +# build rules +# +snmpwalk$(EXEEXT): snmpwalk.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmpwalk.$(OSUFFIX) ${LDFLAGS} ${LIBS} + +snmpbulkwalk$(EXEEXT): snmpbulkwalk.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmpbulkwalk.$(OSUFFIX) ${LDFLAGS} ${LIBS} + +snmpbulkget$(EXEEXT): snmpbulkget.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmpbulkget.$(OSUFFIX) ${LDFLAGS} ${LIBS} + +snmptranslate$(EXEEXT): snmptranslate.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmptranslate.$(OSUFFIX) ${LDFLAGS} ${LIBS} + +snmpstatus$(EXEEXT): snmpstatus.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmpstatus.$(OSUFFIX) ${LDFLAGS} ${LIBS} + +snmpget$(EXEEXT): snmpget.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmpget.$(OSUFFIX) ${LDFLAGS} ${LIBS} + +snmpdelta$(EXEEXT): snmpdelta.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmpdelta.$(OSUFFIX) ${LDFLAGS} ${LIBS} + +snmptable$(EXEEXT): snmptable.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmptable.$(OSUFFIX) ${LDFLAGS} ${LIBS} + +snmptest$(EXEEXT): snmptest.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmptest.$(OSUFFIX) ${LDFLAGS} ${LIBS} + +snmptrapd$(EXEEXT): $(TRAPD_OBJECTS) $(USETRAPLIBS) $(INSTALLLIBS) + $(LINK) ${CFLAGS} -o $@ $(TRAPD_OBJECTS) $(INSTALLLIBS) ${LDFLAGS} ${TRAPLIBS} + +snmptrap$(EXEEXT): snmptrap.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmptrap.$(OSUFFIX) ${LDFLAGS} ${LIBS} + +snmpinform$(EXEEXT): snmptrap$(EXEEXT) + rm -f snmpinform + $(LN_S) snmptrap$(EXEEXT) snmpinform$(EXEEXT) + +snmptop$(EXEEXT): snmpps$(EXEEXT) + rm -f snmptop + $(LN_S) snmpps$(EXEEXT) snmptop$(EXEEXT) + +snmpset$(EXEEXT): snmpset.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmpset.$(OSUFFIX) ${LDFLAGS} ${LIBS} + +snmpusm$(EXEEXT): snmpusm.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmpusm.$(OSUFFIX) ${LDFLAGS} ${LIBS} + +snmpvacm$(EXEEXT): snmpvacm.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmpvacm.$(OSUFFIX) ${LDFLAGS} ${LIBS} + +snmptls$(EXEEXT): snmptls.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmptls.$(OSUFFIX) ${LDFLAGS} ${LIBS} + +agentxtrap$(EXEEXT): agentxtrap.$(OSUFFIX) $(USEAGENTLIBS) + $(LINK) ${CFLAGS} -o $@ agentxtrap.$(OSUFFIX) ${LDFLAGS} $(USEAGENTLIBS) $(PERLLDOPTS_FOR_APPS) ${LIBS} + +snmpgetnext$(EXEEXT): snmpgetnext.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmpgetnext.$(OSUFFIX) ${LDFLAGS} ${LIBS} + +encode_keychange$(EXEEXT): encode_keychange.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ encode_keychange.$(OSUFFIX) ${LDFLAGS} ${LIBS} + +snmpdf$(EXEEXT): snmpdf.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmpdf.$(OSUFFIX) ${LDFLAGS} ${LIBS} + +snmpps$(EXEEXT): snmpps.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmpps.$(OSUFFIX) ${LDFLAGS} @LIBCURSES@ ${LIBS} + +snmpping$(EXEEXT): snmpping.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmpping.$(OSUFFIX) ${LDFLAGS} ${LIBS} -lm + +snmppcap$(EXEEXT): snmppcap.$(OSUFFIX) $(USELIBS) + $(LINK) ${CFLAGS} -o $@ snmppcap.$(OSUFFIX) ${LDFLAGS} ${LIBS} -lpcap + +libnetsnmptrapd.$(LIB_EXTENSION)$(LIB_VERSION): $(LLIBTRAPD_OBJS) + $(LIB_LD_CMD) $@ ${LLIBTRAPD_OBJS} $(MIBLIB) $(USELIBS) $(PERLLDOPTS_FOR_LIBS) $(LIB_LD_LIBS) + $(RANLIB) $@ + +snmpinforminstall: + rm -f $(INSTALL_PREFIX)$(bindir)/snmpinform$(EXEEXT) + $(LN_S) snmptrap$(EXEEXT) $(INSTALL_PREFIX)$(bindir)/snmpinform$(EXEEXT) + +snmpinformuninstall: + rm -f $(INSTALL_PREFIX)$(bindir)/snmpinform$(EXEEXT) + +snmptopinstall: + rm -f $(INSTALL_PREFIX)$(bindir)/snmptop$(EXEEXT) + $(LN_S) snmpps$(EXEEXT) $(INSTALL_PREFIX)$(bindir)/snmptop$(EXEEXT) + +snmptopuninstall: + rm -f $(INSTALL_PREFIX)$(bindir)/snmptop$(EXEEXT) + +snmptrapdperlinstall: installdirs + @$(INSTALL_DATA) $(srcdir)/snmp_perl_trapd.pl $(INSTALL_PREFIX)$(snmplibdir)/snmp_perl_trapd.pl + @echo "install: installed snmp_perl_trapd.pl in $(INSTALL_PREFIX)$(snmplibdir)" + +snmptrapdperluninstall: installdirs + @rm -f $(INSTALL_PREFIX)$(snmplibdir)/snmp_perl_trapd.pl + @echo "removed snmp_perl_trapd.pl from $(INSTALL_PREFIX)$(snmplibdir)" + +sshtosnmp$(EXEEXT): sshtosnmp.$(OSUFFIX) + $(LINK) ${CFLAGS} -o $@ sshtosnmp.$(OSUFFIX) + + +installdirs: + @$(SHELL) $(srcdir)/../mkinstalldirs $(INSTALL_PREFIX)$(snmplibdir) diff --git a/apps/snmpnetstat/Makefile.in b/apps/snmpnetstat/Makefile.in index dfb566d..c683e45 100644 --- a/apps/snmpnetstat/Makefile.in +++ b/apps/snmpnetstat/Makefile.in @@ -34,4 +34,4 @@ LIBS= ../../snmplib/libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION) $(VAL_LIBS) @LIBS all: standardall snmpnetstat$(EXEEXT): ${LOBJS} ${USELIBS} - ${LINK} ${CFLAGS} -o $@ ${LOBJS} ${LOCAL_LIBS} ${LDFLAGS} ${LIBS} + ${LINK} ${CFLAGS} -o $@ -pie ${LOBJS} ${LOCAL_LIBS} ${LDFLAGS} ${LIBS} diff --git a/apps/snmpnetstat/Makefile.in.pie b/apps/snmpnetstat/Makefile.in.pie new file mode 100644 index 0000000..dfb566d --- /dev/null +++ b/apps/snmpnetstat/Makefile.in.pie @@ -0,0 +1,37 @@ +# +# snmpnetstat Makefile +# + +mysubdir=apps/snmpnetstat + +INSTALLBINPROGS=snmpnetstat$(EXEEXT) + +# use GNU vpath, if available, to only set a path for source and headers +# VPATH will pick up objects too, which is bad if you are sharing a +# source dir... +@GNU_vpath@ %.h $(srcdir) +@GNU_vpath@ %.c $(srcdir) +# fallback to regular VPATH for non-gnu... +@NON_GNU_VPATH@ $(srcdir) + +# +# build info +# +SRCS= inet.c inet6.c inetx.c if.c main.c route.c routex.c winstub.c ffs.c +OBJS= inet.o inet6.o inetx.o if.o main.o route.o routex.o winstub.o ffs.o +LOBJS= inet.lo inet6.lo inetx.lo if.lo main.lo route.lo routex.lo winstub.lo ffs.lo +FTOBJS= inet.ft inet6.ft inetx.ft if.ft main.ft route.ft routex.ft winstub.ft ffs.ft +TARG= snmpnetstat$(EXEEXT) + +FEATUREFILE=../../include/net-snmp/features-snmpnetstat.h + +CPPFLAGS= $(TOP_INCLUDES) @CPPFLAGS@ + +VAL_LIBS = @VAL_LIBS@ +USELIBS= ../../snmplib/libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION) +LIBS= ../../snmplib/libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION) $(VAL_LIBS) @LIBS@ + +all: standardall + +snmpnetstat$(EXEEXT): ${LOBJS} ${USELIBS} + ${LINK} ${CFLAGS} -o $@ ${LOBJS} ${LOCAL_LIBS} ${LDFLAGS} ${LIBS}