diff --git a/src/Makefile.am b/src/Makefile.am index 7d30e666ac..94eafcd7a1 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -168,6 +168,7 @@ detect-http-accept-enc.c detect-http-accept-enc.h \ detect-http-accept-lang.c detect-http-accept-lang.h \ detect-http-client-body.c detect-http-client-body.h \ detect-http-connection.c detect-http-connection.h \ +detect-http-content-type.c detect-http-content-type.h \ detect-http-cookie.c detect-http-cookie.h \ detect-http-header.c detect-http-header.h \ detect-http-headers.c detect-http-headers.h detect-http-headers-stub.h \ diff --git a/src/detect-http-content-type.c b/src/detect-http-content-type.c new file mode 100644 index 0000000000..5ca85b6986 --- /dev/null +++ b/src/detect-http-content-type.c @@ -0,0 +1,47 @@ +/* Copyright (C) 2007-2017 Open Information Security Foundation + * + * You can copy, redistribute or modify this Program under the terms of + * the GNU General Public License version 2 as published by the Free + * Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * version 2 along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +/** + * \ingroup httplayer + * + * @{ + */ + + +/** + * \file + * + * \author Victor Julien + * + * Implement http_content_type sticky buffer + */ + +#define KEYWORD_NAME "http_content_type" +#define KEYWORD_DOC "http-keywords#http-content-type" +#define BUFFER_NAME "http_content_type" +#define BUFFER_DESC "http content type header" +#define HEADER_NAME "Content-Type" +#define KEYWORD_ID DETECT_AL_HTTP_HEADER_CONTENT_TYPE +#define KEYWORD_TOSERVER 1 +#define KEYWORD_TOCLIENT 1 + +#include "detect-http-headers-stub.h" + +void RegisterHttpHeadersContentType(void) +{ + DetectHttpHeadersRegisterStub(); +} diff --git a/src/detect-http-content-type.h b/src/detect-http-content-type.h new file mode 100644 index 0000000000..291b2756d2 --- /dev/null +++ b/src/detect-http-content-type.h @@ -0,0 +1,23 @@ +/* Copyright (C) 2007-2017 Open Information Security Foundation + * + * You can copy, redistribute or modify this Program under the terms of + * the GNU General Public License version 2 as published by the Free + * Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * version 2 along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +#ifndef __DETECT_HTTP_CONTENT_TYPE_H__ +#define __DETECT_HTTP_CONTENT_TYPE_H__ + +void RegisterHttpHeadersContentType(void); + +#endif /* __DETECT_HTTP_CONTENT_TYPE_H__ */ diff --git a/src/detect-http-headers.c b/src/detect-http-headers.c index c1bde84a91..2b8c769a60 100644 --- a/src/detect-http-headers.c +++ b/src/detect-http-headers.c @@ -19,6 +19,7 @@ #include "detect-http-accept-enc.h" #include "detect-http-accept-lang.h" #include "detect-http-connection.h" +#include "detect-http-content-type.h" #include "detect-http-referer.h" void DetectHttpHeadersRegister(void) @@ -28,4 +29,5 @@ void DetectHttpHeadersRegister(void) RegisterHttpHeadersAcceptLang(); RegisterHttpHeadersReferer(); RegisterHttpHeadersConnection(); + RegisterHttpHeadersContentType(); } diff --git a/src/detect.h b/src/detect.h index 6a30a575ef..783ac476c2 100644 --- a/src/detect.h +++ b/src/detect.h @@ -1245,6 +1245,7 @@ enum { DETECT_AL_HTTP_HEADER_ACCEPT_LANG, DETECT_AL_HTTP_HEADER_ACCEPT_ENC, DETECT_AL_HTTP_HEADER_CONNECTION, + DETECT_AL_HTTP_HEADER_CONTENT_TYPE, DETECT_AL_HTTP_HEADER_REFERER, DETECT_AL_HTTP_RAW_HEADER, DETECT_AL_HTTP_URI,