From 59581e1315aa2094692d66c8fa45f1106fc8ada4 Mon Sep 17 00:00:00 2001 From: Matt Taggart <taggart@riseup.net> Date: Fri, 25 May 2018 13:09:40 -0700 Subject: [PATCH] start adding 6.2.32 patches --- 6.2.32/patches/02_disable_copy_list.patch | 15 ++++++++++ ...owner_address_set_to_special_address.patch | 29 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 6.2.32/patches/02_disable_copy_list.patch create mode 100644 6.2.32/patches/06_2685_owner_address_set_to_special_address.patch diff --git a/6.2.32/patches/02_disable_copy_list.patch b/6.2.32/patches/02_disable_copy_list.patch new file mode 100644 index 0000000..9a9c0ec --- /dev/null +++ b/6.2.32/patches/02_disable_copy_list.patch @@ -0,0 +1,15 @@ +--- a/sympa-6.2.32/src/cgi/wwsympa.fcgi.in 2018-04-18 20:59:38.530745015 -0700 ++++ b/sympa-6.2.32/src/cgi/wwsympa.fcgi.in 2018-04-22 03:45:38.697193273 -0700 +@@ -10902,8 +10902,10 @@ + + # Compat. <= 6.2.20 + sub do_copy_list { +- $in{'mode'} = 'copy'; +- goto &do_move_list; # "&" is required. ++ # mysteriously reject copy list requests - this needs a real solution ++ &report::reject_report_web('intern','Unable_to_copy_list', {'new_listname' => $in{'new_listname'}}, ++ $param->{'action'},$list,$param->{'user'}{'email'},$robot); ++ return undef; + } + + # In order to rename a list you must be list owner and you must be allowed to diff --git a/6.2.32/patches/06_2685_owner_address_set_to_special_address.patch b/6.2.32/patches/06_2685_owner_address_set_to_special_address.patch new file mode 100644 index 0000000..a9ccb9e --- /dev/null +++ b/6.2.32/patches/06_2685_owner_address_set_to_special_address.patch @@ -0,0 +1,29 @@ +--- a/sympa-6.2.32/src/cgi/wwsympa.fcgi.in 2018-04-18 20:59:38.530745015 -0700 ++++ b/sympa-6.2.32/src/cgi//wwsympa.fcgi.in 2018-04-22 03:56:15.973309951 -0700 +@@ -10457,6 +10457,26 @@ + Sympa::WWW::Report::notice_report_web('subscribers_noticed_deleted_topics', + {}, $param->{'action'}); + } ++ ## Checking that list owner address is not set to one of the special ++ ## addresses: ++ if (exists $changed{'owner'}) { ++ my $list = $param->{'list'}; ++ my @special = ("$list-owner\@$robot", ++ "$list-editor\@$robot", "$list-admin\@$robot", ++ "$list-admin\@$robot", "$list-request\@$robot", ++ "$list-bounce\@$robot", "$list-subscribe\@$robot", ++ "$list-unsubscribe\@$robot"); ++ foreach my $owner (@{$new_admin->{'owner'}}) { ++ if (grep (/^$owner->{'email'}$/, @special)) { ++ ## generate an error and return ++ &report::reject_report_web('user','incorrect_email',{'email'=>$owner->{'email'}},$param->{'action'},$list); ++ &wwslog('info','do_edit_list: Reserved email address %s', $owner->{'email'}); ++ &web_db_log({'status' => 'error', 'error_type' => 'incorrect_email'}, 'parameters' => $owner->{'email'}); ++ return undef; ++ } ++ } ++ } ++ + # For changed owner/editor + _notify_added_admin($config); + #my $owner_update = 1 -- GitLab