Add http_raw_header as an alias to the http_header keyword as that actually inspects the raw headers (see issue #243). Closes issue #242.

remotes/origin/master-1.1.x
Victor Julien 15 years ago
parent 4598274d07
commit 001f91056e

@ -21,6 +21,8 @@
* \author Pablo Rincon <pablo.rincon.crespo@gmail.com> * \author Pablo Rincon <pablo.rincon.crespo@gmail.com>
* *
* Implements support for the http_header keyword * Implements support for the http_header keyword
*
* \todo this is actually the raw match
*/ */
#include "suricata-common.h" #include "suricata-common.h"
@ -74,6 +76,23 @@ void DetectHttpHeaderRegister(void)
sigmatch_table[DETECT_AL_HTTP_HEADER].flags |= SIGMATCH_PAYLOAD ; sigmatch_table[DETECT_AL_HTTP_HEADER].flags |= SIGMATCH_PAYLOAD ;
} }
/**
* \brief Registers the keyword handlers for the "http_raw_header" keyword.
*/
void DetectHttpRawHeaderRegister(void)
{
sigmatch_table[DETECT_AL_HTTP_RAW_HEADER].name = "http_raw_header";
sigmatch_table[DETECT_AL_HTTP_RAW_HEADER].Match = NULL;
sigmatch_table[DETECT_AL_HTTP_RAW_HEADER].AppLayerMatch = DetectHttpHeaderMatch;
sigmatch_table[DETECT_AL_HTTP_RAW_HEADER].alproto = ALPROTO_HTTP;
sigmatch_table[DETECT_AL_HTTP_RAW_HEADER].Setup = DetectHttpHeaderSetup;
sigmatch_table[DETECT_AL_HTTP_RAW_HEADER].Free = DetectHttpHeaderFree;
//sigmatch_table[DETECT_AL_HTTP_RAW_HEADER].RegisterTests = DetectHttpHeaderRegisterTests;
sigmatch_table[DETECT_AL_HTTP_RAW_HEADER].RegisterTests = NULL;
sigmatch_table[DETECT_AL_HTTP_RAW_HEADER].flags |= SIGMATCH_PAYLOAD ;
}
/** /**
* \brief App layer match function for the "http_header" keyword. * \brief App layer match function for the "http_header" keyword.
* *

@ -38,5 +38,6 @@ typedef struct DetectHttpHeaderData_ {
} DetectHttpHeaderData; } DetectHttpHeaderData;
void DetectHttpHeaderRegister(void); void DetectHttpHeaderRegister(void);
void DetectHttpRawHeaderRegister(void);
#endif /* __DETECT_HTTP_HEADER_H__ */ #endif /* __DETECT_HTTP_HEADER_H__ */

@ -3718,6 +3718,7 @@ void SigTableSetup(void) {
DetectUrilenRegister(); DetectUrilenRegister();
DetectDetectionFilterRegister(); DetectDetectionFilterRegister();
DetectHttpHeaderRegister(); DetectHttpHeaderRegister();
DetectHttpRawHeaderRegister();
DetectHttpClientBodyRegister(); DetectHttpClientBodyRegister();
DetectHttpUriRegister(); DetectHttpUriRegister();
DetectAsn1Register(); DetectAsn1Register();

@ -876,6 +876,7 @@ enum {
DETECT_AL_URILEN, DETECT_AL_URILEN,
DETECT_AL_HTTP_CLIENT_BODY, DETECT_AL_HTTP_CLIENT_BODY,
DETECT_AL_HTTP_HEADER, DETECT_AL_HTTP_HEADER,
DETECT_AL_HTTP_RAW_HEADER,
DETECT_AL_HTTP_URI, DETECT_AL_HTTP_URI,
DETECT_AL_HTTP_STAT_MSG, DETECT_AL_HTTP_STAT_MSG,
DETECT_AL_HTTP_STAT_CODE, DETECT_AL_HTTP_STAT_CODE,

Loading…
Cancel
Save