On Thu, 21 Jul 2022, Jeremy Harris via Exim-users wrote:

On 21/07/2022 07:27, Thomas Krichel via Exim-users wrote:
2022-07-21 06:19:30 1oEPWy-002t7O-0x == [email protected] R=mailman_router
T=mailman_transport defer (0): Expansion of
"${sg{sg{$/var/lib/mailman/lists/${lc::$local_part}/config.pck}{\/config.pck$}{}}{.*\/}{}}"
from command "/var/lib/mailman/mail/mailman '${if
def:local_part_suffix
{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} {post}}'
${sg{sg{$/var/lib/mailman/lists/${lc::$local_part}/config.pck}{\/config.pck$}{}}{.*\/}{}}"
in mailman_transport transport failed: $ not followed by letter,
digit, or {

Here's how to get more info on this expansion problem.

I'm using "noutf8" only in case this message messes up UTF8 characters.
I manually replaced "$local_part" with "nep-test".

# exim -d-all+expand+noutf8 -be

Thanks.

${sg{${sg{/var/lib/mailman/lists/${lc:nep-test}/config.pck}{\/config.pck\$}{}}}{.*\/}{}}
 /considering: 
${sg{${sg{/var/lib/mailman/lists/${lc:nep-test}/config.pck}{\/config.pck\$}{}}}{.*\/}{}}
  /considering: 
${sg{/var/lib/mailman/lists/${lc:nep-test}/config.pck}{\/config.pck\$}{}}}{.*\/}{}}
   /considering: 
/var/lib/mailman/lists/${lc:nep-test}/config.pck}{\/config.pck\$}{}}}{.*\/}{}}
   !/considering: nep-test}/config.pck}{\/config.pck\$}{}}}{.*\/}{}}
   !|--expanding: nep-test
   !\_____result: nep-test
   |--expanding: /var/lib/mailman/lists/${lc:nep-test}/config.pck
   \_____result: /var/lib/mailman/lists/nep-test/config.pck
   /considering: \/config.pck\$}{}}}{.*\/}{}}
   |--expanding: \/config.pck\$
   \_____result: /config.pck$
   /considering: }}}{.*\/}{}}
   |--expanding:
   \_____result:
  |--expanding: 
${sg{/var/lib/mailman/lists/${lc:nep-test}/config.pck}{\/config.pck\$}{}}
  \_____result: /var/lib/mailman/lists/nep-test
  /considering: .*\/}{}}
  |--expanding: .*\/
  \_____result: .*/
  /considering: }}
  |--expanding:
  \_____result:
 |--expanding: 
${sg{${sg{/var/lib/mailman/lists/${lc:nep-test}/config.pck}{\/config.pck\$}{}}}{.*\/}{}}
 \_____result: nep-test
nep-test



Needing to use two ${sg} 's on something makes me wonder if the approach was right....

I approve of your gut-reaction.
Having slept on it, I don't think this will work and have another idea
which seems simpler.

mailman_router:
  driver            = accept
  domains           = +mm_domains
  local_parts = dsearch,filter=dir;MM_HOME/lists
  require_files     = MM_LISTCHK
  local_part_suffix_optional
  local_part_suffix = -admin     : \
         -bounces   : -bounces+* : \
         -confirm   : -confirm+* : \
         -join      : -leave     : \
         -owner     : -request   : \
         -subscribe : -unsubscribe
  transport         = mailman_transport


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

Thomas and I are going to take this offline for a while.

--
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