netdev
[Top] [All Lists]

Re: [RFC] string matching based packet classification/filtering

To: Pablo Neira <pablo@xxxxxxxxxxx>
Subject: Re: [RFC] string matching based packet classification/filtering
From: Thomas Graf <tgraf@xxxxxxx>
Date: Wed, 16 Feb 2005 23:30:38 +0100
Cc: Harald Welte <laforge@xxxxxxxxxxxx>, netdev@xxxxxxxxxxx, netfilter-devel@xxxxxxxxxxxxxxxxxxx
In-reply-to: <42126C9B.5060406@xxxxxxxxxxx>
References: <20050215203211.GL31837@xxxxxxxxxxxxxx> <42126C9B.5060406@xxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
> Actually I wanted to contact Harald after this friday, once I'm done 
> with my exams. I'd like to merge my work with his libqsearch hackings 
> that were about to be finished.

Thinking about it, we can use the architecture to implement a regular
expression match. The pattern would consist of an array of tokens
in the form of:

struct regexp_token
{
        __u8 type;
        __u8 recur;
        __u8 value;
        __u8 unused;
};

where type would be
  - specific character (must match `value')
  - wildcard
  - digit
  - xdigit
  - alpha ...

and recur
 - 1
 - 0..1
 - 0..n
 - 1..0

The matching algorithm would parse the array as a finite automation
eating up byte by byte in the text. I think it would be efficient
enough, easy to implement, not too error prone and powerful enough
for most needs but we can discuss this in more details once libqsearch
is ready. It would be one step closer to the increasing need for 
application level based filtering and classification.

<Prev in Thread] Current Thread [Next in Thread>