Subject: Developers of Sympa
List archive
Re: [sympa-developpers] [sympa-commits] r12664 - in branches/sympa-6.2-branch: default/mail_tt2 default/web_tt2 src/cgi src/lib/Sympa src/lib/Sympa/Request src/lib/Sympa/Spindle
- From: David Verdin <address@concealed>
- To: address@concealed
- Subject: Re: [sympa-developpers] [sympa-commits] r12664 - in branches/sympa-6.2-branch: default/mail_tt2 default/web_tt2 src/cgi src/lib/Sympa src/lib/Sympa/Request src/lib/Sympa/Spindle
- Date: Thu, 4 Feb 2016 10:32:42 +0100
|
Thanks for this Soji! I'll tag a new version pretty soon. Sorry it took so long between 6.2.12 and 6.2.13. I'm revewing/testing right now. I synced the i18n catalogues in Pootle, so if you want to update your Japanese translation, Now might be agood time to do it. Best regards! David Le 04/02/2016 04:15,
address@concealed a écrit :
Author: sikeda
Date: 2016-02-04 03:15:16 +0000 (Thu, 04 Feb 2016)
New Revision: 12664
Modified:
branches/sympa-6.2-branch/default/mail_tt2/command_report.tt2
branches/sympa-6.2-branch/default/web_tt2/error.tt2
branches/sympa-6.2-branch/src/cgi/wwsympa.fcgi.in
branches/sympa-6.2-branch/src/lib/Sympa/CommandDef.pm
branches/sympa-6.2-branch/src/lib/Sympa/Request/Message.pm
branches/sympa-6.2-branch/src/lib/Sympa/Spindle/AuthorizeRequest.pm
branches/sympa-6.2-branch/src/lib/Sympa/Spindle/DispatchRequest.pm
branches/sympa-6.2-branch/src/lib/Sympa/Spindle/DoCommand.pm
Log:
[-dev] Copyedit. Sync tt2 entry names in code to process requests with those in WWSympa.
Modified: branches/sympa-6.2-branch/default/mail_tt2/command_report.tt2
===================================================================
--- branches/sympa-6.2-branch/default/mail_tt2/command_report.tt2 2016-01-31 07:26:17 UTC (rev 12663)
+++ branches/sympa-6.2-branch/default/mail_tt2/command_report.tt2 2016-02-04 03:15:16 UTC (rev 12664)
@@ -89,7 +89,7 @@
[%- FOREACH u_err = user_errors -%]
> [% u_err.cmd -%]
-[% IF u_err.entry == 'not_understood' -%]
+[% IF u_err.entry == 'unknown_action' -%]
[%|loc%]Command not understood: ignoring end of message.[%END%]
[% ELSIF u_err.entry == 'no_verify_sign' -%]
@@ -96,20 +96,19 @@
[%|loc%]Your message was not a multipart/signed message or Sympa could not verify the signature
(be aware that Sympa can't check signature if you use the subject header to write a command).[%END-%]
-[% ELSIF u_err.entry == 'error_syntax' -%]
+[% ELSIF u_err.entry == 'syntax_errors' -%]
[%|loc%]Command syntax error.[%END%]
-[% ELSIF u_err.entry == 'no_existing_list' -%]
+[% ELSIF u_err.entry == 'unknown_list' -%]
[%|loc(u_err.listname)%]List '%1' does not exist.[%END%]
[% ELSIF u_err.entry == 'no_subscriber_preference' -%]
[%|loc(u_err.listname)%]%1 mailing list does not provide subscriber preferences.[%END%]
-[% ELSIF u_err.entry == 'your_email_not_found' -%]
- [%|loc(u_err.email,u_err.listname)%]Your e-mail address %1 has not been found in the list %2. Maybe
-you subscribed from a different e-mail address ?[%END-%]
+[% ELSIF u_err.entry == 'not_subscriber' -%]
+ [%|loc(u_err.email,u_err.listname)%]Your e-mail address %1 has not been found in the list %2. Maybe you subscribed from a different e-mail address?[%END-%]
-[% ELSIF u_err.entry == 'email_not_found' -%]
+[% ELSIF u_err.entry == 'user_not_subscriber' -%]
[%|loc(u_err.email,u_err.listname)%]E-mail address %1 has not been found in the list %2.[%END%]
[% ELSIF u_err.entry == 'no_digest' -%]
@@ -116,7 +115,7 @@
[%|loc(u_err.listname)%]List %1 does not accept the DIGEST mode.
Your configuration regarding this command has not been updated.[%END-%]
-[% ELSIF u_err.entry == 'available_reception_mode' -%]
+[% ELSIF u_err.entry == 'not_available_reception_mode' -%]
[%|loc(u_err.listname)%]List %1 allows only these reception modes: [%END -%]
[%- FOREACH m = u_err.reception_modes -%]
[%- IF loop.size >= 2 && loop.count == loop.size -%]
@@ -158,11 +157,11 @@
[%|loc(u_err.command)%]The authentication process failed. You probably confirmed your "%1" command using a different email address. Please try using your canonical address.[%END-%]
[% END -%]
-[% ELSIF u_err.entry == 'unfound_message' -%]
+[% ELSIF u_err.entry == 'already_moderated' -%]
[%|loc(u_err.listname,u_err.key)%]Unable to access the message on list %1 with key %2.
Warning: this message may already have been sent by one of the list's editor.[%END%]
-[% ELSIF u_err.entry == 'unfound_file_message' -%]
+[% ELSIF u_err.entry == 'already_confirmed' -%]
[%|loc(u_err.key)%]Unable to access the message authenticated with key %1. The message may already been confirmed.[%END%]
[% ELSE %]
Modified: branches/sympa-6.2-branch/default/web_tt2/error.tt2
===================================================================
--- branches/sympa-6.2-branch/default/web_tt2/error.tt2 2016-01-31 07:26:17 UTC (rev 12663)
+++ branches/sympa-6.2-branch/default/web_tt2/error.tt2 2016-02-04 03:15:16 UTC (rev 12664)
@@ -70,10 +70,10 @@
[% ELSIF u_err.msg == 'no_subscriber' %][%|loc%]List has no subscribers[%END%]
[% ELSIF u_err.msg == 'no_page' %][%|loc(u_err.page)%]No page %1[%END%]
[% ELSIF u_err.msg == 'no_filter' %][%|loc%]Missing filter[%END%]
- [% ELSIF u_err.msg == 'not_subscriber' %]
- [% IF u_err.email %] [%|loc(u_err.email)%]Not subscribed: %1[%END%]
- [% ELSE %][%|loc(u_err.list)%]You are not subscribed to list %1[%END%]
- [% END %]
+ [% ELSIF u_err.msg == 'user_not_subscriber' ~%]
+ [%|loc(u_err.email)%]Not subscribed: %1[%END%]
+ [% ELSIF u_err.msg == 'not_subscriber' ~%]
+ [%|loc(u_err.list)%]You are not subscribed to list %1[%END%]
[% ELSIF u_err.msg == 'custom_attribute' %][%|loc%]Check the additional information[%END%]
[% ELSIF u_err.msg == 'not_available_reception_mode' %][%|loc(u_err.reception_mode)%]%1 is not an available reception mode[%END%]
[% ELSIF u_err.msg == 'file_not_editable' %][%|loc(u_err.file)%]%1: file not editable[%END%]
Modified: branches/sympa-6.2-branch/src/cgi/wwsympa.fcgi.in
===================================================================
--- branches/sympa-6.2-branch/src/cgi/wwsympa.fcgi.in 2016-01-31 07:26:17 UTC (rev 12663)
+++ branches/sympa-6.2-branch/src/cgi/wwsympa.fcgi.in 2016-02-04 03:15:16 UTC (rev 12664)
@@ -8402,7 +8402,7 @@
my $user_entry = $list->get_list_member($email);
unless (defined($user_entry)) {
- Sympa::Report::reject_report_web('user', 'not_subscriber',
+ Sympa::Report::reject_report_web('user', 'user_not_subscriber',
{'email' => $email},
$param->{'action'}, $list);
@@ -11808,7 +11808,7 @@
my $escaped_email = tools::escape_chars($email);
unless ($list->is_list_member($email)) {
- Sympa::Report::reject_report_web('user', 'not_subscriber',
+ Sympa::Report::reject_report_web('user', 'user_not_subscriber',
{'email' => $email},
$param->{'action'}, $list);
wwslog('info', '%s not subscribed', $email);
Modified: branches/sympa-6.2-branch/src/lib/Sympa/CommandDef.pm
===================================================================
--- branches/sympa-6.2-branch/src/lib/Sympa/CommandDef.pm 2016-01-31 07:26:17 UTC (rev 12663)
+++ branches/sympa-6.2-branch/src/lib/Sympa/CommandDef.pm 2016-02-04 03:15:16 UTC (rev 12664)
@@ -143,16 +143,22 @@
set => {
cmd_regexp => qr'set'i,
arg_regexp =>
- qr'(\S+)\s+(digest|digestplain|nomail|normal|not_me|each|mail|conceal|noconceal|summary|notice|txt|html|urlize)\s*\z'i,
- arg_keys => [qw(localpart mode)],
+ qr'(\S+)\s+(?:(digest|digestplain|nomail|normal|not_me|each|mail|summary|notice|txt|html|urlize)|(conceal|noconceal))\s*\z'i,
+ arg_keys => [qw(localpart reception visibility)],
filter => sub {
my $r = shift;
- $r->{mode} = lc($r->{mode} || '');
- # SET EACH is a synonym for SET MAIL.
- $r->{mode} = 'mail'
- if grep { $r->{mode} eq $_ }
- qw(each eachmail nodigest normal);
+ $r->{email} = $r->{sender};
+ if ($r->{reception}) {
+ $r->{reception} = lc $r->{reception};
+ # SET EACH is a synonym for SET MAIL.
+ $r->{reception} = 'mail'
+ if grep { $r->{reception} eq $_ }
+ qw(each eachmail nodigest normal);
+ }
+ if ($r->{visibility}) {
+ $r->{visibility} = lc $r->{visibility};
+ }
$r;
},
# No scenario. Only list members are allowed.
@@ -160,16 +166,22 @@
global_set => {
cmd_regexp => qr'set\s+[*]'i,
arg_regexp =>
- qr'(digest|digestplain|nomail|normal|not_me|each|mail|conceal|noconceal|summary|notice|txt|html|urlize)\s*\z'i,
- arg_keys => [qw(mode)],
+ qr'(?:(digest|digestplain|nomail|normal|not_me|each|mail|summary|notice|txt|html|urlize)|(conceal|noconceal))\s*\z'i,
+ arg_keys => [qw(reception visibility)],
filter => sub {
my $r = shift;
- $r->{mode} = lc($r->{mode} || '');
- # SET EACH is a synonym for SET MAIL.
- $r->{mode} = 'mail'
- if grep { $r->{mode} eq $_ }
- qw(each eachmail nodigest normal);
+ $r->{email} = $r->{sender};
+ if ($r->{reception}) {
+ $r->{reception} = lc $r->{reception};
+ # SET EACH is a synonym for SET MAIL.
+ $r->{reception} = 'mail'
+ if grep { $r->{reception} eq $_ }
+ qw(each eachmail nodigest normal);
+ }
+ if ($r->{visibility}) {
+ $r->{visibility} = lc $r->{visibility};
+ }
$r;
},
},
Modified: branches/sympa-6.2-branch/src/lib/Sympa/Request/Message.pm
===================================================================
--- branches/sympa-6.2-branch/src/lib/Sympa/Request/Message.pm 2016-01-31 07:26:17 UTC (rev 12663)
+++ branches/sympa-6.2-branch/src/lib/Sympa/Request/Message.pm 2016-02-04 03:15:16 UTC (rev 12664)
@@ -204,7 +204,7 @@
auth => $auth,
cmd_line => $line,
context => $robot,
- error => 'syntax_error',
+ error => 'syntax_errors',
quiet => $quiet,
( map { ($_ => $message->{$_}) }
qw(date sender dkim_pass smime_signed)
@@ -228,7 +228,7 @@
# Reject the command if this list is unknown to us.
$request->{error} = 'unknown_list';
} elsif ($filter and not $filter->($request)) {
- $request->{error} = 'syntax_error';
+ $request->{error} = 'syntax_errors';
}
return $request;
Modified: branches/sympa-6.2-branch/src/lib/Sympa/Spindle/AuthorizeRequest.pm
===================================================================
--- branches/sympa-6.2-branch/src/lib/Sympa/Spindle/AuthorizeRequest.pm 2016-01-31 07:26:17 UTC (rev 12663)
+++ branches/sympa-6.2-branch/src/lib/Sympa/Spindle/AuthorizeRequest.pm 2016-02-04 03:15:16 UTC (rev 12664)
@@ -144,10 +144,29 @@
$that, $sender
);
return 'not_allowed';
- } else {
- #NOTREACHED
- die 'bug in logic. Ask developer';
}
+
+ $log->syslog(
+ 'info',
+ '%s for %s from %s aborted, unknown requested action "%s" in scenario "%s"',
+ uc $request->{action},
+ $that,
+ $sender,
+ $action,
+ $scenario
+ );
+ my $error = sprintf 'Unknown requested action in scenario: %s',
+ $request->{action};
+ Sympa::send_notify_to_listmaster(
+ $request->{context},
+ 'mail_intern_error',
+ { error => $error,
+ who => $sender,
+ action =">" 'Command process',
+ }
+ );
+ $self->add_stash($request, 'intern');
+ return undef;
}
# Checks the authentication and return method
Modified: branches/sympa-6.2-branch/src/lib/Sympa/Spindle/DispatchRequest.pm
===================================================================
--- branches/sympa-6.2-branch/src/lib/Sympa/Spindle/DispatchRequest.pm 2016-01-31 07:26:17 UTC (rev 12663)
+++ branches/sympa-6.2-branch/src/lib/Sympa/Spindle/DispatchRequest.pm 2016-02-04 03:15:16 UTC (rev 12664)
@@ -74,23 +74,18 @@
my $self = shift;
my $request = shift;
- my $robot =
- (ref $request->{context} eq 'Sympa::List')
- ? $request->{context}->{'domain'}
- : ($request->{context} || '*');
my $entry = $request->{error};
- if ($entry eq 'syntax_error') {
- $self->add_stash($request, 'user', 'error_syntax');
+ if ($entry eq 'syntax_errors') {
+ $self->add_stash($request, 'user', 'syntax_errors');
$log->syslog('notice', 'Command syntax error');
} elsif ($entry eq 'unknown_list') {
- $self->add_stash($request, 'user', 'no_existing_list',
- {'listname' => $request->{localpart}});
+ $self->add_stash($request, 'user', 'unknown_list');
$log->syslog(
'info',
'%s from %s refused, unknown list for robot %s',
uc $request->{action},
- $request->{sender}, $robot
+ $request->{sender}, $request->{context}
);
} else {
Sympa::send_notify_to_listmaster(
@@ -114,7 +109,7 @@
my $request = shift;
$log->syslog('notice', 'Unknown command found: %s', $request->{cmd_line});
- $self->add_stash($request, 'user', 'not_understood');
+ $self->add_stash($request, 'user', 'unknown_action');
return undef;
}
@@ -275,8 +270,14 @@
my $request = shift;
unless (ref $request->{context} eq 'Sympa::List') {
- $request->{error} = 'unknown_list';
- return _error($self, $request);
+ $self->add_stash($request, 'user', 'unknown_list');
+ $log->syslog(
+ 'info',
+ '%s from %s refused, unknown list for robot %s',
+ uc $request->{action},
+ $request->{sender}, $request->{context}
+ );
+ return 1;
}
my $list = $request->{context};
my $listname = $list->{'name'};
@@ -328,8 +329,14 @@
my $request = shift;
unless (ref $request->{context} eq 'Sympa::List') {
- $request->{error} = 'unknown_list';
- return _error($self, $request);
+ $self->add_stash($request, 'user', 'unknown_list');
+ $log->syslog(
+ 'info',
+ '%s from %s refused, unknown list for robot %s',
+ uc $request->{action},
+ $request->{sender}, $request->{context}
+ );
+ return 1;
}
my $list = $request->{context};
my $which = $list->{'name'};
@@ -427,8 +434,14 @@
my $request = shift;
unless (ref $request->{context} eq 'Sympa::List') {
- $request->{error} = 'unknown_list';
- return _error($self, $request);
+ $self->add_stash($request, 'user', 'unknown_list');
+ $log->syslog(
+ 'info',
+ '%s from %s refused, unknown list for robot %s',
+ uc $request->{action},
+ $request->{sender}, $request->{context}
+ );
+ return 1;
}
my $list = $request->{context};
my $which = $list->{'name'};
@@ -520,8 +533,14 @@
my $request = shift;
unless (ref $request->{context} eq 'Sympa::List') {
- $request->{error} = 'unknown_list';
- return _error($self, $request);
+ $self->add_stash($request, 'user', 'unknown_list');
+ $log->syslog(
+ 'info',
+ '%s from %s refused, unknown list for robot %s',
+ uc $request->{action},
+ $request->{sender}, $request->{context}
+ );
+ return 1;
}
my $list = $request->{context};
my $which = $list->{'name'};
@@ -589,8 +608,14 @@
my $request = shift;
unless (ref $request->{context} eq 'Sympa::List') {
- $request->{error} = 'unknown_list';
- return _error($self, $request);
+ $self->add_stash($request, 'user', 'unknown_list');
+ $log->syslog(
+ 'info',
+ '%s from %s refused, unknown list for robot %s',
+ uc $request->{action},
+ $request->{sender}, $request->{context}
+ );
+ return 1;
}
my $list = $request->{context};
my $listname = $list->{'name'};
@@ -659,8 +684,14 @@
my $request = shift;
unless (ref $request->{context} eq 'Sympa::List') {
- $request->{error} = 'unknown_list';
- return _error($self, $request);
+ $self->add_stash($request, 'user', 'unknown_list');
+ $log->syslog(
+ 'info',
+ '%s from %s refused, unknown list for robot %s',
+ uc $request->{action},
+ $request->{sender}, $request->{context}
+ );
+ return 1;
}
my $list = $request->{context};
my $listname = $list->{'name'};
@@ -707,8 +738,14 @@
my $request = shift;
unless (ref $request->{context} eq 'Sympa::List') {
- $request->{error} = 'unknown_list';
- return _error($self, $request);
+ $self->add_stash($request, 'user', 'unknown_list');
+ $log->syslog(
+ 'info',
+ '%s from %s refused, unknown list for robot %s',
+ uc $request->{action},
+ $request->{sender}, $request->{context}
+ );
+ return 1;
}
my $list = $request->{context};
my $which = $list->{'name'};
@@ -827,8 +864,14 @@
my $request = shift;
unless (ref $request->{context} eq 'Sympa::List') {
- $request->{error} = 'unknown_list';
- return _error($self, $request);
+ $self->add_stash($request, 'user', 'unknown_list');
+ $log->syslog(
+ 'info',
+ '%s from %s refused, unknown list for robot %s',
+ uc $request->{action},
+ $request->{sender}, $request->{context}
+ );
+ return 1;
}
my $list = $request->{context};
my $listname = $list->{'name'};
@@ -959,8 +1002,14 @@
my $email = $request->{email};
unless (ref $request->{context} eq 'Sympa::List') {
- $request->{error} = 'unknown_list';
- return _error($self, $request);
+ $self->add_stash($request, 'user', 'unknown_list');
+ $log->syslog(
+ 'info',
+ '%s from %s refused, unknown list for robot %s',
+ uc $request->{action},
+ $request->{sender}, $request->{context}
+ );
+ return 1;
}
my $list = $request->{context};
my $which = $list->{'name'};
@@ -972,10 +1021,13 @@
# command.
my $user_entry = $list->get_list_member($email);
unless (defined $user_entry) {
- $self->add_stash($request, 'user', 'your_email_not_found',
- {'email' => $email});
- $log->syslog('info', 'SIG %s from %s refused, not on list',
- $which, $email);
+ unless ($email eq $sender) { # Request from other user?
+ $self->add_stash($request, 'user', 'user_not_subscriber');
+ } else {
+ $self->add_stash($request, 'user', 'not_subscriber');
+ }
+ $log->syslog('info', 'SIG %s from %s refused, %s not on list',
+ $which, $sender, $email);
# Tell the owner somebody tried to unsubscribe.
if ($request->{notify}) {
@@ -1061,8 +1113,14 @@
my $request = shift;
unless (ref $request->{context} eq 'Sympa::List') {
- $request->{error} = 'unknown_list';
- return _error($self, $request);
+ $self->add_stash($request, 'user', 'unknown_list');
+ $log->syslog(
+ 'info',
+ '%s from %s refused, unknown list for robot %s',
+ uc $request->{action},
+ $request->{sender}, $request->{context}
+ );
+ return 1;
}
my $list = $request->{context};
my $which = $list->{'name'};
@@ -1184,8 +1242,14 @@
my $request = shift;
unless (ref $request->{context} eq 'Sympa::List') {
- $request->{error} = 'unknown_list';
- return _error($self, $request);
+ $self->add_stash($request, 'user', 'unknown_list');
+ $log->syslog(
+ 'info',
+ '%s from %s refused, unknown list for robot %s',
+ uc $request->{action},
+ $request->{sender}, $request->{context}
+ );
+ return 1;
}
my $list = $request->{context};
my $which = $list->{'name'};
@@ -1442,8 +1506,14 @@
my $sender = $request->{sender};
unless (ref $request->{context} eq 'Sympa::List') {
- $request->{error} = 'unknown_list';
- return _error($self, $request);
+ $self->add_stash($request, 'user', 'unknown_list');
+ $log->syslog(
+ 'info',
+ '%s from %s refused, unknown list for robot %s',
+ uc $request->{action},
+ $request->{sender}, $request->{context}
+ );
+ return 1;
}
my $list = $request->{context};
my $listname = $list->{'name'};
@@ -1509,8 +1579,14 @@
my $request = shift;
unless (ref $request->{context} eq 'Sympa::List') {
- $request->{error} = 'unknown_list';
- return _error($self, $request);
+ $self->add_stash($request, 'user', 'unknown_list');
+ $log->syslog(
+ 'info',
+ '%s from %s refused, unknown list for robot %s',
+ uc $request->{action},
+ $request->{sender}, $request->{context}
+ );
+ return 1;
}
my $list = $request->{context};
my $which = $list->{'name'};
@@ -1524,9 +1600,8 @@
# just reject the message.
my $user_entry = $list->get_list_member($who);
- unless ((defined $user_entry)) {
- $self->add_stash($request, 'user', 'your_email_not_found',
- {'email' => $who});
+ unless (defined $user_entry) {
+ $self->add_stash($request, 'user', 'user_not_subscriber');
$log->syslog('info', 'DEL %s %s from %s refused, not on list',
$which, $who, $sender);
return 'not_allowed';
@@ -1618,7 +1693,6 @@
my $request = shift;
my $sender = $request->{sender};
- my $mode = $request->{mode};
my $auth_method =
$request->{smime_signed} ? 'smime'
@@ -1672,12 +1746,20 @@
my $self = shift;
my $request = shift;
- my $sender = $request->{sender};
- my $mode = $request->{mode};
+ my $sender = $request->{sender};
+ my $email = $request->{email};
+ my $reception = $request->{reception};
+ my $visibility = $request->{visibility};
unless (ref $request->{context} eq 'Sympa::List') {
- $request->{error} = 'unknown_list';
- return _error($self, $request);
+ $self->add_stash($request, 'user', 'unknown_list');
+ $log->syslog(
+ 'info',
+ '%s from %s refused, unknown list for robot %s',
+ uc $request->{action},
+ $request->{sender}, $request->{context}
+ );
+ return 1;
}
my $list = $request->{context};
my $which = $list->{'name'};
@@ -1684,53 +1766,57 @@
$language->set_lang($list->{'admin'}{'lang'});
- ## Check if we know this email on the list and remove it. Otherwise
- ## just reject the message.
- unless ($list->is_list_member($sender)) {
- $self->add_stash($request, 'user', 'email_not_found',
- {'email' => $sender});
- $log->syslog('info', 'SET %s %s from %s refused, not on list',
- $which, $mode, $sender);
+ # Check if we know this email on the list and remove it. Otherwise
+ # just reject the message.
+ unless ($list->is_list_member($email)) {
+ unless ($email eq $sender) { # Request from owner?
+ $self->add_stash($request, 'user', 'user_not_subscriber');
+ } else {
+ $self->add_stash($request, 'user', 'not_subscriber');
+ }
+ $log->syslog('info', 'SET %s %s%s from %s refused, %s not on list',
+ $which, $reception, $visibility, $sender, $email);
return 'not allowed';
}
- ## May set to DIGEST
- if ($mode =~ /^(digest|digestplain|summary)/ and !$list->is_digest()) {
+ # May set to DIGEST.
+ if ( $reception
+ and grep { $reception eq $_ } qw(digest digestplain summary)
+ and not $list->is_digest) {
$self->add_stash($request, 'user', 'no_digest');
- $log->syslog('info', 'SET %s DIGEST from %s refused, no digest mode',
- $which, $sender);
+ $log->syslog('info', 'SET %s %s from %s refused, no digest mode',
+ $which, $reception, $sender);
return 'not_allowed';
}
- if ($mode =~
- /^(mail|nomail|digest|digestplain|summary|notice|txt|html|urlize|not_me)/
- ) {
- # Verify that the mode is allowed
- if (!$list->is_available_reception_mode($mode)) {
- $self->add_stash(
- $request, 'user',
- 'available_reception_mode',
- { 'modes' => join(' ', $list->available_reception_mode()),
- 'reception_modes' => [$list->available_reception_mode()]
- }
- );
- $log->syslog('info',
- 'SET %s %s from %s refused, mode not available',
- $which, $mode, $sender);
- return 'not_allowed';
- }
+ # Verify that the mode is allowed.
+ if ($reception and not $list->is_available_reception_mode($reception)) {
+ $self->add_stash(
+ $request, 'user',
+ 'not_available_reception_mode',
+ { modes => join(' ', $list->available_reception_mode),
+ reception_modes => [$list->available_reception_mode],
+ reception_mode => $reception,
+ }
+ );
+ $log->syslog('info', 'SET %s %s from %s refused, mode not available',
+ $which, $reception, $sender);
+ return 'not_allowed';
+ }
- my $update_mode = $mode;
- $update_mode = '' if $update_mode eq 'mail';
+ if ($reception or $visibility) {
unless (
$list->update_list_member(
- $sender,
- reception => $update_mode,
+ $email,
+ ($reception ? (reception => $reception) : ()),
+ ($visibility ? (visibility => $visibility) : ()),
update_date => time
)
) {
my $error =
- "Failed to change subscriber '$sender' options for list $which";
+ sprintf
+ 'Failed to change subscriber "%s" options for list %s',
+ $email, $list->get_id;
Sympa::send_notify_to_listmaster(
$list,
'mail_intern_error',
@@ -1740,47 +1826,15 @@
}
);
$self->add_stash($request, 'intern');
- $log->syslog('info', 'SET %s %s from %s refused, update failed',
- $which, $mode, $sender);
+ $log->syslog('info', 'SET %s %s%s from %s refused, update failed',
+ $which, $reception, $visibility, $sender);
return 'failed';
}
-
- $self->add_stash($request, 'notice', 'config_updated');
-
- $log->syslog('info', 'SET %s %s from %s accepted (%.2f seconds)',
- $which, $mode, $sender,
- Time::HiRes::time() - $self->{start_time});
}
- if ($mode =~ /^(conceal|noconceal)/) {
- unless (
- $list->update_list_member(
- $sender,
- visibility => $mode,
- update_date => time
- )
- ) {
- my $error =
- "Failed to change subscriber '$sender' options for list $which";
- Sympa::send_notify_to_listmaster(
- $list,
- 'mail_intern_error',
- { error => $error,
- who => $sender,
- action =">" 'Command process',
- }
- );
- $self->add_stash($request, 'intern');
- $log->syslog('info', 'SET %s %s from %s refused, update failed',
- $which, $mode, $sender);
- return 'failed';
- }
-
- $self->add_stash($request, 'notice', 'config_updated');
- $log->syslog('info', 'SET %s %s from %s accepted (%.2f seconds)',
- $which, $mode, $sender,
- Time::HiRes::time() - $self->{start_time});
- }
+ $self->add_stash($request, 'notice', 'config_updated');
+ $log->syslog('info', 'SET %s from %s accepted (%.2f seconds)',
+ $which, $sender, Time::HiRes::time() - $self->{start_time});
return 1;
}
@@ -1801,8 +1855,14 @@
my $request = shift;
unless (ref $request->{context} eq 'Sympa::List') {
- $request->{error} = 'unknown_list';
- return _error($self, $request);
+ $self->add_stash($request, 'user', 'unknown_list');
+ $log->syslog(
+ 'info',
+ '%s from %s refused, unknown list for robot %s',
+ uc $request->{action},
+ $request->{sender}, $request->{context}
+ );
+ return 1;
}
my $list = $request->{context};
my $which = $list->{'name'};
@@ -1822,7 +1882,8 @@
$log->syslog('err',
'Unable to find message with key <%s> for list %s',
$key, $list);
- $self->add_stash($request, 'user', 'unfound_message', {key => $key});
+ $self->add_stash($request, 'user', 'already_moderated',
+ {key => $key});
return 'msg_not_found';
} elsif ($spindle->{finish} and $spindle->{finish} eq 'success') {
$log->syslog(
@@ -1873,7 +1934,7 @@
unless ($spindle and $spindle->spin) { # No message.
$log->syslog('info', 'CONFIRM %s from %s refused, auth failed',
$key, $sender);
- $self->add_stash($request, 'user', 'unfound_file_message',
+ $self->add_stash($request, 'user', 'already_confirmed',
{'key' => $key});
return 'wrong_auth';
} elsif ($spindle->{finish} and $spindle->{finish} eq 'success') {
@@ -1904,8 +1965,14 @@
my $request = shift;
unless (ref $request->{context} eq 'Sympa::List') {
- $request->{error} = 'unknown_list';
- return _error($self, $request);
+ $self->add_stash($request, 'user', 'unknown_list');
+ $log->syslog(
+ 'info',
+ '%s from %s refused, unknown list for robot %s',
+ uc $request->{action},
+ $request->{sender}, $request->{context}
+ );
+ return 1;
}
my $list = $request->{context};
my $which = $list->{'name'};
@@ -1924,7 +1991,8 @@
unless ($spindle and $spindle->spin) { # No message
$log->syslog('info', 'REJECT %s %s from %s refused, auth failed',
$list->{'name'}, $key, $sender);
- $self->add_stash($request, 'user', 'unfound_message', {key => $key});
+ $self->add_stash($request, 'user', 'already_moderated',
+ {key => $key});
return 'wrong_auth';
} elsif ($spindle->{finish} and $spindle->{finish} eq 'success') {
$log->syslog(
@@ -1957,8 +2025,14 @@
my $request = shift;
unless (ref $request->{context} eq 'Sympa::List') {
- $request->{error} = 'unknown_list';
- return _error($self, $request);
+ $self->add_stash($request, 'user', 'unknown_list');
+ $log->syslog(
+ 'info',
+ '%s from %s refused, unknown list for robot %s',
+ uc $request->{action},
+ $request->{sender}, $request->{context}
+ );
+ return 1;
}
my $list = $request->{context};
my $name = $list->{'name'};
Modified: branches/sympa-6.2-branch/src/lib/Sympa/Spindle/DoCommand.pm
===================================================================
--- branches/sympa-6.2-branch/src/lib/Sympa/Spindle/DoCommand.pm 2016-01-31 07:26:17 UTC (rev 12663)
+++ branches/sympa-6.2-branch/src/lib/Sympa/Spindle/DoCommand.pm 2016-02-04 03:15:16 UTC (rev 12664)
@@ -165,7 +165,7 @@
# Send the reply message.
my $reports = $spindle->{stash};
- if (grep { $_ and $_->[1] eq 'user' and $_->[2] eq 'not_understood' }
+ if (grep { $_ and $_->[1] eq 'user' and $_->[2] eq 'unknown_action' }
@{$spindle->{stash} || []}) {
$log->db_log(
'robot' => $robot,
@@ -227,6 +227,8 @@
my $that = $request->{context};
if (ref $that eq 'Sympa::List') {
$data{listname} = $that->{'name'};
+ } elsif ($request->{localpart}) {
+ $data{listname} = $request->{localpart};
}
push @reports, \%data;
--
A bug in Sympa? Quick! To the bug tracker!
| ||||||
Attachment:
smime.p7s
Description: Signature cryptographique S/MIME
- Re: [sympa-developpers] [sympa-commits] r12664 - in branches/sympa-6.2-branch: default/mail_tt2 default/web_tt2 src/cgi src/lib/Sympa src/lib/Sympa/Request src/lib/Sympa/Spindle, David Verdin, 02/04/2016
Archive powered by MHonArc 2.6.19+.
