# Should load from "ipset.cfg" (constant 'IPSET SITE:ipset.bin 'TABLE SITE:ipset.table 'NET SITE:control.net) ;; Return current low-leve "close" or "open" status (define (current-status) (if (member NET (exec (format "%s list %s" IPSET TABLE))) "close" "open")) ;; Ensure low-level setting is "close" or "open" as given (define (control cmd reason) (when (!= cmd (current-status)) (let ((todo (case cmd ("open" "del") ("close" "add") (true "XXX")))) (! (println (date-value) (format " ipset-control (%s): " reason) (format "%s %s %s %s" IPSET todo TABLE NET))))) ) "ipset-control.lsp"