1 |
diff -Nur --no-dereference smeserver-mailman-1.5.0.old/root/etc/e-smith/db/configuration/defaults/mailman/access smeserver-mailman-1.5.0/root/etc/e-smith/db/configuration/defaults/mailman/access |
2 |
--- smeserver-mailman-1.5.0.old/root/etc/e-smith/db/configuration/defaults/mailman/access 1969-12-31 19:00:00.000000000 -0500 |
3 |
+++ smeserver-mailman-1.5.0/root/etc/e-smith/db/configuration/defaults/mailman/access 2022-04-12 17:35:13.367000000 -0400 |
4 |
@@ -0,0 +1 @@ |
5 |
+public |
6 |
diff -Nur --no-dereference smeserver-mailman-1.5.0.old/root/etc/e-smith/db/configuration/defaults/mailman/adminaccess smeserver-mailman-1.5.0/root/etc/e-smith/db/configuration/defaults/mailman/adminaccess |
7 |
--- smeserver-mailman-1.5.0.old/root/etc/e-smith/db/configuration/defaults/mailman/adminaccess 1969-12-31 19:00:00.000000000 -0500 |
8 |
+++ smeserver-mailman-1.5.0/root/etc/e-smith/db/configuration/defaults/mailman/adminaccess 2022-04-12 17:35:30.035000000 -0400 |
9 |
@@ -0,0 +1 @@ |
10 |
+private |
11 |
diff -Nur --no-dereference smeserver-mailman-1.5.0.old/root/etc/e-smith/db/configuration/defaults/mailman/archivesaccess smeserver-mailman-1.5.0/root/etc/e-smith/db/configuration/defaults/mailman/archivesaccess |
12 |
--- smeserver-mailman-1.5.0.old/root/etc/e-smith/db/configuration/defaults/mailman/archivesaccess 1969-12-31 19:00:00.000000000 -0500 |
13 |
+++ smeserver-mailman-1.5.0/root/etc/e-smith/db/configuration/defaults/mailman/archivesaccess 2022-04-12 17:50:26.308000000 -0400 |
14 |
@@ -0,0 +1 @@ |
15 |
+private |
16 |
diff -Nur --no-dereference smeserver-mailman-1.5.0.old/root/etc/e-smith/db/configuration/defaults/mailman/status smeserver-mailman-1.5.0/root/etc/e-smith/db/configuration/defaults/mailman/status |
17 |
--- smeserver-mailman-1.5.0.old/root/etc/e-smith/db/configuration/defaults/mailman/status 2014-06-19 19:38:55.000000000 -0400 |
18 |
+++ smeserver-mailman-1.5.0/root/etc/e-smith/db/configuration/defaults/mailman/status 2022-04-12 17:34:58.360000000 -0400 |
19 |
@@ -1 +1 @@ |
20 |
-disabled |
21 |
+enabled |
22 |
diff -Nur --no-dereference smeserver-mailman-1.5.0.old/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/mailman smeserver-mailman-1.5.0/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/mailman |
23 |
--- smeserver-mailman-1.5.0.old/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/mailman 2014-06-19 19:38:55.000000000 -0400 |
24 |
+++ smeserver-mailman-1.5.0/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/mailman 2022-04-12 18:56:33.646000000 -0400 |
25 |
@@ -40,4 +40,18 @@ |
26 |
<base>STATUS_LABEL</base> |
27 |
<trans>Mailman status</trans> |
28 |
</entry> |
29 |
+ <entry> |
30 |
+ <base>ACCESS_DESC</base> |
31 |
+ <trans>If selected as private only LAN will access to this element, public will give access to all Internet</trans> |
32 |
+ </entry> |
33 |
+ <entry> |
34 |
+ <base>ARCHIVES_ACCESS</base> |
35 |
+ <trans>Archives access</trans> |
36 |
+ </entry> |
37 |
+ <entry> |
38 |
+ <base>ADMIN_ACCESS</base> |
39 |
+ <trans>Administrative access</trans> |
40 |
+ </entry> |
41 |
+ |
42 |
+ |
43 |
</lexicon> |
44 |
diff -Nur --no-dereference smeserver-mailman-1.5.0.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess90mailman smeserver-mailman-1.5.0/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess90mailman |
45 |
--- smeserver-mailman-1.5.0.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess90mailman 2014-06-19 19:38:55.000000000 -0400 |
46 |
+++ smeserver-mailman-1.5.0/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess90mailman 2022-04-12 18:56:32.942000000 -0400 |
47 |
@@ -4,16 +4,50 @@ |
48 |
|
49 |
<Directory /usr/lib/mailman/cgi-bin> |
50 |
Options ExecCGI |
51 |
- AllowOverride None |
52 |
- order deny,allow |
53 |
- deny from all |
54 |
- allow from all |
55 |
+ <IfModule mod_access_compat.c> |
56 |
+ AllowOverride None |
57 |
+ order deny,allow |
58 |
+ deny from all |
59 |
+ allow from { (($mailman{access} || 'public' ) eq "public" ) ? "all": "$localAccess";} |
60 |
+ </IfModule> |
61 |
+ <IfModule !mod_access_compat.c> |
62 |
+ Require { (($mailman{access} || 'public' ) eq "public" ) ? "all granted": "ip $localAccess";} |
63 |
+ </IfModule> |
64 |
</Directory> |
65 |
|
66 |
<Directory /var/lib/mailman/archives/public> |
67 |
Options Indexes Includes FollowSymLinks |
68 |
- order deny,allow |
69 |
- deny from all |
70 |
- allow from all |
71 |
+ <IfModule mod_access_compat.c> |
72 |
+ order deny,allow |
73 |
+ deny from all |
74 |
+ allow from { (($mailman{archivesaccess} || 'private' ) eq "public" ) ? "all": "$localAccess";} |
75 |
+ </IfModule> |
76 |
+ <IfModule !mod_access_compat.c> |
77 |
+ Require { (($mailman{archivesaccess} || 'private' ) eq "public" ) ? "all granted": "ip $localAccess";} |
78 |
+ </IfModule> |
79 |
</Directory> |
80 |
|
81 |
+<Directory /var/lib/mailman/archives/private> |
82 |
+ Options Indexes Includes FollowSymLinks |
83 |
+ <IfModule mod_access_compat.c> |
84 |
+ order deny,allow |
85 |
+ deny from all |
86 |
+ allow from { (($mailman{archivesaccess} || 'private' ) eq "public" ) ? "all": "$localAccess";} |
87 |
+ </IfModule> |
88 |
+ <IfModule !mod_access_compat.c> |
89 |
+ Require { (($mailman{archivesaccess} || 'private' ) eq "public" ) ? "all granted": "ip $localAccess";} |
90 |
+ </IfModule> |
91 |
+</Directory> |
92 |
+ |
93 |
+<LocationMatch ^/mailman/(admin|admindb|rmlist|create|private)> |
94 |
+ <IfModule mod_access_compat.c> |
95 |
+ order deny,allow |
96 |
+ deny from all |
97 |
+ allow from { (($mailman{adminaccess} || 'private' ) eq "public" ) ? "all": "$localAccess";} |
98 |
+ </IfModule> |
99 |
+ <IfModule !mod_access_compat.c> |
100 |
+ Require { (($mailman{adminaccess} || 'private' ) eq "public" ) ? "all granted": "ip $localAccess";} |
101 |
+ </IfModule> |
102 |
+</LocationMatch> |
103 |
+ |
104 |
+ |
105 |
diff -Nur --no-dereference smeserver-mailman-1.5.0.old/root/etc/e-smith/web/functions/mailman smeserver-mailman-1.5.0/root/etc/e-smith/web/functions/mailman |
106 |
--- smeserver-mailman-1.5.0.old/root/etc/e-smith/web/functions/mailman 2014-06-19 19:38:55.000000000 -0400 |
107 |
+++ smeserver-mailman-1.5.0/root/etc/e-smith/web/functions/mailman 2022-04-12 18:56:33.160000000 -0400 |
108 |
@@ -53,6 +53,30 @@ |
109 |
<label>STATUS_LABEL</label> |
110 |
<description>STATUS_DESC</description> |
111 |
</field> |
112 |
+ <field |
113 |
+ type="select" |
114 |
+ id="access" |
115 |
+ options="'public' => 'PUBLIC', 'private' => 'PRIVATE'" |
116 |
+ value="get_access()"> |
117 |
+ <label>ACCESS</label> |
118 |
+ <description>ACCESS_DESC</description> |
119 |
+ </field> |
120 |
+ <field |
121 |
+ type="select" |
122 |
+ id="archivesaccess" |
123 |
+ options="'public' => 'PUBLIC', 'private' => 'PRIVATE'" |
124 |
+ value="get_archivesaccess()"> |
125 |
+ <label>ARCHIVES_ACCESS</label> |
126 |
+ <description>ACCESS_DESC</description> |
127 |
+ </field> |
128 |
+ <field |
129 |
+ type="select" |
130 |
+ id="adminaccess" |
131 |
+ options="'public' => 'PUBLIC', 'private' => 'PRIVATE'" |
132 |
+ value="get_adminaccess()"> |
133 |
+ <label>ADMIN_ACCESS</label> |
134 |
+ <description>ACCESS_DESC</description> |
135 |
+ </field> |
136 |
|
137 |
<subroutine src="print_button('SAVE')" /> |
138 |
|
139 |
diff -Nur --no-dereference smeserver-mailman-1.5.0.old/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/mailman.pm smeserver-mailman-1.5.0/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/mailman.pm |
140 |
--- smeserver-mailman-1.5.0.old/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/mailman.pm 2014-06-19 19:38:55.000000000 -0400 |
141 |
+++ smeserver-mailman-1.5.0/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/mailman.pm 2022-04-12 18:56:33.395000000 -0400 |
142 |
@@ -65,6 +65,46 @@ |
143 |
return $status; |
144 |
} |
145 |
|
146 |
+=head2 get_access |
147 |
+ |
148 |
+This method returns the current mailman access. |
149 |
+ |
150 |
+=cut |
151 |
+ |
152 |
+sub get_access |
153 |
+{ |
154 |
+ my $self = shift; |
155 |
+ my $access = $self->{db}->get_prop('mailman', 'access') || 'public'; |
156 |
+ return $access; |
157 |
+} |
158 |
+ |
159 |
+=head2 get_archivesaccess |
160 |
+ |
161 |
+This method returns the current mailman archivesaccess. |
162 |
+ |
163 |
+=cut |
164 |
+ |
165 |
+sub get_archivesaccess |
166 |
+{ |
167 |
+ my $self = shift; |
168 |
+ my $archivesaccess = $self->{db}->get_prop('mailman', 'archivesaccess') || 'private'; |
169 |
+ return $archivesaccess; |
170 |
+} |
171 |
+ |
172 |
+=head2 get_adminaccess |
173 |
+ |
174 |
+This method returns the current mailman adminaccess. |
175 |
+ |
176 |
+=cut |
177 |
+ |
178 |
+sub get_adminaccess |
179 |
+{ |
180 |
+ my $self = shift; |
181 |
+ my $adminaccess = $self->{db}->get_prop('mailman', 'adminaccess') || 'private'; |
182 |
+ return $adminaccess; |
183 |
+} |
184 |
+ |
185 |
+ |
186 |
=head2 change_settings |
187 |
|
188 |
This method handles the form submission for the first page. |