Package: sympa
Version: 6.1.23~dfsg-2
Hi,
sympa fails to send encrypted messages due to a bug in mail.pm:609; you
should not dereference array-references in $#{...}, it takes the
reference directly (according to my tests. I couldn't find official
documentation on it, just an example in
http://perldoc.perl.org/perlref.html#Postfix-Dereference-Syntax)
The error is hidden by the eval in sympa.pl.in:2016; the logging in
line 2022 should probably log $@ as well.
When logging $@ as well I get:
err main::DoMessage() sympa::DoMessage(): Unable to send message to list
mylist: Can't use string ("1") as an ARRAY ref while "strict refs" in use at
/usr/share/sympa/lib/mail.pm line 609.
Regards,
Stefan
--- src/lib/mail.pm.bak 2016-02-19 12:18:52.747140435 +0100
+++ src/lib/mail.pm 2016-02-19 12:19:00.123037994 +0100
@@ -606,7 +606,7 @@
# this MUST be moved to the bulk mailer. This way, merge will be applied after the SMIME encryption is applied ! This is a bug !
foreach my $unique_rcpt (@{$rcpt}) {
my $email = lc(@{$unique_rcpt}[0]);
- if (($email !~ /@/) || ($#{@$unique_rcpt} != 0)) {
+ if (($email !~ /@/) || ($#{$unique_rcpt} != 0)) {
do_log('err',"incorrect call for encrypt with incorrect number of recipient");
# internal check, if encryption is on packet should be unique and shoud contain only one rcpt
return undef;