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
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
/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
w
EOF
fi
+
+ filename="src/detect-engine-register.h"
+ echo "Patching ${filename}."
ed -s ${filename} > /dev/null <<EOF
/DETECT_AL_TEMPLATE_BUFFER
t-
buffername_upper=$(printf ${buffername} | tr '[:lower:]' '[:upper:]')
copy_templates
-patch_makefile_am
-patch_detect_c
-patch_detect_h
+patch
cat <<EOF
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