Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ./../.././.././../../.././bin/net-snmp-config-64
Real path: /usr/bin/net-snmp-config-64
Zurück
#!/bin/sh # # $Id$ # # this shell script is designed to merely dump the configuration # information about how the net-snmp package was compiled. The # information is particularly useful for applications that need to # link against the net-snmp libraries and hence must know about any # other libraries that must be linked in as well. check_build_dir() { build_dir=$1 if test "x$build_dir" = "x" ; then echo "You must specify a build directory." exit 1 fi # is it the src dir? if test -f $build_dir/net-snmp-config.in ; then return fi # make sure we can find build dir if test ! -d $build_dir/snmplib/.libs ; then echo "$build_dir does not appear to be a build directory." exit 1 fi } # usage: index n arguments # effect: returns the (n+1)th argument index() { eval echo \$`expr $1 + 1` } # usage: count arguments # effect: returns the number of arguments count() { echo $# } prefix=/usr exec_prefix=${prefix} includedir=${prefix}/include libdir=/usr/lib/sparcv9 datarootdir=${prefix}/share NSC_LDFLAGS="" NSC_LIBS="-lelf -lm " NSC_LNETSNMPLIBS=" -lkstat -lsocket -lcrypto" NSC_LAGENTLIBS="-lkvm " NSC_LMIBLIBS="-ladm " NSC_INCLUDEDIR=${includedir} NSC_LIBDIR=-L${libdir} NSC_SNMPLIBS="-lnetsnmp ${NSC_LNETSNMPLIBS}" NSC_SUBAGENTLIBS="-lnetsnmpagent ${NSC_LAGENTLIBS} ${NSC_SNMPLIBS}" NSC_AGENTLIBS="-lnetsnmpmibs ${NSC_LMIBLIBS} ${NSC_SUBAGENTLIBS}" NSC_PREFIX=$prefix NSC_EXEC_PREFIX=$exec_prefix NSC_SRCDIR=/builds/11.4-SRU/11.4.63.0.1.157.0/components/net-snmp/net-snmp-5.8 NSC_INCDIR=${NSC_PREFIX}/include NSC_BASE_SNMP_LIBS="-lnetsnmp" NSC_BASE_SUBAGENT_LIBS="-lnetsnmpagent ${NSC_BASE_SNMP_LIBS}" NSC_BASE_AGENT_LIBS="-lnetsnmpmibs ${NSC_BASE_SUBAGENT_LIBS}" NSC_SRC_LIBDIRS="agent/.libs snmplib/.libs" NSC_SRC_LIBDEPS="agent/.libs/libnetsnmpmibs.a agent/.libs/libnetsnmpagent.a snmplib/.libs/libnetsnmp.a" if test "x$NSC_SRCDIR" = "x." ; then NSC_SRCDIR="NET-SNMP-SOURCE-DIR" elif test "x$NSC_SRCDIR" = "x" ; then NSC_SRCDIR="NET-SNMP-SOURCE-DIR" fi if test "x$1" = "x"; then usage="yes" else while test "x$done" = "x" -a "x$1" != "x" -a "x$usage" != "xyes"; do case "$1" in -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; *) optarg= ;; esac unset shifted case $1 in --prefix=*) prefix=$optarg NSC_PREFIX=${prefix} NSC_INCLUDEDIR=${prefix}/include NSC_LIBDIR=-L${prefix}/lib ;; --exec-prefix=*) exec_prefix=$optarg NSC_EXEC_PREFIX=${exec_prefix} NSC_LIBDIR=-L${exec_prefix}/lib ;; --debug-tokens|--deb*|--dbg*) echo "find $NSC_SRCDIR -name \"*.c\" -print | xargs grep DEBUGMSGT | grep \\\" | cut -f 2 -d\\\" | sort -u" if test "x$NSC_SRCDIR" != "xNET-SNMP-SOURCE-DIR" ; then /usr/bin/find $NSC_SRCDIR -name "*.c" -print | xargs grep DEBUGMSGT | grep \" | cut -f 2 -d\" | sort -u fi ;; --indent-options|--in*) echo "indent -orig -nbc -bap -nut -nfca `(cd $NSC_INCDIR/net-snmp; perl -n -e 'print "-T $1 " if (/}\s*(netsnmp_\w+)\s*;/);' */*.h)`" ;; --configure-options|--con*) echo " '--prefix=/usr' '--mandir=/usr/share/man' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--libdir=/usr/lib/sparcv9' 'PERLPROG=/usr/perl5/5.36/bin/perl' '--with-perl-modules=DESTDIR=/builds/11.4-SRU/11.4.63.0.1.157.0/components/net-snmp/build/prototype/sparc INSTALLDIRS=vendor' '--disable-perl-cc-checks' '--with-default-snmp-version=3' '--with-sys-contact=root@localhost' '--with-sys-location=Unknown' '--with-logfile=/var/log/snmpd.log' '--with-persistent-directory=/var/net-snmp' '--with-mibdirs=/etc/net-snmp/snmp/mibs' '--datadir=/etc/net-snmp' '--enable-agentx-dom-sock-only' '--enable-ucd-snmp-compatibility' '--enable-ipv6' '--enable-mfd-rewrites' '--with-openssl=/lib/openssl' '--with-transports=UDP TCP UDPIPv6 TCPIPv6' '--with-mib-modules=host disman/event-mib ucd-snmp/diskio udp-mib tcp-mib if-mib' '--with-python-modules=--basedir=/usr/bin' 'CC=/usr/gcc/12/bin/gcc' 'CFLAGS=-m64 -fPIC -DPIC -O3 -mno-app-regs -ffile-prefix-map=/builds/11.4-SRU/11.4.63.0.1.157.0/components/net-snmp=.' 'LDFLAGS=' 'CPPFLAGS=-m64 -DFALSE_SHARING_ALIGN=64' 'PKG_CONFIG_PATH=/usr/lib/sparcv9/pkgconfig'" ;; --snmpd-module-list|--mod*) echo ucd-snmp/diskio host/hrh_storage host/hrh_filesys host/hrSWInstalledTable host/hrSWRunTable host/hr_system host/hr_device host/hr_other host/hr_proc host/hr_network host/hr_print host/hr_disk host/hr_partition util_funcs/header_simple_table snmpv3/snmpEngine snmpv3/snmpMPDStats snmpv3/usmStats snmpv3/usmConf snmpv3/usmUser mibII/system_mib mibII/sysORTable mibII/snmp_mib mibII/vacm_vars mibII/setSerialNo mibII/at mibII/ip mibII/tcp mibII/icmp mibII/udp ucd-snmp/disk_hw ucd-snmp/proc ucd-snmp/versioninfo ucd-snmp/pass ucd-snmp/pass_persist ucd-snmp/loadave agent/extend ucd-snmp/errormib ucd-snmp/file ucd-snmp/dlmod ucd-snmp/proxy ucd-snmp/logmatch ucd-snmp/memory ucd-snmp/vmstat notification/snmpNotifyTable notification/snmpNotifyFilterProfileTable notification-log-mib/notification_log target/snmpTargetAddrEntry target/snmpTargetParamsEntry target/target target/target_counters agent/nsTransactionTable agent/nsModuleTable agent/nsDebug agent/nsCache agent/nsLogging agent/nsVacmAccessTable agentx/master agentx/subagent disman/event/mteScalars disman/event/mteTrigger disman/event/mteTriggerTable disman/event/mteTriggerDeltaTable disman/event/mteTriggerExistenceTable disman/event/mteTriggerBooleanTable disman/event/mteTriggerThresholdTable disman/event/mteTriggerConf disman/event/mteEvent disman/event/mteEventTable disman/event/mteEventSetTable disman/event/mteEventNotificationTable disman/event/mteEventConf disman/event/mteObjects disman/event/mteObjectsTable disman/event/mteObjectsConf disman/schedule/schedCore disman/schedule/schedConf disman/schedule/schedTable utilities/override utilities/execute utilities/iquery host/data_access/swinst host/data_access/swrun host/hrSWRunPerfTable util_funcs if-mib/ifTable/ifTable if-mib/ifXTable/ifXTable tcp-mib/tcpConnectionTable/tcpConnectionTable tcp-mib/tcpListenerTable/tcpListenerTable udp-mib/udpEndpointTable/udpEndpointTable util_funcs/header_generic mibII/updates mibII/vacm_context mibII/vacm_conf kernel_sunos5 mibII/data_access/at_solaris mibII/ipAddr mibII/var_route mibII/route_write mibII/tcpTable mibII/udpTable ip-mib/ipAddressTable/ipAddressTable ip-mib/ipAddressPrefixTable/ipAddressPrefixTable ip-mib/ipDefaultRouterTable/ipDefaultRouterTable ip-mib/ipSystemStatsTable/ipSystemStatsTable ip-mib/ipSystemStatsTable/ipSystemStatsTable_interface ip-mib/ipSystemStatsTable/ipSystemStatsTable_data_access ip-mib/ipIfStatsTable/ipIfStatsTable ip-mib/ipIfStatsTable/ipIfStatsTable_interface ip-mib/ipIfStatsTable/ipIfStatsTable_data_access util_funcs/restart ucd-snmp/pass_common notification/snmpNotifyTable_data header_complex snmp-notification-mib/snmpNotifyFilterTable/snmpNotifyFilterTable_data_storage snmp-notification-mib/snmpNotifyFilterTable/snmpNotifyFilterTable notification/snmpNotifyFilterProfileTable_data target/snmpTargetAddrEntry_data target/snmpTargetParamsEntry_data agentx/protocol agentx/master_admin agentx/agentx_config agentx/client hardware/memory/hw_mem hardware/memory/memory_solaris hardware/fsys/hw_fsys hardware/fsys/fsys_mntent host/data_access/swinst_pkginfo host/data_access/swrun_procfs_psinfo hardware/cpu/cpu hardware/cpu/cpu_kstat if-mib/data_access/interface if-mib/ifTable/ifTable_interface if-mib/ifTable/ifTable_data_access if-mib/ifXTable/ifXTable_interface if-mib/ifXTable/ifXTable_data_access tcp-mib/data_access/tcpConn_common tcp-mib/data_access/tcpConn_solaris2 tcp-mib/tcpConnectionTable/tcpConnectionTable_interface tcp-mib/tcpConnectionTable/tcpConnectionTable_data_access tcp-mib/tcpListenerTable/tcpListenerTable_interface tcp-mib/tcpListenerTable/tcpListenerTable_data_access udp-mib/udpEndpointTable/udpEndpointTable_interface udp-mib/udpEndpointTable/udpEndpointTable_data_access ip-forward-mib/ipCidrRouteTable/ipCidrRouteTable ip-forward-mib/inetCidrRouteTable/inetCidrRouteTable ip-mib/ipAddressTable/ipAddressTable_interface ip-mib/ipAddressTable/ipAddressTable_data_access ip-mib/ipAddressPrefixTable/ipAddressPrefixTable_interface ip-mib/ipAddressPrefixTable/ipAddressPrefixTable_data_access ip-mib/ipDefaultRouterTable/ipDefaultRouterTable_interface ip-mib/ipDefaultRouterTable/ipDefaultRouterTable_data_access ip-mib/ipDefaultRouterTable/ipDefaultRouterTable_data_get ip-mib/data_access/systemstats_common ip-mib/data_access/systemstats_solaris2 ip-mib/ipIfStatsTable/ipIfStatsTable_data_get snmp-notification-mib/snmpNotifyFilterTable/snmpNotifyFilterTable_interface snmp-notification-mib/snmpNotifyFilterTable/snmpNotifyFilterTable_data_access if-mib/data_access/interface_solaris2 udp-mib/data_access/udp_endpoint_common udp-mib/data_access/udp_endpoint_solaris2 ip-forward-mib/ipCidrRouteTable/ipCidrRouteTable_interface ip-forward-mib/ipCidrRouteTable/ipCidrRouteTable_data_access ip-forward-mib/inetCidrRouteTable/inetCidrRouteTable_interface ip-forward-mib/inetCidrRouteTable/inetCidrRouteTable_data_access ip-mib/data_access/ipaddress_common ip-mib/data_access/ipaddress_solaris2 ip-mib/data_access/defaultrouter_common ip-mib/data_access/defaultrouter_solaris2 ip-forward-mib/data_access/route_common ip-forward-mib/data_access/route_solaris ;; --default-mibs|--mibs|--MIBS) echo :SNMPv2-MIB:IF-MIB:IP-MIB:TCP-MIB:UDP-MIB:HOST-RESOURCES-MIB:NOTIFICATION-LOG-MIB:DISMAN-EVENT-MIB:DISMAN-SCHEDULE-MIB:HOST-RESOURCES-TYPES:UCD-DISKIO-MIB:UCD-SNMP-MIB:UCD-DEMO-MIB:SNMP-TARGET-MIB:NET-SNMP-AGENT-MIB:SNMP-FRAMEWORK-MIB:SNMP-MPD-MIB:SNMP-USER-BASED-SM-MIB:SNMP-VIEW-BASED-ACM-MIB:SNMP-COMMUNITY-MIB:IP-FORWARD-MIB:NET-SNMP-PASS-MIB:NET-SNMP-EXTEND-MIB:UCD-DLMOD-MIB:SNMP-NOTIFICATION-MIB:SNMPv2-TM:NET-SNMP-VACM-MIB ;; --default-mibdirs|--mibdirs|--MIBDIRS) echo /etc/net-snmp/snmp/mibs ;; --env-separator) echo ":" ;; --exeext) echo "" ;; --snmpconfpath|--SNMPCONFPATH) echo "/usr/etc/snmp:/etc/net-snmp/snmp:/usr/lib/sparcv9/snmp:$HOME/.snmp:/var/net-snmp" ;; --persistent-directory|--persistent-dir) echo /var/net-snmp ;; --perlprog|--perl) echo /usr/perl5/5.36/bin/perl ;; #################################################### compile --base-cflags) echo -m64 -fPIC -DPIC -O3 -mno-app-regs -ffile-prefix-map=/builds/11.4-SRU/11.4.63.0.1.157.0/components/net-snmp=. -DNETSNMP_ENABLE_IPV6 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -m64 -fPIC -DPIC -O3 -mno-app-regs -ffile-prefix-map=/builds/11.4-SRU/11.4.63.0.1.157.0/components/net-snmp=. -Usolaris2 -Dsolaris2=solaris2 -m64 -DFALSE_SHARING_ALIGN=64 -I${NSC_INCLUDEDIR} ;; --cflags|--cf*) echo -m64 -fPIC -DPIC -O3 -mno-app-regs -ffile-prefix-map=/builds/11.4-SRU/11.4.63.0.1.157.0/components/net-snmp=. -DNETSNMP_ENABLE_IPV6 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -m64 -fPIC -DPIC -O3 -mno-app-regs -ffile-prefix-map=/builds/11.4-SRU/11.4.63.0.1.157.0/components/net-snmp=. -Usolaris2 -Dsolaris2=solaris2 -m64 -DFALSE_SHARING_ALIGN=64 -I. -I${NSC_INCLUDEDIR} ;; --srcdir) echo $NSC_SRCDIR ;; #################################################### linking --libdir|--lib-dir) echo $NSC_LIBDIR ;; --ldflags|--ld*) echo $NSC_LDFLAGS ;; --build-lib-dirs) shift build_dir=$1 check_build_dir $build_dir for dir in $NSC_SRC_LIBDIRS; do result="$result -L$build_dir/$dir" done echo $result ;; --build-lib-deps) shift build_dir=$1 check_build_dir $build_dir for dir in $NSC_SRC_LIBDEPS; do result="$result $build_dir/$dir" done echo $result ;; --build-includes) shift build_dir=$1 check_build_dir $build_dir result="-I$build_dir/include" if test "$build_dir" != "$NSC_SRCDIR" -a "$NSC_SRCDIR" != "NET-SNMP-SOURCE-DIR" then result="$result -I$NSC_SRCDIR/include" fi echo $result ;; --build-command) echo "/usr/gcc/12/bin/gcc -m64 -fPIC -DPIC -O3 -mno-app-regs -ffile-prefix-map=/builds/11.4-SRU/11.4.63.0.1.157.0/components/net-snmp=. -DNETSNMP_ENABLE_IPV6 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -m64 -fPIC -DPIC -O3 -mno-app-regs -ffile-prefix-map=/builds/11.4-SRU/11.4.63.0.1.157.0/components/net-snmp=. -Usolaris2 -Dsolaris2=solaris2 -m64 -DFALSE_SHARING_ALIGN=64" ;; #################################################### client lib --libs) # use this one == --netsnmp-libs + --external-libs echo $NSC_LDFLAGS $NSC_LIBDIR $NSC_SNMPLIBS $NSC_LIBS ;; --netsnmp-libs) echo $NSC_LIBDIR $NSC_BASE_SNMP_LIBS ;; --external-libs) echo $NSC_LDFLAGS $NSC_LNETSNMPLIBS $NSC_LIBS ;; #################################################### agent lib --base-agent-libs) echo $NSC_BASE_AGENT_LIBS ;; --base-subagent-libs) echo $NSC_BASE_SUBAGENT_LIBS ;; --agent-libs) # use this one == --netsnmp-agent-libs + --external-libs echo $NSC_LDFLAGS $NSC_LIBDIR $NSC_AGENTLIBS $NSC_LIBS ;; --netsnmp-agent-libs) echo $NSC_LIBDIR $NSC_BASE_AGENT_LIBS ;; --external-agent-libs) echo $NSC_LDFLAGS $NSC_LMIBLIBS $NSC_LAGENTLIBS $NSC_LNETSNMPLIBS $NSC_LIBS ;; #################################################### --version|--ver*) echo 5.8 ;; --help) usage="yes" ;; --prefix|--pre*) echo $NSC_PREFIX ;; --exec-prefix) echo $NSC_EXEC_PREFIX ;; #################################################### --create-snmpv3-user) done=1 shift net-snmp-create-v3-user $* exit $? ;; #################################################### --compile-subagent) shift shifted=1 while test "x$done" = "x" -a "x$1" != "x" ; do case $1 in --norm) norm=1 shift ;; --cflags) shift if test "x$1" = "x" ; then echo "You must specify the extra cflags" exit 1 fi cflags="$1" echo "setting extra cflags: $cflags" shift ;; --ldflags) shift if test "x$1" = "x" ; then echo "You must specify the extra ldflags" exit 1 fi ldflags="$1" echo "setting extra ldflags: $ldflags" shift ;; --*) echo "unknown suboption to --compile-subagent: $1" exit 1 ;; *) if test "x$outname" = "x"; then outname=$1 shift else done=1 fi ;; esac done tmpfile=netsnmptmp.$$.c if test -f $tmpfile; then echo "Ack. Can't create $tmpfile: already exists" exit 1 fi echo "generating the temporary code file: $tmpfile" rm -f $tmpfile cat > $tmpfile <<EOF /* generated from net-snmp-config */ #include <net-snmp/net-snmp-config.h> #ifdef HAVE_SIGNAL #include <signal.h> #endif /* HAVE_SIGNAL */ #ifdef HAVE_SYS_STAT_H #include <sys/stat.h> #endif /* HAVE_SYS_STAT_H */ #ifdef HAVE_FCNTL_H #include <fcntl.h> #endif /* HAVE_FCNTL_H */ #include <net-snmp/net-snmp-includes.h> #include <net-snmp/agent/net-snmp-agent-includes.h> EOF # If we were only given a single filename # (and no explicit output name) # then use that as the base of the output name # # If we weren't even given that, then bomb out if test "x$1" = "x"; then if test "x$outname" = "x"; then echo "No MIB module codefile specified" rm -f $tmpfile exit 1 else cfiles=$outname outname=`basename $cfiles | sed 's/\.[co]$//'` if test -f $outname.h; then if grep "init_$outname" $outname.h; then echo " #include \"$outname.h\"" >> $tmpfile fi fi fi fi # add include files while test "$1" != ""; do cfiles="$cfiles $1" name=`basename $1 | sed 's/\.[co]$//'` if test -f $name.h; then if grep "init_$name" $name.h; then echo " #include \"$name.h\"" >> $tmpfile fi fi shift done cat >> $tmpfile <<EOF const char *app_name = "$outname"; static int reconfig = 0; extern int netsnmp_running; RETSIGTYPE stop_server(int a) { netsnmp_running = 0; } #ifdef SIGHUP RETSIGTYPE hup_handler(int sig) { reconfig = 1; signal(SIGHUP, hup_handler); } #endif static void usage(const char *prog) { fprintf(stderr, "USAGE: %s [OPTIONS]\n" "\n" "OPTIONS:\n", prog); fprintf(stderr, " -c FILE[,...]\t\tread FILE(s) as configuration file(s)\n" " -C\t\t\tdo not read the default configuration files\n" " -d\t\t\tdump all traffic\n" " -D TOKEN[,...]\tturn on debugging output for the specified " "TOKENs\n" "\t\t\t (ALL gives extremely verbose debugging output)\n" " -f\t\t\tDo not fork() from the calling shell.\n" " -h\t\t\tdisplay this help message\n" " -H\t\t\tdisplay a list of configuration file directives\n" " -L LOGOPTS\t\tToggle various defaults controlling logging:\n"); snmp_log_options_usage("\t\t\t ", stderr); #ifndef DISABLE_MIB_LOADING fprintf(stderr, " -m MIB[" ENV_SEPARATOR "...]\t\tload given list of MIBs (ALL loads " "everything)\n" " -M DIR[" ENV_SEPARATOR "...]\t\tlook in given list of directories for MIBs\n"); #endif /* DISABLE_MIB_LOADING */ fprintf(stderr, " -p FILE\t\tstore process id in FILE\n"); #ifndef DISABLE_MIB_LOADING fprintf(stderr, " -P MIBOPTS\t\tToggle various defaults controlling mib " "parsing:\n"); snmp_mib_toggle_options_usage("\t\t\t ", stderr); #endif /* DISABLE_MIB_LOADING */ fprintf(stderr, " -v\t\t\tdisplay package version number\n" " -x TRANSPORT\tconnect to master agent using TRANSPORT\n"); exit(1); } static void version(void) { fprintf(stderr, "NET-SNMP version: %s\n", netsnmp_get_version()); exit(0); } int main (int argc, char **argv) { int arg; char* cp = NULL; int dont_fork = 0, do_help = 0; char* pid_file = NULL; while ((arg = getopt(argc, argv, "c:CdD:fhHL:" #ifndef DISABLE_MIB_LOADING "m:M:" #endif /* DISABLE_MIB_LOADING */ "n:p:" #ifndef DISABLE_MIB_LOADING "P:" #endif /* DISABLE_MIB_LOADING */ "vx:")) != EOF) { switch (arg) { case 'c': if (optarg != NULL) { netsnmp_ds_set_string(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_OPTIONALCONFIG, optarg); } else { usage(argv[0]); } break; case 'C': netsnmp_ds_set_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_DONT_READ_CONFIGS, 1); break; case 'd': netsnmp_ds_set_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_DUMP_PACKET, 1); break; case 'D': debug_register_tokens(optarg); snmp_set_do_debugging(1); break; case 'f': dont_fork = 1; break; case 'h': usage(argv[0]); break; case 'H': do_help = 1; break; case 'L': if (snmp_log_options(optarg, argc, argv) < 0) { exit(1); } break; #ifndef DISABLE_MIB_LOADING case 'm': if (optarg != NULL) { setenv("MIBS", optarg, 1); } else { usage(argv[0]); } break; case 'M': if (optarg != NULL) { setenv("MIBDIRS", optarg, 1); } else { usage(argv[0]); } break; #endif /* DISABLE_MIB_LOADING */ case 'n': if (optarg != NULL) { app_name = optarg; netsnmp_ds_set_string(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_APPTYPE, app_name); } else { usage(argv[0]); } break; case 'p': if (optarg != NULL) { pid_file = optarg; } else { usage(argv[0]); } break; #ifndef DISABLE_MIB_LOADING case 'P': cp = snmp_mib_toggle_options(optarg); if (cp != NULL) { fprintf(stderr, "Unknown parser option to -P: %c.\n", *cp); usage(argv[0]); } break; #endif /* DISABLE_MIB_LOADING */ case 'v': version(); break; case 'x': if (optarg != NULL) { netsnmp_ds_set_string(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_X_SOCKET, optarg); } else { usage(argv[0]); } break; default: fprintf(stderr, "invalid option: -%c\n", arg); usage(argv[0]); break; } } if (do_help) { netsnmp_ds_set_boolean(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_NO_ROOT_ACCESS, 1); } else { /* we are a subagent */ netsnmp_ds_set_boolean(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_ROLE, 1); if (!dont_fork) { if (netsnmp_daemonize(1, snmp_stderrlog_status()) != 0) exit(1); } #if HAVE_GETPID if (pid_file != NULL) { /* * unlink the pid_file, if it exists, prior to open. Without * doing this the open will fail if the user specified pid_file * already exists. */ int fd; unlink(pid_file); fd = open(pid_file, O_CREAT | O_EXCL | O_WRONLY, 0600); if (fd == -1) { snmp_log_perror(pid_file); if (!netsnmp_ds_get_boolean(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_NO_ROOT_ACCESS)) { exit(1); } } else { char buf[3 + sizeof(long) * 3]; int len = snprintf(buf, sizeof(buf), "%ld\n", (long int)getpid()); write(fd, buf, len); close(fd); } } #endif /* initialize tcpip, if necessary */ SOCK_STARTUP; } /* initialize the agent library */ init_agent(app_name); /* initialize your mib code here */ EOF # add init routines for i in $cfiles ; do name=`basename $i | sed 's/\.[co]$//'` echo checking for init_$name in $i if grep "init_$name" $i ; then echo " init_${name}();" >> $tmpfile fi done # handle the main loop cat >> $tmpfile <<EOF /* $outname will be used to read $outname.conf files. */ init_snmp("$outname"); if (do_help) { fprintf(stderr, "Configuration directives understood:\n"); read_config_print_usage(" "); exit(0); } /* In case we received a request to stop (kill -TERM or kill -INT) */ netsnmp_running = 1; #ifdef SIGTERM signal(SIGTERM, stop_server); #endif #ifdef SIGINT signal(SIGINT, stop_server); #endif #ifdef SIGHUP signal(SIGHUP, hup_handler); #endif /* main loop here... */ while(netsnmp_running) { if (reconfig) { free_config(); read_configs(); reconfig = 0; } agent_check_and_process(1); } /* at shutdown time */ snmp_shutdown(app_name); /* deinitialize your mib code here */ EOF # add shutdown routines i=`count $cfiles` while [ $i -gt 0 ] ; do fullname=`index $i $cfiles` name=`basename $fullname | sed 's/\.[co]$//'` echo checking for shutdown_$name in $fullname if grep "shutdown_$name" $fullname ; then echo " shutdown_${name}();" >> $tmpfile fi i=`expr $i - 1` done # finish file cat >> $tmpfile <<EOF /* shutdown the agent library */ shutdown_agent(); if (pid_file != NULL) { unlink(pid_file); } SOCK_CLEANUP; exit(0); } EOF if test "$?" != 0 -o ! -f "$tmpfile" ; then echo "Ack. Can't create $tmpfile." exit 1 fi cmd="/usr/gcc/12/bin/gcc $cflags -m64 -fPIC -DPIC -O3 -mno-app-regs -ffile-prefix-map=/builds/11.4-SRU/11.4.63.0.1.157.0/components/net-snmp=. -DNETSNMP_ENABLE_IPV6 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -m64 -fPIC -DPIC -O3 -mno-app-regs -ffile-prefix-map=/builds/11.4-SRU/11.4.63.0.1.157.0/components/net-snmp=. -Usolaris2 -Dsolaris2=solaris2 -I. -I${NSC_INCLUDEDIR} -o $outname $tmpfile $cfiles $NSC_LDFLAGS $NSC_LIBDIR $NSC_BASE_AGENT_LIBS $NSC_AGENTLIBS $ldflags" echo "running: $cmd" `$cmd` result=$? if test "x$norm" != "x1" ; then echo "removing the temporary code file: $tmpfile" rm -f $tmpfile else echo "leaving the temporary code file: $tmpfile" fi if test "$result" = "0" -a -f "$outname" ; then echo "subagent program $outname created" fi exit $result ;; *) echo "unknown option $1" usage="yes" ;; esac if [ "x$shifted" = "x" ] ; then shift fi done fi if test "x$usage" = "xyes"; then echo "" echo "Usage:" echo " net-snmp-config [--cflags] [--agent-libs] [--libs] [--version]" echo " ... [see below for complete flag list]" echo "" echo " --version displays the net-snmp version number" echo " --indent-options displays the indent options from the Coding Style" echo " --debug-tokens displays a example command line to search to source" echo " code for a list of available debug tokens" echo "" echo " SNMP Setup commands:" echo "" echo " --create-snmpv3-user creates a SNMPv3 user in Net-SNMP config file." echo " See net-snmp-create-v3-user --help for list of" echo " accepted options." echo "" echo " These options produce the various compilation flags needed when" echo " building external SNMP applications:" echo "" echo " --base-cflags lists additional compilation flags needed" echo " --cflags lists additional compilation flags needed" echo " (includes -I. and extra developer warning flags)" echo "" echo " These options produce the various link flags needed when" echo " building external SNMP applications:" echo "" echo " --libs lists libraries needed for building applications" echo " --agent-libs lists libraries needed for building subagents" echo "" echo " These options produce various link flags broken down into parts." echo " (Most of the time the simple options above should be used.)" echo "" echo " --libdir path to netsnmp libraries" echo "" echo " --base-agent-libs netsnmp specific agent libraries" echo "" echo " --netsnmp-libs netsnmp specific libraries (with path)" echo " --netsnmp-agent-libs netsnmp specific agent libraries (with path)" echo "" echo " --ldflags link flags for external libraries" echo " --external-libs external libraries needed by netsnmp libs" echo " --external-agent-libs external libraries needed by netsnmp agent libs" echo "" echo " These options produce various link flags used when linking an" echo " external application against an uninstalled build directory." echo "" echo " --build-includes include path to build/source includes" echo " --build-lib-dirs link path to libraries" echo " --build-lib-deps path to libraries for dependency target" echo " --build-command command to compile \$3... to \$2" echo "" echo " Automated subagent building (produces an OUTPUTNAME binary file):" echo " [this feature has not been tested very well yet. use at your risk.]" echo "" echo " --compile-subagent OUTPUTNAME [--norm] [--cflags flags]" echo " [--ldflags flags] mibmodule1.c [...]]" echo "" echo " --norm leave the generated .c file around to read." echo " --cflags flags extra cflags to use (e.g. -I...)." echo " --ldflags flags extra ld flags to use (e.g. -L... -l...)." echo "" echo " Details on how the net-snmp package was compiled:" echo "" echo " --configure-options display original configure arguments" echo " --prefix display the installation prefix" echo " --snmpd-module-list display the modules compiled into the agent" echo " --default-mibs display default list of MIBs" echo " --default-mibdirs display default list of MIB directories" echo " --snmpconfpath display default SNMPCONFPATH" echo " --persistent-directory display default persistent directory" echo " --perlprog display path to perl for the perl modules" echo "" exit fi