diff options
author | EuAndreh <eu@euandre.org> | 2023-03-17 07:04:22 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2023-03-17 07:06:50 -0300 |
commit | 5b85b1368f81b7eed8efef9d07ae8c077bac73c4 (patch) | |
tree | 7f05cb1685896a7af1a78ee1196fc93aab6ef828 | |
parent | queue.scm: Remove FIXME markers froom inside main.cf content (diff) | |
download | package-repository-5b85b1368f81b7eed8efef9d07ae8c077bac73c4.tar.gz package-repository-5b85b1368f81b7eed8efef9d07ae8c077bac73c4.tar.xz |
Test for expected output of Postfix config files
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | Makefile | 25 | ||||
-rw-r--r-- | tests/internet/main.cf.in | 36 | ||||
-rw-r--r-- | tests/internet/master.cf | 51 | ||||
-rw-r--r-- | tests/internet/system.scm (renamed from tests/internet-system.scm) | 0 | ||||
-rw-r--r-- | tests/local-system.scm | 25 | ||||
-rw-r--r-- | tests/local/main.cf | 21 | ||||
-rw-r--r-- | tests/local/master.cf | 30 | ||||
-rw-r--r-- | tests/local/system.scm | 39 |
9 files changed, 200 insertions, 30 deletions
@@ -1 +1,2 @@ -/result +/result* +/tests/internet/main.cf @@ -1,9 +1,20 @@ .POSIX: +.SUFFIXES: +.SUFFIXES: .in + +.in: + sed \ + -e "s|@HOSTNAME@|`hostname`|g" \ + < $< > $@ + if [ -x $< ]; then chmod +x $@; fi + + all: EuAndreh.key guix nix + guix: guix-packages guix-services guix-packages: @@ -12,10 +23,16 @@ guix-packages: -f src/org/euandre/queue.scm \ guix-services-local: - guix system -v3 -Lsrc/ -K build tests/local-system.scm + rm -f result-local + guix system -v3 -Lsrc/ -K -r result-local build tests/local/system.scm + cmp -s result-local/etc/postfix/master.cf tests/local/master.cf + cmp -s result-local/etc/postfix/main.cf tests/local/main.cf -guix-services-internet: - guix system -v3 -Lsrc/ -K build tests/internet-system.scm +guix-services-internet: tests/internet/main.cf + rm -f result-internet + guix system -v3 -Lsrc/ -K -r result-internet build tests/internet/system.scm + cmp -s result-internet/etc/postfix/master.cf tests/internet/master.cf + cmp -s result-internet/etc/postfix/main.cf tests/internet/main.cf guix-services: guix-services-local guix-services-internet @@ -30,7 +47,7 @@ check: clean: rm -rf \ - result + result* .paku/ deb/ tests/internet/main.cf public: diff --git a/tests/internet/main.cf.in b/tests/internet/main.cf.in new file mode 100644 index 0000000..566dbcd --- /dev/null +++ b/tests/internet/main.cf.in @@ -0,0 +1,36 @@ +compatibility_level = 3.6 + +queue_directory = /var/spool/postfix +data_directory = /var/lib/postfix +mail_owner = postfix +setgid_group = postdrop + +header_checks = regexp:{ { /^Received:.*/ IGNORE }, { /^X-Originating-IP:.*/ IGNORE } } + +mail_spool_directory = /var/mail/ + +myhostname = @HOSTNAME@ + +smtpd_use_tls = yes +smtpd_tls_cert_file = /etc/letsencrypt/live/@HOSTNAME@/fullchain.pem +smtpd_tls_key_file = /etc/letsencrypt/live/@HOSTNAME@/privkey.pem +smtp_use_tls = $smtpd_use_tls +smtp_tls_cert_file = $smtpd_tls_cert_file +smtp_tls_key_file = $smtpd_tls_key_file + +smtp_tls_security_level = may + +recipient_delimiter = + + +smtpd_sasl_tls_security_options = noanonymous +smtpd_tls_security_level = may +smtpd_tls_auth_only = yes + +smtpd_relay_restrictions = $smtpd_recipient_restrictions +smtpd_recipient_restrictions = permit_mynetworks, + permit_sasl_authenticated, reject_unauth_destination +smtpd_sasl_auth_enable = yes +cyrus_sasl_config_path = /etc/sasl2 +debug_peer_list = 127.0.0.1 + +milter_default_action = accept diff --git a/tests/internet/master.cf b/tests/internet/master.cf new file mode 100644 index 0000000..9125c29 --- /dev/null +++ b/tests/internet/master.cf @@ -0,0 +1,51 @@ +# ============================================================================================================ +# service type private unpriv chroot wakeup maxproc command + args +# (yes) (yes) (no) (never) (100) +# ============================================================================================================= + +anvil unix - - n - 1 anvil +bounce unix - - n - 0 bounce +cleanup unix n - n - 0 cleanup +defer unix - - n - 0 bounce +discard unix - - n - - discard +error unix - - n - - error +flush unix n - n 1000? 0 flush +lmtp unix - - n - - lmtp +local unix - n n - - local +pickup unix n - n 60 1 pickup + -o content_filter=dksign:[127.0.0.1]:10027 +proxymap unix - - n - - proxymap +proxywrite unix - - n - 1 proxymap +qmgr unix n - n 300 1 qmgr +relay unix - - n - - smtp +retry unix - - n - - error +rewrite unix - - n - - trivial-rewrite +scache unix - - n - 1 scache +showq unix n - n - - showq +smtp inet n - n - - smtpd -v -o syslog_name=postfix/smtp +smtp unix - - n - - smtp +tlsmgr unix - - n 1000? 1 tlsmgr +trace unix - - n - 0 bounce +verify unix - - n - 1 verify +virtual unix - n n - - virtual +postlog unix-dgram n - n - 1 postlogd + +submission inet n - n - - smtpd -o syslog_name=postfix/submission + -o smtpd_tls_security_level=encrypt + -o content_filter=dksign:[127.0.0.1]:10027 + +dksign unix - - n - - smtp + -o syslog_name=postfix/dkimproxyout-listen + -o smtp_send_xforward_command=yes + -o smtp_discard_ehlo_keywords=8bitmime,starttls + +127.0.0.1:10028 inet n - n - - smtpd + -o syslog_name=postfix/dkimproxyout-relay + -o content_filter= + -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks + -o smtpd_helo_restrictions= + -o smtpd_client_restrictions= + -o smtpd_sender_restrictions= + -o smtpd_recipient_restrictions=permit_mynetworks,reject + -o mynetworks=127.0.0.0/8 + -o smtpd_authorized_xforward_hosts=127.0.0.0/8 diff --git a/tests/internet-system.scm b/tests/internet/system.scm index 1267911..1267911 100644 --- a/tests/internet-system.scm +++ b/tests/internet/system.scm diff --git a/tests/local-system.scm b/tests/local-system.scm deleted file mode 100644 index abf09a8..0000000 --- a/tests/local-system.scm +++ /dev/null @@ -1,25 +0,0 @@ -(use-modules - ((org euandre queue) #:prefix queue:) - (gnu)) -(use-package-modules) -(use-service-modules) - -(operating-system - (host-name "a-local-test-host") - (services - (append - (list - (service queue:local-postfix-service-type)) - %base-services)) - (bootloader - (bootloader-configuration - (bootloader grub-bootloader))) - (file-systems - (append - (list - (file-system - (mount-point "/") - (type "btrfs") - (device - (uuid "2c66de32-dde7-ea35-750a-a1ca47a58d45" 'btrfs)))) - %base-file-systems))) diff --git a/tests/local/main.cf b/tests/local/main.cf new file mode 100644 index 0000000..f9eee9e --- /dev/null +++ b/tests/local/main.cf @@ -0,0 +1,21 @@ +compatibility_level = 3.6 + +queue_directory = /var/spool/postfix +data_directory = /var/lib/postfix +mail_owner = postfix +setgid_group = postdrop + +header_checks = regexp:{ { /^Received:.*/ IGNORE }, { /^X-Originating-IP:.*/ IGNORE } } + +mail_spool_directory = /var/mail/ +smtp_sender_dependent_authentication = yes +sender_dependent_relayhost_maps = hash:/var/lib/private/postfix/relayhosts-maps +smtp_sasl_password_maps = hash:/var/lib/private/postfix/sasl-password +smtp_sasl_auth_enable = yes +smtp_sasl_security_options = noanonymous +smtp_sasl_mechanism_filter = login, plain +smtp_use_tls = yes +smtp_tls_security_level = encrypt +smtp_tls_note_starttls_offer = yes + +mynetworks = 127.0.0.0/8 diff --git a/tests/local/master.cf b/tests/local/master.cf new file mode 100644 index 0000000..80b769a --- /dev/null +++ b/tests/local/master.cf @@ -0,0 +1,30 @@ +# ============================================================================================================ +# service type private unpriv chroot wakeup maxproc command + args +# (yes) (yes) (no) (never) (100) +# ============================================================================================================= + +anvil unix - - n - 1 anvil +bounce unix - - n - 0 bounce +cleanup unix n - n - 0 cleanup +defer unix - - n - 0 bounce +discard unix - - n - - discard +error unix - - n - - error +flush unix n - n 1000? 0 flush +lmtp unix - - n - - lmtp +local unix - n n - - local +pickup unix n - n 60 1 pickup +proxymap unix - - n - - proxymap +proxywrite unix - - n - 1 proxymap +qmgr unix n - n 300 1 qmgr +relay unix - - n - - smtp +retry unix - - n - - error +rewrite unix - - n - - trivial-rewrite +scache unix - - n - 1 scache +showq unix n - n - - showq +smtp inet n - n - - smtpd -v -o syslog_name=postfix/smtp +smtp unix - - n - - smtp +tlsmgr unix - - n 1000? 1 tlsmgr +trace unix - - n - 0 bounce +verify unix - - n - 1 verify +virtual unix - n n - - virtual +postlog unix-dgram n - n - 1 postlogd diff --git a/tests/local/system.scm b/tests/local/system.scm new file mode 100644 index 0000000..a520ee1 --- /dev/null +++ b/tests/local/system.scm @@ -0,0 +1,39 @@ +(use-modules + ((org euandre queue) #:prefix queue:) + ((xyz euandreh heredoc) #:prefix heredoc:) + (gnu)) +(use-package-modules) +(use-service-modules) +(heredoc:enable-syntax) + +(operating-system + (host-name "a-local-test-host") + (services + (append + (list + (service queue:local-postfix-service-type + (queue:postfix-configuration + (main.cf-extra #"- + smtp_sender_dependent_authentication = yes + sender_dependent_relayhost_maps = hash:/var/lib/private/postfix/relayhosts-maps + smtp_sasl_password_maps = hash:/var/lib/private/postfix/sasl-password + smtp_sasl_auth_enable = yes + smtp_sasl_security_options = noanonymous + smtp_sasl_mechanism_filter = login, plain + smtp_use_tls = yes + smtp_tls_security_level = encrypt + smtp_tls_note_starttls_offer = yes + "#)))) + %base-services)) + (bootloader + (bootloader-configuration + (bootloader grub-bootloader))) + (file-systems + (append + (list + (file-system + (mount-point "/") + (type "btrfs") + (device + (uuid "2c66de32-dde7-ea35-750a-a1ca47a58d45" 'btrfs)))) + %base-file-systems))) |