From: Victor Julien Date: Tue, 4 Feb 2014 16:26:39 +0000 (+0100) Subject: fileext: make case insensitive X-Git-Tag: suricata-2.0rc1~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4e5572b8dce2d45361ea7efee3f3faa66e6c4d12;p=thirdparty%2Fsuricata.git fileext: make case insensitive Change keyword to be case insensitive when matching. Ticket #597. --- 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) {