From 4e5572b8dce2d45361ea7efee3f3faa66e6c4d12 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Tue, 4 Feb 2014 17:26:39 +0100 Subject: [PATCH] fileext: make case insensitive Change keyword to be case insensitive when matching. Ticket #597. --- src/detect-fileext.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/detect-fileext.c b/src/detect-fileext.c index 8e51981bc9..7120e49f53 100644 --- a/src/detect-fileext.c +++ b/src/detect-fileext.c @@ -110,8 +110,9 @@ static int DetectFileextMatch (ThreadVars *t, DetectEngineThreadCtx *det_ctx, int offset = file->name_len - fileext->len; + /* fileext->ext is already in lowercase, as SCMemcmpLowercase requires */ if (file->name[offset - 1] == '.' && - SCMemcmp(file->name + offset, fileext->ext, fileext->len) == 0) + SCMemcmpLowercase(fileext->ext, file->name + offset, fileext->len) == 0) { if (!(fileext->flags & DETECT_CONTENT_NEGATED)) { ret = 1; @@ -149,6 +150,9 @@ static DetectFileextData *DetectFileextParse (char *str) if (DetectContentDataParse("fileext", str, &fileext->ext, &fileext->len, &fileext->flags) == -1) { goto error; } + uint16_t u; + for (u = 0; u < fileext->len; u++) + fileext->ext[u] = tolower(fileext->ext[u]); SCLogDebug("flags %02X", fileext->flags); if (fileext->flags & DETECT_CONTENT_NEGATED) {