change version
[debian6500.git] / master / etc / init.d / wakeonlan
index a91473a494360f5abf312d4225d414b6fe39a298..32151e9b5ef957aa43a6dc87e003d0ec06ce5404 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh
-VER=1.3
+VER=1.5
 # ============================================================================
 #
 # Copyright (C) THALES. All rights reserved
@@ -13,11 +13,13 @@ VER=1.3
 #   et de broadcast
 # - V1.4: Laurent Mazet 09/05/2014
 #   Daemonisation
+# - V1.5: Laurent Mazet & Thomas Perennou 03/12/2014
+#   Legers correctifs
 # ============================================================================
 
 ### BEGIN INIT INFO
 # Provides:          wakeonlan
-# Required-Start:    $network
+# Required-Start:    $network waitswitches
 # Required-Stop:
 # Should-Start:
 # Default-Start:     S
@@ -39,12 +41,11 @@ do_start () {
 
     log_action_msg "Activate Wake On Lan"
 
-    mac=$(awk '{ sub(/#.*/, "") } /trc[0-9]/ && ! /-rf/ { gsub(/;/, " "); print $6}' $DHCPCONF)
-    broadcast=$(ip add show dev eth1 |awk '$1=="inet" {sub(/\/.*/, ""); sub(/\.[0-9]*$/, ".255", $2); print $2; exit}')
-
-    for m in $mac; do
-        log_action_msg "Wake-up $broadcast ($m)"
-        wakeonlan -p 7 -i $broadcast $m
+    for mac in $(awk '{sub(/#.*/, "")} /host\s+trc[0-9]/ { gsub(/[;{}]/, " "); print $5}' $DHCPCONF); do
+       broadcast=$(awk '{sub(/#.*/, "")} /'$mac'/ {print}' $DHCPCONF | sed 's/.* \([0-9.]*\)\..*/\1.255/')
+        host=$(awk '{sub(/#.*/, "")} /'$mac'/ {gsub(/[{}]/, " "); print $2}' $DHCPCONF)
+        log_action_msg "Wake-up $host (WOL $mac $broadcast)"
+        wakeonlan -p 7 -i $broadcast $mac
     done
 }