On Sep 27, 2013, at 6:51 AM, Simon Kelley wrote: > > There's one change which needs to be made to the script. When dnsmasq is > restarted, it won't know the MAC addresses for DHCPv6 (because they're not in > the leasefile). So at start-up it will execute "old" script runs on each > lease without the DNSMASQ_MAC environment variable set. The script needs to > detect when called with "old" and no DNSMASQ_MAC and not delete the relevant > line from its file.
Hi Simon, Does this do what you want ? ============================= #!/bin/bash action="$1" mac="$2" # IPv4 ip="$3" STATUS_FILE="/tmp/dnsmasq-ip-mac.status" if [ -n "$DNSMASQ_IAID" ]; then mac="$DNSMASQ_MAC" # IPv6 fi if [ "$action" = "add" -o "$action" = "old" -o "$action" = "del" ]; then if [ -n "$ip" ]; then if [ -n "$mac" -o "$action" = "del" ]; then if [ -f "$STATUS_FILE" ]; then sed -i "/^${ip//./\.} / d" "$STATUS_FILE" fi if [ "$action" = "add" -o "$action" = "old" ]; then echo "$ip $mac" >> "$STATUS_FILE" fi fi fi fi ============================= Lonnie _______________________________________________ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss