Argh. Still wrong.
Is
    ${sg{sg{$MM_LISTCHK}{\/config.pck$}{}}{.*\/}{}}
a better replacement for $local_part ?

On Wed, 20 Jul 2022, Andrew C Aitchison wrote:

On Wed, 20 Jul 2022, Andrew C Aitchison via Exim-users wrote:

On Wed, 20 Jul 2022, Thomas Krichel via Exim-users wrote:
root@darni /etc/exim4 # cat ./conf.d/transport/14_exim4-config_mailman
mailman_transport:
 driver  = pipe
 command = MM_WRAP \
         '${if def:local_part_suffix \
               {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
               {post}}' \
         $local_part
 current_directory = MM_HOME
 home_directory    = MM_HOME
 user              = MM_UID
 group             = MM_GID
        ...             ...             ...
 What more to check?

You have checked everything, but you need to use an untainted
value in command. Based on
 echo /var/lib/mailman/lists/nep-technicians/config.pck |\
     sed -e 's/\/config.pck\$//' -e 's/\/.*\///g'config.pck
(the order of the replacements matters)
could you try replacing your transport with:

mailman_transport:
 driver  = pipe
 command = MM_WRAP \
         '${if def:local_part_suffix \
               {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
               {post}}' \
         ${sg{sg{$local_part}{\/config.pck$}{}}{.*\/}{}}
 current_directory = MM_HOME
 home_directory    = MM_HOME
 user              = MM_UID
 group             = MM_GID

?
I don't have an exim config system with MM_LISTCHK
and I have never tested the sg function in an exim config before,
so this is unlikely to be exactly right.

I was right that this was wrong :-(
Please try
   ${sg{sg{$}{\/config.pck$}{MM_LISTCHK}}{.*\/}{}}
instead.

--
Andrew C. Aitchison                      Kendal, UK
                   [email protected]

--
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to