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 --- smeserver-mailman-1.5.0.old/root/etc/e-smith/db/configuration/defaults/mailman/access 1969-12-31 19:00:00.000000000 -0500 +++ smeserver-mailman-1.5.0/root/etc/e-smith/db/configuration/defaults/mailman/access 2022-04-12 17:35:13.367000000 -0400 @@ -0,0 +1 @@ +public 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 --- smeserver-mailman-1.5.0.old/root/etc/e-smith/db/configuration/defaults/mailman/adminaccess 1969-12-31 19:00:00.000000000 -0500 +++ smeserver-mailman-1.5.0/root/etc/e-smith/db/configuration/defaults/mailman/adminaccess 2022-04-12 17:35:30.035000000 -0400 @@ -0,0 +1 @@ +private 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 --- smeserver-mailman-1.5.0.old/root/etc/e-smith/db/configuration/defaults/mailman/archivesaccess 1969-12-31 19:00:00.000000000 -0500 +++ smeserver-mailman-1.5.0/root/etc/e-smith/db/configuration/defaults/mailman/archivesaccess 2022-04-12 17:50:26.308000000 -0400 @@ -0,0 +1 @@ +private 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 --- smeserver-mailman-1.5.0.old/root/etc/e-smith/db/configuration/defaults/mailman/status 2014-06-19 19:38:55.000000000 -0400 +++ smeserver-mailman-1.5.0/root/etc/e-smith/db/configuration/defaults/mailman/status 2022-04-12 17:34:58.360000000 -0400 @@ -1 +1 @@ -disabled +enabled 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 --- 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 +++ 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 @@ -40,4 +40,18 @@ STATUS_LABEL Mailman status + + ACCESS_DESC + If selected as private only LAN will access to this element, public will give access to all Internet + + + ARCHIVES_ACCESS + Archives access + + + ADMIN_ACCESS + Administrative access + + + 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 --- 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 +++ 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 @@ -4,16 +4,50 @@ Options ExecCGI - AllowOverride None - order deny,allow - deny from all - allow from all + + AllowOverride None + order deny,allow + deny from all + allow from { (($mailman{access} || 'public' ) eq "public" ) ? "all": "$localAccess";} + + + Require { (($mailman{access} || 'public' ) eq "public" ) ? "all granted": "ip $localAccess";} + Options Indexes Includes FollowSymLinks - order deny,allow - deny from all - allow from all + + order deny,allow + deny from all + allow from { (($mailman{archivesaccess} || 'private' ) eq "public" ) ? "all": "$localAccess";} + + + Require { (($mailman{archivesaccess} || 'private' ) eq "public" ) ? "all granted": "ip $localAccess";} + + + Options Indexes Includes FollowSymLinks + + order deny,allow + deny from all + allow from { (($mailman{archivesaccess} || 'private' ) eq "public" ) ? "all": "$localAccess";} + + + Require { (($mailman{archivesaccess} || 'private' ) eq "public" ) ? "all granted": "ip $localAccess";} + + + + + + order deny,allow + deny from all + allow from { (($mailman{adminaccess} || 'private' ) eq "public" ) ? "all": "$localAccess";} + + + Require { (($mailman{adminaccess} || 'private' ) eq "public" ) ? "all granted": "ip $localAccess";} + + + + 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 --- smeserver-mailman-1.5.0.old/root/etc/e-smith/web/functions/mailman 2014-06-19 19:38:55.000000000 -0400 +++ smeserver-mailman-1.5.0/root/etc/e-smith/web/functions/mailman 2022-04-12 18:56:33.160000000 -0400 @@ -53,6 +53,30 @@ STATUS_DESC + + + ACCESS_DESC + + + + ACCESS_DESC + + + + ACCESS_DESC + 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 --- 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 +++ smeserver-mailman-1.5.0/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/mailman.pm 2022-04-12 18:56:33.395000000 -0400 @@ -65,6 +65,46 @@ return $status; } +=head2 get_access + +This method returns the current mailman access. + +=cut + +sub get_access +{ + my $self = shift; + my $access = $self->{db}->get_prop('mailman', 'access') || 'public'; + return $access; +} + +=head2 get_archivesaccess + +This method returns the current mailman archivesaccess. + +=cut + +sub get_archivesaccess +{ + my $self = shift; + my $archivesaccess = $self->{db}->get_prop('mailman', 'archivesaccess') || 'private'; + return $archivesaccess; +} + +=head2 get_adminaccess + +This method returns the current mailman adminaccess. + +=cut + +sub get_adminaccess +{ + my $self = shift; + my $adminaccess = $self->{db}->get_prop('mailman', 'adminaccess') || 'private'; + return $adminaccess; +} + + =head2 change_settings This method handles the form submission for the first page.