Commit e5c50def authored by IKEDA Soji's avatar IKEDA Soji
Browse files

Merge branch 'sympa-6.2' into issue-858_trial-3

Conflicts:
	src/sbin/sympa.pl.in
parents dbb1beb4 db8702f4
......@@ -64,6 +64,7 @@ Makefile
/sympa-*/
/sympa-*.tar.gz.md5
/sympa-*.tar.gz.sha256
/sympa-*.tar.gz.sha512
# perltidy
......
......@@ -7,12 +7,13 @@
- . ~/bashrc
- coverage-install
- coverage-setup
- cpanm --quiet --notest --installdeps . --with-develop
- cpanm --quiet --notest --installdeps --with-develop --with-feature=Data::Password --with-feature=ldap --with-feature=safe-unicode --with-feature=smime --with-feature=soap --with-feature=sqlite .
- cpanm --notest --quiet Unicode::CaseFold
- autoreconf -i
- ./configure
- cd src; make; cd ..
- make check-local TEST_FILES='xt/perltidy.t' || true
- make check-local TEST_FILES='t/compile_executables.t t/compile_modules.t t/Language.t t/parse_templates.t t/pod-syntax.t'
- make check-local
- coverage-report
- make clean
......@@ -38,3 +39,5 @@
<<: *job
"5.28":
<<: *job
"5.30":
<<: *job
......@@ -3,6 +3,7 @@ sudo: false
language: perl
perl:
- "5.30"
- "5.28"
- "5.26"
- "5.24"
......@@ -27,13 +28,8 @@ before_install:
install:
- cpan-install --coverage
- cpanm --notest --quiet Test::Pod
- cpanm --notest --quiet Archive::Zip CGI Class::Singleton DBI DateTime::Format::Mail DateTime::TimeZone Digest::MD5 Encode File::Copy::Recursive File::NFSLock File::Path HTML::FormatText HTML::StripScripts::Parser HTML::TreeBuilder IO::File IO::Scalar LWP::UserAgent List::Util::XS Locale::Messages MIME::Base64 MIME::Charset MIME::EncWords MIME::Lite::HTML MIME::Tools Mail::Address Net::CIDR Sys::Syslog Template Term::ProgressBar Text::LineFold Time::HiRes URI::Escape XML::LibXML
- cpanm --notest --verbose MHonArc::UTF8 || true
- cpanm --notest --quiet CGI::Fast FCGI
- cpanm --installdeps --notest --with-develop --with-feature=Data::Password --with-feature=ldap --with-feature=safe-unicode --with-feature=smime --with-feature=soap --with-feature=sqlite .
- cpanm --notest --quiet Unicode::CaseFold
- cpanm --notest --quiet SOAP::Lite Net::LDAP
- cpanm --installdeps . --with-develop
before_script:
- coverage-setup
......@@ -43,7 +39,7 @@ script:
- ./configure
- cd src; make; cd ..
- make check-local TEST_FILES='xt/perltidy.t' || true
- make check-local TEST_FILES='t/compile_executables.t t/compile_modules.t t/Language.t t/parse_templates.t t/pod-syntax.t'
- make check-local
after_success:
- coverage-report
......
......@@ -27,22 +27,30 @@ SUBDIRS = src default doc po www
check_SCRIPTS = \
t/01_Conf.t \
t/02_Sympa_DatabaseManager.t \
t/Config_XML.t \
t/DatabaseManager.t \
t/Database_LDAP.t \
t/Language.t \
t/LockedFile.t \
t/Message_smime.t \
t/Message_urlize.t \
t/Regexps.t \
t/compile_modules.t \
t/compile_executables.t \
t/Database_LDAP.t \
t/parse_templates.t \
t/pod-syntax.t \
t/tools_data.t \
t/tools_file.t \
t/Tools_Data.t \
t/Tools_File.t \
t/Tools_Password.t \
t/Tools_SMIME.t \
t/Tools_Text.t \
t/tools_time.t
t/Tools_Time.t \
t/compile_executables.t \
t/compile_modules.t \
t/compile_scenarios.t \
t/parse_templates.t \
t/pod-syntax.t
check_DATA = \
t/data/list_data/test/config \
t/data/sympa.conf \
t/data/sympa.sqlite \
t/data/etc/auth.conf \
t/locale/cs/LC_MESSAGES/sympa.mo \
t/locale/cs/LC_MESSAGES/web_help.mo \
t/locale/zh_TW/LC_MESSAGES/sympa.mo \
......@@ -53,10 +61,17 @@ check_DATA = \
t/pki/key/ca.pem \
t/pki/key/rousse_nopassword.pem \
t/pki/key/rousse_password.pem \
t/samples/urlize-deep-nested-mixed.eml \
t/samples/urlize-encoding.eml \
t/samples/urlize-nested-alternative-and-related.eml \
t/samples/urlize-nested-alternative.eml \
t/samples/urlize-nested-mixed.eml \
t/samples/urlize-nested-mutiple-attachments.eml \
t/samples/urlize-simple-mutiple-attachments.eml \
t/samples/urlize-simple.eml \
t/samples/signed.eml \
t/samples/unsigned.eml \
t/stub/Sympa/Constants.pm \
t/data/sympa.conf \
t/data/sympa.sqlite \
t/data/etc/auth.conf \
xt/perlcriticrc
noinst_SCRIPTS = \
xt/critic.t \
......@@ -211,6 +226,7 @@ dist-hook:
distcheck-hook:
-md5sum $(DIST_ARCHIVES) > $(DIST_ARCHIVES).md5
-sha256sum $(DIST_ARCHIVES) > $(DIST_ARCHIVES).sha256
-openssl sha512 $(DIST_ARCHIVES) > $(DIST_ARCHIVES).sha512
tidyall:
tidyall --conf-file doc/dot.tidyallrc --root-dir . -r src t xt
......
# Change Log
## [6.2.54](https://github.com/sympa-community/sympa/tree/6.2.54) (2020-02-24)
[Full Changelog](https://github.com/sympa-community/sympa/compare/6.2.52...6.2.54)
**Changes** (since 6.2.52) **:**
- Format of `family_signoff` link has been changed [\#854](https://github.com/sympa-community/sympa/pull/854). See [the documentation](https://sympa-community.github.io/manual/customize/basics-families.html#family-unsubscription) for details.
**Implemented enhancements:**
- Prevent welcome emails on import with `--quiet`. [\#851](https://github.com/sympa-community/sympa/pull/851) ([racke](https://github.com/racke))
**Fixed bugs:**
- \[SA 2020-001\] Security flaws in CSRF prevension [\#886](https://github.com/sympa-community/sympa/issues/886)
- Death of the wwsympa process bug [\#876](https://github.com/sympa-community/sympa/issues/876)
- Spurious errors for PGP/MIME multipart/signed messages [\#867](https://github.com/sympa-community/sympa/issues/867)
- WWSympa: review: Unable to sort by "Sources" column in subscriber list [\#866](https://github.com/sympa-community/sympa/issues/866)
- Bugs in scenario processing [\#849](https://github.com/sympa-community/sympa/issues/849) [\#846](https://github.com/sympa-community/sympa/issues/846) [\#845](https://github.com/sympa-community/sympa/issues/845) [\#844](https://github.com/sympa-community/sympa/issues/844) [\#841](https://github.com/sympa-community/sympa/issues/841)
- Data source: File: gecos was ignored [\#873](https://github.com/sympa-community/sympa/pull/873) ([ikedas](https://github.com/ikedas))
- Urlize mode bug fixes [\#840](https://github.com/sympa-community/sympa/pull/840) ([dverdin](https://github.com/dverdin)) [\#871](https://github.com/sympa-community/sympa/pull/871) ([ikedas](https://github.com/ikedas))
**Merged pull requests:**
- Update test suite [\#874](https://github.com/sympa-community/sympa/pull/874) ([ikedas](https://github.com/ikedas))
- Deprecate one-time ticket (work in progress) [\#853](https://github.com/sympa-community/sympa/pull/853) [\#854](https://github.com/sympa-community/sympa/pull/854) ([ikedas](https://github.com/ikedas))
- Deprecate `filesystem_encoding` parameter [\#829](https://github.com/sympa-community/sympa/pull/829) [\#838](https://github.com/sympa-community/sympa/pull/838) ([ikedas](https://github.com/ikedas))
## [6.2.52](https://github.com/sympa-community/sympa/tree/6.2.52) (2019-12-27)
[Full Changelog](https://github.com/sympa-community/sympa/compare/6.2.50...6.2.52)
**Fixed bugs:**
- Scenario : error-performing-condition [\#831](https://github.com/sympa-community/sympa/issues/831)
## [6.2.50](https://github.com/sympa-community/sympa/tree/6.2.50) (2019-12-22)
[Full Changelog](https://github.com/sympa-community/sympa/compare/6.2.49b.3...6.2.50)
**Changes** (since 6.2.48) **:**
- Some scenarios and list creation templates for "intranet" use cases were made optional: They have been moved into `samples/` [\#119](https://github.com/sympa-community/sympa/issues/119). See also "[upgrading notes](https://sympa-community.github.io/manual/upgrade/notes.html#from-version-prior-to-6250)" for details.
**Merged pull requests:**
- Rearrange .travis.yml [\#828](https://github.com/sympa-community/sympa/pull/828) ([ikedas](https://github.com/ikedas))
## [6.2.49b.3](https://github.com/sympa-community/sympa/tree/6.2.49b.3) (2019-12-15)
[Full Changelog](https://github.com/sympa-community/sympa/compare/6.2.49b.2...6.2.49b.3)
**Fixed bugs:**
- `sympa.conf-dist` comments format is not supported by `Conf::_load_config_file_to_hash()` [\#822](https://github.com/sympa-community/sympa/issues/822)
- `sympa_msg.pl`: Rejection reports are suppressed [\#820](https://github.com/sympa-community/sympa/issues/820)
## [6.2.49b.2](https://github.com/sympa-community/sympa/tree/6.2.49b.2) (2019-12-03)
[Full Changelog](https://github.com/sympa-community/sympa/compare/6.2.49b.1...6.2.49b.2)
**Fixed bugs:**
- Bugs injected by previous release [\#815](https://github.com/sympa-community/sympa/issues/815), [\#813](https://github.com/sympa-community/sympa/issues/813)
**Merged pull requests:**
- Updating dependency Test::Pod [\#811](https://github.com/sympa-community/sympa/pull/811) ([ikedas](https://github.com/ikedas))
- Demote Sympa::List debug messages when invoking constructor and load method [\#810](https://github.com/sympa-community/sympa/pull/810) ([racke](https://github.com/racke))
## [6.2.49b.1](https://github.com/sympa-community/sympa/tree/6.2.49b.1) (2019-11-23)
[Full Changelog](https://github.com/sympa-community/sympa/compare/6.2.48...6.2.49b.1)
**Changes:**
- Some scenarios and list creation templates for "intranet" use cases were made optional: They have been moved into `samples/` [\#119](https://github.com/sympa-community/sympa/issues/119).
**Implemented enhancements:**
- Message distribution: Unexpected number of sessions regarding nrcpt and avg values [\#604](https://github.com/sympa-community/sympa/issues/604)
- Message plugin: Prevent Sympa daemon crash due to a broken plugin module. [\#807](https://github.com/sympa-community/sympa/pull/807) ([racke](https://github.com/racke))
- `sympa.pl`: Add option to notify lists’ owners when opening lists from command line [\#790](https://github.com/sympa-community/sympa/pull/790) ([ldidry](https://github.com/ldidry))
- Scenario: Enhancements on scenarios [\#782](https://github.com/sympa-community/sympa/pull/782) ([ikedas](https://github.com/ikedas))
**Fixed bugs:**
- Missing `dkim` authentication method in several scenario files [\#775](https://github.com/sympa-community/sympa/pull/775), [\#803](https://github.com/sympa-community/sympa/issues/803)
- No "Date:" header field in messages posted directly from the sympa web site [\#791](https://github.com/sympa-community/sympa/issues/791)
- Data source: LDAP / LDAP 2 level datasource not returning results [\#785](https://github.com/sympa-community/sympa/issues/785)
- LDAP auth crash / task\_manager.pl crash due to lack of IPv6 support [\#784](https://github.com/sympa-community/sympa/issues/784)
- DMARC settings seemingly not working as described in documentation [\#783](https://github.com/sympa-community/sympa/issues/783)
- Archive directories of any lists may be created even if archive is unavailable, or Sympa may crash [\#736](https://github.com/sympa-community/sympa/issues/736)
- Prevent warning caused by empty description in XML list definition file. [\#802](https://github.com/sympa-community/sympa/pull/802) ([racke](https://github.com/racke))
**Merged pull requests:**
- Various improvements to --sync-include output [\#787](https://github.com/sympa-community/sympa/pull/787) ([racke](https://github.com/racke))
- Test: Supports recent version of Test::Compile [\#772](https://github.com/sympa-community/sympa/pull/772) ([ikedas](https://github.com/ikedas))
- Refactor family [\#771](https://github.com/sympa-community/sympa/pull/771) ([ikedas](https://github.com/ikedas))
- Update gettext support bundled in the source distribution [\#757](https://github.com/sympa-community/sympa/pull/757) ([ikedas](https://github.com/ikedas))
## [6.2.48](https://github.com/sympa-community/sympa/tree/6.2.48) (2019-09-29)
[Full Changelog](https://github.com/sympa-community/sympa/compare/6.2.45b.3...6.2.48)
......
......@@ -25,10 +25,11 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
AC_PREREQ(2.60)
AC_INIT(sympa, 6.2.48, sympa-developpers@listes.renater.fr)
AC_INIT(sympa, 6.2.54, sympa-developpers@listes.renater.fr)
AM_INIT_AUTOMAKE([foreign -Wall -Werror 1.9 tar-pax])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AM_PO_SUBDIRS
GETTEXT_MACRO_VERSION=0.19
AC_PREFIX_DEFAULT(/home/sympa)
......
......@@ -179,9 +179,11 @@ recommends 'Net::SMTP';
# Normalizes file names represented by Unicode
# Note: Perl 5.8.1 bundles version 0.23.
# Note: Perl 5.10.1 bundles this version (per Unicode 5.1.0).
# Note: Perl 5.10.1 bundles 1.03 (per Unicode 5.1.0).
recommends 'Unicode::Normalize', '>= 1.03';
recommends 'Unicode::UTF8', '>= 0.58';
### Features
##
......@@ -266,6 +268,13 @@ feature 'Net::DNS', 'This is required if you set a value for "dmarc_protection_m
requires 'Net::DNS', '>= 0.65';
};
feature 'ipv6', 'Required to support IPv6 with client features.' => sub {
requires 'Socket6', '>= 0.23';
# Note: Some distributions e.g. RHEL/CentOS 6 do not provide package for
# IO::Socket::IP. If that is the case, use IO::Socket::INET6 instead.
requires 'IO::Socket::IP', '>= 0.21';
};
feature 'ldap', 'Required to query LDAP directories. Sympa can do LDAP-based authentication ; it can also build mailing lists with LDAP-extracted members.' => sub {
# openldap-devel is needed to build the Perl code
requires 'Net::LDAP', '>= 0.40';
......@@ -289,17 +298,18 @@ feature 'soap', 'Required if you want to run the Sympa SOAP server that provides
requires 'SOAP::Lite', '>= 0.712';
};
feature 'Unicode::Normalize', 'Normalizes file names represented by Unicode.' => sub {
feature 'safe-unicode', 'Sanitises inputs with Unicode text.' => sub {
# Note: Perl 5.8.1 bundles version 0.23.
# Note: Perl 5.10.1 bundles this version (per Unicode 5.1.0).
# Note: Perl 5.10.1 bundles 1.03 (per Unicode 5.1.0).
requires 'Unicode::Normalize', '>= 1.03';
requires 'Unicode::UTF8', '>= 0.58';
};
on 'test' => sub {
requires 'Test::Compile';
requires 'Test::Harness';
requires 'Test::More';
requires 'Test::Pod';
requires 'Test::Pod', '>= 1.41';
};
on 'develop' => sub {
......
......@@ -45,8 +45,6 @@ nobase_default_DATA = \
create_list_templates/hotline/config.tt2 \
create_list_templates/html-news-letter/comment.tt2 \
create_list_templates/html-news-letter/config.tt2 \
create_list_templates/intranet_list/comment.tt2 \
create_list_templates/intranet_list/config.tt2 \
create_list_templates/news-letter/comment.tt2 \
create_list_templates/news-letter/config.tt2 \
create_list_templates/private_working_group/comment.tt2 \
......@@ -64,7 +62,6 @@ nobase_default_DATA = \
scenari/archive_mail_access.private \
scenari/archive_mail_access.public \
scenari/archive_web_access.closed \
scenari/archive_web_access.intranet \
scenari/archive_web_access.listmaster \
scenari/archive_web_access.owner \
scenari/archive_web_access.private \
......@@ -72,7 +69,6 @@ nobase_default_DATA = \
scenari/automatic_list_creation.listmaster \
scenari/automatic_list_creation.public \
scenari/automatic_list_creation.family_owner \
scenari/create_list.intranet \
scenari/create_list.listmaster \
scenari/create_list.public_listmaster \
scenari/d_edit.editor \
......@@ -90,6 +86,8 @@ nobase_default_DATA = \
scenari/d_read.private \
scenari/d_read.private-https \
scenari/d_read.public \
scenari/family_signoff.auth \
scenari/family_signoff.closed \
scenari/global_remind.listmaster \
scenari/info.open \
scenari/info.private \
......@@ -106,7 +104,6 @@ nobase_default_DATA = \
scenari/remind.owner \
scenari/remind.ownerdkim \
scenari/review.closed \
scenari/review.intranet \
scenari/review.listmaster \
scenari/review.owner \
scenari/review.private \
......@@ -117,8 +114,6 @@ nobase_default_DATA = \
scenari/send.editorkey \
scenari/send.editorkeyonly \
scenari/send.editorkeyonlyauth \
scenari/send.intranet \
scenari/send.intranetorprivate \
scenari/send.newsletter \
scenari/send.newsletterkeyonly \
scenari/send.ownerauth \
......@@ -144,8 +139,6 @@ nobase_default_DATA = \
scenari/subscribe.auth_owner \
scenari/subscribe.auth_ownerdkim \
scenari/subscribe.closed \
scenari/subscribe.intranet \
scenari/subscribe.intranetorowner \
scenari/subscribe.open \
scenari/subscribe.open_notify \
scenari/subscribe.open_quiet \
......@@ -166,7 +159,6 @@ nobase_default_DATA = \
scenari/unsubscribe.open_notify \
scenari/unsubscribe.owner \
scenari/visibility.conceal \
scenari/visibility.intranet \
scenari/visibility.noconceal \
scenari/visibility.secret \
tasks/eval_bouncers.daily.task \
......@@ -226,8 +218,6 @@ nobase_default_DATA = \
web_tt2/editsubscriber.tt2 \
web_tt2/edit_template.tt2 \
web_tt2/error.tt2 \
web_tt2/family_signoff.tt2 \
web_tt2/family_signoff_request.tt2 \
web_tt2/footer.tt2 \
web_tt2/get_closed_lists.tt2 \
web_tt2/get_inactive_lists.tt2 \
......
......@@ -10,7 +10,7 @@ Subject: [%"List \"%1@%2\" creation request from %3"|loc(list.name,domain,email)
[% 'info' | url_abs([list.name]) %]
[%|loc%]To activate/delete this mailing list:[%END%]
[% 'ticket' | url_abs([one_time_ticket]) %]
[% 'get_pending_lists' | url_abs %]
[%- ELSIF type == 'list_created' -%]
[% PROCESS 'list_created.tt2' -%]
......@@ -30,7 +30,7 @@ Subject: [%"List \"%1\" renaming"|loc(list.name)|qencode%]
[% END %]
[%|loc%]To activate/delete this mailing list:[%END%]
[% 'ticket' | url_abs([one_time_ticket]) %]
[% 'get_pending_lists' | url_abs %]
[% ELSIF type == 'no_db' -%]
Subject: [%"No database"|loc|qencode%]
......@@ -315,6 +315,13 @@ Subject: [%"Failed to parse web template"|loc|qencode%]
[%|loc(param0)%]Error: %1[%END%]
[%|loc%]Check the Sympa log files for more information.[%END%]
[% ELSIF type == 'error_performing_condition' -%]
Subject: [%"Failed to perform scenario condition"|loc|qencode%]
[%|loc%]Sympa failed to perform scenario condition for the following reason: [%END%]
[%|loc(error)%]Error: %1[%END%]
[%|loc%]Check the Sympa log files for more information.[%END%]
[%# INTERNAL SERVER ERROR : MAIL -%]
[% ELSIF type == 'mail_intern_error' -%]
Subject: [%"Listmaster: internal server error"|loc|qencode%]
......
......@@ -32,7 +32,7 @@ Subject: [%"FYI: %1 List \"%2\" from %3 %4"|loc(type,list.name,who,gecos)|qencod
[%|loc(who,gecos,list.name)%]WARNING: %1 %2 failed to unsubscribe from %3 because their address was not found in the list.
You may help this person looking for similar email in subscriber list using the following link :[%END%]
[% 'ticket' | url_abs([one_time_ticket]) %]
[% 'search' | url_abs([list.name,who]) %]
[% ELSIF type == 'erase_customizing' -%]
Subject: [%"List \"%1\" customizations have been removed"|loc(list.name)|qencode%]
......
......@@ -15,7 +15,7 @@ Content-Disposition: inline
[% IF method == 'md5' -%]
[%|loc(mod_spool_size)%]%1 messages are awaiting moderation.[%END%]
[%|loc%]To view the messages, please click on the following URL:[%END%] <[% 'ticket' | url_abs([one_time_ticket]) %]>
[%|loc%]To view the messages, please click on the following URL:[%END%] <[% 'modindex' | url_abs([list.name]) %]>
[% IF request_topic -%][%|loc()%]This mailing list is configured to require topics; that's probably why this message went through the moderation process.[%END%]
......
[%# request_auth.tt2 ~%]
To: [% to %]
[% IF conf.wwsympa_url && type == 'signoff' -%]
[% IF conf.wwsympa_url && type == 'family_signoff' -%]
Subject: [%"%1 / unsubscribing from family %2"|loc(conf.title,family.name)|qencode%]
[%- ELSIF conf.wwsympa_url && type == 'signoff' -%]
Subject: [%"%1 / unsubscribing from %2"|loc(conf.title,list.name)|qencode%]
[%- ELSIF conf.wwsympa_url && type == 'subscribe' -%]
Subject: [%"%1 / subscribing to %2"|loc(conf.title,list.name)|qencode%]
......@@ -8,7 +10,10 @@ Subject: [%"%1 / subscribing to %2"|loc(conf.title,list.name)|qencode%]
Subject: [%"AUTH ${keyauth} ${cmd}"|qencode%]
[%- END %]
[% IF type == 'signoff' -%]
[% IF type == 'family_signoff' -%]
[%|loc(family.name)-%]You requested that your e-mail address be removed from family '%1'.[%- END -%]
[%- ELSIF type == 'signoff' -%]
[%|loc(list.name)-%]You requested that your e-mail address be removed from list '%1'.[%- END -%]
[%- ELSIF type == 'subscribe' -%]
......
......@@ -36,17 +36,6 @@ Subject: [%"Management of list %1"|loc(list.name)|qencode%]
[%|loc%]Owner and moderator guide:[%END%] [% 'help' | url_abs(['admin.html']) %]
[% END -%]
[% ELSIF type == 'ticket_to_family_signoff' -%]
Subject: [%"Unsubscribing from family %1"|loc(family)|qencode%]
[% IF context == 'family_signoff'%]
[%|loc(family,ip)%]Somebody (probably you) requested to unsubscribe you from family %1. This query was issued from the IP address %2.
To confirm and be removed from all the lists of this family, please click the link below: [%END%]
[% ELSE %]
[%|loc(family)%]You have requested to be removed from family %1. To confirm and be removed from all the lists of this family, please click the link below: [%END%]
[% END %]
[% 'ticket' | url_abs([one_time_ticket]) %]
[% ELSIF type == 'hundred_percent_error' -%]
Subject: [%"No valid recipient in list %1"|loc(list.name)|qencode%]
......
title.gettext restricted to listmaster
is_listmaster([sender]) md5,smime -> do_it
true() smtp,md5,smime -> reject(reason='create_list_listmaster')
true() smtp,dkim,md5,smime -> reject(reason='create_list_listmaster')
title.gettext anybody by validation by listmaster required
is_listmaster([sender]) md5,smime -> do_it
true() smtp,md5,smime -> listmaster,notify
true() smtp,dkim,md5,smime -> listmaster,notify
......@@ -3,5 +3,5 @@ title.gettext by owner without authentication
is_owner([listname],[sender]) smtp,dkim,md5,smime -> do_it
is_listmaster([sender]) smtp,dkim -> request_auth
is_listmaster([sender]) md5,smime -> do_it
true() smtp,md5,smime -> reject(reason='del_owner')
true() smtp,dkim,md5,smime -> reject(reason='del_owner')
# family_signoff.auth
title.gettext need authentication
!equal([sender],[email]) smtp,dkim,md5,smime -> request_auth([email])
true() smtp,dkim -> request_auth([email])
true() md5,smime -> do_it
# family_signoff.closed
title.gettext impossible
true() smtp,dkim,md5,smime -> reject(reason='unsub_closed')
title.gettext restricted to subscribers - Silent rejection otherwise.
is_subscriber([listname],[sender]) smtp,md5,smime -> do_it
is_listmaster([sender]) smtp,md5,smime -> do_it
is_owner([listname],[sender]) smtp,md5,smime -> do_it
is_editor([listname],[sender]) smtp,md5,smime -> do_it
true() smtp,md5,smime -> reject
is_subscriber([listname],[sender]) smtp,dkim,md5,smime -> do_it
is_listmaster([sender]) smtp,dkim,md5,smime -> do_it
is_owner([listname],[sender]) smtp,dkim,md5,smime -> do_it
is_editor([listname],[sender]) smtp,dkim,md5,smime -> do_it
true() smtp,dkim,md5,smime -> reject
title.gettext for anyone
true() smtp,md5,smime -> do_it
true() smtp,dkim,md5,smime -> do_it
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment