The RegexPolicyDaemon (rxpd) can be used to efficiently check data against different lists of regular expressions. This can be used to build application defined lists to protect many kinds of Internet services. These lists can be distributed peer to peer between friends. Users can update, filter, and merge these distributed lists to create their own lists. It uses a simple textual protocol that is easy to implement in scripting languages. Example usages are access and content control (spam filtering) for CGI scripts, wikis, email, revision control systems, IRC servers and clients, and so on.
| Tags | Internet |
|---|---|
| Licenses | GPL |
| Operating Systems | POSIX Linux Unix |
| Implementation | C |
Recent releases


Changes: Some minor protocol changes. CLEAR removes all rules from a list now, and DELETE removes a list from the filesystem. Rule files are now automatically loaded when first referenced. Automatic saving of files (due SIGALRM or shutdown) saves only files that already exist on disk. Locking has been fixed and reworked. LIST only lists files that are allowed to be dumped. The rxpd xchat plugin is merged under ./contrib as an example application.


Changes: All important features are completed, so rxpd is now "beta", meaning that it is usable with some caution. UTF-8 encoded regular expressions are used. An option to control case insensitive matching was added. Rules can now be hierarchically organized. Rule matching can now branch into sublists. A FILTER command was added to process lists. The Daemonizing code was rewritten. Signal handling was added to control the daemon.


Changes: gnu-pth is now used as the underlying event/scheduling library now. All basic commands, including the ones for distributed operation (FETCH, UPDATE, and MERGE) are now implemented. A test suite was included. Many other things were completed and cleaned up.


Changes: This release adds a lot new commands and features. The daemon now maintains an 'atime' when rules get matched, and can expire old rules. Some code cleanup has been done, and added a lot of documentation has been added. Distributed synchronization of lists is on the way.


Changes: This is the first release intended for review and brainstorming. The rxpd is basically usable, but there are a lot of rough edges and yet unimplemented features.