diff -Nur e-smith-email-5.4.0-old/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/emailsettings e-smith-email-5.4.0/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/emailsettings --- e-smith-email-5.4.0-old/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/emailsettings 2013-11-26 19:01:14.391228451 +0100 +++ e-smith-email-5.4.0/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/emailsettings 2013-12-09 21:22:30.060593986 +0100 @@ -174,6 +174,10 @@ Allow HTTPS (secure) + ONLY_LOCAL_NETWORK_SSL + Allow HTTPS (secure) from local networks + + INSECURE_POP3 Allow both POP3 and POP3S diff -Nur e-smith-email-5.4.0-old/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/emailsettings.pm e-smith-email-5.4.0/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/emailsettings.pm --- e-smith-email-5.4.0-old/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/emailsettings.pm 2013-11-26 19:01:14.406227386 +0100 +++ e-smith-email-5.4.0/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/emailsettings.pm 2013-12-09 21:46:09.807126763 +0100 @@ -345,9 +345,20 @@ $db->set_prop('mysqld',"status", "enabled" ); $db->set_prop('imp',"status", 'enabled' ); $db->set_prop('horde',"status", 'enabled' ); + $db->set_prop('horde',"httpsaccess", 'public' ); $db->set_prop('imp',"access", "SSL" ); $db->set_prop('horde',"access", "SSL" ); } + + elsif ( $webmail eq "localnetworkSSL" ) { + $db->set_prop('php',"status", "enabled" ); + $db->set_prop('mysqld',"status", "enabled" ); + $db->set_prop('imp',"status", 'enabled' ); + $db->set_prop('horde',"status", 'enabled' ); + $db->set_prop('horde',"httpsaccess", 'private' ); + $db->set_prop('imp',"access", "SSL" ); + $db->set_prop('horde',"access", "SSL" ); + } else { $db->set_prop('imp',"status", 'disabled' ); $db->set_prop('horde',"status", 'disabled' ); @@ -544,7 +555,7 @@ =head2 get_current_webmail_status -returns "disabled", "enabled" or "enabledSSL", depending on whether +returns "disabled", "localnetworkSSL" or "enabledSSL", depending on whether the various components of the webmail subsystem are currently enabled =cut @@ -565,14 +576,25 @@ my $PHPStatus = $db->get_prop('php', 'status') || 'disabled'; + my $Networkaccess = $db->get_prop('horde','httpsaccess') || 'disabled'; + # all four components must be on for webmail to be working if ( ( $IMPStatus eq "enabled" ) && ( $HordeStatus eq "enabled" ) && ( $MysqlStatus eq "enabled" ) - && ( $PHPStatus eq "enabled" ) ) + && ( $PHPStatus eq "enabled" ) + && ( $Networkaccess eq "public" ) ) { $WebmailStatus = ( $SSLonly eq "SSL" ) ? "enabledSSL" : "enabled"; } + elsif ( ( $IMPStatus eq "enabled" ) + && ( $HordeStatus eq "enabled" ) + && ( $MysqlStatus eq "enabled" ) + && ( $PHPStatus eq "enabled" ) + && ( $Networkaccess eq "private" ) ) + { + $WebmailStatus = ( $SSLonly eq "SSL" ) ? "localnetworkSSL" : "enabled"; + } my $options = get_webmail_options(); @@ -737,7 +759,8 @@ sub get_webmail_options { my %options = ( disabled => 'DISABLED', - enabledSSL => 'ENABLED_SECURE_ONLY' ); + enabledSSL => 'ENABLED_SECURE_ONLY', + localnetworkSSL => 'ONLY_LOCAL_NETWORK_SSL' ); my $access = $db->get_prop('imp', 'access') || 'SSL';