Add contrib/mactable
diff --git a/contrib/mactable/macscript b/contrib/mactable/macscript
new file mode 100755
index 0000000..8d807c5
--- /dev/null
+++ b/contrib/mactable/macscript
@@ -0,0 +1,30 @@
+#!/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