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