Hi Zacchae,

On 2026-08-27 at 15:33-07:00, Zacchaeus wrote:
> An access control in exim is a name, followed by a list of statements.
> A statement is a verb followed by a list of clauses.  I could define
> some configs like
>
> (define-configuration acl
>   (name string "")
>   (body list ""))
> (define-configuration acl-statement
>   (verb string "")
>   (body list "")
> (define-condition acl-clause
> ...)
>
> then I could translate the above to
>
> (acl (name "acl_check_data")
>      (body (list
>             (acl-statement
>              (verb "deny")
>              (body (list
>                     (acl-clause (condition "..."))
>                     (acl-clause (message "...")))))
>             ...)))

I believe define-configuration could offer useful type checking here
if you define and use list-of-acl-statements et al.  That being said,

On 2026-08-27 at 15:33-07:00, Zacchaeus wrote:
> '("acl_check_data"
>   (deny (condition "...")
>         (message "..."))
>   ...)
>
> [feels] cleaner to me.  Now, acl-clause above gives some benefit
> as far as detecting typos and some syntax verification,
> so maybe I need something in-between.

https://www.exim.org/exim-html-current/doc/html/spec_html/ch-access_control_lists.html
defines the exhaustive list of verbs and modifiers,
so you can land in the middle with

(acl (name "acl_check_data")
     (body (list (acl-deny
                  (condition "...")
                  (message "..."))
                 ...)))

Hoping that helps,
Phong

  • At the boundry be... Development of GNU Guix and the GNU System distribution.
    • Re: At the b... Development of GNU Guix and the GNU System distribution.
      • Re: At t... Development of GNU Guix and the GNU System distribution.
        • Re: ... Development of GNU Guix and the GNU System distribution.
          • ... Sergio Pastor Pérez
            • ... Development of GNU Guix and the GNU System distribution.
              • ... Development of GNU Guix and the GNU System distribution.
                • ... Sergio Pastor Pérez
                • ... Tomas Volf
                • ... Sergio Pastor Pérez
                • ... Ludovic Courtès
                • ... Development of GNU Guix and the GNU System distribution.

Reply via email to