template scripts: fixup detect setup scripts

Update scripts to reflect recent changes in the detection files.
pull/3093/head
Jason Ish 8 years ago committed by Victor Julien
parent d6c3a36113
commit 84f09d5124

@ -75,7 +75,7 @@ function copy_templates() {
copy_template_file "src/detect-template-buffer.c" ${detect_c_dst} copy_template_file "src/detect-template-buffer.c" ${detect_c_dst}
} }
function patch_makefile_am() { function patch() {
filename="src/Makefile.am" filename="src/Makefile.am"
echo "Patching ${filename}." echo "Patching ${filename}."
ed -s ${filename} > /dev/null <<EOF ed -s ${filename} > /dev/null <<EOF
@ -84,15 +84,28 @@ t-
s/template-buffer/${protoname_lower}-${buffername_lower}/g s/template-buffer/${protoname_lower}-${buffername_lower}/g
w w
EOF EOF
}
function patch_detect_c() { filename="src/detect-engine-register.c"
filename="src/detect.c"
echo "Patching ${filename}." echo "Patching ${filename}."
ed -s ${filename} > /dev/null <<EOF ed -s ${filename} > /dev/null <<EOF
/#include "detect-template-buffer.h" /#include "detect-template-buffer.h"
t- t-
s/template-buffer/${protoname_lower}-${buffername_lower}/ 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 /case ALPROTO_TEMPLATE
.,+3t- .,+3t-
-3 -3
@ -112,14 +125,9 @@ s/template/${protoname_lower}/g
/SIG_MASK_REQUIRE_TEMPLATE_STATE /SIG_MASK_REQUIRE_TEMPLATE_STATE
.t- .t-
s/TEMPLATE/${protoname_upper}/g s/TEMPLATE/${protoname_upper}/g
/DetectTemplateBufferRegister
t-
s/TemplateBuffer/${protoname}${buffername}/
w w
EOF EOF
}
function patch_detect_h() {
filename="src/detect.h" filename="src/detect.h"
echo "Patching ${filename}." echo "Patching ${filename}."
if [ $(grep -c SIG_MASK_REQUIRE_${protoname_upper}_STATE ${filename}) -eq 0 ]; then if [ $(grep -c SIG_MASK_REQUIRE_${protoname_upper}_STATE ${filename}) -eq 0 ]; then
@ -130,6 +138,9 @@ s/TEMPLATE/${protoname_upper}/
w w
EOF EOF
fi fi
filename="src/detect-engine-register.h"
echo "Patching ${filename}."
ed -s ${filename} > /dev/null <<EOF ed -s ${filename} > /dev/null <<EOF
/DETECT_AL_TEMPLATE_BUFFER /DETECT_AL_TEMPLATE_BUFFER
t- t-
@ -174,9 +185,7 @@ buffername_lower=$(printf ${buffername} | tr '[:upper:]' '[:lower:]')
buffername_upper=$(printf ${buffername} | tr '[:lower:]' '[:upper:]') buffername_upper=$(printf ${buffername} | tr '[:lower:]' '[:upper:]')
copy_templates copy_templates
patch_makefile_am patch
patch_detect_c
patch_detect_h
cat <<EOF cat <<EOF

@ -92,12 +92,15 @@ sed -i "s/template/${LC}/g" $FILE_C
sed -i "s/template/${LC}/g" $FILE_H sed -i "s/template/${LC}/g" $FILE_H
# add to Makefile.am # 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 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 # update enum
sed -i "s/DETECT_TEMPLATE,/DETECT_TEMPLATE,\\n DETECT_${UC},/g" detect.h sed -i "s/DETECT_TEMPLATE,/DETECT_TEMPLATE,\\n DETECT_${UC},/g" detect-engine-register.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 include to detect-engine-register.c
# add reg func to detect.c sed -i "s/#include \"detect-template.h\"/#include \"detect-template.h\"\\n#include \"${FILE_H}\"/g" detect-engine-register.c
sed -i "s/DetectTemplateRegister();/DetectTemplateRegister();\\n Detect${NR}Register();/g" detect.c
# add reg func to detect-engine-register.c
sed -i "s/DetectTemplateRegister();/DetectTemplateRegister();\\n Detect${NR}Register();/g" detect-engine-register.c
Done Done
exit 0 exit 0

Loading…
Cancel
Save