blob: 347df346c0f2b63932bf45147a80fe27926729aa (
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
|
#!/bin/sh
. /etc/functions.sh
. ../netifd-proto.sh
init_proto "$@"
INCLUDE_ONLY=1
. ./ppp.sh
proto_pptp_init_config() {
ppp_generic_init_config
proto_config_add_string "server"
proto_config_add_boolean "buffering"
available=1
no_device=1
}
proto_pptp_setup() {
local config="$1"
local iface="$2"
local load
json_get_var server server
serv_addr=
for ip in $(resolveip -t 5 "$server"); do
proto_add_host_dependency "$config" "$server"
serv_addr=1
done
[ -n "$serv_addr" ] || {
echo "Could not resolve server address"
sleep 5
proto_setup_failed "$config"
exit 1
}
json_get_var buffering buffering
[ "${buffering:-1}" == 0 ] && buffering="--nobuffer" || buffering=
for module in slhc ppp_generic ppp_async ip_gre; do
grep -q "$module" /proc/modules && continue
/sbin/insmod $module 2>&- >&-
load=1
done
[ "$load" = "1" ] && sleep 1
ppp_generic_setup "$config" \
pty "/usr/sbin/pptp $server --loglevel 0 --nolaunchpppd $buffering" \
file /etc/ppp/options.pptp
}
proto_pptp_teardown() {
ppp_generic_teardown "$@"
}
add_protocol pptp
|