Compare commits
	
		
			7 Commits
		
	
	
		
			11_0_0-72_
			...
			11_0_0-78_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| fa286e966d | |||
| 9bb2128891 | |||
| accf96df0d | |||
| 1c601f0ace | |||
| cffbe53fb4 | |||
| aad1a458f4 | |||
| 252bf20410 | 
| @@ -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; | ||||
| @@ -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; | ||||
| @@ -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; | ||||
| @@ -31,7 +31,8 @@ sub main { | ||||
|     my %log_datas = (); | ||||
|     my $title     = $c->l('log_FORM_TITLE'); | ||||
|     my $notif     = ''; | ||||
|     $log_datas{default_op} = ($cdb->get('viewlogfiles')->prop('DefaultOperation')) || 'view'; | ||||
|     my $viewlog = $cdb->get('viewlogfiles'); | ||||
|     $log_datas{default_op} = ($viewlog ? $viewlog->prop('DefaultOperation') : undef) || 'view'; | ||||
|     $c->stash(title => $title, notif => $notif, log_datas => \%log_datas); | ||||
|     $c->render(template => 'viewlogfiles'); | ||||
| } ## end sub main | ||||
|   | ||||
| @@ -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; | ||||
| } | ||||
| @@ -125,7 +125,7 @@ | ||||
| } | ||||
|  | ||||
| #header2 { | ||||
|     width: 94.2%; | ||||
|     width:96%; | ||||
|     margin-left: 1px; | ||||
|     margin-top: 4px; | ||||
| } | ||||
|   | ||||
| @@ -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> | ||||
| @@ -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> | ||||
| @@ -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> | ||||
| @@ -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> | ||||
| @@ -85,7 +85,7 @@ | ||||
|             %= t td => (class => 'sme-border') => $net | ||||
|             %= t td => (class => 'sme-border') => $mask | ||||
|             %= t td => (class => 'sme-border') => $numhosts | ||||
|             <td class='sme-border'><input type='checkbox' name='Remote_nets' value='<%= $net.'/'.$mask %>'> </td> | ||||
|             <td class='sme-border'><input type='checkbox' name='Remove_nets' value='<%= $net.'/'.$mask %>'> </td> | ||||
|     	</tr> | ||||
|     %    } | ||||
|  | ||||
|   | ||||
| @@ -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 78 | ||||
| Version: %{version} | ||||
| Release: %{release}%{?dist} | ||||
| License: GPL | ||||
| @@ -143,6 +143,29 @@ true | ||||
| %defattr(-,root,root) | ||||
|  | ||||
| %changelog | ||||
| * Thu Apr 17 2025 Brian Read <brianr@koozali.org> 11.0.0-78.sme | ||||
| - typo in remoteaccess panel | ||||
| - Fix crash in veiwlogfiles if viewlogfiles key not in DB  | ||||
|  | ||||
| * 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  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user