From c282e465b7e2a9dc862d7eaa38b43a2f68c0127d Mon Sep 17 00:00:00 2001
From: Michael Hanson <hansonorders@verizon.net>
Date: Tue, 30 Nov 2010 23:34:48 +0000
Subject: ppp: upgrade

---
 abs/core/ppp/PKGBUILD         | 80 +++++++++++++++++++++++++++++--------------
 abs/core/ppp/ip-down          |  8 +++++
 abs/core/ppp/ip-down.d.dns.sh |  3 ++
 abs/core/ppp/ip-up            |  8 +++++
 abs/core/ppp/ip-up.d.dns.sh   |  7 ++++
 5 files changed, 80 insertions(+), 26 deletions(-)
 create mode 100644 abs/core/ppp/ip-down.d.dns.sh
 create mode 100644 abs/core/ppp/ip-up.d.dns.sh

diff --git a/abs/core/ppp/PKGBUILD b/abs/core/ppp/PKGBUILD
index ecd086e..fcf8032 100644
--- a/abs/core/ppp/PKGBUILD
+++ b/abs/core/ppp/PKGBUILD
@@ -1,26 +1,43 @@
-# $Id: PKGBUILD 20217 2008-12-01 18:12:37Z thomas $
-# Maintainer: judd <jvinet@zeroflux.org>
+# $Id: PKGBUILD 66522 2010-01-31 13:12:49Z thomas $
+# Maintainer: Thomas Baechler <thomas@archlinux.org>
 pkgname=ppp
-pkgver=2.4.4
-pkgrel=30
+pkgver=2.4.5
+pkgrel=1
 pkgdesc="A daemon which implements the PPP protocol for dial-up networking"
-arch=(i686 x86_64) 
+arch=('i686' 'x86_64') 
 url="http://www.samba.org/ppp/"
 license=('custom:GPL/BSD')
 groups=('base')
 depends=('glibc' 'libpcap>=1.0.0')
 backup=(etc/ppp/{chap-secrets,pap-secrets,options,ip-up,ip-down})
-source=(ftp://ftp.samba.org/pub/ppp/ppp-$pkgver.tar.gz \
-        options pon poff ppp plog pon.1 ip-up ip-down)
-md5sums=('183800762e266132218b204dfb428d29' '7a9259a8f038073eeea7e4552ff1849f'\
-         '48c024f73a80c8b69c4def22f86902cc' '2d811f8470ccdea3b8c4505a438483e9'\
-         '7561c73b557292d5ba1a9c5dbd270fde' '86cdaf133f7a79fb464f02d83afc7734'\
-         '44cc662ba9aa61dd9add3ddd4c5ded57' 'fac0c773490371ea673f4be0977a230f'\
-         'a88b40b1bf91eb5cca3762b7195e4fe2')
+source=(ftp://ftp.samba.org/pub/ppp/ppp-${pkgver}.tar.gz
+        options
+        pon
+        poff
+        ppp
+        plog
+        pon.1
+        ip-up
+        ip-down
+        ip-up.d.dns.sh
+        ip-down.d.dns.sh)
+md5sums=('4621bc56167b6953ec4071043fe0ec57'
+         '7a9259a8f038073eeea7e4552ff1849f'
+         '48c024f73a80c8b69c4def22f86902cc'
+         '2d811f8470ccdea3b8c4505a438483e9'
+         '7561c73b557292d5ba1a9c5dbd270fde'
+         '86cdaf133f7a79fb464f02d83afc7734'
+         '44cc662ba9aa61dd9add3ddd4c5ded57'
+         'e4beb16ed600b61336d50b2bd2df7cd5'
+         '2fa0671f40711e69194ccf60979f8b33'
+         '4a074d74c29625b254a1db720cb87b99'
+         '8d1be5af8e46393ba6eb273377831e38')
 
 build() {
-  cd $startdir/src/$pkgname-$pkgver
+  cd ${srcdir}/${pkgname}-${pkgver}
   # fix CFLAGS
+  # -D_GNU_SOURCE is needed for IPv6 to work apparently
+  export CFLAGS="$CFLAGS -D_GNU_SOURCE"
   sed -i "s:-O2 -pipe -Wall -g:${CFLAGS}:" pppd/Makefile.linux
   sed -i "s:-g -O2:${CFLAGS}:" pppd/plugins/Makefile.linux
   sed -i "s:-O2:${CFLAGS}:" pppstats/Makefile.linux
@@ -29,19 +46,30 @@ build() {
 
   # enable active filter
   sed -i "s:^#FILTER=y:FILTER=y:" pppd/Makefile.linux
-
+  # enable ipv6 support
+  sed -i "s:^#HAVE_INET6=y:HAVE_INET6=y:" pppd/Makefile.linux
+  # Enable Microsoft proprietary Callback Control Protocol
+  sed -i "s:^#CBCP=y:CBCP=y:" pppd/Makefile.linux 
+  
   ./configure --prefix=/usr
   make || return 1
-  make DESTDIR=$startdir/pkg/usr install
-  install -D -m644 $startdir/src/options $startdir/pkg/etc/ppp/options
-  install -D -m755 $startdir/src/ip-up $startdir/pkg/etc/ppp/ip-up
-  install -D -m755 $startdir/src/ip-down $startdir/pkg/etc/ppp/ip-down
-  install -D -m755 $startdir/src/pon $startdir/pkg/usr/bin/pon
-  install -D -m755 $startdir/src/poff $startdir/pkg/usr/bin/poff
-  install -D -m755 $startdir/src/plog $startdir/pkg/usr/sbin/plog
-  install -D -m600 etc.ppp/pap-secrets $startdir/pkg/etc/ppp/pap-secrets
-  install -D -m600 etc.ppp/chap-secrets $startdir/pkg/etc/ppp/chap-secrets
-  install -D -m755 $startdir/src/ppp $startdir/pkg/etc/rc.d/ppp 
-  install -D -m644 $startdir/src/pon.1 $startdir/pkg/usr/share/man/man1/pon.1
-  mkdir -p $startdir/pkg/etc/ppp/peers
+}
+package() {
+  cd ${srcdir}/${pkgname}-${pkgver}
+  make DESTDIR=${pkgdir}/usr install || return 1
+  install -D -m644 ${srcdir}/options ${pkgdir}/etc/ppp/options || return 1
+  install -D -m755 ${srcdir}/ip-up ${pkgdir}/etc/ppp/ip-up || return 1
+  install -D -m755 ${srcdir}/ip-down ${pkgdir}/etc/ppp/ip-down || return 1
+  install -d -m755 ${pkgdir}/etc/ppp/ip-up.d || return 1
+  install -d -m755 ${pkgdir}/etc/ppp/ip-down.d || return 1
+  install -m755 ${srcdir}/ip-up.d.dns.sh ${pkgdir}/etc/ppp/ip-up.d/00-dns.sh || return 1
+  install -m755 ${srcdir}/ip-down.d.dns.sh ${pkgdir}/etc/ppp/ip-down.d/00-dns.sh || return 1
+  install -D -m755 ${srcdir}/pon ${pkgdir}/usr/bin/pon || return 1
+  install -D -m755 ${srcdir}/poff ${pkgdir}/usr/bin/poff || return 1
+  install -D -m755 ${srcdir}/plog ${pkgdir}/usr/sbin/plog || return 1
+  install -D -m600 etc.ppp/pap-secrets ${pkgdir}/etc/ppp/pap-secrets  || return 1
+  install -D -m600 etc.ppp/chap-secrets ${pkgdir}/etc/ppp/chap-secrets || return 1
+  install -D -m755 ${srcdir}/ppp ${pkgdir}/etc/rc.d/ppp  || return 1
+  install -D -m644 ${srcdir}/pon.1 ${pkgdir}/usr/share/man/man1/pon.1 || return 1
+  install -d -m755 ${pkgdir}/etc/ppp/peers || return 1
 }
diff --git a/abs/core/ppp/ip-down b/abs/core/ppp/ip-down
index 3a88c49..301f3ab 100644
--- a/abs/core/ppp/ip-down
+++ b/abs/core/ppp/ip-down
@@ -2,3 +2,11 @@
 #
 # This script is run by pppd after the connection has ended.
 #
+
+# Execute all scripts in /etc/ppp/ip-up.d/
+for ipdown in /etc/ppp/ip-down.d/*.sh; do
+  if [ -x $ipdown ]; then
+    # Parameters: interface-name tty-device speed local-IP-address remote-IP-address ipparam
+    $ipdown "$@"
+  fi
+done
diff --git a/abs/core/ppp/ip-down.d.dns.sh b/abs/core/ppp/ip-down.d.dns.sh
new file mode 100644
index 0000000..9e19f7d
--- /dev/null
+++ b/abs/core/ppp/ip-down.d.dns.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+[ -e /etc/resolv.conf.backup.${IFNAME} ] && mv /etc/resolv.conf.backup.${IFNAME} /etc/resolv.conf
diff --git a/abs/core/ppp/ip-up b/abs/core/ppp/ip-up
index 57e09c0..20473d7 100644
--- a/abs/core/ppp/ip-up
+++ b/abs/core/ppp/ip-up
@@ -2,3 +2,11 @@
 #
 # This script is run by pppd when there's a successful ppp connection.
 #
+
+# Execute all scripts in /etc/ppp/ip-up.d/
+for ipup in /etc/ppp/ip-up.d/*.sh; do
+  if [ -x $ipup ]; then
+    # Parameters: interface-name tty-device speed local-IP-address remote-IP-address ipparam
+    $ipup "$@"
+  fi
+done
diff --git a/abs/core/ppp/ip-up.d.dns.sh b/abs/core/ppp/ip-up.d.dns.sh
new file mode 100644
index 0000000..f9df543
--- /dev/null
+++ b/abs/core/ppp/ip-up.d.dns.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+if [ "$USEPEERDNS" = "1" -a -f /etc/ppp/resolv.conf ]; then
+  [ -e /etc/resolv.conf ] && mv /etc/resolv.conf /etc/resolv.conf.backup.${IFNAME}
+  mv /etc/ppp/resolv.conf /etc/resolv.conf
+  chmod 644 /etc/resolv.conf
+fi
-- 
cgit v0.12

