From 879dc58faa492338efee8e49f741fc6f05747c0e Mon Sep 17 00:00:00 2001 From: Rene Rebe Date: Mon, 8 Mar 2004 21:22:45 +0000 Subject: [PATCH] improvements for ppp: added an ip-up script that sets the nameservers in /etc/resolv.conf and changed the rocknet module to in-place sed git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@2494 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc --- package/base/ppp/ip-up | 11 +++++++++++ package/base/ppp/ppp.conf | 9 +++++++-- package/base/ppp/rocknet_ppp.sh | 9 ++++----- 3 files changed, 22 insertions(+), 7 deletions(-) create mode 100644 package/base/ppp/ip-up diff --git a/package/base/ppp/ip-up b/package/base/ppp/ip-up new file mode 100644 index 000000000..fad8d47e1 --- /dev/null +++ b/package/base/ppp/ip-up @@ -0,0 +1,11 @@ +#!/bin/bash + +if [ "$DNS1" -o "$DNS2" ] ; then + sed -i '/^nameserver .*/d' /etc/resolv.conf + ( + echo "# added by /etc/ppp/ip-up during PPP connect ..." + [ "$DNS1" ] && echo "nameserver $DNS1" + [ "$DNS2" ] && echo "nameserver $DNS2" + ) >> /etc/resolv.conf +fi + diff --git a/package/base/ppp/ppp.conf b/package/base/ppp/ppp.conf index 2d321acad..bc34a177e 100644 --- a/package/base/ppp/ppp.conf +++ b/package/base/ppp/ppp.conf @@ -20,6 +20,11 @@ # # --- ROCK-COPYRIGHT-NOTE-END --- -hook_add postmake 5 "cp -v $confdir/rocknet_ppp.sh \ - $root/etc/network/modules/ppp.sh" +ppp_pm(){ + cp -v $confdir/ip-up $root/etc/ppp/ip-up + chmod +x $root/etc/ppp/ip-up + cp -v $confdir/rocknet_ppp.sh $root/etc/network/modules/ppp.sh +} + +hook_add postmake 5 "ppp_pm" diff --git a/package/base/ppp/rocknet_ppp.sh b/package/base/ppp/rocknet_ppp.sh index dd9cead05..d34df9c56 100644 --- a/package/base/ppp/rocknet_ppp.sh +++ b/package/base/ppp/rocknet_ppp.sh @@ -1,3 +1,4 @@ + # FIXME: /tmp/.rocknet or such a directory should go to base.sh? ppp_config_path=/tmp/.rocknet/ppp [ -d $ppp_config_path ] || mkdir -p $ppp_config_path @@ -40,10 +41,8 @@ ppp_option() { esac if egrep "^($optx) .*" $optfile 1>/dev/null 2>/dev/null; then - cp $optfile $optfile.tmp optx="`echo $optx | sed 's,|,\\\\|,g'`" - sed "s,^\($optx\) .*,$opt $*," < $optfile.tmp > $optfile - rm -f $optfile.tmp + sed -i "s,^\($optx\) .*,$opt $*," $optfile else echo "$opt $*" >> $optfile fi @@ -52,7 +51,6 @@ ppp_option() { # pppoe_config_defaults - create default settings, the respective config file # is \$ppp_${if}_config pppoe_config_defaults() { - # FIXME should this be provider dependant, or does this fit for everybody? local each for each in noipdefault noauth default-asyncmap hide-password noaccomp nobsdcomp \ ipcp-accept-local ipcp-accept-remote \ @@ -100,7 +98,7 @@ public_pppoe() { ppp_args="$ppp_args${ppp_args+ }`echo $* | sed 's,",\\\\",g'`" - # fire + # final config codes addcode up 5 1 "ip link set $ppp_if down up" addcode up 5 2 "/usr/sbin/pppd plugin rp-pppoe.so $ppp_if unit $ppp_unit $ppp_args" addcode down 5 2 "[ -f /var/run/$if.pid ] && kill -TERM \`head -n 1 /var/run/$if.pid\`" @@ -119,3 +117,4 @@ public_ppp_on_demand() { addcode up 4 6 "ppp_option \$ppp_${if}_config idle $1" addcode up 4 6 "ppp_option \$ppp_${if}_config persist" } +