Skip to Content.
Sympa Menu

en - Re: [sympa-users] Moderated Scenario not working

Subject: The mailing list for listmasters using Sympa

List archive

Chronological Thread  
  • From: Steve Rich <address@concealed>
  • To: IKEDA Soji <address@concealed>, "address@concealed" <address@concealed>
  • Subject: Re: [sympa-users] Moderated Scenario not working
  • Date: Thu, 27 Aug 2015 15:16:34 +0000

Thanks for the reply Soji.

From the documentation, there is a slight difference between editor and editorkey.

The difference between editor and editorkey is that, with editor, the message is simply forwarded to moderators, who can then forward it to the list if they like. editorkey assigns a key to the message and sends it to moderators together with the message. So moderators can just send back the key to distribute the message. Please note that moderation from the web interface is only possible when usingeditorkey, because otherwise there is no copy of the message saved on the server.

I think the major difference being that the editor action does not keep the message in the moderation spool.  Sympa absolves itself from responsibility after it delivers the message to the editor(s) when using the editor action.  I would agree that this is not the preferred way of doing things but we do have some legacy lists who’s owners prefer this method over the editorkey method.

The notes from revision 11347 indicate that ‘smtp’ method no longer needs modkey or one time ticket but the calling function in sympa_msg.pl still expects a key.

my $key = Sympa::List::send_confirm_to_editor($message, 'smtp');

        unless (defined $key) {
            $log->syslog(
                'err',
                'Failed to send moderation request of %s by %s for list %s to editor(s)',
                $message,
                $sender,
                $list
            );
            Sympa::Report::reject_report_msg(
                'intern',
                'The request moderation sending to moderator failed.',
                $sender,
                {'msg_id' => $messageid, 'message' => $message},
                $robot_id,
                $msg_string,
                $list
            );
            $log->db_log(
                'robot'        => $robot_id,
                'list'         => $list->{'name'},
                'action'       => 'DoMessage',
                'parameters'   => $message->get_id,
                'target_email' => '',
                'msg_id'       => $messageid,
                'status'       => 'error',
                'error_type'   => 'internal',
                'user_email'   => $sender
            );
            return undef;
        }

Would it make sense to simply remove the modkey check from sympa_msg.pl entirely?  It seems like the message are being delivered, but it is logging an error and notifying the editors/owners of the error. 

Thanks,
Steve




On 8/27/15, 4:21 AM, "address@concealed on behalf of IKEDA Soji" <address@concealed on behalf of address@concealed> wrote:

Hi,

On Wed, 26 Aug 2015 18:10:26 +0000
Steve Rich <address@concealed> wrote:

Hi all,
We just upgraded from 5.4.7 to 6.2.3.  I have 24 lists that have the following send scenario
title.gettext Anyone may send to the list, and their messages get forwarded to the moderators; moderators themselves may send straight to the list.
is_editor([listname],[sender])                 smtp,smime,md5    -> do_it
is_editor([listname],[header->X-sender])       smtp,smime,md5    -> do_it
true()                                         smtp,smime,md5    -> editor
According to the documentation, this should work just fine but my logs indicate the following:
Aug 24 12:37:58 lists-app-01 sympa_msg[26264]: err main::#355 > main::process_message#863 > main::DoMessage#1669 Failed to send moderation request of Sympa::Message <address@concealed> by address@concealed for list Sympa::List <address@concealed> to editor(s)
The users are reporting that their messages are never delivered unless sent directly by an editor or owner.
I dug through the code and traced what is happening:
sympa_msg.pl
my $key = Sympa::List::send_confirm_to_editor($message, 'smtp');
         unless (defined $key) {
             $log->syslog(
                 'err',
                 'Failed to send moderation request of %s by %s for list %s to editor(s)',
                 $message,
                 $sender,
                 $list
             );
The send_confirm_to_editor() function in 6.2.3 returns the modkey to the calling function but modkey is only defined if method is md5, not smtp.
my $modkey = undef;
The send_to_editor() function in 5.4.7 returns a defined modkey regardless of the method (smtp, md5, etc).
my $modkey=Digest::MD5::md5_hex(join('/', $self->get_cookie(),$messageid));
I don’t see anything in the changelogs that references this change but it effectively breaks the editor action in send scenarios.  Was this intended or did I find a bug?

It seems a bug injected during 6.2alpha:
https://sourcesup.renater.fr/scm/viewvc.php?view=rev&root=sympa&revision=11347

I think we would be better to remove a line "if ($method eq 'md5') {"
and corresponding bracket in send_confirm_to_editor().

But, I no longer understand: What is the difference between "editor"
and "editorkey"?  They look to behave the same.


Regards,


--- Soji


Thanks,
Steve


--
株式会社 コンバージョン  セキュリティ&OSSソリューション部   池田荘児
〒140-0014 東京都品川区大井1-49-15 アクセス大井町ビル4F
e-mail address@concealed  TEL 03-6429-2880
http://www.conversion.co.jp/




Archive powered by MHonArc 2.6.19+.

Top of Page