netfilter: fix string extension for case insensitive pattern matching
The flag XT_STRING_FLAG_IGNORECASE indicates case insensitive string matching. netfilter can find cmd.exe, Cmd.exe, cMd.exe and etc easily. A new revision 1 was added, in the meantime invert of xt_string_info was moved into flags as a flag. If revision is 1, The flag XT_STRING_FLAG_INVERT indicates invert matching. Signed-off-by: Joonwoo Park <joonwpark81@gmail.com> Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
dde77e6044
commit
4ad3f26162
@@ -4,6 +4,11 @@
|
||||
#define XT_STRING_MAX_PATTERN_SIZE 128
|
||||
#define XT_STRING_MAX_ALGO_NAME_SIZE 16
|
||||
|
||||
enum {
|
||||
XT_STRING_FLAG_INVERT = 0x01,
|
||||
XT_STRING_FLAG_IGNORECASE = 0x02
|
||||
};
|
||||
|
||||
struct xt_string_info
|
||||
{
|
||||
u_int16_t from_offset;
|
||||
@@ -11,7 +16,15 @@ struct xt_string_info
|
||||
char algo[XT_STRING_MAX_ALGO_NAME_SIZE];
|
||||
char pattern[XT_STRING_MAX_PATTERN_SIZE];
|
||||
u_int8_t patlen;
|
||||
u_int8_t invert;
|
||||
union {
|
||||
struct {
|
||||
u_int8_t invert;
|
||||
} v0;
|
||||
|
||||
struct {
|
||||
u_int8_t flags;
|
||||
} v1;
|
||||
} u;
|
||||
|
||||
/* Used internally by the kernel */
|
||||
struct ts_config __attribute__((aligned(8))) *config;
|
||||
|
||||
Reference in New Issue
Block a user