void init_agent_read_config(const char *app) { if (app != NULL) { netsnmp_ds_set_string(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_APPTYPE, app); } else { app = netsnmp_ds_get_string(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_APPTYPE); } register_app_config_handler("authtrapenable", snmpd_parse_config_authtrap, NULL, "1 | 2\t\t(1 = enable, 2 = disable)"); register_app_config_handler("pauthtrapenable", snmpd_parse_config_authtrap, NULL, NULL); if (netsnmp_ds_get_boolean(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_ROLE) == MASTER_AGENT) { #ifndef DISABLE_SNMPV1 register_app_config_handler("trapsink", snmpd_parse_config_trapsink, snmpd_free_trapsinks, "host [community] [port]"); #endif #ifndef DISABLE_SNMPV2C register_app_config_handler("trap2sink", snmpd_parse_config_trap2sink, NULL, "host [community] [port]"); register_app_config_handler("informsink", snmpd_parse_config_informsink, NULL, "host [community] [port]"); #endif register_app_config_handler("trapsess", snmpd_parse_config_trapsess, NULL, "[snmpcmdargs] host"); } #if !defined(DISABLE_SNMPV1) || !defined(DISABLE_SNMPV2C) register_app_config_handler("trapcommunity", snmpd_parse_config_trapcommunity, snmpd_free_trapcommunity, "community-string"); #endif /* support for community based SNMP */ #ifdef HAVE_UNISTD_H register_app_config_handler("agentuser", snmpd_set_agent_user, NULL, "userid"); register_app_config_handler("agentgroup", snmpd_set_agent_group, NULL, "groupid"); #endif register_app_config_handler("agentaddress", snmpd_set_agent_address, NULL, "SNMP bind address"); netsnmp_ds_register_config(ASN_BOOLEAN, app, "quit", NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_QUIT_IMMEDIATELY); netsnmp_ds_register_config(ASN_BOOLEAN, app, "leave_pidfile", NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_LEAVE_PIDFILE); netsnmp_init_handler_conf(); #include "agent_module_dot_conf.h" #include "mib_module_dot_conf.h" #ifdef TESTING print_config_handlers(); #endif }
void init_agent_read_config(const char *app) { if (app != NULL) { netsnmp_ds_set_string(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_APPTYPE, app); } else { app = netsnmp_ds_get_string(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_APPTYPE); } register_app_config_handler("authtrapenable", snmpd_parse_config_authtrap, NULL, "1 | 2\t\t(1 = enable, 2 = disable)"); register_app_config_handler("pauthtrapenable",snmpd_parse_config_authtrap, NULL, NULL); if (netsnmp_ds_get_boolean(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_ROLE) == MASTER_AGENT) { #ifndef NETSNMP_DISABLE_SNMPV1 register_app_config_handler("trapsink", snmpd_parse_config_trapsink, snmpd_free_trapsinks, "host [community] [port]"); #endif #ifndef NETSNMP_DISABLE_SNMPV2C register_app_config_handler("trap2sink", snmpd_parse_config_trap2sink, snmpd_free_trapsinks, "host [community] [port]"); register_app_config_handler("informsink", snmpd_parse_config_informsink, snmpd_free_trapsinks, "host [community] [port]"); #endif register_app_config_handler("trapsess", snmpd_parse_config_trapsess, snmpd_free_trapsinks, "[snmpcmdargs] host"); } #if !defined(NETSNMP_DISABLE_SNMPV1) || !defined(NETSNMP_DISABLE_SNMPV2C) register_app_config_handler("trapcommunity", snmpd_parse_config_trapcommunity, snmpd_free_trapcommunity, "community-string"); #endif /* support for community based SNMP */ netsnmp_ds_register_config(ASN_OCTET_STR, app, "v1trapaddress", NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_TRAP_ADDR); #ifdef HAVE_UNISTD_H register_app_config_handler("agentuser", snmpd_set_agent_user, NULL, "userid"); register_app_config_handler("agentgroup", snmpd_set_agent_group, NULL, "groupid"); #endif #ifndef NETSNMP_NO_LISTEN_SUPPORT register_app_config_handler("agentaddress", snmpd_set_agent_address, NULL, "SNMP bind address"); #endif /* NETSNMP_NO_LISTEN_SUPPORT */ netsnmp_ds_register_config(ASN_BOOLEAN, app, "quit", NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_QUIT_IMMEDIATELY); netsnmp_ds_register_config(ASN_BOOLEAN, app, "leave_pidfile", NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_LEAVE_PIDFILE); netsnmp_ds_register_config(ASN_BOOLEAN, app, "dontLogTCPWrappersConnects", NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_DONT_LOG_TCPWRAPPERS_CONNECTS); netsnmp_ds_register_config(ASN_INTEGER, app, "maxGetbulkRepeats", NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_MAX_GETBULKREPEATS); netsnmp_ds_register_config(ASN_INTEGER, app, "maxGetbulkResponses", NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_MAX_GETBULKRESPONSES); netsnmp_init_handler_conf(); #include "agent_module_dot_conf.h" #include "mib_module_dot_conf.h" #ifdef TESTING print_config_handlers(); #endif }