Round 286: PAM ext, SSHD ext, GPG ext, SSL ext, Vault ext (20 commands)
ober
ec7d009a086852f6173a961bc7362487fa2385d7
--- 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 286 — PAM ext, SSHD ext, GPG ext, SSL ext, Vault ext + +| Command | Status | Description | +|---------|--------|-------------| +| pam-status | :orange_circle: | Show PAM status | +| pam-config | :orange_circle: | View PAM configuration | +| pam-module-list | :orange_circle: | List PAM modules | +| pam-auth-test | :orange_circle: | Test PAM authentication | +| sshd-config | :orange_circle: | View SSHD configuration | +| sshd-restart | :orange_circle: | Restart SSHD service | +| sshd-keygen | :orange_circle: | Generate SSH key | +| sshd-authorized-keys | :orange_circle: | List authorized keys | +| gpg-list-keys | :orange_circle: | List GPG keys | +| gpg-import | :orange_circle: | Import GPG key | +| gpg-export | :orange_circle: | Export GPG key | +| gpg-sign-file | :orange_circle: | Sign file with GPG | +| ssl-cert-info | :orange_circle: | Show certificate info | +| ssl-cert-verify | :orange_circle: | Verify certificate | +| ssl-cert-generate | :orange_circle: | Generate SSL certificate | +| ssl-cert-expiry | :orange_circle: | Check certificate expiry | +| vault-status | :orange_circle: | Show Vault status | +| vault-seal | :orange_circle: | Seal Vault | +| vault-unseal | :orange_circle: | Unseal Vault | +| vault-read | :orange_circle: | Read Vault secret | + ### Round 285 — Cgroup ext, Namespace ext, Seccomp ext, Capabilities ext, Ulimit ext | Command | Status | Description | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -22177,4 +22177,62 @@ (def (cmd-ulimit-soft app) (let* ((echo (app-state-echo app))) - (echo-message! echo "Ulimit: showing soft limits"))) \ No newline at end of file + (echo-message! echo "Ulimit: showing soft limits"))) + +;;; Round 286 — GPG ext, SSL ext, Vault ext (batch 2) + +(def (cmd-gpg-export app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Key ID: " + (lambda (kid) + (echo-message! echo (str "GPG: exporting " kid)))))) + +(def (cmd-gpg-sign-file app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "File: " + (lambda (file) + (echo-message! echo (str "GPG: signing " file)))))) + +(def (cmd-ssl-cert-info app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Certificate file: " + (lambda (cert) + (echo-message! echo (str "SSL: info for " cert)))))) + +(def (cmd-ssl-cert-verify app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Certificate file: " + (lambda (cert) + (echo-message! echo (str "SSL: verifying " cert)))))) + +(def (cmd-ssl-cert-generate app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Common name: " + (lambda (cn) + (echo-message! echo (str "SSL: generating cert for " cn)))))) + +(def (cmd-ssl-cert-expiry app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Certificate file: " + (lambda (cert) + (echo-message! echo (str "SSL: checking expiry of " cert)))))) + +(def (cmd-vault-status app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Vault: showing status"))) + +(def (cmd-vault-seal app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Vault: sealing"))) + +(def (cmd-vault-unseal app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Unseal key: " + (lambda (key) + (echo-message! echo "Vault: unsealing"))))) + +(def (cmd-vault-read app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Secret path: " + (lambda (path) + (echo-message! echo (str "Vault: reading " path)))))) \ No newline at end of file --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -22840,3 +22840,51 @@ (lambda (path) (echo-message! echo (str "Seccomp: loading " path)))))) +;;; Round 286 — PAM ext, SSHD ext, GPG ext (batch 1) + +(def (cmd-pam-status app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "PAM: showing status"))) + +(def (cmd-pam-config app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "PAM: viewing configuration"))) + +(def (cmd-pam-module-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "PAM: listing modules"))) + +(def (cmd-pam-auth-test app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Service: " + (lambda (svc) + (echo-message! echo (str "PAM: testing auth for " svc)))))) + +(def (cmd-sshd-config app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "SSHD: viewing configuration"))) + +(def (cmd-sshd-restart app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "SSHD: restarting service"))) + +(def (cmd-sshd-keygen app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Key type (rsa/ed25519): " + (lambda (typ) + (echo-message! echo (str "SSHD: generating " typ " key")))))) + +(def (cmd-sshd-authorized-keys app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "SSHD: listing authorized keys"))) + +(def (cmd-gpg-list-keys app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GPG: listing keys"))) + +(def (cmd-gpg-import app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Key file: " + (lambda (file) + (echo-message! echo (str "GPG: importing " file)))))) + --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -7423,4 +7423,25 @@ (register-command! 'ulimit-set cmd-ulimit-set) (register-command! 'ulimit-hard cmd-ulimit-hard) (register-command! 'ulimit-soft cmd-ulimit-soft) + ;; Round 286 + (register-command! 'pam-status cmd-pam-status) + (register-command! 'pam-config cmd-pam-config) + (register-command! 'pam-module-list cmd-pam-module-list) + (register-command! 'pam-auth-test cmd-pam-auth-test) + (register-command! 'sshd-config cmd-sshd-config) + (register-command! 'sshd-restart cmd-sshd-restart) + (register-command! 'sshd-keygen cmd-sshd-keygen) + (register-command! 'sshd-authorized-keys cmd-sshd-authorized-keys) + (register-command! 'gpg-list-keys cmd-gpg-list-keys) + (register-command! 'gpg-import cmd-gpg-import) + (register-command! 'gpg-export cmd-gpg-export) + (register-command! 'gpg-sign-file cmd-gpg-sign-file) + (register-command! 'ssl-cert-info cmd-ssl-cert-info) + (register-command! 'ssl-cert-verify cmd-ssl-cert-verify) + (register-command! 'ssl-cert-generate cmd-ssl-cert-generate) + (register-command! 'ssl-cert-expiry cmd-ssl-cert-expiry) + (register-command! 'vault-status cmd-vault-status) + (register-command! 'vault-seal cmd-vault-seal) + (register-command! 'vault-unseal cmd-vault-unseal) + (register-command! 'vault-read cmd-vault-read) )