add net option and minor code polishing
[rrq/hourglass.git] / ipset-control.lsp
1
2 # Should load from "ipset.cfg"
3 (constant 'TABLE "TIMO" 'NET "192.168.104.0/24"
4           'IPSET "/sbin/ipset" )
5
6 # Apply "add" or "del" on the controllable as needed, and exit
7 (define (control cmd reason)
8   (let ((a (case cmd ("open" "del") ("close" "add") (true "XXX"))))
9     (when (!= cmd (if (exec (format "%s list %s | grep %s" IPSET TABLE NET))
10                       "close" "open"))
11       (! (println (date-value) (format " ipset-control (%s): " reason)
12                   (format "%s %s %s %s" IPSET a TABLE NET)))))
13   (exit 0))
14
15 "ipset-control.lsp"