[mlmmj] README.exim4 broken, needs update

Florian Berger <[email protected]> Thu, 7 Dec 2023 22:29:20 +0000
Newsgroups org.mlmmj.mlmmj
Message-ID <[email protected]>
The mlmmj.org website hosts a tutorial for exim 4 setup at http://mlmmj.org/docs/readme-exim4/ , 
which in turn refers to https://plonk.de/sw/mlmmj/README.exim4 as the most recent original (hence 
author Jakob Hirsch in cc:).

For the transport configuration, it advertises:

mlmmj_transport:
   [irrelevant lines left out]
   command = /usr/local/bin/mlmmj-recieve -F -L MLMMJ_HOME/${lc:$local_part}

This will no longer work in recent versions of exim (4.94 and above). exim now considers 
sender-derived data tainted, and will refuse to use them as-is. See

- https://git.exim.org/exim.git/blob/HEAD:/src/README.UPDATING
- https://www.exim.org/exim-html-current/doc/html/spec_html/ch-string_expansions.html

As far as the mlmmj config is concerned, $local_part is considered tainted.

It can reasonably be de-tainted by changing it into a directory lookup:

mlmmj_transport:
   [unchanged lines left out]
   command = /usr/bin/mlmmj-receive -F -L "${lookup {$local_part} dsearch,ret=full {MLMMJ_HOME}}"

To avoind exim users running into issues, the tutorial at plonk.de and mlmmj.org should be updated 
accordingly.


Thanks for considering,

Florian