]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
pcre sticky buffer tweak
authorJosh <jrosenba@cisco.com>
Fri, 7 Nov 2014 22:27:48 +0000 (16:27 -0600)
committerJosh <jrosenba@cisco.com>
Fri, 7 Nov 2014 22:53:05 +0000 (16:53 -0600)
tools/snort2lua/rule_states/rule_pcre.cc

index 75e3afcfc0cca6062cb3b79f4b5e30926a7b6c6b..a6ab8650295c363c6171a1e4639cbce6f8f99f82 100644 (file)
@@ -47,6 +47,7 @@ bool Pcre::convert(std::istringstream& data_stream)
     std::string keyword;
     //bool retval = true;  FIXIT-H-J
     bool sticky_buffer_set = false;
+    std::string buffer = "pkt_data";
 
     char delim = '/';
     std::string pcre_str = util::get_rule_option_args(data_stream);
@@ -128,14 +129,13 @@ bool Pcre::convert(std::istringstream& data_stream)
                 dlt_opt.append(1, c);
                 dlt_opt += "'";
                 rule_api.bad_rule(data_stream, dlt_opt);
-                //retval = false;  FIXIT-H-J
                 break;
             }
         }
 
         if (!sticky_buffer.empty())
         {
-            rule_api.add_option(sticky_buffer);
+            buffer = sticky_buffer;
 
             if (sticky_buffer_set)
                 rule_api.bad_rule(data_stream, "Two sticky buffers set for this regular expression!");
@@ -144,10 +144,9 @@ bool Pcre::convert(std::istringstream& data_stream)
         }
     }
 
-    rule_api.add_option("pcre", pattern + new_opts);
-    if (!sticky_buffer_set)
-        rule_api.set_curr_options_buffer("pkt_data");
 
+    rule_api.add_option("pcre", pattern + new_opts);
+    rule_api.set_curr_options_buffer(buffer);
     return set_next_rule_state(data_stream);
 }
 
@@ -157,9 +156,7 @@ bool Pcre::convert(std::istringstream& data_stream)
 
 
 static ConversionState* ctor(Converter& c)
-{
-    return new Pcre(c);
-}
+{ return new Pcre(c); }
 
 
 static const ConvertMap pcre_api =