Compare commits

..

5 Commits

Author SHA1 Message Date
accf96df0d * Sat Apr 12 2025 Brian Read <brianr@koozali.org> 11.0.0-77.sme
- Sort out local and pulic access setting in remote panel  [SME: 12988]
- caching problem, plus confusion between normal and public setting in sshd / access in DB
2025-04-12 09:08:12 +01:00
1c601f0ace * Fri Apr 11 2025 Brian Read <brianr@koozali.org> 11.0.0-76.sme
- Restore css for roundcube embedded  [SME: 12987]
2025-04-11 07:09:03 +01:00
cffbe53fb4 * Wed Apr 09 2025 Brian Read <brianr@koozali.org> 11.0.0-75.sme
- Move review configuration to behind login [SME: 12984]
- Fix crash in port forwarding [SME: 12985]
2025-04-09 10:43:14 +01:00
aad1a458f4 * Wed Mar 26 2025 Brian Read <brianr@koozali.org> 11.0.0-74.sme
- Fix error message and success message format in Local Networking panel [SME: 12969]
2025-03-26 08:58:32 +00:00
252bf20410 * Tue Mar 25 2025 Brian Read <brianr@koozali.org> 11.0.0-73.sme
- Some changes to error message format in css.
- Fix DB Cache problem with port forwarding panel [SME: 12970]
- Fix error and success message display for port forwarding panel [SME: 12969]
2025-03-25 15:05:34 +00:00
10 changed files with 80 additions and 38 deletions

View File

@@ -142,6 +142,10 @@ sub do_display {
if ($trt eq 'LIST') {
#List all the port forwards
# Open them again as maybe written to above
$tcp_db = esmith::ConfigDB->open('portforward_tcp') || die "Can't open portforward_tcp database: $!\n";
$udp_db = esmith::ConfigDB->open('portforward_udp') || die "Can't open portforward_udp database: $!\n";
my @tcpforwards = $tcp_db->get_all;
my @udpforwards = $udp_db->get_all;
my $empty = 1 if not @tcpforwards and not @udpforwards;
@@ -211,6 +215,7 @@ sub add_portforward {
sub get_destination_host {
my $q = shift;
$cdb = esmith::ConfigDB->open || die "Can't open configuration database: $!\n";
my $dhost = $q->param("dhost");
my $localip = $cdb->get_prop('InternalInterface', 'IPAddress');
my $external_ip = $cdb->get_prop('ExternalInterface', 'IPAddress') || $localip;
@@ -357,6 +362,7 @@ sub isValidPort() {
sub validate_destination_host {
my $c = shift;
$cdb = esmith::ConfigDB->open || die "Can't open configuration database: $!\n";
my $dhost = $c->param('dhost');
$dhost =~ s/^\s+|\s+$//g;
my $localip = $cdb->get_prop('InternalInterface', 'IPAddress');
@@ -395,4 +401,4 @@ sub validate_allowed_hosts {
} ## end foreach (split(/[\s,]+/, $ahost...))
return %valid_ahost_list;
} ## end sub validate_allowed_hosts
1;
1;

View File

@@ -30,7 +30,7 @@ our @EXPORT = qw( networkAccess_list passwordLogin_list get_ssh_permit_root_logi
);
# get_pptp_sessions
our $db = esmith::ConfigDB->open || warn "Couldn't open configuration database";
my $db; # = esmith::ConfigDB->open || warn "Couldn't open configuration database";
sub main {
my $c = shift;
@@ -134,7 +134,7 @@ sub networkAccess_list {
return [
[ $c->l('rma_NO_ACCESS') => 'off' ],
[ $c->l('NETWORKS_ALLOW_LOCAL') => 'private' ],
[ $c->l('NETWORKS_ALLOW_PUBLIC') => 'normal' ]
[ $c->l('NETWORKS_ALLOW_PUBLIC') => 'public' ]
];
} ## end sub networkAccess_list
@@ -144,6 +144,7 @@ sub passwordLogin_list {
}
sub get_prop {
$db = esmith::ConfigDB->open || warn "Couldn't open configuration database";
my ($c, $item, $prop) = @_;
warn "You must specify a record key" unless $item;
warn "You must specify a property name" unless $prop;
@@ -154,6 +155,8 @@ sub get_prop {
sub get_value {
my $c = shift;
my $item = shift;
$db = esmith::ConfigDB->open || warn "Couldn't open configuration database";
$db = esmith::ConfigDB->open || warn "Couldn't open configuration database";
return ($db->get($item)->value());
} ## end sub get_value
@@ -179,8 +182,8 @@ sub get_ssh_password_auth {
}
sub get_ssh_access {
my $status = get_prop('', 'sshd', 'status');
my $c = shift;
my $status = $c->get_prop('sshd', 'status');
if (defined($status) && ($status eq 'enabled')) {
my $access = get_prop('', 'sshd', 'access');
$access = ($access eq 'public') ? 'public' : 'private';
@@ -202,6 +205,7 @@ sub get_ftp_password_login_access {
} ## end sub get_ftp_password_login_access
sub get_telnet_mode {
$db = esmith::ConfigDB->open || warn "Couldn't open configuration database";
my $telnet = $db->get('telnet');
return ('off') unless $telnet;
my $status = $telnet->prop('status') || 'disabled';
@@ -211,8 +215,8 @@ sub get_telnet_mode {
} ## end sub get_telnet_mode
sub get_ipsecrw_sessions {
$db = esmith::ConfigDB->open || warn "Couldn't open configuration database";
my $status = $db->get('ipsec')->prop('RoadWarriorStatus');
if (defined($status) && ($status eq 'enabled')) {
return ($db->get('ipsec')->prop('RoadWarriorSessions') || '0');
} else {
@@ -221,6 +225,7 @@ sub get_ipsecrw_sessions {
} ## end sub get_ipsecrw_sessions
sub get_ipsecrw_status {
$db = esmith::ConfigDB->open || warn "Couldn't open configuration database";
return undef unless ($db->get('ipsec'));
return $db->get('ipsec')->prop('RoadWarriorStatus');
}
@@ -228,6 +233,7 @@ sub get_ipsecrw_status {
sub pptp_and_dhcp_range {
my $c = shift;
my $val = shift || 0;
$db = esmith::ConfigDB->open || warn "Couldn't open configuration database";
my $dhcp_status = $db->get_prop('dhcpd', 'status') || 'disabled';
my $dhcp_end = $db->get_prop('dhcpd', 'end') || '';
my $dhcp_start = $db->get_prop('dhcpd', 'start') || '';
@@ -245,6 +251,7 @@ sub pptp_and_dhcp_range {
sub _get_valid_from {
my $c = shift;
$db = esmith::ConfigDB->open || warn "Couldn't open configuration database";
my $rec = $db->get('httpd-admin');
return undef unless ($rec);
my @vals = (split ',', ($rec->prop('ValidFrom') || ''));
@@ -287,12 +294,12 @@ sub validate_network_and_mask {
sub change_settings {
my ($c, %rma_datas) = @_;
$db = esmith::ConfigDB->open || warn "Couldn't open configuration database";
#------------------------------------------------------------
# good; go ahead and change the access.
#------------------------------------------------------------
$db = esmith::ConfigDB->open || warn "Couldn't open configuration database";
my $rec = $db->get('telnet');
if ($rec) {
if ($rma_datas{telnetAccess} eq "off") {
$rec->set_prop('status', 'disabled');
@@ -363,7 +370,7 @@ sub change_settings {
sub set_ipsecrw_sessions {
my $c = shift;
my $sessions = shift;
$db = esmith::ConfigDB->open || warn "Couldn't open configuration database";
if (defined $sessions) {
$db->get('ipsec')->set_prop('RoadWarriorSessions', $sessions);
@@ -378,6 +385,7 @@ sub add_new_valid_from {
my $c = shift;
my $net = shift;
my $mask = shift;
$db = esmith::ConfigDB->open || warn "Couldn't open configuration database";
# we transform bit mask to regular mask
$mask = get_reg_mask($net, $mask);
@@ -400,6 +408,7 @@ sub remove_valid_from {
my $c = shift;
my $remove_nets = shift;
my @remove = split /,/, $remove_nets;
$db = esmith::ConfigDB->open || warn "Couldn't open configuration database";
# my @remove = $c->param('Remove_nets');
my @vals = $c->_get_valid_from();
@@ -430,4 +439,4 @@ sub remove_valid_from {
$db->get('httpd-admin')->set_prop('ValidFrom', $prop);
return 1;
} ## end sub remove_valid_from
1;
1;

View File

@@ -1,16 +1,11 @@
package SrvMngr::Controller::Review;
#----------------------------------------------------------------------
# heading : Support
# heading : Investigation
# description : Review configuration
# navigation : 000 500
# menu : N
# navigation : 6000 6800
# routes : end
#----------------------------------------------------------------------
# heading-o : Configuration
# description-o : Review configuration
# navigation-o : 6000 6800
#----------------------------------------------------------------------
use strict;
use warnings;
use Mojo::Base 'Mojolicious::Controller';
@@ -313,4 +308,4 @@ sub get_public_ip_address
}
1;
1;

View File

@@ -201,11 +201,13 @@ body.menu {
div.error, div.sme-error, span.error, span.sme-error {
color: red;
background-color: #fff;
background-color: #f9f9f9;
border-width: 1px;
border-style: solid;
border-color: red;
padding: 2px;
padding: 10px;
border-radius: 10px;
}
form {
@@ -493,5 +495,11 @@ div.success, span.success {
border-width: 1px;
border-style: solid;
border-color: #006400 ;
padding: 8px;
padding: 10px;
border-radius: 10px;
}
div.roundcube #roundcube{
width:100%;
height:600px;
}

View File

@@ -125,7 +125,7 @@
}
#header2 {
width: 94.2%;
width:96%;
margin-left: 1px;
margin-top: 4px;
}

View File

@@ -13,17 +13,18 @@
% my $var5 = @vars[4];
% my $var6 = @vars[5];
<br>
%if ($ret{'ret'} eq "") {
%} elsif (index($ret{ret},"SUCCESS") != -1) {
<div class='success'>
<h2> Operation Status Report</h2>
%= $c->l($ret{ret},$var1,$var2,$var3,$var4,$var5,$var6);
<!--<h2> Operation Status Report</h2>-->
%= $c->render_to_string(inline => l($ret{ret},$var1,$var2,$var3,$var4,$var5,$var6));
</div>
%} else {
<div class='sme-error'>
<h2> Operation Status Report - Error</h2>
%= $c->l($ret{ret},$var1,$var2,$var3,$var4,$var5,$var6);
<!--<h2> Operation Status Report - Error</h2>-->
%= $c->render_to_string(inline => l($ret{ret},$var1,$var2,$var3,$var4,$var5,$var6));
</div>
%}
<br />
@@ -66,5 +67,4 @@
</p>
%end
</div>
</div>

View File

@@ -26,13 +26,15 @@
%if ($ret{ret} eq "") {
%=l "ln_FIRSTPAGE_DESC"
%} elsif (index($ret{ret},"SUCCESS") != -1) {
<br>
<div class='success'>
<h2> Operation Status Report</h2>
<!--<h2> Operation Status Report</h2>-->
%= $c->render_to_string(inline => l($ret{ret},$var1,$var2,$var3,$var4,$var5,$var6,$var7));
</div>
%} else {
<br>
<div class='sme-error'>
<h2> Operation Status Report - Error</h2>
<!--<h2> Operation Status Report - Error</h2>-->
%= $c->render_to_string(inline => l($ret{ret},$var1,$var2,$var3,$var4,$var5,$var6,$var7));
</div>
%}
@@ -103,4 +105,4 @@
</table>
%= hidden_field 'trt' => $ln_datas->{trt}
%}
</div>
</div>

View File

@@ -13,16 +13,17 @@
% my $var5 = @vars[4];
% my $var6 = @vars[5];
<br>
%if ($ret{'ret'} eq "") {
%} elsif (index($ret{ret},"SUCCESS") != -1) {
<div class='success'>
<h2> Operation Status Report</h2>
<!--<h2> Operation Status Report</h2>-->
%= $c->l($ret{ret},$var1,$var2,$var3,$var4,$var5,$var6);
</div>
%} else {
<div class='sme-error'>
<h2> Operation Status Report - Error</h2>
<!--<h2> Operation Status Report - Error</h2>-->
%= $c->l($ret{ret},$var1,$var2,$var3,$var4,$var5,$var6);
</div>
%}
@@ -84,4 +85,4 @@
%end
</div>
</div>

View File

@@ -21,13 +21,15 @@
%if ($ret{ret} eq "") {
%= $c->render_to_string(inline => l('pf_FIRST_PAGE_DESCRIPTION'));
%} elsif (index($ret{ret},"SUCCESS") != -1) {
<br>
<div class='success'>
<h2> Operation Status Report</h2>
<!--<h2> Operation Status Report</h2>-->
%= $c->l($ret{ret},$var1,$var2,$var3,$var4,$var5,$var6);
</div>
%} else {
<br>
<div class='sme-error'>
<h2> Operation Status Report - Error</h2>
<!--<h2> Operation Status Report - Error</h2>-->
%= $c->l($ret{ret},$var1,$var2,$var3,$var4,$var5,$var6);
</div>
%}
@@ -113,4 +115,4 @@
</table>
%= hidden_field 'trt' => $pf_datas->{trt}
</div>
</div>

View File

@@ -2,7 +2,7 @@ Summary: Sme server navigation module : manager 2
%define name smeserver-manager
Name: %{name}
%define version 11.0.0
%define release 72
%define release 77
Version: %{version}
Release: %{release}%{?dist}
License: GPL
@@ -143,6 +143,25 @@ true
%defattr(-,root,root)
%changelog
* Sat Apr 12 2025 Brian Read <brianr@koozali.org> 11.0.0-77.sme
- Sort out local and pulic access setting in remote panel [SME: 12988]
- caching problem, plus confusion between normal and public setting in sshd / access in DB
* Fri Apr 11 2025 Brian Read <brianr@koozali.org> 11.0.0-76.sme
- Restore css for roundcube embedded [SME: 12987]
* Wed Apr 09 2025 Brian Read <brianr@koozali.org> 11.0.0-75.sme
- Move review configuration to behind login [SME: 12984]
- Fix crash in port forwarding [SME: 12985]
* Wed Mar 26 2025 Brian Read <brianr@koozali.org> 11.0.0-74.sme
- Fix error message and success message format in Local Networking panel [SME: 12969]
* Tue Mar 25 2025 Brian Read <brianr@koozali.org> 11.0.0-73.sme
- Some changes to error message format in css.
- Fix DB Cache problem with port forwarding panel [SME: 12970]
- Fix error and success message display for port forwarding panel [SME: 12969]
* Mon Mar 24 2025 Brian Read <brianr@koozali.org> 11.0.0-72.sme
- Remove css files from template structure [SME: 12967]
- Rationalise and merge css files