--- rpms/smeserver-dhcpmanager/contribs10/smeserver-dhcpmanager-2.0.4-Yet-more-changes-for-SM2-panels.patch 2023/12/30 15:47:19 1.1 +++ rpms/smeserver-dhcpmanager/contribs10/smeserver-dhcpmanager-2.0.4-Yet-more-changes-for-SM2-panels.patch 2023/12/31 14:45:40 1.2 @@ -1,6 +1,6 @@ diff -urN smeserver-dhcpmanager-2.0.4.old/root/usr/share/smanager/lib/SrvMngr/Controller/Dhcpd.pm smeserver-dhcpmanager-2.0.4/root/usr/share/smanager/lib/SrvMngr/Controller/Dhcpd.pm --- smeserver-dhcpmanager-2.0.4.old/root/usr/share/smanager/lib/SrvMngr/Controller/Dhcpd.pm 2023-12-19 09:44:56.678590486 +0000 -+++ smeserver-dhcpmanager-2.0.4/root/usr/share/smanager/lib/SrvMngr/Controller/Dhcpd.pm 2023-12-30 15:31:00.000000000 +0000 ++++ smeserver-dhcpmanager-2.0.4/root/usr/share/smanager/lib/SrvMngr/Controller/Dhcpd.pm 2023-12-31 13:44:00.000000000 +0000 @@ -117,22 +117,41 @@ $c->render( template => 'dhcpd' ); } @@ -45,13 +45,13 @@ diff -urN smeserver-dhcpmanager-2.0.4.ol + + my $cidr = $network . "/" . $bitcount; + return $cidr; -+} -+ + } + +sub dec2bin { + my $str = unpack("B32", pack("N", shift)); + return $str; - } - ++} ++ + sub do_scan { # @@ -73,7 +73,39 @@ diff -urN smeserver-dhcpmanager-2.0.4.ol $c->render( template => 'dhcpd' ); } -@@ -361,8 +381,30 @@ +@@ -314,7 +334,6 @@ + } + } + +- + # - 4 expand templates + # changed to new sme standard signal-event + system ("/sbin/e-smith/signal-event","workgroup-update") == 0 +@@ -332,10 +351,10 @@ + my $c = shift; + my $ret = delete_all_leases($c); + if ($ret == 'ok') { +- dhcp_data{"success"}="dhcpd_SUCCESSFULLY_SAVED_SETTINGS"; ++ $dhcp_data{"success"}="dhcpd_SUCCESSFULLY_REMOVED_ALL_LEASES"; + do_leases($c); + } +- else {dhcp_data{"error"}=$ret;} ++ else {$dhcp_data{"error"}=$ret;} + return ; + } + +@@ -352,17 +371,39 @@ + # else return "ok" + my $ret = delete_lease($c); + if ($ret == 'ok') { +- dhcp_data{"success"}="dhcpd_SUCCESSFULLY_SAVED_SETTINGS"; ++ $dhcp_data{"success"}="dhcpd_SUCCESSFULLY_DELETED_THE_CLIENT"; + do_leases($c); + } +- else {dhcp_data{"error"}=$ret;} ++ else {$dhcp_data{"error"}=$ret;} + return ; + } sub get_scan_results { my $c = shift; @@ -106,7 +138,55 @@ diff -urN smeserver-dhcpmanager-2.0.4.ol } -@@ -498,13 +540,6 @@ +@@ -374,13 +415,45 @@ + + sub delete_one_lease { + my $c = shift; +- # ...do it ++ ++ ###Pull entry to delete ++ my $ip = $c->param('host'); ++ my $name = $c->param('name'); ++ my $name_in_file = '/var/lib/dhcpd/dhcpd.leases' ; ++ my $name_tmp_file = '/var/lib/dhcpd/dhcpd.leases.tmp' ; ++ my $name_out_file = '/var/lib/dhcpd/dhcpd.leases~' ; ++ my $del_current = "0" ; ++ ++ open(INFILE,"<$name_in_file") || die "Read Error $name_in_file, Read: $!"; ++ open(OUTFILE,">$name_tmp_file") || die "Write error $name_in_file, Write: $!"; ++ while () { ++ if ( "$_" =~ /lease $ip/ ) { ++ $del_current = "1" ; ++ } ++ if ( $del_current == "0" ) { print OUTFILE "$_" ; } ++ if ( "$_" =~ /}/ ) { ++ $del_current = "0" ; ++ } ++ } ++ rename ($name_tmp_file,$name_in_file) ; ++ system ("/bin/cp","-f","$name_in_file","$name_out_file") ; ++ close(INFILE); ++ close(OUTFILE); ++ ++ # changed to new sme standard signal-event ++ system ("/sbin/e-smith/signal-event","workgroup-update") == 0 ++ or die "Error while saving settings: $!"; + return "ok"; + } + + sub delete_all_leases { + my $c = shift; +- # ...do it ++ system ('/bin/echo "" > /var/lib/dhcpd/dhcpd.leases') ==0 ++ or die "Error while removing all leases: $!"; ++ ++ system ("/sbin/e-smith/signal-event","workgroup-update") == 0 ++ or die "Error while saving settings: $!"; ++ + return "ok"; + } + +@@ -498,13 +571,6 @@ return @results; } @@ -120,7 +200,7 @@ diff -urN smeserver-dhcpmanager-2.0.4.ol sub do_wol{ my $c = shift; my $retVal = Perform_Wake_Up($c); -@@ -536,4 +571,4 @@ +@@ -536,4 +602,4 @@ 1; @@ -242,8 +322,8 @@ diff -urN smeserver-dhcpmanager-2.0.4.ol +1; diff -urN smeserver-dhcpmanager-2.0.4.old/root/usr/share/smanager/themes/default/templates/dhcpd.html.ep smeserver-dhcpmanager-2.0.4/root/usr/share/smanager/themes/default/templates/dhcpd.html.ep --- smeserver-dhcpmanager-2.0.4.old/root/usr/share/smanager/themes/default/templates/dhcpd.html.ep 2023-12-19 09:44:56.680590493 +0000 -+++ smeserver-dhcpmanager-2.0.4/root/usr/share/smanager/themes/default/templates/dhcpd.html.ep 2023-12-30 10:10:00.000000000 +0000 -@@ -49,10 +49,8 @@ ++++ smeserver-dhcpmanager-2.0.4/root/usr/share/smanager/themes/default/templates/dhcpd.html.ep 2023-12-31 13:55:00.000000000 +0000 +@@ -49,23 +49,30 @@ % if ($dhcp_data->{trt} eq 'LEASES') { %= include 'partials/_dhcpd_leases' @@ -255,12 +335,25 @@ diff -urN smeserver-dhcpmanager-2.0.4.ol %} else { #PARAMS % my $ip_regex = '^((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$'; + ++ %= button_to $c->l('dhcpd_REFRESH') => '/dhcpd1', onclick=>"showLeaseSpinner()", id=>"scanLeases" ++ + @@ -26,7 +26,7 @@ %= submit_button "$btn", class => 'action' % end @@ -297,7 +421,7 @@ diff -urN smeserver-dhcpmanager-2.0.4.ol
<%=l 'dhcpd_REMOVE'%>
- -+ ++
-@@ -63,9 +61,12 @@ +- %= button_to $c->l('dhcpd_CONNECTED_IP') => '/dhcpd1', onclick=>"showSpinner()", id=>"scanLeases" +- ++ - %= button_to $c->l('dhcpd_SCAN_YOUR_NETWORK') => '/dhcpd3' +- %= button_to $c->l('dhcpd_SCAN_YOUR_NETWORK') => '/dhcpd3' - - %= button_to $c->l('dhcpd_GLOBAL_WINPOPUP') => '/dhcpd2' ++ %= button_to $c->l('dhcpd_SCAN_YOUR_NETWORK') => '/dhcpd3', onclick=>"showNetworkSpinner()", id=>"scanNetwork" ++ ++ + +