Browse Source

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
rocklinux
Rene Rebe 21 years ago
parent
commit
879dc58faa
3 changed files with 22 additions and 7 deletions
  1. +11
    -0
      package/base/ppp/ip-up
  2. +7
    -2
      package/base/ppp/ppp.conf
  3. +4
    -5
      package/base/ppp/rocknet_ppp.sh

+ 11
- 0
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

+ 7
- 2
package/base/ppp/ppp.conf

@ -20,6 +20,11 @@
# #
# --- ROCK-COPYRIGHT-NOTE-END --- # --- 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"

+ 4
- 5
package/base/ppp/rocknet_ppp.sh

@ -1,3 +1,4 @@
# FIXME: /tmp/.rocknet or such a directory should go to base.sh? # FIXME: /tmp/.rocknet or such a directory should go to base.sh?
ppp_config_path=/tmp/.rocknet/ppp ppp_config_path=/tmp/.rocknet/ppp
[ -d $ppp_config_path ] || mkdir -p $ppp_config_path [ -d $ppp_config_path ] || mkdir -p $ppp_config_path
@ -40,10 +41,8 @@ ppp_option() {
esac esac
if egrep "^($optx) .*" $optfile 1>/dev/null 2>/dev/null; then if egrep "^($optx) .*" $optfile 1>/dev/null 2>/dev/null; then
cp $optfile $optfile.tmp
optx="`echo $optx | sed 's,|,\\\\|,g'`" optx="`echo $optx | sed 's,|,\\\\|,g'`"
sed "s,^\($optx\) .*,$opt $*," < $optfile.tmp > $optfile
rm -f $optfile.tmp
sed -i "s,^\($optx\) .*,$opt $*," $optfile
else else
echo "$opt $*" >> $optfile echo "$opt $*" >> $optfile
fi fi
@ -52,7 +51,6 @@ ppp_option() {
# pppoe_config_defaults - create default settings, the respective config file # pppoe_config_defaults - create default settings, the respective config file
# is \$ppp_${if}_config # is \$ppp_${if}_config
pppoe_config_defaults() { pppoe_config_defaults() {
# FIXME should this be provider dependant, or does this fit for everybody?
local each local each
for each in noipdefault noauth default-asyncmap hide-password noaccomp nobsdcomp \ for each in noipdefault noauth default-asyncmap hide-password noaccomp nobsdcomp \
ipcp-accept-local ipcp-accept-remote \ ipcp-accept-local ipcp-accept-remote \
@ -100,7 +98,7 @@ public_pppoe() {
ppp_args="$ppp_args${ppp_args+ }`echo $* | sed 's,",\\\\",g'`" 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 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 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\`" 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 idle $1"
addcode up 4 6 "ppp_option \$ppp_${if}_config persist" addcode up 4 6 "ppp_option \$ppp_${if}_config persist"
} }

Loading…
Cancel
Save