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;

Reply via email to