aboutsummaryrefslogtreecommitdiff
path: root/src/property/firewalld.lisp
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-06-30 10:39:32 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-07-06 19:47:17 -0700
commit1604ea2e6757cc11c2c7b2e8b408d2ce969bd846 (patch)
tree5335d48c0f6001ded39fd8a76bd22937fc8e7235 /src/property/firewalld.lisp
parent855181e5e5edeb8bc4502448fa0b7803e79eb954 (diff)
downloadconsfigurator-1604ea2e6757cc11c2c7b2e8b408d2ce969bd846.tar.gz
factor out FIREWALLD::%SETXML & add reloading
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/property/firewalld.lisp')
-rw-r--r--src/property/firewalld.lisp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/property/firewalld.lisp b/src/property/firewalld.lisp
index 4b75713..ad362ca 100644
--- a/src/property/firewalld.lisp
+++ b/src/property/firewalld.lisp
@@ -31,11 +31,15 @@
(os:etypecase
(debianlike (apt:installed "firewalld"))))
+(defproplist %setxml :posix (type name xml)
+ (installed)
+ (on-change
+ (file:exists-with-content #?"/etc/firewalld/${type}/${name}.xml" xml)
+ (cmd:single "firewall-cmd" "--reload")))
+
(defproplist service :posix (name xml)
(:desc #?"firewalld knows service ${name}")
- (installed)
- (file:exists-with-content
- (merge-pathnames (strcat name ".xml") #P"/etc/firewalld/services/") xml))
+ (%setxml "services" name xml))
(defprop %firewall-cmd :posix (file warning &rest args)
(:apply