summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abs/core/ppp/PKGBUILD80
-rw-r--r--abs/core/ppp/ip-down8
-rw-r--r--abs/core/ppp/ip-down.d.dns.sh3
-rw-r--r--abs/core/ppp/ip-up8
-rw-r--r--abs/core/ppp/ip-up.d.dns.sh7
5 files changed, 80 insertions, 26 deletions
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