Subject: [bug#35619] wip-postfix

From: Gábor Boskovits <[email-masked]>
Date: Tue, 11 Aug 2020 04:16:12 +0200

Hello Jan,

Jan Nieuwenhuizen <[email-masked]> ezt írta (időpont: 2020. aug. 10., Hét
8:50):

> Gábor Boskovits writes:
>
> Hello!
>
> >> Jan Nieuwenhuizen <[email-masked]> ezt írta (időpont: 2020. márc.
> 17., Ke 9:02):
> >
> >  Gábor Boskovits writes:
>
> I took the liberty of rebasing wip-postfix on latest master and
> found it does not compile
>
> --8<---------------cut here---------------start------------->8---
> gcc -fPIC -I. -I../../include -DNO_EAI -DDEF_SMTPUTF8_ENABLE=\"no\"
> -DHAS_DEV_URANDOM
> -DDEF_SHLIB_DIR=\"/gnu/store/hbdrbb84krvjvw58vmr1pvzb6l3gbmyv-postfix-minimal-3.4.8\"
> -DUSE_DYNAMIC_LIBS -DUSE_DYNAMIC_MAPS -Wmissing-prototypes -Wformat
> -Wno-comment -fPIC -g -O -I. -I../../include -DLINUX5 -c dns_str_resflags.c
> dns_str_resflags.c:55:13: warning: RES_AAONLY is deprecated
>      "RES_AAONLY", RES_AAONLY,
>              ^~~~~~~~~~~~~~~~~
> dns_str_resflags.c:57:13: warning: RES_PRIMARY is deprecated
>      "RES_PRIMARY", RES_PRIMARY,
>              ^~~~~~~~~~~~~~~~~~~
> dns_str_resflags.c:63:22: error: ‘RES_INSECURE1’ undeclared here (not in a
> function); did you mean ‘RES_RECURSE’?
>      "RES_INSECURE1", RES_INSECURE1,
>                       ^~~~~~~~~~~~~
>                       RES_RECURSE
> --8<---------------cut here---------------end--------------->8---
>
> Luckily, that was easily fixed by updating postfix to 3.5.0.
>

Thanks for having a look.

>
> >>  When I hack around and create /etc/ailases.db, it works.
> > I would like to add a service config for this.
>
> I found we already have mail-aliases-service-type, so I used that,
> together with running postalias.  Now, queuing mail works ootb...but
> delivery seems not to work: it remains queued.
>
> I rebased wip-postfix and added a couple of patches for this.  Please
> feel free to revert them if you don't like it :-)
>
> When starting postfix like so
>
> --8<---------------cut here---------------start------------->8---
> ./pre-inst-env guix system vm gnu/system/examples/postfix.tmpl`\
>    --nographic -m 1G\
>    --nic
> user,model=virtio-net-pci,hostfwd=tcp::12025-:25,hostfwd=tcp:127.0.0.1:12022
> -:2222
> --8<---------------cut here---------------end--------------->8---
>
> I'm seeing
>
> --8<---------------cut here---------------start------------->8---
> 07:39:18 janneke@dundal:~/src/guix/wip-postfix [env]
> $ telnet localhost 12025
> Trying 127.0.0.1...
> Connected to localhost.
> Escape character is '^]'.
> 220 komputilo.localdomain ESMTP Postfix
> mail from: root
> mail from: root
> 250 2.1.0 Ok
> rcpt to: alice
> rcpt to: alice
> 250 2.1.5 Ok
> data
> data
> 354 End data with <CR><LF>.<CR><LF>
> hello Alice!
> hello Alice!
> .
> .
> 250 2.0.0 Ok: queued as E26BA3116
> quit
> quit
> 221 2.0.0 Bye
> Connection closed by foreign host.
> 08:03:53 janneke@dundal:~/src/guix/wip-postfix [env]
> $ ssh -p 12022 root@localhost
> /gnu/store/mydn0wr0bs7mz3rx9fwihpma26r0dpqq-postfix-minimal-3.5.0/mailq -C
> /gnu/store/nj5pa9l9zy6vx5484pbdsqnilva8bivc-postfix-config-dir
> -Queue ID-  --Size-- ----Arrival Time---- -Sender/Recipient-------
> E26BA3116*      175 Mon Aug 10 08:00:50  [email-masked]
>                                          [email-masked]
>
> -- 0 Kbytes in 1 Request.
> --8<---------------cut here---------------end--------------->8---
>
> Ideas?
>

I will have a look early next week. Most probably the setuid stuff is
missing, and access is denied to something.

>
> >>  It looks like most everything is installed in a single, flat directory
> >>
> >>      /gnu/store/pyv0rpd6zs0m2i482cb8qxd6mhf5b47z-postfix-minimal-3.4.8
> >>
> >>  executables, copies of readmes, (unused?) config files (main.cf,
> >>  aliases)?
> >
> > Yes, but can be easily separated. The config files are installer
> > generated, and not used.
>
> Ok => TODO :-)
>
> >> Anyhow, this is a great start; next Mailman?
> >
> > One thing that blocks me from finishing this is that the setuid
> > programs in the os declatation should be extended, so that we can use
> > the privilege separation of postfix. I would like to propose a patch
> > later this week.
>
> Any insight here, something blocking maybe?
>

Nothing in particular. I had little time recently. I just finished a bigger
project, and I was on holiday. I will try to propose an interface for this
next week.

> Greetings,
> Janneke

Regards,
g_bor

>
> Jan (janneke) Nieuwenhuizen (5):
>   gnu: postfix-minimal: Updato to 3.5.0.
>   system: examples: Add postfix.tmpl.
>   gnu: postfix-minimal: Fix startup warnings.
>   service: postfix: Use mail-aliases-service-type.
>   system: postfix.tmpl: Add mail-aliases-service.
>
>  gnu/packages/mail.scm            | 32 ++++++++++++-------
>  gnu/services/mail.scm            | 12 ++++++-
>  gnu/system/examples/postfix.tmpl | 54 ++++++++++++++++++++++++++++++++
>  3 files changed, 86 insertions(+), 12 deletions(-)
>  create mode 100644 gnu/system/examples/postfix.tmpl
>
> --
> Jan Nieuwenhuizen <[email-masked]> | GNU LilyPond http://lilypond.org
> Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
>