diff options
author | P. J. McDermott <pj@pehjota.net> | 2014-08-06 10:42:01 (EDT) |
---|---|---|
committer | P. J. McDermott <pj@pehjota.net> | 2014-08-06 10:42:01 (EDT) |
commit | 96a68750a1ba9791291a94db2f73d1c3b3ffdf20 (patch) | |
tree | d65925bb2b17ee2764ff2736ac2930a1c4d764a3 /src.etc/network/functions | |
parent | 565110e81cafa811f2e354360ace081d7784c5f8 (diff) |
Add networking hooks for udhcpd
Diffstat (limited to 'src.etc/network/functions')
-rw-r--r-- | src.etc/network/functions | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src.etc/network/functions b/src.etc/network/functions new file mode 100644 index 0000000..b74fb91 --- /dev/null +++ b/src.etc/network/functions @@ -0,0 +1,41 @@ +#!/bin/sh + +case "${0}" in + /etc/network/if-*.d/*) ;; + *) exit 1;; +esac +if [ "x${IFACE}" = 'x' ]; then + exit 1 +fi + +get_iface_opts() +{ + local opts_start_cb="${1}" + local opt_cb="${2}" + local opts_end_cb="${3}" + local script= + local opts= + local opt= + + script="$(printf ' + /^iface[ \\t][ \\t]*%s/,/^[^ \\t]/{ + /^$/q; + s/^[ \\t][ \\t]*//p; + } + ' "${IFACE}")" + + opts="$(sed -n "${script}" /var/run/net-ifaces)" + if [ "x${opts}" = 'x' ]; then + return 0 + fi + + ${opts_start_cb} + while read -r opt; do + ${opt_cb} ${opt} + done <<-EOF + ${opts} + EOF + ${opts_end_cb} + + return 0 +} |