Differences between version 2 and previous revision of Script:dns.sh.
Other diffs: Previous Major Revision, Previous Author
Newer page: | version 2 | Last edited on Wednesday, 28 April 2010 10:22:07 | by CyberLeo | Revert |
Older page: | version 1 | Last edited on Wednesday, 28 April 2010 10:14:16 | by CyberLeo | Revert |
@@ -1,74 +1 @@
-<code brush="bash">
-#!/bin/sh
-
-dnsmasq_dbus() {
- method="${1}"
- shift
- dbus-send --system --dest=uk.org.thekelleys.dnsmasq /uk/org/thekelleys/dnsmasq uk.org.thekelleys.${method} "${@}"
-}
-
-dnsmasq_clear() {
- dnsmasq_dbus ClearCache
-}
-
-dnsmasq_started() {
- #signal sender=
:1
.2507 -> dest=(null destination) path=/uk/org/thekelleys/dnsmasq; interface=uk.org.thekelleys.dnsmasq; member=Up
- false
-}
-
-inet_atoi() {
- OFS=${IFS}
- IFS=.
- set -- ${1}
- num="0x$(printf "%02x" $1 $2 $3 $4)"
- unset IFS
- [ "${OFS}"
] && IFS="${OIFS}"
- printf "%u" "${num}"
-}
-
-server_up() {
- ping -c1 -w1 "${1}" > /dev/null 2>&1 || return 1
- return 0
-}
-
-config() {
- cat <<EOF
-####
-#server/server:zone/zone
-8
.8.8.8/8.8.4.4:
-172.16.44.1:cyberleo.net
-10.11.12.13:cashnetusa.com/quickquid.co.uk/applyadvanceamerica.com/dollarsdirect.com.au/dollarsdirect.ca/casham.com
-EOF
-}
-
-dnsmasq_config() {
- sed -e 's/#.*$//; /^[ ]*$/d' | while read line
- do
- servers="${line%%:*}"
- zones="${line##*:}"
- [ "${zones}" ] && zones="$(echo "/${zones}" | sed -e 's#/# string:#g')"
-
- servers="$(
- OIFS="${IFS}"
- IFS="/"
- for server in ${servers}
- do
- server_up "${server}" || continue
- printf " uint32:%u" "$(inet_atoi "${server}")"
- [ "${zones}" ] && printf "%s" "${zones}"
- done
- unset IFS
- [ "${OIFS}" ] && IFS="${OIFS}"
- )"
-
- printf "%s" "${servers}"
- done
-}
-
-dnsmasq_set() {
- dnsmasq_dbus SetServers $(config | dnsmasq_config)
- dnsmasq_clear
-}
-
-dnsmasq_set
-</code>
+Describe [Script
:dns
.sh
] here
.