]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
added brief help to plugins
authorRuss Combs <rucombs@cisco.com>
Fri, 5 Sep 2014 19:55:38 +0000 (15:55 -0400)
committerRuss Combs <rucombs@cisco.com>
Fri, 5 Sep 2014 19:55:38 +0000 (15:55 -0400)
173 files changed:
ChangeLog
extra/src/codecs/pim.cc
extra/src/codecs/token_ring.cc
extra/src/inspectors/dpx.cc
extra/src/ips_options/ips_urg.cc
extra/src/loggers/alert_ex.cc
extra/src/search_engines/lowmem.cc
extra/src/search_engines/lowmem_q.cc
extra/src/so_rules/sid_18758.cc
src/actions/act_react.cc
src/actions/act_reject.cc
src/actions/act_replace.cc
src/codecs/ip/cd_auth.cc
src/codecs/ip/cd_dst_opts.cc
src/codecs/ip/cd_esp.cc
src/codecs/ip/cd_frag.cc
src/codecs/ip/cd_gre.cc
src/codecs/ip/cd_hop_opts.cc
src/codecs/ip/cd_icmp4.cc
src/codecs/ip/cd_icmp6.cc
src/codecs/ip/cd_igmp.cc
src/codecs/ip/cd_ipv4.cc
src/codecs/ip/cd_ipv6.cc
src/codecs/ip/cd_mobility.cc
src/codecs/ip/cd_no_next.cc
src/codecs/ip/cd_pgm.cc
src/codecs/ip/cd_routing.cc
src/codecs/ip/cd_sun_nd.cc
src/codecs/ip/cd_swipe.cc
src/codecs/ip/cd_tcp.cc
src/codecs/ip/cd_udp.cc
src/codecs/link/cd_arp.cc
src/codecs/link/cd_eapol.cc
src/codecs/link/cd_erspan2.cc
src/codecs/link/cd_erspan3.cc
src/codecs/link/cd_mpls.cc
src/codecs/link/cd_ppp_encap.cc
src/codecs/link/cd_pppoe.cc
src/codecs/link/cd_trans_bridge.cc
src/codecs/link/cd_vlan.cc
src/codecs/misc/cd_default.cc
src/codecs/misc/cd_gtp.cc
src/codecs/misc/cd_icmp4_ip.cc
src/codecs/misc/cd_icmp6_ip.cc
src/codecs/misc/cd_llc.cc
src/codecs/misc/cd_teredo.cc
src/codecs/root/cd_eth.cc
src/codecs/root/cd_linux_sll.cc
src/codecs/root/cd_null.cc
src/codecs/root/cd_ppp.cc
src/codecs/root/cd_raw4.cc
src/codecs/root/cd_raw6.cc
src/codecs/root/cd_wlan.cc
src/codecs/root/root_i4lrawip.cc
src/codecs/template.cc
src/framework/base_api.h
src/ips_options/ips_ack.cc
src/ips_options/ips_asn1.cc
src/ips_options/ips_base64.cc
src/ips_options/ips_bufferlen.cc
src/ips_options/ips_byte_extract.cc
src/ips_options/ips_byte_jump.cc
src/ips_options/ips_byte_test.cc
src/ips_options/ips_classtype.cc
src/ips_options/ips_content.cc
src/ips_options/ips_cvs.cc
src/ips_options/ips_detection_filter.cc
src/ips_options/ips_dsize.cc
src/ips_options/ips_file_data.cc
src/ips_options/ips_flags.cc
src/ips_options/ips_flow.cc
src/ips_options/ips_flowbits.cc
src/ips_options/ips_fragbits.cc
src/ips_options/ips_fragoffset.cc
src/ips_options/ips_gid.cc
src/ips_options/ips_http.cc
src/ips_options/ips_http_header.cc
src/ips_options/ips_icmp_id.cc
src/ips_options/ips_icmp_seq.cc
src/ips_options/ips_icode.cc
src/ips_options/ips_id.cc
src/ips_options/ips_ip_proto.cc
src/ips_options/ips_ipopts.cc
src/ips_options/ips_isdataat.cc
src/ips_options/ips_itype.cc
src/ips_options/ips_luajit.cc
src/ips_options/ips_metadata.cc
src/ips_options/ips_msg.cc
src/ips_options/ips_pcre.cc
src/ips_options/ips_pkt_data.cc
src/ips_options/ips_priority.cc
src/ips_options/ips_raw_data.cc
src/ips_options/ips_reference.cc
src/ips_options/ips_rem.cc
src/ips_options/ips_replace.cc
src/ips_options/ips_rev.cc
src/ips_options/ips_rpc.cc
src/ips_options/ips_seq.cc
src/ips_options/ips_session.cc
src/ips_options/ips_sid.cc
src/ips_options/ips_so.cc
src/ips_options/ips_soid.cc
src/ips_options/ips_tag.cc
src/ips_options/ips_tos.cc
src/ips_options/ips_ttl.cc
src/ips_options/ips_window.cc
src/loggers/alert_csv.cc
src/loggers/alert_fast.cc
src/loggers/alert_full.cc
src/loggers/alert_luajit.cc
src/loggers/alert_sf_socket.cc
src/loggers/alert_syslog.cc
src/loggers/alert_test.cc
src/loggers/alert_unixsock.cc
src/loggers/log_codecs.cc
src/loggers/log_null.cc
src/loggers/log_tcpdump.cc
src/loggers/unified2.cc
src/network_inspectors/arp_spoof/arp_module.cc
src/network_inspectors/arp_spoof/arp_module.h
src/network_inspectors/arp_spoof/arp_spoof.cc
src/network_inspectors/binder/bind_module.cc
src/network_inspectors/binder/bind_module.h
src/network_inspectors/binder/binder.cc
src/network_inspectors/normalize/norm_module.cc
src/network_inspectors/normalize/norm_module.h
src/network_inspectors/normalize/normalize.cc
src/network_inspectors/perf_monitor/perf_module.cc
src/network_inspectors/perf_monitor/perf_module.h
src/network_inspectors/perf_monitor/perf_monitor.cc
src/network_inspectors/port_scan/port_scan.cc
src/network_inspectors/port_scan/ps_module.cc
src/network_inspectors/port_scan/ps_module.h
src/search_engines/ac_banded.cc
src/search_engines/ac_bnfa.cc
src/search_engines/ac_bnfa_q.cc
src/search_engines/ac_full.cc
src/search_engines/ac_full_q.cc
src/search_engines/ac_sparse.cc
src/search_engines/ac_sparse_bands.cc
src/search_engines/ac_std.cc
src/search_engines/intel_cpm.cc
src/service_inspectors/back_orifice/back_orifice.cc
src/service_inspectors/ftp_telnet/ftp.cc
src/service_inspectors/ftp_telnet/ftp_data.cc
src/service_inspectors/ftp_telnet/telnet.cc
src/service_inspectors/ftp_telnet/telnet_module.cc
src/service_inspectors/ftp_telnet/telnet_module.h
src/service_inspectors/http_inspect/hi_module.h
src/service_inspectors/http_inspect/http_inspect.cc
src/service_inspectors/nhttp_inspect/nhttp_api.cc
src/service_inspectors/nhttp_inspect/nhttp_api.h
src/service_inspectors/rpc_decode/rpc_decode.cc
src/service_inspectors/wizard/wiz_module.cc
src/service_inspectors/wizard/wiz_module.h
src/service_inspectors/wizard/wizard.cc
src/stream/base/stream_base.cc
src/stream/base/stream_module.cc
src/stream/base/stream_module.h
src/stream/icmp/icmp_module.cc
src/stream/icmp/icmp_module.h
src/stream/icmp/stream_icmp.cc
src/stream/ip/ip_module.cc
src/stream/ip/ip_module.h
src/stream/ip/stream_ip.cc
src/stream/tcp/ips_stream_reassemble.cc
src/stream/tcp/ips_stream_size.cc
src/stream/tcp/stream_tcp.cc
src/stream/tcp/tcp_module.cc
src/stream/tcp/tcp_module.h
src/stream/udp/stream_udp.cc
src/stream/udp/udp_module.cc
src/stream/udp/udp_module.h

index 87c9971b7b0db9a6938977ade075eeccc8eaa90e..2b413a7d4624cb0f4647bb8ca5f7f6461c1926f1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,7 @@
 -- tweaked main loop
 -- added module 1-line help
 -- latest from josh
+-- added plugin 1-line help (should be same as module, if plugin has module)
 
 117
 -- added --stdin-rules
index 2591f2818e0491adef74c7308addf5b7eef2af0a..149d25b83a0214db0bdc2620bba3d5c41ac0e3e2 100644 (file)
@@ -34,6 +34,7 @@ namespace
 
 // yes, macros are necessary. The API and class constructor require different strings.
 #define CD_PIM_NAME "pim"
+#define CD_PIM_HELP "support for protocol independent multicast"
 
 class PimCodec : public Codec
 {
@@ -82,6 +83,7 @@ static const CodecApi pim_api =
     {
         PT_CODEC,
         CD_PIM_NAME,
+        CD_PIM_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index f7505f8ab6c5decd50991d04856f3634068132de..bc4645478d7a14654a2032eff322cf6e0088971d 100644 (file)
@@ -234,6 +234,7 @@ static const CodecApi tr_api =
     {
         PT_CODEC,
         TR_NAME,
+        TR_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 5ff4b390d4974f745173cbeed4e9429116b2ad21..8d0530bc7ae30b3065ac5e6a0ca118a4ba42c0de 100644 (file)
@@ -141,6 +141,7 @@ static const InspectApi dpx_api
     {
         PT_INSPECTOR,
         s_name,
+        s_help,
         INSAPI_PLUGIN_V0,
         0,
         nullptr,
index 93199da58e3d9cd78646179d7e6f4487b07ea51e..3236454e9dd4cbaa0a7cf043df54c253f89f4326 100644 (file)
@@ -174,6 +174,7 @@ static const IpsApi urg_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 5d8f8fc9bcbfbfd9530b39d6efa0390c9ca5dfad..162e8907c8b164e305532fc122da3abccc4d8139 100644 (file)
@@ -133,6 +133,7 @@ static const LogApi ex_api =
     {
         PT_LOGGER,
         s_name,
+        s_help,
         LOGAPI_PLUGIN_V0,
         0,
         mod_ctor,
index fd4787180f8706b9a0d2872d9da1e07a5f0bd613..7273e1b822cbf5029a9909804afe89fd3cfb5679 100644 (file)
@@ -131,6 +131,7 @@ static const MpseApi lm_api =
     {
         PT_SEARCH_ENGINE,
         "lowmem",
+        "Keyword Trie (low memory, moderate performance) MPSE",
         SEAPI_PLUGIN_V0,
         0,
         nullptr,
index cf0d4e782075e97e590ee13a64db2c4dcdcf3457..5c7ba3b76f6f744321a8e1abee417fe7f15b7252 100644 (file)
@@ -198,6 +198,7 @@ static const MpseApi lmq_api =
     {
         PT_SEARCH_ENGINE,
         s_name,
+        "Keyword Trie (low memory, moderate performance) MPSE with queued events",
         SEAPI_PLUGIN_V0,
         0,
         mod_ctor,
index cb9926406d842d14bf6d78b940e43cb797aff0c6..ea187e31265237144615215f49535b744806d058 100644 (file)
@@ -58,6 +58,7 @@ static const SoApi so_api =
     {
         PT_SO_RULE,
         "3|18758",
+        "SO rule example",
         IPSAPI_PLUGIN_V0,
         8,
         nullptr,
index 7ff4f95bcdeb5671aeaa00ef676a9af504510bf0..399e78bc374796716075a6b8165d3b3dd609213c 100644 (file)
@@ -65,6 +65,9 @@
 
 static const char* s_name = "react";
 
+static const char* s_help =
+    "send response to client and terminate session";
+
 static THREAD_LOCAL ProfileStats reactPerfStats;
 
 static const char* MSG_KEY = "<>";
@@ -250,7 +253,7 @@ static void react_config (ReactData* rd)
 // module
 //-------------------------------------------------------------------------
 
-static const Parameter react_params[] =
+static const Parameter s_params[] =
 {
     { "msg", Parameter::PT_IMPLIED, nullptr, nullptr,
       " use rule message in response page" },
@@ -261,13 +264,10 @@ static const Parameter react_params[] =
     { nullptr, Parameter::PT_MAX, nullptr, nullptr, nullptr }
 };
 
-static const char* react_help =
-    "send response to client and terminate session";
-
 class ReactModule : public Module
 {
 public:
-    ReactModule() : Module(s_name, react_help, react_params) { };
+    ReactModule() : Module(s_name, s_help, s_params) { };
 
     bool begin(const char*, int, SnortConfig*);
     bool set(const char*, Value&, SnortConfig*);
@@ -339,6 +339,7 @@ static const ActionApi react_api =
     {
         PT_IPS_ACTION,
         s_name,
+        s_help,
         ACTAPI_PLUGIN_V0,
         0,
         mod_ctor,
index deab2c8971f9334dfd7565758806e2ca65d68e1b..1a5a27e5ffbdceee0fce8595487edd16686c53e2 100644 (file)
@@ -72,6 +72,9 @@
 
 static const char* s_name = "reject";
 
+static const char* s_help =
+    "terminate session with TCP reset or ICMP unreachable";
+
 static THREAD_LOCAL ProfileStats rejPerfStats;
 
 class RejectAction : public IpsAction
@@ -135,7 +138,7 @@ void RejectAction::send(Packet* p)
 // module
 //-------------------------------------------------------------------------
 
-static const Parameter rej_params[] =
+static const Parameter s_params[] =
 {
     { "reset", Parameter::PT_ENUM, "source|dest|both", nullptr,
       "send tcp reset to one or both ends" },
@@ -146,13 +149,10 @@ static const Parameter rej_params[] =
     { nullptr, Parameter::PT_MAX, nullptr, nullptr, nullptr }
 };
 
-static const char* rej_help =
-    "terminate session with TCP reset or ICMP unreachable";
-
 class RejectModule : public Module
 {
 public:
-    RejectModule() : Module(s_name, rej_help, rej_params) { };
+    RejectModule() : Module(s_name, s_help, s_params) { };
 
     bool begin(const char*, int, SnortConfig*);
     bool end(const char*, int, SnortConfig*);
@@ -239,6 +239,7 @@ static const ActionApi rej_api =
     {
         PT_IPS_ACTION,
         s_name,
+        s_help,
         ACTAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 6cabb26ea62f74c48051b65bbcfdd44431f6cf18..dd73471c4442dc4866ed0053404d605c8357f701 100644 (file)
@@ -34,6 +34,9 @@
 
 static const char* s_name = "rewrite";
 
+static const char* s_help =
+    "overwrite packet contents";
+
 // FIXIT-L ips_replace.cc should part of this lib
 // FIXIT-L enforce that a rule with a replace option has a replace action
 //       (and vice-versa)
@@ -100,18 +103,15 @@ static void Replace_ModifyPacket(Packet *p)
 // replace module
 //-------------------------------------------------------------------------
 
-static const Parameter rep_params[] =
+static const Parameter s_params[] =
 {
     { nullptr, Parameter::PT_MAX, nullptr, nullptr, nullptr }
 };
 
-static const char* rep_help =
-    "overwrite packet contents";
-
 class ReplaceModule : public Module
 {
 public:
-    ReplaceModule() : Module(s_name, rep_help, rep_params) { };
+    ReplaceModule() : Module(s_name, s_help, s_params) { };
     bool set(const char*, Value&, SnortConfig*);
     bool begin(const char*, int, SnortConfig*);
     bool end(const char*, int, SnortConfig*);
@@ -183,6 +183,7 @@ static ActionApi rep_api
     {
         PT_IPS_ACTION,
         s_name,
+        s_help,
         ACTAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 80ecd81af2e4a2fc802814c2af7e46bc903fa054..77750827206f4409a3ff098033a8b4eb19e98800 100644 (file)
 #include "protocols/packet.h"
 #include "codecs/ip/ip_util.h"
 
+#define CD_AUTH_NAME "auth"
+#define CD_AUTH_HELP "support for IP authentication header"
+
 namespace
 {
 
-#define CD_AUTH_NAME "auth"
-
 static const RuleMap auth_rules[] =
 {
     { DECODE_AUTH_HDR_TRUNC, "(" CD_AUTH_NAME ") Truncated authentication header"},
@@ -46,13 +47,10 @@ static const RuleMap auth_rules[] =
     { 0, nullptr }
 };
 
-static const char* s_help =
-    "support for IP authentication header";
-
 class AuthModule : public DecodeModule
 {
 public:
-    AuthModule() : DecodeModule(CD_AUTH_NAME, s_help) {}
+    AuthModule() : DecodeModule(CD_AUTH_NAME, CD_AUTH_HELP) {}
 
     const RuleMap* get_rules() const
     { return auth_rules; }
@@ -135,6 +133,7 @@ static const CodecApi ah_api =
     {
         PT_CODEC,
         CD_AUTH_NAME,
+        CD_AUTH_HELP,
         CDAPI_PLUGIN_V0, 
         0,
         mod_ctor,
index 7fe5e101f113f01b5a8b371320b61a46249c00a3..104ad75e4024395c5b50f0505fb87f1d88c25c80 100644 (file)
 #include "detection/fpdetect.h"
 #include "codecs/ip/ip_util.h"
 
+#define CD_DSTOPTS_NAME "ipv6_dst_opts"
+#define CD_DSTOPTS_HELP "support for ipv6 destination options"
 
 namespace
 {
 
-#define CD_DSTOPTS_NAME "ipv6_dst_opts"
-
 class Ipv6DSTOptsCodec : public Codec
 {
 public:
@@ -136,6 +136,7 @@ static const CodecApi ipv6_dstopts_api =
     {
         PT_CODEC,
         CD_DSTOPTS_NAME,
+        CD_DSTOPTS_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index 7ea3da0ef54820eb29f3a2bdd85f4c98cccd3617..a7a94333ce129a9b028838c463d3d6db99840800 100644 (file)
 #include "protocols/protocol_ids.h"
 #include "codecs/ip/ip_util.h"
 
+#define CD_ESP_NAME "esp"
+#define CD_ESP_HELP "support for encapsulating security payload"
+
 namespace
 {
 
-
-#define CD_ESP_NAME "esp"
-
 static const RuleMap esp_rules[] =
 {
     { DECODE_ESP_HEADER_TRUNC, "(" CD_ESP_NAME ") truncated Encapsulated Security Payload (ESP) header" },
@@ -53,13 +53,10 @@ static const Parameter esp_params[] =
     { nullptr, Parameter::PT_MAX, nullptr, nullptr, nullptr }
 };
 
-static const char* esp_help =
-    "support for encapsulating security payload";
-
 class EspModule : public DecodeModule
 {
 public:
-    EspModule() : DecodeModule(CD_ESP_NAME, esp_help, esp_params) {}
+    EspModule() : DecodeModule(CD_ESP_NAME, CD_ESP_HELP, esp_params) {}
 
     const RuleMap* get_rules() const
     { return esp_rules; }
@@ -221,6 +218,7 @@ static const CodecApi esp_api =
     {
         PT_CODEC,
         CD_ESP_NAME,
+        CD_ESP_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 13c38faaf5c532c16f086a7d46d8149eec3f3768..b691d0dba818c2fdf71b3d392adc064f1b42af34 100644 (file)
 #include "log/text_log.h"
 #include "protocols/packet_manager.h"
 
+#define CD_IPV6_FRAG_NAME "ipv6_frag"
+#define CD_IPV6_FRAG_HELP "support for IPv6 fragment decoding"
 
 namespace
 {
 
-#define CD_IPV6_FRAG_NAME "ipv6_frag"
-
 class Ipv6FragCodec : public Codec
 {
 public:
@@ -181,6 +181,7 @@ static const CodecApi ipv6_frag_api =
     {
         PT_CODEC,
         CD_IPV6_FRAG_NAME,
+        CD_IPV6_FRAG_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index 828b874aae0e6782f950ed7f1a0aa9b4690a4922..5b5e4d17c4f179aadf09a2017bb6e6cf1ba183c3 100644 (file)
 #include "log/text_log.h"
 #include "protocols/packet_manager.h"
 
+#define CD_GRE_NAME "gre"
+#define CD_GRE_HELP "support for generic routing encapsulation"
+
 namespace
 {
 
-#define CD_GRE_NAME "gre"
-
 static const RuleMap gre_rules[] =
 {
     { DECODE_GRE_DGRAM_LT_GREHDR, "(" CD_GRE_NAME ") GRE header length > payload length" },
@@ -48,13 +49,10 @@ static const RuleMap gre_rules[] =
     { 0, nullptr }
 };
 
-static const char* gre_help =
-    "support for generic routing encapsulation";
-
 class GreModule : public DecodeModule
 {
 public:
-    GreModule() : DecodeModule(CD_GRE_NAME, gre_help) {}
+    GreModule() : DecodeModule(CD_GRE_NAME, CD_GRE_HELP) {}
 
     const RuleMap* get_rules() const
     { return gre_rules; }
@@ -273,6 +271,7 @@ static const CodecApi gre_api =
     {
         PT_CODEC,
         CD_GRE_NAME,
+        CD_GRE_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index cbe07ba19a48aa3c3ddf5cf2a7c96f61192635f2..bfd52f99a1bdd61d9c6437db4c0216c761cfc6da 100644 (file)
 #include "main/snort.h"
 #include "detection/fpdetect.h"
 
+#define CD_HOPOPTS_NAME "ipv6_hop_opts"
+#define CD_HOPOPTS_HELP "support for IPv6 hop options"
+
 namespace
 {
 
-#define CD_HOPOPTS_NAME "ipv6_hop_opts"
-
 class Ipv6HopOptsCodec : public Codec
 {
 public:
@@ -139,6 +140,7 @@ static const CodecApi ipv6_hopopts_api =
     {
         PT_CODEC,
         CD_HOPOPTS_NAME,
+        CD_HOPOPTS_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index d92339f87265c0aa9b135cbc27112e269b24dc21..b8a9a2243eec62d30e9b76a12db4b6e0b243357e 100644 (file)
 #include "packet_io/active.h"
 #include "log/text_log.h"
 
-namespace{
-
 #define CD_ICMP4_NAME "icmp4"
+#define CD_ICMP4_HELP "support for internet control message protocol v4"
+
+namespace{
 
 static const RuleMap icmp4_rules[] =
 {
@@ -72,13 +73,10 @@ static const RuleMap icmp4_rules[] =
     { 0, nullptr }
 };
 
-static const char* icmp4_help =
-    "support for internet control message protocol v4";
-
 class Icmp4Module : public DecodeModule
 {
 public:
-    Icmp4Module() : DecodeModule(CD_ICMP4_NAME, icmp4_help) {}
+    Icmp4Module() : DecodeModule(CD_ICMP4_NAME, CD_ICMP4_HELP) {}
 
     const RuleMap* get_rules() const
     { return icmp4_rules; }
@@ -682,6 +680,7 @@ static const CodecApi icmp4_api =
     {
         PT_CODEC,
         CD_ICMP4_NAME,
+        CD_ICMP4_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 75552dca2a8af32d351c566c1f3f9084afb3961d..48d1d9925b554590dc4ce6f49608e600d14ee90e 100644 (file)
 #include "packet_io/active.h"
 #include "log/text_log.h"
 
+#define CD_ICMP6_NAME "icmp6"
+#define CD_ICMP6_HELP "support for internet control message protocol v6"
 
 namespace
 {
 
-#define CD_ICMP6_NAME "icmp6"
 static const RuleMap icmp6_rules[] =
 {
     { DECODE_ICMP6_HDR_TRUNC, "(" CD_ICMP6_NAME ") truncated ICMP6 header" },
@@ -60,13 +61,10 @@ static const RuleMap icmp6_rules[] =
     { 0, nullptr }
 };
 
-static const char* icmp6_help =
-    "support for internet control message protocol v6";
-
 class Icmp6Module : public DecodeModule
 {
 public:
-    Icmp6Module() : DecodeModule(CD_ICMP6_NAME, icmp6_help) {}
+    Icmp6Module() : DecodeModule(CD_ICMP6_NAME, CD_ICMP6_HELP) {}
 
     const RuleMap* get_rules() const
     { return icmp6_rules; }
@@ -469,6 +467,7 @@ static const CodecApi ipv6_api =
     {
         PT_CODEC,
         CD_ICMP6_NAME,
+        CD_ICMP6_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 677fc231ae804f68b638e6e2ee6fdab0a2547712..fca16a4a99fc33679625d999352698e3df7cc16e 100644 (file)
 #include "protocols/packet.h"
 
 
+#define CD_IGMP_NAME "igmp"
+#define CD_IGMP_HELP "support for internet group management protocol"
+
 namespace
 {
 
-
-#define CD_IGMP_NAME "igmp"
-
 static const RuleMap igmp_rules[] =
 {
     { DECODE_IGMP_OPTIONS_DOS, "(" CD_IGMP_NAME ") DOS IGMP IP Options validation attempt" },
     { 0, nullptr }
 };
 
-static const char* igmp_help =
-    "support for internet group management protocol";
-
 class IgmpModule : public DecodeModule
 {
 public:
-    IgmpModule() : DecodeModule(CD_IGMP_NAME, igmp_help) {}
+    IgmpModule() : DecodeModule(CD_IGMP_NAME, CD_IGMP_HELP) {}
 
     const RuleMap* get_rules() const
     { return igmp_rules; }
@@ -144,6 +141,7 @@ static const CodecApi igmp_api =
     {
         PT_CODEC,
         CD_IGMP_NAME,
+        CD_IGMP_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 71be6f36490ea97940ee2c7c181c15f3af1bb6b7..863d2da3ca9e08f1220179dcab7b569537eb7fb8 100644 (file)
 #include "log/text_log.h"
 #include "log/log_text.h"
 
+#define CD_IPV4_NAME "ipv4"
+#define CD_IPV4_HELP "support for internet protocol v4"
+
 namespace{
 
-#define CD_IPV4_NAME "ipv4"
 static const RuleMap ipv4_rules[] =
 {
     { DECODE_NOT_IPV4_DGRAM, "(" CD_IPV4_NAME ") Not IPv4 datagram" },
@@ -82,13 +84,10 @@ static const RuleMap ipv4_rules[] =
     { 0, nullptr }
 };
 
-static const char* ipv4_help =
-    "support for internet protocol v4";
-
 class Ipv4Module : public DecodeModule
 {
 public:
-    Ipv4Module() : DecodeModule(CD_IPV4_NAME, ipv4_help) {}
+    Ipv4Module() : DecodeModule(CD_IPV4_NAME, CD_IPV4_HELP) {}
 
     const RuleMap* get_rules() const
     { return ipv4_rules; }
@@ -937,6 +936,7 @@ static const CodecApi ipv4_api =
     { 
         PT_CODEC,
         CD_IPV4_NAME,
+        CD_IPV4_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index c16d78e69218ae8cc758bbbf01e42268c8ae502d..208cfb707ccaf04223dc7f09835f2143e84d5c31 100644 (file)
 #include "protocols/packet_manager.h"
 #include "log/text_log.h"
 
+#define CD_IPV6_NAME "ipv6"
+#define CD_IPV6_HELP "support for internet protocol v6"
+
 namespace
 {
 
-#define CD_IPV6_NAME "ipv6"
 static const RuleMap ipv6_rules[] =
 {
     { DECODE_IPV6_MIN_TTL, "(" CD_IPV6_NAME ") IPv6 packet below TTL limit" },
@@ -73,13 +75,10 @@ static const RuleMap ipv6_rules[] =
     { 0, nullptr }
 };
 
-static const char* ipv6_help =
-    "support for internet protocol v6";
-
 class Ipv6Module : public DecodeModule
 {
 public:
-    Ipv6Module() : DecodeModule(CD_IPV6_NAME, ipv6_help) {}
+    Ipv6Module() : DecodeModule(CD_IPV6_NAME, CD_IPV6_HELP) {}
 
     const RuleMap* get_rules() const
     { return ipv6_rules; }
@@ -773,6 +772,7 @@ static const CodecApi ipv6_api =
     {
         PT_CODEC,
         CD_IPV6_NAME,
+        CD_IPV6_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 2fc9812cf6de250e627eb27c6ca7bf2f73a2188a..ee709ab270f5abe077ec76b7ca69dd9c46124f15 100644 (file)
 #include "framework/codec.h"
 #include "codecs/codec_events.h"
 
-namespace
-{
-
 // yes, macros are necessary. The API and class constructor require different strings.
 #define CD_MOBILE_NAME "mobility"
+#define CD_MOBILE_HELP "support for mobility"
+
+namespace
+{
 
 class MobilityCodec : public Codec
 {
@@ -43,7 +44,6 @@ public:
     virtual void get_protocol_ids(std::vector<uint16_t>&);
     virtual bool decode(const uint8_t *raw_pkt, const uint32_t& raw_len,
         Packet *, uint16_t &lyr_len, uint16_t &next_prot_id);
-
 };
 
 const uint16_t IPPROTO_ID_MOBILITY = 55;
@@ -84,6 +84,7 @@ static const CodecApi mobility_api =
     {
         PT_CODEC,
         CD_MOBILE_NAME,
+        CD_MOBILE_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index ad07ea76c4ebc333ccbd234cffb5c12d57af8053..07f884f6b0976cae0aa348b744180e7fb3c1e5ad 100644 (file)
@@ -36,6 +36,7 @@ namespace
 {
 
 #define CD_NO_NEXT_NAME "ipv6_no_next"
+#define CD_NO_NEXT_HELP "sentinel codec"
 
 class Ipv6NoNextCodec : public Codec
 {
@@ -90,6 +91,7 @@ static const CodecApi no_next_api =
     {
         PT_CODEC,
         CD_NO_NEXT_NAME,
+        CD_NO_NEXT_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index 87e460445cce7bdda2d6ab80dd1ab34a34a01e71..ae11cde83bc2fee560a08bf708329514b067fb0a 100644 (file)
@@ -35,6 +35,7 @@ namespace
 {
 
 #define CD_PGM_NAME "pgm"
+#define CD_PGM_HELP "support for pragmatic general multicast"
 
 static const RuleMap pgm_rules[] =
 {
@@ -42,13 +43,10 @@ static const RuleMap pgm_rules[] =
     { 0, nullptr }
 };
 
-static const char* pgm_help =
-    "support for pragmatic general multicast";
-
 class PgmModule : public DecodeModule
 {
 public:
-    PgmModule() : DecodeModule(CD_PGM_NAME, pgm_help) {}
+    PgmModule() : DecodeModule(CD_PGM_NAME, CD_PGM_HELP) {}
 
     const RuleMap* get_rules() const
     { return pgm_rules; }
@@ -209,6 +207,7 @@ static const CodecApi pgm_api =
     {
         PT_CODEC,
         CD_PGM_NAME,
+        CD_PGM_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index a7894a4e3727cd0736e6aa1740f6d4b496620a89..5efed30d2078e7cf70f31402adedcfb80c737e4d 100644 (file)
 #include "protocols/ipv6.h"
 #include "codecs/ip/ip_util.h"
 
+#define CD_IPV6_ROUTING_NAME "ipv6_routing"
+#define CD_IPV6_ROUTING_HELP "support for IPv6 routing extension"
+
 namespace
 {
 
-#define CD_IPV6_ROUTING_NAME "ipv6_routing"
-
 class Ipv6RoutingCodec : public Codec
 {
 public:
@@ -156,6 +157,7 @@ static const CodecApi ipv6_routing_api =
     {
         PT_CODEC,
         CD_IPV6_ROUTING_NAME,
+        CD_IPV6_ROUTING_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index 7a559d3ec187a06543f9ca44d13388e82ffec222..c45870aebe9eac07106cf72c1ea6db9c6e0d081a 100644 (file)
@@ -33,6 +33,7 @@ namespace
 
 // yes, macros are necessary. The API and class constructor require different strings.
 #define CD_SUN_ND_NAME "sun_nd"
+#define CD_SUN_ND_HELP "support for Sun ND"
 
 class SunNdCodec : public Codec
 {
@@ -81,6 +82,7 @@ static const CodecApi sun_nd_api =
     {
         PT_CODEC,
         CD_SUN_ND_NAME,
+        CD_SUN_ND_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index b6ef4eea1c8c66231561d9f4f51e33d2c75aeb26..f6b7628f88a9da4df23e00e62f5c74ba15f17b28 100644 (file)
 #include "framework/codec.h"
 #include "codecs/codec_events.h"
 
-namespace{
-
 #define CD_SWIPE_NAME "swipe"
+#define CD_SWIPE_HELP "support for Swipe"
 
+namespace{
 
 class SwipeCodec : public Codec
 {
@@ -80,6 +80,7 @@ static const CodecApi swipe_api =
     {
         PT_CODEC,
         CD_SWIPE_NAME,
+        CD_SWIPE_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index e5a3ddea201002c5dd6af2a4e4b87447aff8d148..9faea90d6b590a59e7000e40d6e4a0a915555aa6 100644 (file)
 #include "log/log.h"
 #include "protocols/packet_manager.h"
 
+#define CD_TCP_NAME "tcp"
+#define CD_TCP_HELP "support for transmission control protocol"
 
 namespace
 {
 
-
-#define CD_TCP_NAME "tcp"
-
 static const RuleMap tcp_rules[] =
 {
     { DECODE_TCP_DGRAM_LT_TCPHDR, "(" CD_TCP_NAME ") TCP packet len is smaller than 20 bytes" },
@@ -76,13 +75,10 @@ static const RuleMap tcp_rules[] =
     { 0, nullptr }
 };
 
-static const char* tcp_help =
-    "support for transmission control protocol";
-
 class TcpModule : public DecodeModule
 {
 public:
-    TcpModule() : DecodeModule(CD_TCP_NAME, tcp_help) {}
+    TcpModule() : DecodeModule(CD_TCP_NAME, CD_TCP_HELP) {}
 
     const RuleMap* get_rules() const
     { return tcp_rules; }
@@ -1117,6 +1113,7 @@ static const CodecApi tcp_api =
     {
         PT_CODEC,
         CD_TCP_NAME,
+        CD_TCP_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 28e063863e5e0cb5b5273de8e68f6109b56b2879..e5a7740bb65e098511c0ce77e44c1545c2e84d46 100644 (file)
 #include "parser/config_file.h"
 #include "codecs/ip/ip_util.h"
 
+#define CD_UDP_NAME "udp"
+#define CD_UDP_HELP "support for user datagram protocol"
 
 namespace
 {
 
-
-#define CD_UDP_NAME "udp"
 static const Parameter udp_params[] =
 {
     { "deep_teredo_inspection", Parameter::PT_BOOL, nullptr, "false",
@@ -79,13 +79,10 @@ static const RuleMap udp_rules[] =
     { 0, nullptr }
 };
 
-static const char* udp_help =
-    "support for user datagram protocol";
-
 class UdpModule : public DecodeModule
 {
 public:
-    UdpModule() : DecodeModule(CD_UDP_NAME, udp_help, udp_params) {}
+    UdpModule() : DecodeModule(CD_UDP_NAME, CD_UDP_HELP, udp_params) {}
 
     const RuleMap* get_rules() const
     { return udp_rules; }
@@ -596,6 +593,7 @@ static const CodecApi udp_api =
     {
         PT_CODEC,
         CD_UDP_NAME,
+        CD_UDP_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 88a3dbd89985b83790051edb66689395ee97c89c..a9d18a074d032d005d3e3a0a96f267608dc1bd1b 100644 (file)
 #include "protocols/packet.h"
 #include "log/text_log.h"
 
+#define CD_ARP_NAME "arp"
+#define CD_ARP_HELP "support for address resolution protocol"
+
 namespace
 {
 
-#define CD_ARP_NAME "arp"
-
 static const RuleMap arp_rules[] =
 {
     { DECODE_ARP_TRUNCATED, "(" CD_ARP_NAME ") Truncated ARP" },
     { 0, nullptr }
 };
 
-static const char* arp_help =
-    "support for address resolution protocol";
-
 class ArpModule : public DecodeModule
 {
 public:
-    ArpModule() : DecodeModule(CD_ARP_NAME, arp_help) {}
+    ArpModule() : DecodeModule(CD_ARP_NAME, CD_ARP_HELP) {}
 
     const RuleMap* get_rules() const
     { return arp_rules; }
@@ -128,6 +126,7 @@ static const CodecApi arp_api =
     {
         PT_CODEC,
         CD_ARP_NAME,
+        CD_ARP_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 1a6c12da42e175b92c37eda864d0ab0ff61c8a06..04c7bef3a9f20b07e9e770a7a4771d680dce8c0d 100644 (file)
 #include "protocols/protocol_ids.h"
 #include "protocols/eapol.h"
 
+#define CD_EAPOL_NAME "eapol"
+#define CD_EAPOL_HELP "support for extensible authentication protocol over LAN"
 
 namespace
 {
 
-#define CD_EAPOL_NAME "eapol"
 static const RuleMap eapol_rules[] =
 {
     { DECODE_EAPOL_TRUNCATED, "(" CD_EAPOL_NAME ") Truncated EAP Header" },
@@ -44,13 +45,10 @@ static const RuleMap eapol_rules[] =
     { 0, nullptr }
 };
 
-static const char* eapol_help =
-    "support for extensible authentication protocol over LAN";
-
 class EapolModule : public DecodeModule
 {
 public:
-    EapolModule() : DecodeModule(CD_EAPOL_NAME, eapol_help) {}
+    EapolModule() : DecodeModule(CD_EAPOL_NAME, CD_EAPOL_HELP) {}
 
     const RuleMap* get_rules() const
     { return eapol_rules; }
@@ -188,6 +186,7 @@ static const CodecApi eapol_api =
     {
         PT_CODEC,
         CD_EAPOL_NAME,
+        CD_EAPOL_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index e4c54380dc2030a342b4c515b5d8f41824f8a19c..e01759bc8bbed94ff6691916bd59cee0f220db2c 100644 (file)
 #include "codecs/sf_protocols.h"
 #include "protocols/packet.h"
 
+#define CD_ERSPAN2_NAME "erspan2"
+#define CD_ERSPAN2_HELP "support for encapsulated remote switched port analyzer - type 2"
+
 namespace
 {
 
-#define CD_ERSPAN2_NAME "erspan2"
-
 static const RuleMap erspan2_rules[] =
 {
     { DECODE_ERSPAN_HDR_VERSION_MISMATCH, "(codec_erspan) ERSpan Header version mismatch" },
@@ -39,13 +40,10 @@ static const RuleMap erspan2_rules[] =
     { 0, nullptr }
 };
 
-static const char* erspan2_help =
-    "support for encapsulated remote switched port analyzer - type 2";
-
 class Erspan2Module : public DecodeModule
 {
 public:
-    Erspan2Module() : DecodeModule(CD_ERSPAN2_NAME, erspan2_help) {}
+    Erspan2Module() : DecodeModule(CD_ERSPAN2_NAME, CD_ERSPAN2_HELP) {}
 
     const RuleMap* get_rules() const
     { return erspan2_rules; }
@@ -151,6 +149,7 @@ static const CodecApi erspan2_api =
     {
         PT_CODEC,
         CD_ERSPAN2_NAME,
+        CD_ERSPAN2_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index faa7a54a1e017e5926001644144ff55f403ad7f4..b99f552ff743402af1f9172ec400009521928f49 100644 (file)
 #include "codecs/sf_protocols.h"
 #include "protocols/packet.h"
 
+#define CD_ERSPAN3_NAME "erspan3"
+#define CD_ERSPAN3_HELP "support for encapsulated remote switched port analyzer - type 3"
 
 namespace
 {
 
-#define CD_ERSPAN3_NAME "erspan3"
 static const RuleMap erspan3_rules[] =
 {
     { DECODE_ERSPAN3_DGRAM_LT_HDR, "(" CD_ERSPAN3_NAME ") captured < ERSpan Type3 Header Length" },
     { 0, nullptr }
 };
 
-static const char* erspan3_help =
-    "support for encapsulated remote switched port analyzer - type 3";
-
 class Erspan3Module : public DecodeModule
 {
 public:
-    Erspan3Module() : DecodeModule(CD_ERSPAN3_NAME, erspan3_help) {}
+    Erspan3Module() : DecodeModule(CD_ERSPAN3_NAME, CD_ERSPAN3_HELP) {}
 
     const RuleMap* get_rules() const
     { return erspan3_rules; }
@@ -174,6 +172,7 @@ static const CodecApi erspan3_api =
     {
         PT_CODEC,
         CD_ERSPAN3_NAME,
+        CD_ERSPAN3_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 180802137467146a1a3e74025402e5d5d7c71087..cf1fc4fa1d115b5ca4d3528fd7fd3f1309053dde 100644 (file)
 #include "main/snort.h"
 #include "log/text_log.h"
 
+#define CD_MPLS_NAME "mpls"
+#define CD_MPLS_HELP "support for multiprotocol label switching"
+
 namespace
 {
-#define CD_MPLS_NAME "mpls"
 
 static const Parameter mpls_params[] =
 {
@@ -58,7 +60,6 @@ static const Parameter mpls_params[] =
     { nullptr, Parameter::PT_MAX, nullptr, nullptr, nullptr }
 };
 
-
 // rules which will loaded into snort.
 // You can now reference these rules by calling a codec_event
 // in your main codec's functions
@@ -74,13 +75,10 @@ static const RuleMap mpls_rules[] =
     { 0, nullptr }
 };
 
-static const char* mpls_help =
-    "support for multiprotocol label switching";
-
 class MplsModule : public DecodeModule
 {
 public:
-    MplsModule() : DecodeModule(CD_MPLS_NAME, mpls_help, mpls_params) {};
+    MplsModule() : DecodeModule(CD_MPLS_NAME, CD_MPLS_HELP, mpls_params) {};
 
     const RuleMap* get_rules() const
     { return mpls_rules; }
@@ -345,6 +343,7 @@ static const CodecApi mpls_api =
     {
         PT_CODEC,
         CD_MPLS_NAME,
+        CD_MPLS_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 0e949509597ba79a4c880b0a3fc013e78df8b6a6..d31d8cadce2dfb972ee75049feab9605406d4ffa 100644 (file)
 #include "snort.h"
 #include "codecs/sf_protocols.h"
 
+#define CD_PPPENCAP_NAME "ppp_encap"
+#define CD_PPPENCAP_HELP "support for point-to-point encapsulation"
+
 namespace
 {
 
-#define CD_PPPENCAP_NAME "ppp_encap"
-
 class PppEncap : public Codec
 {
 public:
@@ -189,6 +190,7 @@ static const CodecApi pppencap_api =
     {
         PT_CODEC,
         CD_PPPENCAP_NAME,
+        CD_PPPENCAP_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index aa149cae2cadca7eda7a1d0cf25d2e7ff490b9ed..4c29f35abbe89e3cf8468f5b91decfa38a315914 100644 (file)
@@ -303,6 +303,7 @@ namespace
 
 const uint16_t ETHERNET_TYPE_PPPoE_DISC =  0x8863; /* discovery stage */
 #define CD_PPPOEPKT_DISC_NAME "pppoe_disc"
+#define CD_PPPOEPKT_DISC_HELP "support for point-to-point discovery"
 
 class PPPoEDiscCodec : public Codec
 {
@@ -375,6 +376,7 @@ static const CodecApi pppoepkt_disc_api =
     {
         PT_CODEC,
         CD_PPPOEPKT_DISC_NAME,
+        CD_PPPOEPKT_DISC_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
@@ -404,6 +406,7 @@ namespace
 
 
 #define CD_PPPOEPKT_SESS_NAME "pppoe_sess"
+#define CD_PPPOEPKT_SESS_HELP "support for point-to-point session"
 
 const uint16_t ETHERNET_TYPE_PPPoE_SESS =  0x8864; /* session stage */
 
@@ -466,6 +469,7 @@ static const CodecApi pppoepkt_sess_api =
     {
         PT_CODEC,
         CD_PPPOEPKT_SESS_NAME,
+        CD_PPPOEPKT_SESS_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index 4d0fb5b4d7630ee95d54544278bc8f31e8ce3e1e..41bb9818b25bb15f3e837a3beebd46c2670a0673 100644 (file)
@@ -38,6 +38,7 @@ namespace
 {
 
 #define CD_TRANSBRIDGE_NAME "trans_bridge"
+#define CD_TRANSBRIDGE_HELP "support for trans-bridging"
 
 class TransbridgeCodec : public Codec
 {
@@ -114,6 +115,7 @@ static const CodecApi transbridge_api =
     {
         PT_CODEC,
         CD_TRANSBRIDGE_NAME,
+        CD_TRANSBRIDGE_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index 85d8a2dc941f7b93271b201b54363c10a79c651c..f3766bde60bd9b7ab9c247409766b53aa5e20dfb 100644 (file)
 #include "protocols/packet_manager.h"
 #include "log/text_log.h"
 
+#define CD_VLAN_NAME "vlan"
+#define CD_VLAN_HELP "support for virtual local area network"
+
 namespace
 {
 
-#define CD_VLAN_NAME "vlan"
 static const RuleMap vlan_rules[] =
 {
     { DECODE_BAD_VLAN, "(" CD_VLAN_NAME ") Bad VLAN Frame" },
@@ -48,13 +50,10 @@ static const RuleMap vlan_rules[] =
     { 0, nullptr }
 };
 
-static const char* vlan_help =
-    "support for virtual local area network";
-
 class VlanModule : public DecodeModule
 {
 public:
-    VlanModule() : DecodeModule(CD_VLAN_NAME, vlan_help) {}
+    VlanModule() : DecodeModule(CD_VLAN_NAME, CD_VLAN_HELP) {}
 
     const RuleMap* get_rules() const
     { return vlan_rules; }
@@ -162,6 +161,7 @@ static const CodecApi vlan_api =
     {
         PT_CODEC,
         CD_VLAN_NAME,
+        CD_VLAN_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 8956faf165c9d2561465b199e85b5e5f3e1ea43b..0bc6d396807087d3a5758852b6865cca4187244e 100644 (file)
 #include "framework/codec.h"
 #include "protocols/protocol_ids.h"
 
+#define CD_DEFAULT_NAME "unknown"
+#define CD_DEFAULT_HELP "support for unkown protocols"
+
 namespace
 {
 
-#define CD_DEFAULT_NAME "unknown"
-
 class DefaultCodec : public Codec
 {
 public:
@@ -69,6 +70,7 @@ static const CodecApi default_api =
     {
         PT_CODEC,
         CD_DEFAULT_NAME,
+        CD_DEFAULT_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index 19fbde7cc976380738f9b8d0b4710c2a0fc47d3a..ace1f484622a87f3e6103182402a7f79509f0abb 100644 (file)
 #include "protocols/protocol_ids.h"
 #include "codecs/decode_module.h"
 
+#define CD_GTP_NAME "gtp"
+#define CD_GTP_HELP "support for general-packet-radio-service tunnelling protocol"
+
 namespace
 {
 
-#define CD_GTP_NAME "gtp"
-
 static const RuleMap gtp_rules[] =
 {
     { DECODE_GTP_MULTIPLE_ENCAPSULATION, "(" CD_GTP_NAME ") Two or more GTP encapsulation layers present" },
@@ -47,13 +48,10 @@ static const RuleMap gtp_rules[] =
     { 0, nullptr }
 };
 
-static const char* gtp_help =
-    "support for general-packet-radio-service tunnelling protocol";
-
 class GtpModule : public DecodeModule
 {
 public:
-    GtpModule() : DecodeModule(CD_GTP_NAME, gtp_help) {};
+    GtpModule() : DecodeModule(CD_GTP_NAME, CD_GTP_HELP) {};
 
     const RuleMap* get_rules() const
     { return gtp_rules; }
@@ -324,6 +322,7 @@ static const CodecApi gtp_api =
     {
         PT_CODEC,
         CD_GTP_NAME,
+        CD_GTP_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index e769b4bd9f82c3e9c44b98a20855f618db5a3a99..02358280f3a6bb27a62c3f22a9426a03ac4f9b1d 100644 (file)
@@ -38,6 +38,7 @@ namespace
 {
 
 #define ICMP4_IP_NAME "icmp4_ip"
+#define ICMP4_IP_HELP "support for IP in ICMPv4"
 
 class Icmp4IpCodec : public Codec
 {
@@ -358,6 +359,7 @@ static const CodecApi icmp4_ip_api =
     {
         PT_CODEC,
         ICMP4_IP_NAME,
+        ICMP4_IP_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr, // module constructor
index 7887e4c0309efc683a001ce5d0ca9e726aed568c..7730947c16b5b10fca01d6bacfc088bc3768efac 100644 (file)
@@ -33,9 +33,6 @@
 #include "codecs/codec_events.h"
 
 
-namespace
-{
-
 // yes, macros are necessary. The API and class constructor require different strings.
 //
 // this macros is defined in the module to ensure identical names. However,
@@ -44,6 +41,11 @@ namespace
 #define ICMP6_IP_NAME "icmp6_ip"
 #endif
 
+#define ICMP6_IP_HELP "support for IP in ICMPv6"
+
+namespace
+{
+
 class Icmp6IpCodec : public Codec
 {
 public:
@@ -158,6 +160,7 @@ static const CodecApi icmp6_ip_api =
     {
         PT_CODEC,
         ICMP6_IP_NAME,
+        ICMP6_IP_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr, // module constructor
index 63eed914cc20d321ba5fd1ecbd10e18491ae84af..63893ae46d7cb4ac28551666c8e999478040c279 100644 (file)
 #include "log/text_log.h"
 #include "protocols/packet_manager.h"
 
-namespace
-{
-
 // yes, macros are necessary. The API and class constructor require different strings.
 //
 // this macros is defined in the module to ensure identical names. However,
 // if you don't want a module, define the name here.
 #define LLC_NAME "llc"
+#define LLC_HELP "support for logical link control"
 
-
+namespace
+{
 
 class LlcCodec : public Codec
 {
@@ -167,6 +166,7 @@ static const CodecApi llc_api =
     {
         PT_CODEC,
         LLC_NAME,
+        LLC_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index 6d702f3cf7f61053483535fd39fc0b95cacba0e7..caf214fea2758debee2479b9d6552e37db0537ed 100644 (file)
 #include "protocols/teredo.h"
 #include "protocols/protocol_ids.h"
 
+#define CD_TEREDO_NAME "teredo"
+#define CD_TEREDO_HELP "support for teredo"
+
 namespace
 {
 
-#define CD_TEREDO_NAME "teredo"
-
 class TeredoCodec : public Codec
 {
 public:
@@ -127,6 +128,7 @@ static const CodecApi teredo_api =
     {
         PT_CODEC,
         CD_TEREDO_NAME,
+        CD_TEREDO_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index ad654ec7eee9fba4eb6c8813d62bf22c2fc4e801..4d0849721443760b2e7b4d8724efe8861cd2c74e 100644 (file)
 #include "codecs/sf_protocols.h"
 #include "log/text_log.h"
 
+#define CD_ETH_NAME "eth"
+#define CD_ETH_HELP "support for ethernet protocol"
+
 namespace
 {
 
-#define CD_ETH_NAME "eth"
 static const RuleMap eth_rules[] =
 {
     { DECODE_ETH_HDR_TRUNC, "(" CD_ETH_NAME ") truncated eth header" },
     { 0, nullptr }
 };
 
-static const char* eth_help =
-    "support for ethernet protocol";
-
 class EthModule : public DecodeModule
 {
 public:
-    EthModule() : DecodeModule(CD_ETH_NAME, eth_help) {}
+    EthModule() : DecodeModule(CD_ETH_NAME, CD_ETH_HELP) {}
 
     const RuleMap* get_rules() const
     { return eth_rules; }
@@ -263,6 +262,7 @@ static const CodecApi eth_api =
     { 
         PT_CODEC,
         CD_ETH_NAME,
+        CD_ETH_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 3f670123e15a66bab5b5736e13ef03f6b7c351f7..3faa30e1990bc2bd25b151086231a29605b2e430 100644 (file)
 #include "protocols/linux_sll.h"
 #include "main/snort.h"
 
+#define CD_LINUX_SLL_NAME "linux_sll"
+#define CD_LINUX_SLL_HELP "support for Linux SLL"
 
 namespace
 {
 
-#define CD_LINUX_SSL_NAME "linux_sll"
-
 class LinuxSllCodec : public Codec
 {
 public:
-    LinuxSllCodec() : Codec(CD_LINUX_SSL_NAME){};
+    LinuxSllCodec() : Codec(CD_LINUX_SLL_NAME){};
     ~LinuxSllCodec() {};
 
 
@@ -100,7 +100,8 @@ static const CodecApi linux_ssl_api =
 {
     {
         PT_CODEC,
-        CD_LINUX_SSL_NAME,
+        CD_LINUX_SLL_NAME,
+        CD_LINUX_SLL_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index 7853585bda4ef8f02f6c769420fdc68b8acd9df6..4a384a094e96bd9b43f3ae2f25353a12f72d63bf 100644 (file)
 #include <pcap.h>
 
 
+#define CD_NULL_NAME "null"
+#define CD_NULL_HELP "support for null encapsulation"
+
 namespace
 {
 
-#define CD_NULL_NAME "null"
-
 class NullCodec : public Codec
 {
 public:
@@ -112,6 +113,7 @@ static const CodecApi null_api =
     {
         PT_CODEC,
         CD_NULL_NAME,
+        CD_NULL_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index ac8f836b22a4efe0c53de8ff484f84bf66d1353d..206cff7489b85964649c1f687ded449c5e0b522c 100644 (file)
 #include "framework/codec.h"
 #include "main/snort.h"
 
-
-
-namespace
-{
-
 // yes, macros are necessary. The API and class constructor require different strings.
 //
 // this macros is defined in the module to ensure identical names. However,
@@ -41,6 +36,11 @@ namespace
 #define PPP_NAME "ppp"
 #endif
 
+#define PPP_HELP "support for point-to-point encapsulation"
+
+namespace
+{
+
 class PPPCodec : public Codec
 {
 public:
@@ -117,6 +117,7 @@ static const CodecApi ppp_api =
     {
         PT_CODEC,
         PPP_NAME,
+        PPP_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr, // mod_ctor
index 3d28e5f309af865110f20d6e7c8c4c6176d3812d..536917166c4ed3094362e72960fcae3cdfd83c35 100644 (file)
 #include "protocols/protocol_ids.h"
 #include <pcap.h>
 
+#define CD_RAW4_NAME "raw4"
+#define CD_RAW4_HELP "support for unencapsulated IPv4"
 
 namespace
 {
 
-#define CD_RAW4_NAME "raw4"
-
 class Raw4Codec : public Codec
 {
 public:
@@ -104,6 +104,7 @@ static const CodecApi raw4_api =
     {
         PT_CODEC,
         CD_RAW4_NAME,
+        CD_RAW4_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index 867f5b4713ba35456859d51c8ddf21047d43458f..5bf0754cefe43ae60c5516157dc61cc278c518b3 100644 (file)
 #include "protocols/protocol_ids.h"
 #include <pcap.h>
 
+#define CD_RAW6_NAME "raw6"
+#define CD_RAW6_HELP "support for unencapsulated IPv6"
 
 namespace
 {
 
-#define CD_RAW6_NAME "raw6"
-
 class Raw6Codec : public Codec
 {
 public:
@@ -78,6 +78,7 @@ static const CodecApi raw6_api =
     {
         PT_CODEC,
         CD_RAW6_NAME,
+        CD_RAW6_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr,
index f9b5fa48f24732ad3ef50b1f6e7650816f6a6417..45fa12619871659b585eaf92f886390d8b100196 100644 (file)
 #include "log/log.h"
 #endif
 
+#define CD_WLAN_NAME "wlan"
+#define CD_WLAN_HELP "support for wireless local area network protocol"
+
 namespace
 {
 
-#define CD_WLAN_NAME "wlan"
 static const RuleMap wlan_rules[] =
 {
     { DECODE_BAD_80211_ETHLLC, "(" CD_WLAN_NAME ") Bad 802.11 LLC header" },
@@ -48,13 +50,10 @@ static const RuleMap wlan_rules[] =
     { 0, nullptr }
 };
 
-static const char* wlan_help =
-    "support for wireless local area network protocol";
-
 class WlanCodecModule : public DecodeModule
 {
 public:
-    WlanCodecModule() : DecodeModule(CD_WLAN_NAME, wlan_help) {}
+    WlanCodecModule() : DecodeModule(CD_WLAN_NAME, CD_WLAN_HELP) {}
 
     const RuleMap* get_rules() const
     { return wlan_rules; }
@@ -253,6 +252,7 @@ static const CodecApi wlan_api =
     {
         PT_CODEC,
         CD_WLAN_NAME,
+        CD_WLAN_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor,
index beb94a56030e1010eae8731795602ef39c17192f..bbee0bff1a7e95b411f93aded81b2947249ed74c 100644 (file)
 
 #include "framework/codec.h"
 
+#ifndef I4L_RAW_IP_NAME
+#define I4L_RAW_IP_NAME "i4l_raw_ip"
+#endif
+
+#define I4L_RAW_IP_HELP "support for I4L IP"
 
 namespace
 {
 
-
-#ifndef I4L_RAW_IP
-#define I4L_RAW_IP "i4l_raw_ip"
-#endif
-
 class I4LRawIpCodec : public Codec
 {
 public:
-    I4LRawIpCodec() : Codec(I4L_RAW_IP){};
+    I4LRawIpCodec() : Codec(I4L_RAW_IP_NAME){};
     ~I4LRawIpCodec() {};
 
 
@@ -105,7 +105,8 @@ static const CodecApi i4l_raw_ip_api =
 {
     {
         PT_CODEC,
-        I4L_RAW_IP,
+        I4L_RAW_IP_NAME,
+        I4L_RAW_IP_HELP,
         CDAPI_PLUGIN_V0,
         0,
         nullptr, // mod_ctor
index 6bd96f61df848fe72d69b0ca280c25944a0e0fb5..8e04fac58f8ea8c31d6d278036fe550a0f11586b 100644 (file)
 #include "framework/module.h"
 #include "log/text_log.h"
 
-namespace
-{
-
 // yes, macros are necessary. The API and class constructor require different strings.
 //
 // this macros is defined in the module to ensure identical names. However,
 // if you don't want a module, define the name here.
 #define CODEC_NAME "name"
+#define CODEC_NAME "one line help for this codec"
 
-
-
+namespace
+{
 
 // inherit from DecodeModule rather than Module so the GID for
 // all codecs are identical. Additionally, all of the SIDS are
@@ -256,6 +254,7 @@ static const CodecApi name_api =
     {
         PT_CODEC,
         CODEC_NAME,
+        CODEC_HELP,
         CDAPI_PLUGIN_V0,
         0,
         mod_ctor, // module constructor ( see function for details )
index d184695cb55b4cc876ad6f6d9053b5d023fe2f71..d811c735535ecced78374838eca35c58cc937c72 100644 (file)
@@ -52,6 +52,7 @@ struct BaseApi
 {
     PlugType type;
     const char* name;
+    const char* help;
     unsigned api_version;
     unsigned version;
     ModNewFunc mod_ctor;
index 171dabf43c6e0aeadd7bb075beb57373ede2ee89..33d285802c8ae1b36db529257ee6ad9b173c44f2 100644 (file)
@@ -44,6 +44,9 @@
 
 static const char* s_name = "ack";
 
+static const char* s_help =
+    "rule option to match on TCP ack numbers";
+
 static THREAD_LOCAL ProfileStats tcpAckPerfStats;
 
 class TcpAckOption : public IpsOption
@@ -118,9 +121,6 @@ static const Parameter s_params[] =
     { nullptr, Parameter::PT_MAX, nullptr, nullptr, nullptr }
 };
 
-static const char* s_help =
-    "rule option to match on TCP ack numbers";
-
 class AckModule : public Module
 {
 public:
@@ -179,6 +179,7 @@ static const IpsApi ack_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index e35224f25e5e890f9ca653865689dbf5bbf005ad..42bf6b80278c60b5ee67bd340d2a4cce9c213c56 100644 (file)
@@ -94,6 +94,9 @@ static THREAD_LOCAL ProfileStats asn1PerfStats;
 
 static const char* s_name = "asn1";
 
+static const char* s_help =
+    "rule option for asn1 detection";
+
 class Asn1Option : public IpsOption
 {
 public:
@@ -214,9 +217,6 @@ static const Parameter s_params[] =
     { nullptr, Parameter::PT_MAX, nullptr, nullptr, nullptr }
 };
 
-static const char* s_help =
-    "rule option for asn1 detection";
-
 class Asn1Module : public Module
 {
 public:
@@ -299,6 +299,7 @@ static const IpsApi asn1_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 8fc3aee1858ae81ec50952b331dc3276b4d82fa6..0f0752561448b5e094f330efc038ea445bf084d8 100644 (file)
@@ -57,6 +57,9 @@ static THREAD_LOCAL ProfileStats base64PerfStats;
 
 static const char* s_name = "base64_decode";
 
+static const char* s_help =
+    "rule option to decode base64 data - must be used with base64_data option";
+
 //-------------------------------------------------------------------------
 // base64_decode
 //-------------------------------------------------------------------------
@@ -199,9 +202,6 @@ static const Parameter s_params[] =
     { nullptr, Parameter::PT_MAX, nullptr, nullptr, nullptr }
 };
 
-static const char* s_help =
-    "rule option to decode base64 data - must be used with base64_data option";
-
 class B64DecodeModule : public Module
 {
 public:
@@ -269,6 +269,7 @@ static const IpsApi base64_decode_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
@@ -290,6 +291,7 @@ static const IpsApi base64_decode_api =
 //-------------------------------------------------------------------------
 
 static const char* s_data_name = "base64_data";
+static const char* s_data_help = "set detection cursor to decoded Base64 data";
 
 class Base64DataOption : public IpsOption
 {
@@ -348,6 +350,7 @@ static const IpsApi base64_data_api =
     {
         PT_IPS_OPTION,
         s_data_name,
+        s_data_help,
         IPSAPI_PLUGIN_V0,
         0,
         nullptr,
index 026452dbe4df6c910a19b5006fdd554b14d80cfa..895a5e80d2a22beb0a377fef4a53da5739016b98 100644 (file)
@@ -41,6 +41,9 @@
 
 static const char* s_name = "bufferlen";
 
+static const char* s_help =
+    "rule option to check length of current buffer";
+
 static THREAD_LOCAL ProfileStats lenCheckPerfStats;
 
 class LenOption : public IpsOption
@@ -112,9 +115,6 @@ static const Parameter s_params[] =
     { nullptr, Parameter::PT_MAX, nullptr, nullptr, nullptr }
 };
 
-static const char* s_help =
-    "rule option to check length of current buffer";
-
 class LenModule : public Module
 {
 public:
@@ -173,6 +173,7 @@ static const IpsApi len_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index cdd6ab3b2816d2305ea32b5b750583edfd531d8d..4dc5f98f7177d87abd86f544322c2568cf021a60 100644 (file)
@@ -43,6 +43,9 @@ static THREAD_LOCAL ProfileStats byteExtractPerfStats;
 
 static const char* s_name = "byte_extract";
 
+static const char* s_help =
+    "rule option to convert data to an integer variable";
+
 #define MAX_BYTES_TO_GRAB 4
 
 typedef struct _ByteExtractData
@@ -424,9 +427,6 @@ static const Parameter s_params[] =
     { nullptr, Parameter::PT_MAX, nullptr, nullptr, nullptr }
 };
 
-static const char* s_help =
-    "rule option to convert data to an integer variable";
-
 class ExtractModule : public Module
 {
 public:
@@ -554,6 +554,7 @@ static const IpsApi byte_extract_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 8b4c9d8aab7c5e57fab7a7e8d5a2851844860077..968bd9cc59399fe608a41ebba8895e29ebda2b6e 100644 (file)
@@ -490,6 +490,7 @@ static const IpsApi byte_jump_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 6b226f4ea03c1cffc96556f5793709d544240125..081fe6813fdaa15758682b0a95d355b073bc2eb8 100644 (file)
@@ -631,6 +631,7 @@ static const IpsApi byte_test_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 0f3a02fb3f1328a1df02c63d4787bcba394c9a75..c908660595746aacce679246d8e967f6d71141de 100644 (file)
@@ -97,6 +97,7 @@ static const IpsApi classtype_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index af316b7d574f9ab11df9a4d83e32a37282278f5f..406d5bb0382d1c7981ec4c751c3cddb2e734069a 100644 (file)
@@ -846,6 +846,7 @@ static const IpsApi content_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 72dfc6222a1e10a3d9fdad938efa75587bd177ee..176fb2cdbc8da6e4a204f1af23c5f75aac4e9523 100644 (file)
@@ -499,6 +499,7 @@ static const IpsApi cvs_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 97a8739d303f4103850c686dd978d8f91a52645a..9a3b3779fe72d0f7b0e49fc5aa589c3d02cf23fe 100644 (file)
@@ -126,6 +126,7 @@ static const IpsApi detection_filter_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 2f2759334d86e6a4c3f3015e8f15ee81fe9f75d5..a1d18993ab1cf355be14f47665de31cfa3b3839c 100644 (file)
@@ -191,6 +191,7 @@ static const IpsApi dsize_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index df70d960fcceca4654e6643a75727d6461a09fda..86252d31f0db5584add4128bbc2f5b26226222ef 100644 (file)
@@ -127,6 +127,7 @@ static const IpsApi file_data_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 9ab82acaf491a22d82e092c72e6c74c68430a337..271a6950a2df897e80b0d3b4ad735121e35f0627 100644 (file)
@@ -476,6 +476,7 @@ static const IpsApi flags_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 28f20c9c2490ecc2a02a54290e045980dcd97d02..9282eb7f56a5f3fe19acd9e338e70020698b7e32 100644 (file)
@@ -483,6 +483,7 @@ static const IpsApi flow_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 0be05fd1cd68dc9c8f3d87c2ebeb03d4e9b29d7d..5a8c0971c3a7cfc5a258525bd3724ce28102c67d 100644 (file)
@@ -1234,6 +1234,7 @@ static const IpsApi flowbits_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 97f0ea95b68e40b93fce3ac36d0901d820d3f077..3dc205f42c4a4fbc6af5e33af69902652a234e5a 100644 (file)
@@ -377,6 +377,7 @@ static const IpsApi fragbits_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 053946c6c01a1c95cb83466ab36051829d858312..f94482c356d274e35814abd07f27daf954b3bee8 100644 (file)
@@ -181,6 +181,7 @@ static const IpsApi fragoffset_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index c995fd5f54a1df338a350465e3ff2ac8dbaf574d..9e3347965408900ace10525a7a8bffb4b51a789f 100644 (file)
@@ -93,6 +93,7 @@ static const IpsApi gid_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index e9576d2df4724f4e7bb21297e5ee8fe78b7fb3f4..4de79efb3de70d5af6314a1a7b316018fd09d021 100644 (file)
@@ -134,6 +134,7 @@ static const IpsApi uri_api =
     {
         PT_IPS_OPTION,
         IPS_OPT,
+        uri_help,
         IPSAPI_PLUGIN_V0,
         0,
         uri_mod_ctor,
@@ -177,6 +178,7 @@ static const IpsApi client_body_api =
     {
         PT_IPS_OPTION,
         IPS_OPT,
+        cb_help,
         IPSAPI_PLUGIN_V0,
         0,
         client_body_mod_ctor,
@@ -220,6 +222,7 @@ static const IpsApi method_api =
     {
         PT_IPS_OPTION,
         IPS_OPT,
+        meth_help,
         IPSAPI_PLUGIN_V0,
         0,
         method_mod_ctor,
@@ -263,6 +266,7 @@ static const IpsApi cookie_api =
     {
         PT_IPS_OPTION,
         IPS_OPT,
+        cookie_help,
         IPSAPI_PLUGIN_V0,
         0,
         cookie_mod_ctor,
@@ -306,6 +310,7 @@ static const IpsApi stat_code_api =
     {
         PT_IPS_OPTION,
         IPS_OPT,
+        stat_code_help,
         IPSAPI_PLUGIN_V0,
         0,
         stat_code_mod_ctor,
@@ -349,6 +354,7 @@ static const IpsApi stat_msg_api =
     {
         PT_IPS_OPTION,
         IPS_OPT,
+        stat_msg_help,
         IPSAPI_PLUGIN_V0,
         0,
         stat_msg_mod_ctor,
@@ -392,6 +398,7 @@ static const IpsApi raw_uri_api =
     {
         PT_IPS_OPTION,
         IPS_OPT,
+        raw_uri_help,
         IPSAPI_PLUGIN_V0,
         0,
         raw_uri_mod_ctor,
@@ -435,6 +442,7 @@ static const IpsApi raw_header_api =
     {
         PT_IPS_OPTION,
         IPS_OPT,
+        raw_header_help,
         IPSAPI_PLUGIN_V0,
         0,
         raw_header_mod_ctor,
@@ -478,6 +486,7 @@ static const IpsApi raw_cookie_api =
     {
         PT_IPS_OPTION,
         IPS_OPT,
+        raw_cookie_help,
         IPSAPI_PLUGIN_V0,
         0,
         raw_cookie_mod_ctor,
index 11d201b214871b19131b5cbe2e592dababfab8eb..f25400f3118e0860809606b9ea23073f30d3fb8c 100644 (file)
@@ -211,6 +211,7 @@ static const IpsApi header_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 8b28aaa89f03a6bbd495c4837dfe36ee1de9f81f..90a7750be7fedf29c529009ca31f0500080fe34b 100644 (file)
@@ -203,6 +203,7 @@ static const IpsApi icmp_id_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 7538d4645848000ed8dd27533af4223ef05dcf64..69972a2e97f756d3b6f45058c6b38e95a2ee4101 100644 (file)
@@ -205,6 +205,7 @@ static const IpsApi icmp_seq_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 0679ea5c0b44a9d33e034e45668a417d2ea3258e..db5efeba013cac87f2dfacbb1aee307938ebbb18 100644 (file)
@@ -177,6 +177,7 @@ static const IpsApi icode_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 4f36755ad1998ed97b1a388ec6076272d239b2e5..b3e8511397b229f3293bd0a3da5fcc8da8863bc0 100644 (file)
@@ -177,6 +177,7 @@ static const IpsApi id_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index f6180a4279ec4db09414580bc48dda6d493e47e8..2b3e5cd87ecfd212c14670c55400ea51f662aa1e 100644 (file)
@@ -356,6 +356,7 @@ static const IpsApi ip_proto_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 39ccaf55569afef643531918fed8aa66a47edc58..c02616fbc944c47a04992b6ba24de13a2fcf305f 100644 (file)
@@ -283,6 +283,7 @@ static const IpsApi ipopts_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 20e7959b06b0cf7f5386911959986ec8064f5a1c..e0728e2a7e9b17c81081bb1472d9390e068f3c14 100644 (file)
@@ -321,6 +321,7 @@ static const IpsApi isdataat_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 589c8f8edccbeb54d98f1f289626277aad1140a1..1d5b723439d1a99cbf1e02d4d267f51d148f2950 100644 (file)
@@ -174,6 +174,7 @@ static const IpsApi itype_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index e29111ba6c64c64da58c6dc1eb2b0c17a4487d29..9150e290d9404cc3d775dddac63f4e2d096966ad 100644 (file)
@@ -251,6 +251,7 @@ const IpsApi ips_lua_api =
     {
         PT_IPS_OPTION,
         "tbd",
+        "Lua JIT script for IPS rule option",
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 711113d036893b5a8ad1e6e761ad22e460b697b1..9840f6e0382805aa26056add8f345165c191bcf1 100644 (file)
@@ -115,6 +115,7 @@ static const IpsApi metadata_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index ae10eddec718d0679d03edb88536019270159d1d..11f78772ab3b978547587aaf9ce72d016bdae3e0 100644 (file)
@@ -95,6 +95,7 @@ static const IpsApi msg_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 2ba4b31cdddb87b498bcd437569ee07cae108267..a1b3e09caa26934021b210d2c669769167c11afe 100644 (file)
@@ -750,6 +750,7 @@ static const IpsApi pcre_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 171675e9abed1be58691213395dfec943742ea5c..6b9ac8623a135c10a425b0ae78954b43e026614e 100644 (file)
@@ -104,6 +104,7 @@ static const IpsApi pkt_data_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 3e42712819911a2b71d6df8946b35fd8e58121a0..36eb06fc35ce26b1d623aaa6607e576a06535d64 100644 (file)
@@ -93,6 +93,7 @@ static const IpsApi priority_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 19334fe0d3b8a19a7b58baf32dbf662057f3f3b7..9317f4e710562db75af6c78789ac927a48cbabc3 100644 (file)
@@ -104,6 +104,7 @@ static const IpsApi raw_data_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 8838e2b49d37a81546f602bec0172333ac073d6c..03a22d6ee7680c5f1b6f1be7736a643db0c003b8 100644 (file)
@@ -115,6 +115,7 @@ static const IpsApi reference_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 04aec68d89c7a69b00a5a291a2ace8dc30ffd6e9..a163179ba7fbc5d6eacc62bd893bc6acaf738a4c 100644 (file)
@@ -88,6 +88,7 @@ static const IpsApi rem_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 259ae958eb90cbe89ba1a2786ef0858877ef60e9..3b1ca1ab73267320ca5be97800bd77a3a1c3d628 100644 (file)
@@ -276,6 +276,7 @@ static const IpsApi replace_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 4f93b8bb81d224fe9f8442067f1c713f466bcec0..aa5fdaa1926201d03e53f234e245f989c6d5dbb6 100644 (file)
@@ -91,6 +91,7 @@ static const IpsApi rev_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index e53c77db2c74618e1546b3fca57db041c99d183f..3fca5924ee96f2569c43f3a11d22311230a13e07 100644 (file)
@@ -337,6 +337,7 @@ static const IpsApi rpc_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 0bec802e1c07390871fdd0c912c958e8cb1ff903..2c502d13c2bc6687f6c1e942cba01bcd2f01fee1 100644 (file)
@@ -171,6 +171,7 @@ static const IpsApi seq_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 96dc1ca5beec7d3974a93eb4d4c003f17fa3cbf8..533fb0d0969627e02abfefd049e06130a5854549 100644 (file)
@@ -390,6 +390,7 @@ static const IpsApi session_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 1d3530c9c04a81d8d76c70700393e74732d61179..4eb5fffcc3653e214f9f45f913416bb526c9d0d4 100644 (file)
@@ -91,6 +91,7 @@ static const IpsApi sid_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 0de77e20332ee9e85a1f493a4b49f13922d3ac01..11b1a978d4cfbf8fedffdec72d0d5cef9c4b8892 100644 (file)
@@ -191,6 +191,7 @@ static const IpsApi so_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 5fd45e29777cb5e1be53b3f02aad0a9708256807..e84141b0fcac70291f69ef2c83fdff3b2620e313 100644 (file)
@@ -96,6 +96,7 @@ static const IpsApi soid_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 33234a1f7f08d2a8971d70948d37642876e2ae68..7ad5b89933923dfc89a875500562b70992e85e35 100644 (file)
@@ -165,6 +165,7 @@ static const IpsApi tag_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 8d67bd7b84772033b3f57cf4e14ec83a1f8400c7..a9b51cfac57bd0cf4795f581051b29e6b5e19f70 100644 (file)
@@ -174,6 +174,7 @@ static const IpsApi tos_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index ab90a2cdb793d4ecbc59fe2382d4e5dfc6176cf7..a20d0fe62dfad6ffb14c384a593111ce66f4e438 100644 (file)
@@ -173,6 +173,7 @@ static const IpsApi ttl_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 75f98434d717697f4e96456309c19bbded9afe21..6d366346f75fcaf14869116a95d7bf57edfca053 100644 (file)
@@ -171,6 +171,7 @@ static const IpsApi window_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 3817aa76b6e53252af12e1eecd48e176dec5a59e..f7f77b96a51b8caace6dabcf313e95f34b56cfb5 100644 (file)
@@ -422,6 +422,7 @@ static LogApi csv_api
     {
         PT_LOGGER,
         s_name,
+        s_help,
         LOGAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 0bef2389258c05945b9b58959dd320a5edf098d4..7837ad5d3e6b0a8c37eb26537d64e86f7fb22093 100644 (file)
@@ -281,6 +281,7 @@ static LogApi fast_api
     {
         PT_LOGGER,
         s_name,
+        s_help,
         LOGAPI_PLUGIN_V0,
         0,
         mod_ctor,
index e4f425b8f09348713e5b75c1596195788d2eaa21..74fc40c232df899761591f88fa7b64c9643b1ea6 100644 (file)
@@ -272,6 +272,7 @@ static LogApi full_api
     {
         PT_LOGGER,
         s_name,
+        s_help,
         LOGAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 1cb91ff0f2be95c68285f46ecd729d01e0f8efb9..59661b7463dbc94417cee114e7131044f82ce0a9 100644 (file)
@@ -224,6 +224,7 @@ static const LogApi log_lua_api =
     {
         PT_LOGGER,
         "luajit",
+        "Lua JIT script for logging events",
         LOGAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 1b5814c6df9197e4347f89b5076f9a1861d99ccc..f12c1f5921bacbfa061dbe4d9bc5013c0fe6e21a 100644 (file)
@@ -404,6 +404,7 @@ static LogApi sf_sock_api
     {
         PT_LOGGER,
         s_name,
+        s_help,
         LOGAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 5e2f29782c85196455d03e788aabf98eb76743a4..470e6e2ad99e7857b997caad429e6fda85590817 100644 (file)
@@ -350,6 +350,7 @@ static LogApi syslog_api
     {
         PT_LOGGER,
         s_name,
+        s_help,
         LOGAPI_PLUGIN_V0,
         0,
         mod_ctor,
index f962fb78c5dbce0e10508b6647273f8d3834469a..389d0e35cc70d73d3eca86cc17439ac853de4f01 100644 (file)
@@ -228,6 +228,7 @@ static LogApi test_api
     {
         PT_LOGGER,
         s_name,
+        s_help,
         LOGAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 32b62d0eaadca7ba3a066a2e8544e8eba2704b78..1a2a7deff629b5546d20a76bf4e2911d9f5c473b 100644 (file)
@@ -291,6 +291,7 @@ static LogApi unix_sock_api
     {
         PT_LOGGER,
         s_name,
+        s_help,
         LOGAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 6c9717c9b8f6d5482dc1b55f29bb82e00c47d544..194b7fbed52e9ee9abc96b8a35ab64e2d662ffe8 100644 (file)
@@ -190,6 +190,7 @@ static const LogApi log_codecs_api =
     {
         PT_LOGGER,
         LOG_CODECS_NAME,
+        LOG_CODECS_HELP,
         LOGAPI_PLUGIN_V0,
         0,
         mod_ctor,
index b6724894770b9268c431c17d1a05b9a6f2053252..aa88e5dd8a22c1c0d8dc837fce7860b65e3b2e99 100644 (file)
@@ -34,6 +34,9 @@
 #include "framework/module.h"
 #include "snort.h"
 
+static const char* s_name = "log_null";
+static const char* s_help = "support for null encapsulation";
+
 //-------------------------------------------------------------------------
 // log_null module
 //-------------------------------------------------------------------------
@@ -53,7 +56,8 @@ static LogApi null_api
 {
     {
         PT_LOGGER,
-        "log_null",
+        s_name,
+        s_help,
         LOGAPI_PLUGIN_V0,
         0,
         nullptr, // mod_ctor,
index 952b430f4f96798b64a45c4d1e64d66524683944..47d381959cb270178b0acc300ab87880b9d14754 100644 (file)
@@ -378,6 +378,7 @@ static LogApi tcpdump_api
     {
         PT_LOGGER,
         s_name,
+        s_help,
         LOGAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 9f0905e0729bb69a9648a37b25b7d1721b316443..4bb4f40a6e7ef5fe75bf402f3cd32a02fee9c448 100644 (file)
@@ -1251,6 +1251,7 @@ static LogApi u2_api
     {
         PT_LOGGER,
         s_name,
+        s_help,
         LOGAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 90d4fc63eccfbdedbf1d42beee25b23ace721a2a..f5c4bc6ab0a83e32d108faa3b36fccf28369be4c 100644 (file)
 
 #include "arp_module.h"
 
-static const char* s_name = MOD_NAME;
-
-static const char* s_help = 
-    "detect ARP attacks and anomalies";
-
 #define ARPSPOOF_UNICAST_ARP_REQUEST_STR \
     "(arp_spoof) Unicast ARP request"
 #define ARPSPOOF_ETHERFRAME_ARP_MISMATCH_SRC_STR \
@@ -82,7 +77,7 @@ static const RuleMap s_rules[] =
 //-------------------------------------------------------------------------
 
 ArpSpoofModule::ArpSpoofModule() : 
-    Module(s_name, s_help, s_params)
+    Module(MOD_NAME, MOD_HELP, s_params)
 {
     config = new ArpSpoofConfig;
     config->check_overwrite = false;
index 1a0c8bb2efa37cb3d1f3fa6db5c56983bd76b3c7..f060ce88c364495574e53063b8ec578e6f51712f 100644 (file)
@@ -28,6 +28,7 @@
 #include "main/thread.h"
 
 #define MOD_NAME "arp_spoof"
+#define MOD_HELP "detect ARP attacks and anomalies"
 
 #define GID_ARP_SPOOF 112
 
index ef38581d825e5d798050486c52655c8f005e6550..2ffb256b41c4b3d6541798ef66cf55923a081b9e 100644 (file)
@@ -298,6 +298,7 @@ static const InspectApi as_api =
     {
         PT_INSPECTOR,
         MOD_NAME,
+        MOD_HELP,
         INSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 39ace58092548c029be836c86c877185a09cf0d0..4e77e2da4bf0a90136dd344c129be6f7f8757a8b 100644 (file)
@@ -41,11 +41,6 @@ static const char* bind_pegs[] =
     nullptr
 };
 
-static const char* s_name = "binder";
-
-static const char* s_help =
-    "configure processing based on CIDRs, ports, services, etc.";
-
 //-------------------------------------------------------------------------
 // binder module
 //-------------------------------------------------------------------------
@@ -110,7 +105,7 @@ static const Parameter s_params[] =
     { nullptr, Parameter::PT_MAX, nullptr, nullptr, nullptr }
 };
 
-BinderModule::BinderModule() : Module(s_name, s_help, s_params)
+BinderModule::BinderModule() : Module(BIND_NAME, BIND_HELP, s_params)
 { work = nullptr; }
 
 BinderModule::~BinderModule()
@@ -179,7 +174,7 @@ bool BinderModule::set(const char* fqn, Value& v, SnortConfig*)
 
 bool BinderModule::begin(const char* fqn, int idx, SnortConfig*)
 {
-    if ( idx && !strcmp(fqn, s_name) )
+    if ( idx && !strcmp(fqn, BIND_NAME) )
         work = new Binding;
 
     return true;
@@ -187,7 +182,7 @@ bool BinderModule::begin(const char* fqn, int idx, SnortConfig*)
 
 bool BinderModule::end(const char* fqn, int idx, SnortConfig*)
 {
-    if ( idx && !strcmp(fqn, s_name) )
+    if ( idx && !strcmp(fqn, BIND_NAME) )
     {
         bindings.push_back(work);
         work = nullptr;
index 82999a7ae2566faceeceb30abd8be96dcaf3e57d..a745f8f4caef7e76eda374bda5a40b6d8587e6c7 100644 (file)
@@ -27,6 +27,9 @@
 #include "framework/module.h"
 #include "main/thread.h"
 
+#define BIND_NAME "binder"
+#define BIND_HELP "configure processing based on CIDRs, ports, services, etc."
+
 struct BindStats
 {
     PegCount packets;
index a38ac98dbf66ce3c9114a66063e8d58c4d026674..3c5849bb64f0bba4aa241ef9b505eb3a679f61b5 100644 (file)
@@ -36,8 +36,6 @@ using namespace std;
 #include "utils/stats.h"
 #include "log/messages.h"
 
-static const char* mod_name = "binder";
-
 THREAD_LOCAL ProfileStats bindPerfStats;
 
 //-------------------------------------------------------------------------
@@ -294,7 +292,8 @@ static const InspectApi bind_api =
 {
     {
         PT_INSPECTOR,
-        mod_name,
+        BIND_NAME,
+        BIND_HELP,
         INSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 8ccbbd782e8a2980323a54a4fac252360685232c..754336c2d3745d16c191f8f06f214069eaffbe77 100644 (file)
@@ -157,13 +157,8 @@ static const Parameter s_params[] =
 // normalize parameters
 //-------------------------------------------------------------------------
 
-static const char* s_name = "normalize";
-
-static const char* s_help =
-    "packet scrubbing for inline mode";
-
 NormalizeModule::NormalizeModule() :
-    Module(s_name, s_help, s_params)
+    Module(NORM_NAME, NORM_HELP, s_params)
 {
     memset(&config, 0, sizeof(config));
 }
@@ -259,7 +254,7 @@ bool NormalizeModule::set(const char* fqn, Value& v, SnortConfig* sc)
 
 bool NormalizeModule::begin(const char* fqn, int, SnortConfig*)
 {
-    if ( !strcmp(fqn, s_name) )
+    if ( !strcmp(fqn, NORM_NAME) )
     {
         NetworkPolicy* policy = get_network_policy();
 
index 2d3d766eb03a055162775851c661ac2ef55aa1f0..60d967ca1cf33a2b86f61744384b6d11bbcbe424 100644 (file)
@@ -29,6 +29,9 @@
 #include "framework/module.h"
 #include "norm.h"
 
+#define NORM_NAME "normalizer"
+#define NORM_HELP "packet scrubbing for inline mode"
+
 extern THREAD_LOCAL ProfileStats norm_perf_stats;
 
 class NormalizeModule : public Module
index d156b7b907693b72e35450c00968aac068b48e0c..62fbcad19333c66f33d85cd16efb56d9a87e4ecf 100644 (file)
@@ -32,8 +32,6 @@
 
 #define PROTO_BITS (PROTO_BIT__IP|PROTO_BIT__ICMP|PROTO_BIT__TCP)
 
-static const char* name = "normalize";
-
 THREAD_LOCAL ProfileStats norm_perf_stats;
 
 //-------------------------------------------------------------------------
@@ -246,7 +244,8 @@ static const InspectApi no_api =
 {
     {
         PT_INSPECTOR,
-        name,
+        NORM_NAME,
+        NORM_HELP,
         INSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index d240a93ace60cd90a164dca2dc09ca8a55b57ffe..c738d2b712f6aaadbefb318e7e92c2039ca1908a 100644 (file)
@@ -77,13 +77,8 @@ static const Parameter s_params[] =
 // perf attributes
 //-------------------------------------------------------------------------
 
-static const char* s_name = "perf_monitor";
-
-static const char* s_help =
-    "performance monitoring and flow statistics collection";
-
 PerfMonModule::PerfMonModule() :
-    Module(s_name, s_help, s_params)
+    Module(PERF_NAME, PERF_HELP, s_params)
 { }
 
 ProfileStats* PerfMonModule::get_profile() const
index 4fd2e96442c6516fea2f4e853fbd4e4568611bf4..03e862c67bc67af807243300ed162213ed5f7d5a 100644 (file)
@@ -25,6 +25,9 @@
 #include "perf.h"
 #include "framework/module.h"
 
+#define PERF_NAME "perf_monitor"
+#define PERF_HELP "performance monitoring and flow statistics collection"
+
 extern THREAD_LOCAL SimpleStats pmstats;
 extern THREAD_LOCAL ProfileStats perfmonStats;
 
index 788ba813764ad5995f6b15aa821d4b663113a041..ae83ecc8807c2b44fb0bda7753f990eddc71a36d 100644 (file)
@@ -56,8 +56,6 @@
 
 THREAD_LOCAL SFPERF* perfmon_config = nullptr;
 
-static const char* mod_name = "perf_monitor";
-
 THREAD_LOCAL SimpleStats pmstats;
 THREAD_LOCAL ProfileStats perfmonStats;
 
@@ -379,7 +377,8 @@ static const InspectApi pm_api =
 {
     {
         PT_INSPECTOR,
-        mod_name,
+        PERF_NAME,
+        PERF_HELP,
         INSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 4f52ee2c49e2e32424fbe99a7e35283a74bb304c..2df1b9f2182982877af6f2827909abec88ea006b 100644 (file)
@@ -867,7 +867,7 @@ bool PortScan::configure(SnortConfig* sc)
     // FIXIT-L use fixed base file name
     config->logfile = SnortStrdup("portscan.log");
 
-    global = (PsData*)DataManager::acquire(PS_GLOBAL, sc);
+    global = (PsData*)DataManager::acquire(PSG_NAME, sc);
     config->common = global->data;
     return true;
 }
@@ -960,7 +960,8 @@ static const DataApi sd_api =
 {
     {
         PT_DATA,
-        PS_GLOBAL,
+        PSG_NAME,
+        PSG_HELP,
         PDAPI_PLUGIN_V0,
         0,
         gmod_ctor,
@@ -994,7 +995,8 @@ static const InspectApi sp_api =
 {
     {
         PT_INSPECTOR,
-        PS_MODULE,
+        PS_NAME,
+        PS_HELP,
         INSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 782490bd69c7b7c297b2d9d44dbb6436b9bd8489..9f0071608ef035013908621b1c3b1b913b294622 100644 (file)
@@ -102,13 +102,8 @@ static const RuleMap port_scan_rules[] =
 // port_scan module
 //-------------------------------------------------------------------------
 
-static const char* ps_name = "port_scan";
-
-static const char* ps_help =
-    "port scan detection";
-
 PortScanModule::PortScanModule() :
-    Module(ps_name, ps_help, ps_params)
+    Module(PS_NAME, PS_HELP, ps_params)
 {
     config = nullptr;
 }
@@ -203,10 +198,6 @@ PortscanConfig* PortScanModule::get_data()
 // port_scan module
 //-------------------------------------------------------------------------
 
-static const char* psg_name = "port_scan_global";
-static const char* psg_help =
-    "shared settings for port_scan inspectors";
-
 static const Parameter psg_params[] =
 {
     { "memcap", Parameter::PT_INT, "1:", "1048576",
@@ -216,7 +207,7 @@ static const Parameter psg_params[] =
 };
 
 PortScanGlobalModule::PortScanGlobalModule() :
-    Module(psg_name, psg_help, psg_params)
+    Module(PSG_NAME, PSG_HELP, psg_params)
 { 
     common = nullptr;
 }
index 91cc00c7b59609fb94eca0fff9c4eb6e1c3effb4..90e3412aa7cfa6ffb04072ebf93da03c14fc457d 100644 (file)
 #include "ps_detect.h"
 #include "main/thread.h"
 
-#define PS_MODULE "port_scan"
-#define PS_GLOBAL "port_scan_global"
+#define PS_NAME "port_scan"
+#define PS_HELP "port scan detection"
+
+#define PSG_NAME "port_scan_global"
+#define PSG_HELP "shared settings for port_scan inspectors"
 
 extern THREAD_LOCAL SimpleStats spstats;
 extern THREAD_LOCAL ProfileStats psPerfStats;
index 0774f29022211f8546c9f7515346a926e5473b6d..8816bc67369167888ef539a39c3900b461e9e78d 100644 (file)
@@ -126,6 +126,7 @@ static const MpseApi acb_api =
     {
         PT_SEARCH_ENGINE,
         "ac_banded",
+        "Aho-Corasick Banded (high memory, moderate performance)",
         SEAPI_PLUGIN_V0,
         0,
         nullptr,
index d0e064ae9e94930490f039cc4ea61711e3d6a22d..d26008a3abc66d38260697b35d83d6ffab91f74e 100644 (file)
@@ -143,6 +143,7 @@ static const MpseApi bnfa_api =
     {
         PT_SEARCH_ENGINE,
         "ac_bnfa",
+        "Aho-Corasick Binary NFA (low memory, high performance) MPSE",
         SEAPI_PLUGIN_V0,
         0,
         nullptr,
index 2f9bbb72b807ebfe269dc907414cdcc210d3f75b..f2eb08767f049619312925268be6314611707fbb 100644 (file)
@@ -144,6 +144,7 @@ static const MpseApi bnfaq_api =
     {
         PT_SEARCH_ENGINE,
         "ac_bnfa_q",
+        "Aho-Corasick Binary NFA (low memory, high performance) with queued events",
         SEAPI_PLUGIN_V0,
         0,
         nullptr,
index f939583f60f0e1099248d18c0689f7e3e6652728..4cc64d47d7b15daa56d31a9842017d296cc0dcfe 100644 (file)
@@ -132,6 +132,7 @@ static const MpseApi acf_api =
     {
         PT_SEARCH_ENGINE,
         "ac_full",
+        "Aho-Corasick Full (high memory, best performance)",
         SEAPI_PLUGIN_V0,
         0,
         nullptr,
index eb905f4632a9a72cd57c7d28c4c13179c6d73fea..cd17264e932614e90d6a22a731324ef8cc5cd620 100644 (file)
@@ -132,6 +132,7 @@ static const MpseApi acfq_api =
     {
         PT_SEARCH_ENGINE,
         "ac_full_q",
+        "Aho-Corasick Full (high memory, best performance) with queued events",
         SEAPI_PLUGIN_V0,
         0,
         nullptr,
index 0e7fc2a0c2f0f9acd47e019dd74a787820c921fe..1fdf42643c62e7aae86eb36f968183abb9276fa9 100644 (file)
@@ -124,6 +124,7 @@ static const MpseApi acs_api =
     {
         PT_SEARCH_ENGINE,
         "ac_sparse",
+        "Aho-Corasick Sparse (high memory, moderate performance) MPSE",
         SEAPI_PLUGIN_V0,
         0,
         nullptr,
index b6b82d6b6ffdd5e584e2b26c43477dbd453cdc0e..c8d8536a5a8c7cedf3fcbbb86c0e5e476e6dea6e 100644 (file)
@@ -127,6 +127,7 @@ static const MpseApi acsb_api =
     {
         PT_SEARCH_ENGINE,
         "ac_sparse_bands",
+        "Aho-Corasick Sparse-Banded (high memory, moderate performance) MPSE",
         SEAPI_PLUGIN_V0,
         0,
         nullptr,
index b33f4688b9b0608feb9adfd5d32fe3ec1bccef0b..a4f601de33fdddf6979fc33683c5a9e4ef90ad92 100644 (file)
@@ -132,6 +132,7 @@ static const MpseApi ac_api =
     {
         PT_SEARCH_ENGINE,
         "ac_std",
+        "Aho-Corasick Full (high memory, best performance) MPSE",
         SEAPI_PLUGIN_V0,
         0,
         nullptr,
index 887e0dd7ceb77323da7da82272ef949278187bf8..10fd0fe084383cf24eaaac330cd042fce79667c1 100644 (file)
@@ -150,6 +150,7 @@ static const MpseApi cpm_api =
     {
         PT_SEARCH_ENGINE,
         "intel_cpm",
+        "Intel CPM library",
         SEAPI_PLUGIN_V0,
         0,
         nullptr,
index c127558647b528f02620dc14993f9a71e49ff46a..76144e9b534201e7c4bbab623b4e58d2bf8924d4 100644 (file)
 
 static const char* s_name = "back_orifice";
 
+static const char* s_help =
+    "back orifice detection";
+
 /* global keyvalue for the BoRand() function */
 static THREAD_LOCAL long holdrand = 1L;
 
@@ -186,9 +189,6 @@ static const RuleMap bo_rules[] =
     { 0, nullptr }
 };
 
-static const char* s_help =
-    "back orifice detection";
-
 class BoModule : public Module
 {
 public:
@@ -600,6 +600,7 @@ static const InspectApi bo_api =
     {
         PT_INSPECTOR,
         s_name,
+        s_help,
         INSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 2a8a5e0c2609e479c4b4fbe574f12e88a467f97d..bc37fe4f8b3f9da6b220e5f64c4cd9855f8b4d05 100644 (file)
@@ -58,6 +58,9 @@ int16_t ftp_data_app_id = SFTARGET_UNKNOWN_PROTOCOL;
 static const char* client_key = "ftp_client";
 static const char* server_key = "ftp_server";
 
+static const char* client_help = "FTP inspector client module";
+static const char* server_help = "FTP inspector server module";
+
 THREAD_LOCAL ProfileStats ftpPerfStats;
 THREAD_LOCAL SimpleStats ftstats;
 
@@ -463,6 +466,7 @@ static const DataApi fc_api =
     {
         PT_DATA,
         client_key,
+        client_help,
         MODAPI_PLUGIN_V0,
         0,
         fc_mod_ctor,
@@ -505,6 +509,7 @@ static const InspectApi fs_api =
     {
         PT_INSPECTOR,
         server_key,
+        server_help,
         INSAPI_PLUGIN_V0,
         0,
         fs_mod_ctor,
index 8fc3b905b216c0e53f7e37e8ec01e9f25fed39cb..d19eb54508e7eaa8dbebaafaa639bb332d8183af 100644 (file)
@@ -282,6 +282,7 @@ const InspectApi fd_api =
     {
         PT_INSPECTOR,
         s_name,
+        s_help,
         INSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 2cd6635cf2be6235780bb6297591c1de6efa9276..cab3b7e4639520a9b6de21f5e1a4884ffb3c3b05 100644 (file)
@@ -46,8 +46,6 @@
 #include "framework/inspector.h"
 #include "utils/sfsnprintfappend.h"
 
-static const char* tn_name = "telnet";
-
 THREAD_LOCAL ProfileStats telnetPerfStats;
 THREAD_LOCAL SimpleStats tnstats;
 
@@ -301,7 +299,8 @@ const InspectApi tn_api =
 {
     {
         PT_INSPECTOR,
-        tn_name,
+        TEL_NAME,
+        TEL_HELP,
         INSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index acc72a2562301b5e7a0bb473a6ebe0b398efbe28..2d0f6ef6f5e42751b89817066a8883a5153b7a0e 100644 (file)
 
 using namespace std;
 
-static const char* s_name = "telnet";
-
-static const char* s_help = 
-    "telnet inspector";
-
 //-------------------------------------------------------------------------
 // telnet module
 //-------------------------------------------------------------------------
@@ -68,7 +63,7 @@ static const RuleMap telnet_rules[] =
 };
 
 TelnetModule::TelnetModule() :
-    Module(s_name, s_help, s_params)
+    Module(TEL_NAME, TEL_HELP, s_params)
 {
     conf = nullptr;
 }
index 239788d03d4f3a4d3abaf7f8c52a7f6f8819b9ad..c4f98571e3e2d4f71ce40380798541bb022f7ac8 100644 (file)
@@ -32,6 +32,9 @@
 #define TELNET_ENCRYPTED      2
 #define TELNET_SB_NO_SE       3
 
+#define TEL_NAME "telnet"
+#define TEL_HELP "telnet inspection and normalization"
+
 struct SnortConfig;
 
 extern THREAD_LOCAL SimpleStats tnstats;
index 82216e0f4572f35658f11c700494a68ca97595d3..14be87301e32ba1bfdbd1fb5723a496eed0b202b 100644 (file)
@@ -29,6 +29,9 @@
 #define GLOBAL_KEYWORD "http_inspect"
 #define SERVER_KEYWORD "http_server"
 
+#define GLOBAL_HELP "shared HTTP inspector settings"
+#define SERVER_HELP "main HTTP inspector module"
+
 extern THREAD_LOCAL ProfileStats hiPerfStats;
 
 class HttpInspectModule : public Module
index 20bfbb1e48e06bc56e28d136c3819fafed87b332..4381be08f5ed40606fac99cf6455fce75c1c840f 100644 (file)
@@ -389,6 +389,7 @@ static const DataApi hg_api =
     {
         PT_DATA,
         GLOBAL_KEYWORD,
+        GLOBAL_HELP,
         MODAPI_PLUGIN_V0,
         0,
         hg_mod_ctor,
@@ -453,6 +454,7 @@ static const InspectApi hs_api =
     {
         PT_INSPECTOR,
         SERVER_KEYWORD,
+        SERVER_HELP,
         INSAPI_PLUGIN_V0,
         0,
         hs_mod_ctor,
index 751056e9e2a2de71bc61103107c71442081c58e2..6b957ec5a7e202b830eb228d47181c0b68213b5a 100644 (file)
@@ -38,6 +38,7 @@
 #include "nhttp_api.h"
 
 const char* NHttpApi::nhttp_my_name = "nhttp_inspect";
+const char* NHttpApi::nhttp_help = "the new HTTP inspector!";
 
 void NHttpApi::nhttp_init()
 {
@@ -70,6 +71,7 @@ const InspectApi NHttpApi::nhttp_api =
     {
         PT_INSPECTOR,
         NHttpApi::nhttp_my_name,
+        NHttpApi::nhttp_help,
         INSAPI_PLUGIN_V0,
         0,
         NHttpApi::nhttp_mod_ctor,
index a7212cba02840e3c5d29fba9223574a45b31797a..f4b144de1f7299d5c684f091635af370bcd1385e 100644 (file)
@@ -43,6 +43,7 @@ private:
     static Module* nhttp_mod_ctor() { return new NHttpModule; };
     static void nhttp_mod_dtor(Module* m) { delete m; };
     static const char* nhttp_my_name;
+    static const char* nhttp_help;
     static void nhttp_init();
     static void nhttp_term() {};
     static Inspector* nhttp_ctor(Module* mod);
index d3d538ca1c11e031bb8e73013df4b7a0abff6dec..10c1c7b24da36c0d9dcb31eea84182878bbf3772 100644 (file)
@@ -123,6 +123,7 @@ static THREAD_LOCAL const uint32_t rpc_memcap = 1048510;
 static THREAD_LOCAL uint32_t rpc_memory = 0;
 
 static const char* mod_name = "rpc_decode";
+static const char* mod_help = "RPC inspector";
 
 THREAD_LOCAL ProfileStats rpcdecodePerfStats;
 THREAD_LOCAL SimpleStats rdstats;
@@ -1103,6 +1104,7 @@ static const InspectApi rd_api =
     {
         PT_INSPECTOR,
         mod_name,
+        mod_help,
         INSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index a068c99af0e19aad55d98976e629e67e9138d217..767fe27f82d150033cc82c6dcde0383807f2620d 100644 (file)
@@ -30,10 +30,6 @@ using namespace std;
 #include "wizard.h"
 #include "magic.h"
 
-static const char* s_name = "wizard";
-static const char* s_help = 
-    "inspector that implements port-independent protocol identification";
-
 //-------------------------------------------------------------------------
 // wizard module
 //-------------------------------------------------------------------------
@@ -105,7 +101,7 @@ static const Parameter s_params[] =
     { nullptr, Parameter::PT_MAX, nullptr, nullptr, nullptr }
 };
 
-WizardModule::WizardModule() : Module(s_name, s_help, s_params)
+WizardModule::WizardModule() : Module(WIZ_NAME, WIZ_HELP, s_params)
 {
     c2s_hexes = nullptr;
     s2c_hexes = nullptr;
index ffbe9ffa94720f691716463374b569da0fb40438..b90fa992d7742cab18eca030491e11105e3bca8f 100644 (file)
@@ -27,6 +27,9 @@
 #include "framework/module.h"
 #include "main/thread.h"
 
+#define WIZ_NAME "wizard"
+#define WIZ_HELP "inspector that implements port-independent protocol identification"
+
 extern const char* wiz_pegs[];
 extern THREAD_LOCAL struct WizStats tstats;
 extern THREAD_LOCAL ProfileStats wizPerfStats;
index a728156727c6cef826e8e3d8f18da7c7ef72d1ad..62c2add26bac987a3a42ed5c5b187c3deeac43ad 100644 (file)
@@ -36,8 +36,6 @@ using namespace std;
 #include "utils/stats.h"
 #include "log/messages.h"
 
-static const char* mod_name = "wizard";
-
 THREAD_LOCAL ProfileStats wizPerfStats;
 
 struct WizStats
@@ -241,7 +239,8 @@ static const InspectApi wiz_api =
 {
     {
         PT_INSPECTOR,
-        mod_name,
+        WIZ_NAME,
+        WIZ_HELP,
         INSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index f432dc48e776b87f2a0d124430a4b0113830b2e2..0052a6396b51eac585f15e5120b71a4c31a4adf9 100644 (file)
@@ -273,6 +273,7 @@ static const InspectApi base_api =
     {
         PT_INSPECTOR,
         MOD_NAME,
+        MOD_HELP,
         INSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 0e9dd0fdb3928fcf2a159007363e88683a183750..5dde8e7949732a4ebf43dca1f5c94c38a8625c01 100644 (file)
@@ -76,11 +76,8 @@ static const Parameter s_params[] =
     { nullptr, Parameter::PT_MAX, nullptr, nullptr, nullptr }
 };
 
-static const char* s_help =
-    "base stream inspector for flow tracking";
-
 StreamModule::StreamModule() :
-    Module(MOD_NAME, s_help, s_params)
+    Module(MOD_NAME, MOD_HELP, s_params)
 {
     proto = &stream_cfg.ip_cfg;
 }
index bb60be43170efa27ad4fd7c2c3869fa4c7142168..51814d471bbdbca89418633166d7dc720a244376 100644 (file)
@@ -34,6 +34,7 @@ struct SnortConfig;
 //-------------------------------------------------------------------------
 
 #define MOD_NAME "stream"
+#define MOD_HELP "common flow tracking"
 
 struct StreamConfig
 {
index e772eec4128659ec42f54fdbac4e04d12eeeb8ec..94745c89282607bc910fb08bb179d0a4e796c974 100644 (file)
@@ -39,11 +39,8 @@ static const Parameter s_params[] =
     { nullptr, Parameter::PT_MAX, nullptr, nullptr, nullptr }
 };
 
-static const char* s_help =
-    "stream inspector for ICMP flow tracking";
-
 StreamIcmpModule::StreamIcmpModule() :
-    Module(MOD_NAME, s_help, s_params)
+    Module(MOD_NAME, MOD_HELP, s_params)
 {
     config = nullptr;
 }
index afc894e02ccef1ad870cef201d860f93615821b1..5960f5e74378c068d015871a8cca3a8eec46dec2 100644 (file)
@@ -37,6 +37,7 @@ struct SnortConfig;
 //-------------------------------------------------------------------------
 
 #define MOD_NAME "stream_icmp"
+#define MOD_HELP "stream inspector for ICMP flow tracking"
 
 struct StreamIcmpConfig;
 
index 1fa9ff990ced448ef9e3f7c4029cb38e389f18c3..a3f22fbd93186e8c4c4e27fd182930d865bb7181 100644 (file)
@@ -115,6 +115,7 @@ static const InspectApi icmp_api =
     {
         PT_INSPECTOR,
         MOD_NAME,
+        MOD_HELP,
         INSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 8c6a1f154e9a2dfc9b3c97e46aae4daced5ab848..3ad54b43cf683ada9001f59c2eb58940c1c842d3 100644 (file)
@@ -120,11 +120,8 @@ static const Parameter s_params[] =
     { nullptr, Parameter::PT_MAX, nullptr, nullptr, nullptr }
 };
 
-static const char* s_help =
-    "stream inspector for IP flow tracking";
-
 StreamIpModule::StreamIpModule() :
-    Module(MOD_NAME, s_help, s_params)
+    Module(MOD_NAME, MOD_HELP, s_params)
 {
     config = nullptr;
 }
index 4bb4edcfcc996adbc1036d6ff8ddb28111f1d094..bf1aeeb0b79e4abfbddfea3d597e67703a8cef51 100644 (file)
@@ -66,6 +66,7 @@ extern THREAD_LOCAL ProfileStats fragRebuildPerfStats;
 //-------------------------------------------------------------------------
 
 #define MOD_NAME "stream_ip"
+#define MOD_HELP "stream inspector for IP flow tracking and defragmentation"
 
 struct StreamIpConfig;
 
index b35daa207c1bcc4d843bb363a6fc57344196e440..4be0ca33c1c6183a05887c90e2ec06eecb29c105 100644 (file)
@@ -162,6 +162,7 @@ static const InspectApi ip_api =
     {
         PT_INSPECTOR,
         MOD_NAME,
+        MOD_HELP,
         INSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 81d339cd54ee00b65da9187766822ef6bc515a5d..4db36a551c1b989ddf83ce4d8a636ffe80c93672 100644 (file)
@@ -245,6 +245,7 @@ static const IpsApi reassemble_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         reassemble_mod_ctor,
index c2a2eb9c2f86ed738aa662ff6b3efa499458a495..ce52cf6623f4cadbf2b16e7f1f9ac054c5c4043c 100644 (file)
@@ -300,6 +300,7 @@ static const IpsApi size_api =
     {
         PT_IPS_OPTION,
         s_name,
+        s_help,
         IPSAPI_PLUGIN_V0,
         0,
         size_mod_ctor,
index 2499cfb4b7df127f265ab4376751432d79873151..44e8f29121a36e029abb7e33e8405d2d8613daee 100644 (file)
@@ -139,6 +139,7 @@ static const InspectApi tcp_api =
     {
         PT_INSPECTOR,
         MOD_NAME,
+        MOD_HELP,
         INSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index 05a6b46595ac265a56f4646fd9eaad92ac0f0ff6..504451c39dd9d225196cbd9e08f3214962a5beba 100644 (file)
@@ -172,11 +172,8 @@ static const RuleMap stream_tcp_rules[] =
     { 0, nullptr }
 };
 
-static const char* s_help = 
-    "stream inspector for TCP flow tracking and stream normalization and reassembly";
-
 StreamTcpModule::StreamTcpModule() :
-    Module(MOD_NAME, s_help, s_params)
+    Module(MOD_NAME, MOD_HELP, s_params)
 {
     config = nullptr;
 }
index 769fb12fed9b0eebecbe89bbc657d90b39db643f..38a18f1ec44102c13aa143168ebedcbdcb96d6b9 100644 (file)
@@ -71,6 +71,7 @@ extern THREAD_LOCAL ProfileStats streamSizePerfStats;
 //-------------------------------------------------------------------------
 
 #define MOD_NAME "stream_tcp"
+#define MOD_HELP "stream inspector for TCP flow tracking and stream normalization and reassembly"
 
 struct SnortConfig;
 struct StreamTcpConfig;
index 3ed75164960a65e4f512fadd97ff3f61b9996d6e..2075a0fd9980ea0094dc29483d90b77af39d596f 100644 (file)
@@ -130,6 +130,7 @@ static const InspectApi udp_api =
     {
         PT_INSPECTOR,
         MOD_NAME,
+        MOD_HELP,
         INSAPI_PLUGIN_V0,
         0,
         mod_ctor,
index e09adcc5941083f35c04bb61a8aa9d97dcfec31a..ef24e165f85426c4371b4632078d9fbacaa3fe25 100644 (file)
@@ -42,11 +42,8 @@ static const Parameter s_params[] =
     { nullptr, Parameter::PT_MAX, nullptr, nullptr, nullptr }
 };
 
-static const char* s_help = 
-    "stream inspector for UDP flow tracking";
-
 StreamUdpModule::StreamUdpModule() :
-    Module(MOD_NAME, s_help, s_params)
+    Module(MOD_NAME, MOD_HELP, s_params)
 {
     config = nullptr;
 }
index 03a56810c2e78ee7a0c8010b2ab309c42711c31d..3285df1e62cdc4b2b9a0b19c01300493ae03d02e 100644 (file)
@@ -40,6 +40,7 @@ extern THREAD_LOCAL ProfileStats udp_perf_stats;
 //-------------------------------------------------------------------------
 
 #define MOD_NAME "stream_udp"
+#define MOD_HELP "stream inspector for UDP flow tracking"
 
 struct StreamUdpConfig;