Commit 42b44a59 authored by Simon Kelley's avatar Simon Kelley

Add contrib/mactable

parent a810559b
#!/bin/bash
STATUS_FILE="/tmp/dnsmasq-ip-mac.status"
# Script for dnsmasq lease-change hook.
# Maintains the above file with a IP address/MAC address pairs,
# one lease per line. Works with IPv4 and IPv6 leases, file is
# atomically updated, so no races for users of the data.
action="$1"
mac="$2" # IPv4
ip="$3"
if [ -n "$DNSMASQ_IAID" ]; then
if [ -z "$DNSMASQ_MAC" -a "$action" = "old" ]; then
# MAC not known by dnsmasq, probably due to restart.
exit 0;
fi
mac="$DNSMASQ_MAC" # IPv6
fi
if [ "$action" = "add" -o "$action" = "old" -o "$action" = "del" ]; then
if [ -f "$STATUS_FILE" ]; then
sed "/^${ip//./\.} / d" "$STATUS_FILE" > "$STATUS_FILE".new
fi
if [ "$action" = "add" -o "$action" = "old" ]; then
echo "$ip $mac" >> "$STATUS_FILE".new
fi
mv "$STATUS_FILE".new "$STATUS_FILE" # atomic update.
fi
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment