--- rpms/smeserver-dhcpmanager/contribs10/smeserver-dhcpmanager-2.0.4-Yet-more-changes-for-SM2-panels.patch 2024/01/21 16:59:03 1.6 +++ rpms/smeserver-dhcpmanager/contribs10/smeserver-dhcpmanager-2.0.4-Yet-more-changes-for-SM2-panels.patch 2024/01/23 10:54:38 1.8 @@ -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 2024-01-21 16:53:00.000000000 +0000 ++++ smeserver-dhcpmanager-2.0.4/root/usr/share/smanager/lib/SrvMngr/Controller/Dhcpd.pm 2024-01-23 10:14:00.000000000 +0000 @@ -140,12 +140,12 @@ my $c = shift; my $title = $c->l("dhcpd_SCANNING_NETWORK_TITLE"); @@ -31,9 +31,12 @@ diff -urN smeserver-dhcpmanager-2.0.4.ol return ; } -@@ -352,17 +352,17 @@ +@@ -350,19 +350,19 @@ + # delete it + # If deletion not ok return message # else return "ok" - my $ret = delete_lease($c); +- my $ret = delete_lease($c); ++ my $ret = delete_one_lease($c); if ($ret == 'ok') { - dhcp_data{"success"}="dhcpd_SUCCESSFULLY_SAVED_SETTINGS"; + $dhcp_data{"success"}="dhcpd_SUCCESSFULLY_SAVED_SETTINGS"; @@ -68,7 +71,7 @@ diff -urN smeserver-dhcpmanager-2.0.4.ol return "ok"; } -@@ -391,6 +391,167 @@ +@@ -391,6 +391,171 @@ return @leases; } @@ -93,8 +96,10 @@ diff -urN smeserver-dhcpmanager-2.0.4.ol + ###Pull CGI object from parameters array + my $c = shift; + ++#my $fred = 1/0; ++ + ###Pull entry to delete -+ my $ip = $c->param('host'); ++ my $ip = $c->param('ip'); + my $name = $c->param('name'); + my $name_in_file = '/var/lib/dhcpd/dhcpd.leases' ; + my $name_tmp_file = '/var/lib/dhcpd/dhcpd.leases.tmp' ; @@ -185,15 +190,17 @@ diff -urN smeserver-dhcpmanager-2.0.4.ol + my ($ip) = trim(@_); + # Ping the IP to ensure it's in the ARP table + my $ping_result = `ping -c 1 -W 1 $ip`; -+ if($ping_result =~ /1 packets transmitted, 1 received/) { ++ #return $ping_result; ++ if($ping_result =~ m/1 packets transmitted, 1 received/) { + # Fetch the ARP table and find the line with the IP address -+ my $arp_result = `arp -an | grep "\($ip)"`; ++ my $mac_result = `nmap -PR -sn $ip`; ++ #return "*$arp_result *$ip*"; + # If found, return the MAC address -+ return $arp_result; -+ if ($arp_result =~ /.*at ((?:[0-9a-f]{2}\:){5}[0-9a-f]{2})/) { ++ #if ($arp_result =~ m/.*at ((?:[0-9a-f]{2}\:){5}[0-9a-f]{2})/) { ++ if ($mac_result =~ /MAC Address: (..:..:..:..:..:..) /) { + return $1; -+ } else { return "not in arp table"} -+ } else { return "no ping"} ++ } else { return "mac not in nmap result";} ++ } else { return "no ping";} + return undef; +} + @@ -223,7 +230,7 @@ diff -urN smeserver-dhcpmanager-2.0.4.ol + if (!$mac){ + $mac = get_mac_address_by_ping($ip); + } -+ if (!$mac) {$mac = "unknown";} ++# if (!$mac) {$mac = "unknown";} + my %pair = ('Network' => $1, 'ip' => $ip, 'mac' => $mac); # $1 => PC Name, $2 => IP Address + push @extracted_output, \%pair; + } @@ -236,7 +243,7 @@ diff -urN smeserver-dhcpmanager-2.0.4.ol #========================================================================= # Procedure qui charge le dhcpd.conf # retourne un tableau contenant les informations -@@ -536,4 +697,4 @@ +@@ -536,4 +701,4 @@ 1; @@ -430,7 +437,7 @@ diff -urN smeserver-dhcpmanager-2.0.4.ol +1; diff -urN smeserver-dhcpmanager-2.0.4.old/root/usr/share/smanager/themes/default/templates/partials/_dhcpd_leases.html.ep smeserver-dhcpmanager-2.0.4/root/usr/share/smanager/themes/default/templates/partials/_dhcpd_leases.html.ep --- smeserver-dhcpmanager-2.0.4.old/root/usr/share/smanager/themes/default/templates/partials/_dhcpd_leases.html.ep 2023-12-19 09:44:56.681590497 +0000 -+++ smeserver-dhcpmanager-2.0.4/root/usr/share/smanager/themes/default/templates/partials/_dhcpd_leases.html.ep 2024-01-20 11:29:00.000000000 +0000 ++++ smeserver-dhcpmanager-2.0.4/root/usr/share/smanager/themes/default/templates/partials/_dhcpd_leases.html.ep 2024-01-23 10:12:00.000000000 +0000 @@ -1,17 +1,17 @@
%= t td => (class => 'sme-border') => $ip->{ip} -@@ -66,9 +68,12 @@ +@@ -65,9 +67,7 @@ + %= t td => (class => 'sme-border') => $ip->{end} %= t td => (class => 'sme-border') => $ip->{mac} -+ %} - -@@ -110,4 +115,4 @@ +@@ -102,7 +102,7 @@ + function Remove_lease_confirm(event,msg,current){ + const getIP = /.*ip\=(.*)/; + var IP = current.href.match(getIP)[1]; +- if (prompt(msg+" IP: "+IP)) ++ if (confirm(msg+" IP: "+IP)) + { return true;} + else {event.preventDefault();return false;} + } +@@ -110,4 +110,4 @@ %end
@@ -478,21 +485,27 @@ diff -urN smeserver-dhcpmanager-2.0.4.ol % foreach my $ip (@$leases) {
-
<%=l 'dhcpd_REMOVE'%>
+-
<%=l 'dhcpd_REMOVE'%>
-
-+