Round 283: SELinux ext, AppArmor ext, Firewalld ext, Nftables ext, Iptables ext (20 commands)
ober
b9021edf045c84921e8d9e31eb21b681a5f03044
--- a/docs/jemacs-vs-emacs.md +++ b/docs/jemacs-vs-emacs.md @@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features | ebib-import-file | :orange_circle: | Import file into Ebib | | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer | +### Round 283 — SELinux ext, AppArmor ext, Firewalld ext, Nftables ext, Iptables ext + +| Command | Status | Description | +|---------|--------|-------------| +| selinux-status | :orange_circle: | Show SELinux status | +| selinux-toggle | :orange_circle: | Toggle SELinux mode | +| selinux-audit | :orange_circle: | View SELinux audit log | +| selinux-context | :orange_circle: | Show file SELinux context | +| apparmor-status | :orange_circle: | Show AppArmor status | +| apparmor-enforce | :orange_circle: | Set profile to enforce | +| apparmor-complain | :orange_circle: | Set profile to complain | +| apparmor-disable | :orange_circle: | Disable AppArmor profile | +| firewalld-status | :orange_circle: | Show firewalld status | +| firewalld-add-rule | :orange_circle: | Add firewalld rule | +| firewalld-remove-rule | :orange_circle: | Remove firewalld rule | +| firewalld-list-zones | :orange_circle: | List firewalld zones | +| nftables-list | :orange_circle: | List nftables ruleset | +| nftables-add | :orange_circle: | Add nftables rule | +| nftables-flush | :orange_circle: | Flush nftables ruleset | +| nftables-save | :orange_circle: | Save nftables ruleset | +| iptables-list | :orange_circle: | List iptables rules | +| iptables-add | :orange_circle: | Add iptables rule | +| iptables-delete | :orange_circle: | Delete iptables rule | +| iptables-save | :orange_circle: | Save iptables rules | + ### Round 282 — Syslog ext, Journalctl ext, Logrotate ext, Rsyslog ext, Auditd ext | Command | Status | Description | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -22023,4 +22023,54 @@ (let* ((echo (app-state-echo app))) (echo-read-string echo "Export path: " (lambda (path) - (echo-message! echo (str "Journalctl: exporting to " path)))))) \ No newline at end of file + (echo-message! echo (str "Journalctl: exporting to " path)))))) + +;;; Round 283 — Firewalld ext, Nftables ext, Iptables ext (batch 2) + +(def (cmd-firewalld-remove-rule app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Rule: " + (lambda (rule) + (echo-message! echo (str "Firewalld: removing rule " rule)))))) + +(def (cmd-firewalld-list-zones app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Firewalld: listing zones"))) + +(def (cmd-nftables-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Nftables: listing ruleset"))) + +(def (cmd-nftables-add app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Rule: " + (lambda (rule) + (echo-message! echo (str "Nftables: adding " rule)))))) + +(def (cmd-nftables-flush app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Nftables: flushing ruleset"))) + +(def (cmd-nftables-save app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Nftables: saving ruleset"))) + +(def (cmd-iptables-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Iptables: listing rules"))) + +(def (cmd-iptables-add app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Rule: " + (lambda (rule) + (echo-message! echo (str "Iptables: adding " rule)))))) + +(def (cmd-iptables-delete app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Rule number: " + (lambda (num) + (echo-message! echo (str "Iptables: deleting rule " num)))))) + +(def (cmd-iptables-save app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Iptables: saving rules"))) \ No newline at end of file --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -22676,3 +22676,55 @@ (let* ((echo (app-state-echo app))) (echo-message! echo "Logrotate: forcing rotation"))) +;;; Round 283 — SELinux ext, AppArmor ext, Firewalld ext (batch 1) + +(def (cmd-selinux-status app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "SELinux: showing status"))) + +(def (cmd-selinux-toggle app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "SELinux: toggling enforcement mode"))) + +(def (cmd-selinux-audit app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "SELinux: viewing audit log"))) + +(def (cmd-selinux-context app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "File path: " + (lambda (path) + (echo-message! echo (str "SELinux: context of " path)))))) + +(def (cmd-apparmor-status app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "AppArmor: showing status"))) + +(def (cmd-apparmor-enforce app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Profile: " + (lambda (prof) + (echo-message! echo (str "AppArmor: enforcing " prof)))))) + +(def (cmd-apparmor-complain app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Profile: " + (lambda (prof) + (echo-message! echo (str "AppArmor: complain mode " prof)))))) + +(def (cmd-apparmor-disable app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Profile: " + (lambda (prof) + (echo-message! echo (str "AppArmor: disabling " prof)))))) + +(def (cmd-firewalld-status app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Firewalld: showing status"))) + +(def (cmd-firewalld-add-rule app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Rule: " + (lambda (rule) + (echo-message! echo (str "Firewalld: adding rule " rule)))))) + --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -7360,4 +7360,25 @@ (register-command! 'syslog-remote cmd-syslog-remote) (register-command! 'syslog-archive cmd-syslog-archive) (register-command! 'journalctl-export cmd-journalctl-export) + ;; Round 283 + (register-command! 'selinux-status cmd-selinux-status) + (register-command! 'selinux-toggle cmd-selinux-toggle) + (register-command! 'selinux-audit cmd-selinux-audit) + (register-command! 'selinux-context cmd-selinux-context) + (register-command! 'apparmor-status cmd-apparmor-status) + (register-command! 'apparmor-enforce cmd-apparmor-enforce) + (register-command! 'apparmor-complain cmd-apparmor-complain) + (register-command! 'apparmor-disable cmd-apparmor-disable) + (register-command! 'firewalld-status cmd-firewalld-status) + (register-command! 'firewalld-add-rule cmd-firewalld-add-rule) + (register-command! 'firewalld-remove-rule cmd-firewalld-remove-rule) + (register-command! 'firewalld-list-zones cmd-firewalld-list-zones) + (register-command! 'nftables-list cmd-nftables-list) + (register-command! 'nftables-add cmd-nftables-add) + (register-command! 'nftables-flush cmd-nftables-flush) + (register-command! 'nftables-save cmd-nftables-save) + (register-command! 'iptables-list cmd-iptables-list) + (register-command! 'iptables-add cmd-iptables-add) + (register-command! 'iptables-delete cmd-iptables-delete) + (register-command! 'iptables-save cmd-iptables-save) )