From f70badeb0e9a3c9f55023a57abefc9857d2f729f Mon Sep 17 00:00:00 2001 From: Jason Ish Date: Fri, 15 Apr 2016 16:49:28 -0600 Subject: [PATCH] DNP3: --afl-dnp3 entry point --- src/suricata.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/suricata.c b/src/suricata.c index 48125f5833..ac22824280 100644 --- a/src/suricata.c +++ b/src/suricata.c @@ -122,6 +122,7 @@ #include "app-layer-smb.h" #include "app-layer-modbus.h" #include "app-layer-enip.h" +#include "app-layer-dnp3.h" #include "util-decode-der.h" #include "util-radix-tree.h" @@ -1140,7 +1141,8 @@ static TmEcode ParseCommandLine(int argc, char** argv, SCInstance *suri) {"netmap", optional_argument, 0, 0}, {"pcap", optional_argument, 0, 0}, {"simulate-ips", 0, 0 , 0}, - {"afl-rules", required_argument, 0 , 0}, + + /* AFL app-layer options. */ {"afl-http-request", required_argument, 0 , 0}, {"afl-http", required_argument, 0 , 0}, {"afl-tls-request", required_argument, 0 , 0}, @@ -1160,9 +1162,15 @@ static TmEcode ParseCommandLine(int argc, char** argv, SCInstance *suri) {"afl-enip-request", required_argument, 0 , 0}, {"afl-enip", required_argument, 0 , 0}, {"afl-mime", required_argument, 0 , 0}, + {"afl-dnp3-request", required_argument, 0, 0}, + {"afl-dnp3", required_argument, 0, 0}, + /* Other AFL options. */ + {"afl-rules", required_argument, 0 , 0}, + {"afl-mime", required_argument, 0 , 0}, {"afl-decoder-ppp", required_argument, 0 , 0}, {"afl-der", required_argument, 0, 0}, + #ifdef BUILD_UNIX_SOCKET {"unix-socket", optional_argument, 0, 0}, #endif @@ -1439,6 +1447,14 @@ static TmEcode ParseCommandLine(int argc, char** argv, SCInstance *suri) AppLayerParserSetup(); RegisterENIPTCPParsers(); exit(AppLayerParserFromFile(ALPROTO_ENIP, optarg)); + } else if(strcmp((long_opts[option_index]).name, "afl-dnp3-request") == 0) { + AppLayerParserSetup(); + RegisterDNP3Parsers(); + exit(AppLayerParserRequestFromFile(ALPROTO_DNP3, optarg)); + } else if(strcmp((long_opts[option_index]).name, "afl-dnp3") == 0) { + AppLayerParserSetup(); + RegisterDNP3Parsers(); + exit(AppLayerParserFromFile(ALPROTO_DNP3, optarg)); #endif #ifdef AFLFUZZ_MIME } else if(strcmp((long_opts[option_index]).name, "afl-mime") == 0) {