Author: glen                         Date: Tue Nov 27 22:07:38 2007 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- copied from debian

---- Files affected:
SOURCES:
   openvpn-update-resolv-conf (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/openvpn-update-resolv-conf
diff -u /dev/null SOURCES/openvpn-update-resolv-conf:1.1
--- /dev/null   Tue Nov 27 23:07:38 2007
+++ SOURCES/openvpn-update-resolv-conf  Tue Nov 27 23:07:33 2007
@@ -0,0 +1,54 @@
+#!/bin/bash
+# 
+# Parses DHCP options from openvpn to update resolv.conf
+# To use set as 'up' and 'down' script in your openvpn *.conf:
+# up /etc/openvpn/update-resolv-conf
+# down /etc/openvpn/update-resolv-conf
+#
+# Used snippets of resolvconf script by Thomas Hood <[EMAIL PROTECTED]> 
+# and Chris Hanson
+# Licensed under the GNU GPL.  See /usr/share/common-licenses/GPL. 
+#
+# 05/2006 [EMAIL PROTECTED]
+# 
+# Example envs set from openvpn:
+# foreign_option_1='dhcp-option DNS 193.43.27.132'
+# foreign_option_2='dhcp-option DNS 193.43.27.133'
+# foreign_option_3='dhcp-option DOMAIN be.bnc.ch'
+
+[ -x /sbin/resolvconf ] || exit 0
+
+case $script_type in
+
+up)
+       for optionname in ${!foreign_option_*} ; do
+               option="${!optionname}"
+               echo $option
+               part1=$(echo "$option" | cut -d " " -f 1)
+               if [ "$part1" == "dhcp-option" ] ; then
+                       part2=$(echo "$option" | cut -d " " -f 2)
+                       part3=$(echo "$option" | cut -d " " -f 3)
+                       if [ "$part2" == "DNS" ] ; then
+                               IF_DNS_NAMESERVERS="$IF_DNS_NAMESERVERS $part3"
+                       fi
+                       if [ "$part2" == "DOMAIN" ] ; then
+                               IF_DNS_SEARCH="$part3"
+                       fi
+               fi
+       done
+       R=""
+       if [ "$IF_DNS_SEARCH" ] ; then
+               R="${R}search $IF_DNS_SEARCH
+"
+       fi
+       for NS in $IF_DNS_NAMESERVERS ; do
+               R="${R}nameserver $NS
+"
+       done
+       echo -n "$R" | /sbin/resolvconf -a "${dev}.inet"
+       ;;
+down)
+       /sbin/resolvconf -d "${dev}.inet"
+       ;;
+esac
+
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to