blob: 0c1f6da5c140bb83cef09ab08e1aa77e82b7f417 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
|
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=ppp
pkgver=2.4.8
pkgrel=2
pkgdesc="A daemon which implements the PPP protocol for dial-up networking"
url="https://ppp.samba.org/"
arch="all"
license="BSD and LGPL-2.0-or-later and GPL-2.0-or-later and Public-Domain"
makedepends="bsd-compat-headers linux-headers"
subpackages="$pkgname-doc $pkgname-dev $pkgname-chat $pkgname-radius
$pkgname-atm $pkgname-pppoe $pkgname-l2tp $pkgname-winbind
$pkgname-passprompt $pkgname-passwordfd $pkgname-minconn
$pkgname-openrc $pkgname-daemon
"
# for compatibility reasons the 'ppp' package is an empty meta package
# that pulls in all except -dev and -doc subpackages
depends="$pkgname-chat $pkgname-radius
$pkgname-atm $pkgname-pppoe $pkgname-l2tp $pkgname-winbind
$pkgname-passprompt $pkgname-passwordfd $pkgname-minconn
$pkgname-daemon
"
source="https://github.com/paulusmack/ppp/archive/ppp-$pkgver.tar.gz
musl-fix-headers.patch
fix-paths.patch
0011-build-sys-don-t-put-connect-errors-log-to-etc-ppp.patch
fix-pppd-magic.h.patch
fix-pppd-pppoe.h.patch
radius-Prevent-buffer-overflow-in-rc_mksid.patch
fix-bound-check-eap.patch
pppd-Ignore-received-EAP-messages-when-not-doing-EAP.patch
ip-down
ip-up
pppd.initd"
builddir="$srcdir"/$pkgname-$pkgname-$pkgver
# secfixes:
# 2.4.8-r1:
# - CVE-2020-8597
build() {
# 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
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:" 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
sed -i "s:^#CBCP=y:CBCP=y:" pppd/Makefile.linux
sed -i "s:^#USE_CRYPT=y:USE_CRYPT=y:" pppd/Makefile.linux
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--localstatedir=/var
make COPTS="$CFLAGS"
}
package() {
make INSTROOT="$pkgdir" install
install -Dm644 include/net/ppp_defs.h \
"$pkgdir"/usr/include/net/ppp_defs.h
install -D -m755 "$srcdir"/ip-up "$pkgdir"/etc/ppp/ip-up
install -D -m755 "$srcdir"/ip-down "$pkgdir"/etc/ppp/ip-down
install -D -m755 "$srcdir"/pppd.initd "$pkgdir"/etc/init.d/pppd
install -D -m644 etc.ppp/options "$pkgdir"/etc/ppp/options
install -D -m600 etc.ppp/pap-secrets "$pkgdir"/etc/ppp/pap-secrets
install -D -m600 etc.ppp/chap-secrets "$pkgdir"/etc/ppp/chap-secrets
# busybox ifup/ifdown needs pon/poff
install -D -m644 scripts/pon.1 "$pkgdir"/usr/share/man/man1/pon.1
install -D -m755 scripts/pon "$pkgdir"/usr/bin/pon
install -D -m755 scripts/poff "$pkgdir"/usr/bin/poff
install -d "$pkgdir"/usr/share/doc/ppp
for i in scripts/*; do
case $i in
pon|poff|*.1) continue;
esac
if [ -f "$i" ]; then
cp $i "$pkgdir"/usr/share/doc/ppp/
fi
done
install -d "$pkgdir"/etc/ppp/peers
}
atm() {
pkgdesc="pppd plugin to implement PPPoATM protocol"
depends="ppp-daemon"
_mv usr/lib/pppd/$pkgver/pppoatm.so 755
}
minconn() {
pkgdesc="pppd plugin to implement a 'minconnect' option"
depends="ppp-daemon"
_mv usr/lib/pppd/$pkgver/minconn.so 755
}
winbind() {
pkgdesc="WINBIND plugin for pppd"
depends="ppp-daemon"
_mv usr/lib/pppd/$pkgver/winbind.so 755
}
passprompt() {
pkgdesc="pppd plugin to invoke an external PAP password prompter"
depends="ppp-daemon"
_mv usr/lib/pppd/$pkgver/passprompt.so 755
}
passwordfd() {
pkgdesc="pppd plugin let's you pass the password via a file descriptor"
depends="ppp-daemon"
_mv usr/lib/pppd/$pkgver/passwordfd.so 755
}
chat() {
pkgdesc="a program for automatic ppp session establishment"
depends=
_mv usr/sbin/chat 755
}
l2tp() {
pkgdesc="pppd plugin to implement PPPoL2TP protocol"
depends="ppp-daemon"
_mv usr/lib/pppd/$pkgver/openl2tp.so 755
_mv usr/lib/pppd/$pkgver/pppol2tp.so 755
}
pppoe() {
pkgdesc="pppd plugin for kernel-mode PPPoE on Linux"
depends="ppp-daemon"
_mv usr/lib/pppd/$pkgver/rp-pppoe.so 755
_mv usr/sbin/pppoe-discovery 755
}
radius() {
pkgdesc="RADIUS plugin for pppd"
depends="ppp-daemon"
_mv usr/lib/pppd/$pkgver/radius.so 755
_mv usr/lib/pppd/$pkgver/radattr.so 755
_mv usr/lib/pppd/$pkgver/radrealms.so 755
install -d "$subpkgdir"/etc/radiusclient
cp -r "$builddir"/pppd/plugins/radius/etc/* "$subpkgdir"/etc/radiusclient
mv "$subpkgdir"/etc/radiusclient/radiusclient.conf.in "$subpkgdir"/etc/radiusclient/radiusclient.conf
sed -i "s:@pkgsysconfdir@:/etc/radiusclient:g" "$subpkgdir"/etc/radiusclient/radiusclient.conf
sed -i "s:@sbindir@:/usr/sbin:g" "$subpkgdir"/etc/radiusclient/radiusclient.conf
}
_mv() {
install -m $2 -D "$pkgdir"/$1 "$subpkgdir"/$1
rm "$pkgdir"/$1
}
daemon() {
pkgdesc="A daemon which implements the PPP protocol"
depends=
mkdir -p "$subpkgdir"
mv "$pkgdir"/* "$subpkgdir"/
}
sha512sums="a99b3b6c7bd80cd133bda4e29d33c793a76f3b67e1f8db774547e88932ce29564fad390a4f51d3fe30a75e006499b95000b042ae0f64cd360548426f8091a478 ppp-2.4.8.tar.gz
55642ce365a7cf7dda05366ac6e74f6badba3cc7bc980760e0a2ee7bfa768ea033c4a3880b3387e0787d719742698f627c624f890d68800344d31c0309c0374d musl-fix-headers.patch
8384afb992a98a7f97b484866e6aa1b1de51e901d7837f84f7ce2beba6815591450fab43957f03b65804424c4940c59640a9cd878979240a171aa77427e9c4ff fix-paths.patch
b490971d03fef4de66b61123f80a0087270bcb88466ae8ed98ea9a08b35d4c7c46b2dadd304e2970a4206bb5760a14370d7e3873de6240119d88e927ecef840c 0011-build-sys-don-t-put-connect-errors-log-to-etc-ppp.patch
d1067defff79d6c9f67121a9214e41a1bcca1e3b8a345ad905d223fdb8835142bad7cc3b556a3eca509ddf51cf808741773f31f4dca74e834b612a15854a5e6b fix-pppd-magic.h.patch
d76237c82af0a3ed7ede9e814d6849b94221f1fd15e4ee68cadd33a308a32d87d635acd14f84508c9e38a10ad0a9e96ce391044da37e217d11b89a4f6631abf7 fix-pppd-pppoe.h.patch
d175085eaa93ccf8ade7be4f9818efe353017da7cec41d9312ad2c6685e3763834aff76d673e9d2bb0b44336f926537569ddb86a6035ec33ab8b6a7de2340132 radius-Prevent-buffer-overflow-in-rc_mksid.patch
ba0c062f93400008ddf47897ac2ab6a2f5017bc7f4167d1a93dd3a5c04068a922490eb4082b0da80f0c3aea6c87fdfbca3568548724a0abc148588ab86a6df32 fix-bound-check-eap.patch
ce1bf3298f3f99a7de643bd070cb0e7e7b1dd9621926637ffc93fd2ef552781424ce9a68c88de6eb25dc2593d543e8e329eccc2d00982bde2493e8efb7903051 pppd-Ignore-received-EAP-messages-when-not-doing-EAP.patch
160260bd2a788beaac395eadb38efbfd1e0e1a458fe151555acacf2c4f3a12381d644672c664f9793db6e3459a4f05a54e3ff6d407b0d37e8014b15bd0f11bcc ip-down
8258c95a6b6e8e94d6001b5cd3a99bd3270f29ba0f2e5050a26c8d5f1b67eead8d039e71ce86a784d45e620047b0a2bb14b258d80a9ea62084ba588a4c2e2d84 ip-up
bd6f43588b037367ffdb57f5e331492dcaa5969003e219c2dc8b90e6be1aa407282ff6114b91d1379ebeff766983fa0622456520cc0ac592b4f0b1496acf21bf pppd.initd"
|