ppp: update to 2.4.6.

This commit is contained in:
Juan RP 2014-02-18 08:38:53 +01:00
parent 22009fbc1e
commit 625de7d0e7
7 changed files with 68 additions and 186 deletions

View file

@ -0,0 +1,12 @@
#!/bin/sh
#
# This script is run by pppd after the connection has ended.
#
# Execute all scripts in /etc/ppp/ipv6-down.d/
for ipdown in /etc/ppp/ipv6-down.d/*.sh; do
if [ -x $ipdown ]; then
# Parameters: interface-name tty-device speed local-link-local-address remote-link-local-address ipparam
$ipdown "$@"
fi
done

12
srcpkgs/ppp/files/ipv6-up Normal file
View file

@ -0,0 +1,12 @@
#!/bin/sh
#
# This script is run by pppd when there's a successful ppp connection.
#
# Execute all scripts in /etc/ppp/ipv6-up.d/
for ipup in /etc/ppp/ipv6-up.d/*.sh; do
if [ -x $ipup ]; then
# Parameters: interface-name tty-device speed local-link-local-address remote-link-local-address ipparam
$ipup "$@"
fi
done

View file

@ -0,0 +1,4 @@
#!/bin/sh
echo 0 > /proc/sys/net/ipv6/conf/$1/use_tempaddr
echo 2 > /proc/sys/net/ipv6/conf/$1/accept_ra

View file

@ -1,7 +0,0 @@
#!/bin/sh
if [ -s /var/log/ppp.log ]; then
exec tail "$@" /var/log/ppp.log
else
exec tail "$@" /var/log/syslog | grep ' \(pppd\|chat\)\['
fi

View file

@ -1,103 +0,0 @@
#!/bin/sh
# Written by John Hasler <john@dhh.gt.org> and based on work
# by Phil Hands <phil@hands.com>. Distributed under the GNU GPL
if [ -x /usr/bin/kill ]; then
KILL="/usr/bin/kill"
else
KILL="/bin/kill"
fi
SIG=TERM
DONE="stopped"
MODE=""
usage ()
{
cat <<!EOF!
usage: $0 [option] [provider]
options:
-r Cause pppd to drop the line and redial.
-d Toggle the state of pppd's debug option.
-c Cause pppd to renegotiate compression.
-a Stop all pppd's. 'provider' will be ignored.
-h Print this help summary and exit.
-v Print version and exit.
none Stop pppd.
Options may not be combined.
If 'provider' is omitted pppd will be stopped or signalled if and only if
there is exactly one running unless the '-a' option was given. If
'provider' is supplied the pppd controlling the connection to that
provider will be stopped or signalled.
!EOF!
}
# Get option. If there are none replace the "?" that getopts puts in
# FLAG on error with "null".
getopts rdcavh FLAG
if [ "$?" -ne 0 ]; then
FLAG="null"
fi
# Check for additional options. Should be none.
getopts :rdcavh DUMMY
if [ "$?" -eq 0 ]; then
echo "$0: Illegal option -- ${OPTARG}."
exit 1
fi
case $FLAG in
"r") SIG=HUP; DONE=signalled; shift ;;
"d") SIG=USR1; DONE=signalled; shift ;;
"c") SIG=USR2; DONE=signalled; shift ;;
"a") MODE="all"; shift ;;
"v") echo "$0$Revision: 1.1 $_TrickToPrint_RCS_Revision"; exit 0 ;;
"h") usage; exit 0 ;;
"?") exit 1;
esac
# Get the PIDs of all the pppds running. Could also get these from
# /var/run, but pppd doesn't create .pid files until ppp is up.
PIDS=`pidof pppd`
# poff is pointless if pppd isn't running.
if test -z "$PIDS"; then
echo "$0: No pppd is running. None ${DONE}."
exit 1
fi
# Find out how many pppd's are running.
N=`echo "$PIDS" | wc -w`
# If there are no arguments we can't do anything if there is more than one
# pppd running.
if test "$#" -eq 0 -a "$N" -gt 1 -a $FLAG != "a" ; then
echo "$0: More than one pppd running and no "-a" option and
no arguments supplied. Nothing ${DONE}."
exit 1
fi
# If either there are no arguments or '-a' was specified kill all the
# pppd's.
if test "$#" -eq 0 -o "$MODE" = "all" ; then
$KILL -$SIG $PIDS || {
echo "$0: $KILL failed. None ${DONE}."
exit 1
}
exit 0
fi
# There is an argument, so kill the pppd started on that provider.
PID=`ps axw | grep "[ /]pppd call $1 *\$" | awk '{print $1}'`
if test -n "$PID" ; then
$KILL -$SIG $PID || {
echo "$0: $KILL failed. None ${DONE}."
exit 1
}
else
echo "$0: I could not find a pppd process for provider '$1'. None ${DONE}."
exit 1
fi
exit 0

View file

@ -1,32 +0,0 @@
#!/bin/sh
case "$1" in
-*) echo "
Usage: pon [provider] [arguments]
If you specify one argument, a PPP connection will be started using
settings from the appropriate file in the /etc/ppp/peers/ directory, and
any additional arguments supplied will be passed as extra arguments to
pppd.
"
exit 0
;;
esac
if [ -z "$1" -a ! -f /etc/ppp/peers/provider ]; then
echo "
Please configure /etc/ppp/peers/provider or use a command line argument to
use another file in /etc/ppp/peers/ directory.
"
exit 1
fi
if [ "$1" -a ! -f "/etc/ppp/peers/$1" ]; then
echo "
The file /etc/ppp/peers/$1 does not exist.
"
exit 1
fi
exec /usr/sbin/pppd call ${@:-provider}

View file

@ -1,38 +1,37 @@
# Template file for 'ppp'
pkgname=ppp
version=2.4.5
revision=5
version=2.4.6
revision=1
short_desc="PPP (Point-to-Point Protocol) daemon"
homepage="https://ppp.samba.org/"
license="BSD and LGPLv2+ and GPLv2+ and Public Domain"
license="BSD, LGPLv2+, GPLv2+, Public Domain"
maintainer="Juan RP <xtraeme@gmail.com>"
distfiles="ftp://ftp.samba.org/pub/ppp/ppp-$version.tar.gz"
checksum=43317afec9299f9920b96f840414c977f0385410202d48e56d2fdb8230003505
CFLAGS="-D_GNU_SOURCE"
checksum=1b33181a03962c8a092c055fb9980e9722728a8d98a4bb7ec7acda17c1b1b49d
makedepends="libpcap-devel"
conf_files="
/etc/ppp/ip-up
/etc/ppp/chap-secrets
/etc/ppp/options
/etc/ppp/ip-down
/etc/ppp/ipv6-up
/etc/ppp/ipv6-down
/etc/ppp/options
/etc/ppp/chap-secrets
/etc/ppp/pap-secrets"
do_configure() {
# Custom CFLAGS.
sed -i "s:-O2 -pipe -Wall -g:${CFLAGS}:" \
${wrksrc}/pppd/Makefile.linux
sed -i "s:-g -O2:${CFLAGS}:" ${wrksrc}/pppd/plugins/Makefile.linux
sed -i "s:-O2:${CFLAGS}:" ${wrksrc}/pppstats/Makefile.linux
sed -i "s:-O2 -g -pipe:${CFLAGS}:" ${wrksrc}/chat/Makefile.linux
sed -i "s:-O:${CFLAGS}:" ${wrksrc}/pppdump/Makefile.linux
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
sed -i "s:-O2 -g -pipe:${CFLAGS}:" chat/Makefile.linux
sed -i "s:-O:${CFLAGS}:" pppdump/Makefile.linux
# Enable active filter
sed -i "s:^#FILTER=y:FILTER=y:" ${wrksrc}/pppd/Makefile.linux
sed -i "s:^#FILTER=y:FILTER=y:" pppd/Makefile.linux
# Enable ipv6 support
sed -i "s:^#HAVE_INET6=y:HAVE_INET6=y:" ${wrksrc}/pppd/Makefile.linux
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:" ${wrksrc}/pppd/Makefile.linux
sed -i "s:^#CBCP=y:CBCP=y:" pppd/Makefile.linux
./configure --prefix=/usr
}
@ -49,34 +48,31 @@ do_install() {
make DESTDIR=${DESTDIR}/usr install
chmod 755 ${DESTDIR}/usr/lib/pppd/${version}/*.so
install -m755 ${wrksrc}/pppd/pppd ${DESTDIR}/usr/sbin
install -m755 ${wrksrc}/chat/chat ${DESTDIR}/usr/sbin
install -D -m644 ${FILESDIR}/options \
${DESTDIR}/etc/ppp/options
install -D -m755 ${FILESDIR}/ip-up \
${DESTDIR}/etc/ppp/ip-up
install -D -m755 ${FILESDIR}/ip-down \
${DESTDIR}/etc/ppp/ip-dowm
install -d -m755 ${DESTDIR}/etc/ppp/ip-up.d
install -d -m755 ${DESTDIR}/etc/ppp/ip-down.d
install -m755 ${FILESDIR}/ip-up.d.dns.sh \
${DESTDIR}/etc/ppp/ip-up.d/00-dns.sh
install -m755 ${FILESDIR}/ip-down.d.dns.sh \
${DESTDIR}/etc/ppp/ip-down.d/00-dns.sh
install -D -m755 ${FILESDIR}/pon \
${DESTDIR}/usr/bin/pon
install -D -m755 ${FILESDIR}/poff \
${DESTDIR}/usr/bin/poff
install -D -m755 ${FILESDIR}/plog \
${DESTDIR}/usr/sbin/plog
install -D -m600 ${wrksrc}/etc.ppp/pap-secrets \
${DESTDIR}/etc/ppp/pap-secrets
install -D -m600 ${wrksrc}/etc.ppp/chap-secrets \
${DESTDIR}/etc/ppp/chap-secrets
#install -D -m644 ${FILESDIR}/pon.1 \
# ${DESTDIR}/usr/share/man/man1/pon.1 || return 1
install -d -m755 ${DESTDIR}/etc/ppp/peers
vinstall pppd/pppd 755 usr/sbin
vinstall chat/chat 755 usr/sbin
vinstall ${FILESDIR}/options 644 etc/ppp
vinstall ${FILESDIR}/ip-up 755 etc/ppp
vinstall ${FILESDIR}/ip-down 755 etc/ppp
vinstall ${FILESDIR}/ipv6-up 755 etc/ppp
vinstall ${FILESDIR}/ipv6-down 755 etc/ppp
vinstall ${FILESDIR}/ip-up.d.dns.sh 755 etc/ppp/ip-up.d 00-dns.sh
vinstall ${FILESDIR}/ip-down.d.dns.sh 755 etc/ppp/ip-down.d 00-dns.sh
vinstall ${FILESDIR}/ipv6-up.d.iface-config.sh 755 etc/ppp/ipv6-up.d 00-iface-config.sh
vmkdir etc/ppp/ipv6-down.d
touch ${DESTDIR}/etc/ppp/ipv6-down.d/.empty_on_purpose
vinstall scripts/pon 755 usr/bin
vinstall scripts/pon.1 644 usr/share/man/man1
vinstall scripts/poff 755 usr/bin
vinstall scripts/plog 755 usr/sbin
vinstall etc.ppp/pap-secrets 600 etc/ppp
vinstall etc.ppp/chap-secrets 600 etc/ppp
vmkdir etc/ppp/peers
touch -f ${DESTDIR}/etc/ppp/peers/.empty_on_purpose
}