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/