]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
template scripts: fixup detect setup scripts 3093/head
authorJason Ish <ish@unx.ca>
Wed, 13 Dec 2017 22:18:40 +0000 (16:18 -0600)
committerVictor Julien <victor@inliniac.net>
Thu, 14 Dec 2017 18:03:11 +0000 (19:03 +0100)
Update scripts to reflect recent changes in the detection files.

scripts/setup-app-layer-detect.sh
scripts/setup-simple-detect.sh

index abfa4978c568f2af0da0ec33d342936367f23b5f..41b65ce5c1884a3faac775d21f9c6e8a84572669 100755 (executable)
@@ -75,7 +75,7 @@ function copy_templates() {
     copy_template_file "src/detect-template-buffer.c" ${detect_c_dst}
 }
 
-function patch_makefile_am() {
+function patch() {
     filename="src/Makefile.am"
     echo "Patching ${filename}."
     ed -s ${filename} > /dev/null <<EOF
@@ -84,15 +84,28 @@ t-
 s/template-buffer/${protoname_lower}-${buffername_lower}/g
 w
 EOF
-}
 
-function patch_detect_c() {
-    filename="src/detect.c"
+    filename="src/detect-engine-register.c"
     echo "Patching ${filename}."
+
     ed -s ${filename} > /dev/null <<EOF
 /#include "detect-template-buffer.h"
 t-
 s/template-buffer/${protoname_lower}-${buffername_lower}/
+w
+EOF
+
+    ed -s ${filename} > /dev/null <<EOF
+/DetectTemplateBufferRegister
+t-
+s/TemplateBuffer/${protoname}${buffername}/
+w
+EOF
+
+    filename="src/detect-engine-build.c"
+    echo "Patching ${filename}."
+
+    ed -s ${filename} > /dev/null <<EOF
 /case ALPROTO_TEMPLATE
 .,+3t-
 -3
@@ -112,14 +125,9 @@ s/template/${protoname_lower}/g
 /SIG_MASK_REQUIRE_TEMPLATE_STATE
 .t-
 s/TEMPLATE/${protoname_upper}/g
-/DetectTemplateBufferRegister
-t-
-s/TemplateBuffer/${protoname}${buffername}/
 w
 EOF
-}
 
-function patch_detect_h() {
     filename="src/detect.h"
     echo "Patching ${filename}."
     if [ $(grep -c SIG_MASK_REQUIRE_${protoname_upper}_STATE ${filename}) -eq 0 ]; then
@@ -130,6 +138,9 @@ s/TEMPLATE/${protoname_upper}/
 w
 EOF
     fi
+
+    filename="src/detect-engine-register.h"
+    echo "Patching ${filename}."
     ed -s ${filename} > /dev/null <<EOF
 /DETECT_AL_TEMPLATE_BUFFER
 t-
@@ -174,9 +185,7 @@ buffername_lower=$(printf ${buffername} | tr '[:upper:]' '[:lower:]')
 buffername_upper=$(printf ${buffername} | tr '[:lower:]' '[:upper:]')
 
 copy_templates
-patch_makefile_am
-patch_detect_c
-patch_detect_h
+patch
 
 cat <<EOF
 
index 92e35ba2e5753701e1125206a6faf216e2bc05e0..210f1eae1d530745fce0144b68e38b2fd4e50991 100755 (executable)
@@ -92,12 +92,15 @@ sed -i "s/template/${LC}/g" $FILE_C
 sed -i "s/template/${LC}/g" $FILE_H
 # add to Makefile.am
 sed -i "s/detect-template.c detect-template.h \\\/detect-template.c detect-template.h \\\\\n${FILE_C} ${FILE_H} \\\/g" Makefile.am
+
 # update enum
-sed -i "s/DETECT_TEMPLATE,/DETECT_TEMPLATE,\\n    DETECT_${UC},/g" detect.h
-# add include to detect.c
-sed -i "s/#include \"detect-template.h\"/#include \"detect-template.h\"\\n#include \"${FILE_H}\"/g" detect.c
-# add reg func to detect.c
-sed -i "s/DetectTemplateRegister();/DetectTemplateRegister();\\n    Detect${NR}Register();/g" detect.c
+sed -i "s/DETECT_TEMPLATE,/DETECT_TEMPLATE,\\n    DETECT_${UC},/g" detect-engine-register.h
+
+# add include to detect-engine-register.c
+sed -i "s/#include \"detect-template.h\"/#include \"detect-template.h\"\\n#include \"${FILE_H}\"/g" detect-engine-register.c
+
+# add reg func to detect-engine-register.c
+sed -i "s/DetectTemplateRegister();/DetectTemplateRegister();\\n    Detect${NR}Register();/g" detect-engine-register.c
 
 Done
 exit 0