Make SQL access to mailman3 configurable.

This commit is contained in:
Dominik Pantůček 2023-09-17 15:59:27 +02:00
parent c7088e3f5d
commit fde185ff6f
3 changed files with 51 additions and 14 deletions

View file

@ -40,6 +40,8 @@
*mailman2-bin*
*mailman-version*
*mailman3-bin*
*mailman3-sql*
*mailman3-sql-path*
load-configuration!
)
@ -105,6 +107,15 @@
;; %hackerbase ALL=(list) NOPASSWD:/usr/lib/mailman3/bin/mailman
(define =mailman3-bin= "sudo -u list /usr/lib/mailman3/bin/mailman")
;; A string is the default, gets converted to boolean at the end of
;; loading configuration
(define *mailman3-sql* (make-parameter #f))
(define =mailman3-sql= "0")
;; The path to SQLite3 DB file
(define *mailman3-sql-path* (make-parameter #f))
(define =mailman3-sql-path= "mailman.db")
(define (load-single-configuration! fname)
(when (file-exists? fname)
(let loop ((lines (read-lines (open-input-file fname))))
@ -146,6 +157,14 @@
((mailman3)
(when (not (*mailman3-bin*))
(*mailman3-bin* v)))
((mailman3-sql)
;; Gets to be string? - convert to boolean at the
;; end of loading!
(when (not (*mailman3-sql*))
(*mailman3-sql* v)))
((mailman3-sql-path)
(when (not (*mailman3-sql-path*))
(*mailman3-sql-path* v)))
)))
(loop (cdr lines)))))))
@ -177,6 +196,11 @@
(when (not (*mailman-version*))
(*mailman-version* =mailman-version=))
(when (not (*mailman3-bin*))
(*mailman3-bin* =mailman3-bin=)))
(*mailman3-bin* =mailman3-bin=))
(when (not (*mailman3-sql*))
(*mailman3-sql* =mailman3-sql=))
(*mailman3-sql* (not (equal? (*mailman3-sql*) "0")))
(when (not (*mailman3-sql-path*))
(*mailman3-sql-path* =mailman3-sql-path=)))
)