diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-06-25 13:22:05 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-06-25 13:22:05 -0700 |
commit | a18be7b8a613125646ba8c7cdfa0309e96ff9412 (patch) | |
tree | 10655f9f99d44781c1364076bda515dfbbc58194 /utils.txr | |
parent | 6f8fe6efc48a90134d972a0b951f3439b9581160 (diff) | |
download | txrban-a18be7b8a613125646ba8c7cdfa0309e96ff9412.tar.gz txrban-a18be7b8a613125646ba8c7cdfa0309e96ff9412.tar.bz2 txrban-a18be7b8a613125646ba8c7cdfa0309e96ff9412.zip |
Summer 2014 update.
* apache.txr: restructuring of matching rules. Some new intruders listed.
Now also checks HTTP response code to detect accesses to nonexistent pages.
Bugfix: was not calling do-expiry.
* txrban.txr: added code at top of @(do) to easily turn off daemonization
and redirect logging to stdout for debugging.
(*extrainfo*): New global hash.
(report): New optional argument to pass extra info.
(get-info): Function to retrieve the list of extra info for an IP address.
(clear): New function to unban an IP and completely clear its access history.
(ban): Use new sh function instead of open-command. Use new backquote
operator ^ instead of '.
(process-histories): When the recent access history is empty, delete
it from *access-hist* rather than keeping an empty list there.
Also delete the *extrainfo* when this happens.
(do-expiry): Use unban function for unbanning.
(unban): New function.
* utils.txr (m): New pattern function for parsing month name.
(self): New variable to hold the script's own name.
(debug): Send output to *stdlog* instead of *stdout*, so
that we now have syslog logging.
* exim.txr: New file.
* ssh.txr: New file.
* startup.sh: New file.
Diffstat (limited to 'utils.txr')
-rw-r--r-- | utils.txr | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -1,8 +1,20 @@ @(define n (a))@(local n)@{n /\d+/}@(bind a @(int-str n))@(end) +@(define m (a))@(local m)@{m /\w+/}@(bind a @(month-num m))@(end) +@# +@(next :string @(identity *self-path*)) +@(some) +@*nil/@self.@nil +@(or) +@*nil/@self +@(or) +@self.@nil +@(or) +@self +@(end) @# @(do (defun debug (arg . args) - [apply format '(t ,arg ,*args)]) + [apply format ^(, *stdlog* ,arg ,*args)]) (defun hrtime (time) (cond |