Diff
checker
Texto
Texto
Imagens
Documentos
Excel
Pastas
Legal
Enterprise
Aplicativo para desktop
Preços
Fazer login
Baixar o Diffchecker Desktop
Comparar texto
Encontre a diferença entre dois arquivos de texto
Ferramentas
Histórico
Editor live
Ocultar espaços em branco
Recolher inalteradas
Sem quebra de linha
Layout
Dividido
Unificado
Nível de detalhe
Inteligente
Palavra
Caractere
Estilos de texto
Alterar aparência
Realce de sintaxe
Escolher sintaxe
Ignorar
Transformar texto
Ir à primeira mudança
Editar entrada
Diffchecker Desktop
A maneira mais segura de usar o Diffchecker. Obtenha o aplicativo Diffchecker Desktop: seus diffs nunca saem do seu computador!
Obter Desktop
Untitled diff
Criado
há 8 anos
O diff nunca expira
Limpar
Exportar
Compartilhar
Explicar
6 remoções
Linhas
Total
Removido
Caracteres
Total
Removido
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
325 linhas
Copiar tudo
1 adição
Linhas
Total
Adicionado
Caracteres
Total
Adicionado
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
320 linhas
Copiar tudo
#!/bin/sh
#!/bin/sh
[ -x /usr/sbin/pppd ] || exit 0
[ -x /usr/sbin/pppd ] || exit 0
[ -n "$INCLUDE_ONLY" ] || {
[ -n "$INCLUDE_ONLY" ] || {
. /lib/functions.sh
. /lib/functions.sh
. /lib/functions/network.sh
. /lib/functions/network.sh
. ../netifd-proto.sh
. ../netifd-proto.sh
init_proto "$@"
init_proto "$@"
}
}
ppp_select_ipaddr()
ppp_select_ipaddr()
{
{
local subnets=$1
local subnets=$1
local res
local res
local res_mask
local res_mask
for subnet in $subnets; do
for subnet in $subnets; do
local addr="${subnet%%/*}"
local addr="${subnet%%/*}"
local mask="${subnet#*/}"
local mask="${subnet#*/}"
if [ -n "$res_mask" -a "$mask" != 32 ]; then
if [ -n "$res_mask" -a "$mask" != 32 ]; then
[ "$mask" -gt "$res_mask" ] || [ "$res_mask" = 32 ] && {
[ "$mask" -gt "$res_mask" ] || [ "$res_mask" = 32 ] && {
res="$addr"
res="$addr"
res_mask="$mask"
res_mask="$mask"
}
}
elif [ -z "$res_mask" ]; then
elif [ -z "$res_mask" ]; then
res="$addr"
res="$addr"
res_mask="$mask"
res_mask="$mask"
fi
fi
done
done
echo "$res"
echo "$res"
}
}
ppp_exitcode_tostring()
ppp_exitcode_tostring()
{
{
local errorcode=$1
local errorcode=$1
[ -n "$errorcode" ] || errorcode=5
[ -n "$errorcode" ] || errorcode=5
case "$errorcode" in
case "$errorcode" in
0) echo "OK" ;;
0) echo "OK" ;;
1) echo "FATAL_ERROR" ;;
1) echo "FATAL_ERROR" ;;
2) echo "OPTION_ERROR" ;;
2) echo "OPTION_ERROR" ;;
3) echo "NOT_ROOT" ;;
3) echo "NOT_ROOT" ;;
4) echo "NO_KERNEL_SUPPORT" ;;
4) echo "NO_KERNEL_SUPPORT" ;;
5) echo "USER_REQUEST" ;;
5) echo "USER_REQUEST" ;;
6) echo "LOCK_FAILED" ;;
6) echo "LOCK_FAILED" ;;
7) echo "OPEN_FAILED" ;;
7) echo "OPEN_FAILED" ;;
8) echo "CONNECT_FAILED" ;;
8) echo "CONNECT_FAILED" ;;
9) echo "PTYCMD_FAILED" ;;
9) echo "PTYCMD_FAILED" ;;
10) echo "NEGOTIATION_FAILED" ;;
10) echo "NEGOTIATION_FAILED" ;;
11) echo "PEER_AUTH_FAILED" ;;
11) echo "PEER_AUTH_FAILED" ;;
12) echo "IDLE_TIMEOUT" ;;
12) echo "IDLE_TIMEOUT" ;;
13) echo "CONNECT_TIME" ;;
13) echo "CONNECT_TIME" ;;
14) echo "CALLBACK" ;;
14) echo "CALLBACK" ;;
15) echo "PEER_DEAD" ;;
15) echo "PEER_DEAD" ;;
16) echo "HANGUP" ;;
16) echo "HANGUP" ;;
17) echo "LOOPBACK" ;;
17) echo "LOOPBACK" ;;
18) echo "INIT_FAILED" ;;
18) echo "INIT_FAILED" ;;
19) echo "AUTH_TOPEER_FAILED" ;;
19) echo "AUTH_TOPEER_FAILED" ;;
20) echo "TRAFFIC_LIMIT" ;;
20) echo "TRAFFIC_LIMIT" ;;
21) echo "CNID_AUTH_FAILED";;
21) echo "CNID_AUTH_FAILED";;
*) echo "UNKNOWN_ERROR" ;;
*) echo "UNKNOWN_ERROR" ;;
esac
esac
}
}
ppp_generic_init_config() {
ppp_generic_init_config() {
proto_config_add_string username
proto_config_add_string username
proto_config_add_string password
proto_config_add_string password
proto_config_add_string keepalive
proto_config_add_string keepalive
proto_config_add_boolean keepalive_adaptive
proto_config_add_boolean keepalive_adaptive
proto_config_add_int demand
proto_config_add_int demand
proto_config_add_string pppd_options
proto_config_add_string pppd_options
proto_config_add_string 'connect:file'
proto_config_add_string 'connect:file'
proto_config_add_string 'disconnect:file'
proto_config_add_string 'disconnect:file'
proto_config_add_string ipv6
proto_config_add_string ipv6
proto_config_add_boolean authfail
proto_config_add_boolean authfail
proto_config_add_int mtu
proto_config_add_int mtu
proto_config_add_string pppname
proto_config_add_string pppname
proto_config_add_string unnumbered
proto_config_add_string unnumbered
proto_config_add_boolean persist
proto_config_add_boolean persist
proto_config_add_int maxfail
proto_config_add_int maxfail
proto_config_add_int holdoff
proto_config_add_int holdoff
}
}
ppp_generic_setup() {
ppp_generic_setup() {
local config="$1"; shift
local config="$1"; shift
local localip
local localip
json_get_vars ipv6 ip6table demand keepalive keepalive_adaptive username password pppd_options pppname unnumbered persist maxfail holdoff peerdns
json_get_vars ipv6 ip6table demand keepalive keepalive_adaptive username password pppd_options pppname unnumbered persist maxfail holdoff peerdns
if [ "$ipv6" = 0 ]; then
if [ "$ipv6" = 0 ]; then
ipv6=""
ipv6=""
elif [ -z "$ipv6" -o "$ipv6" = auto ]; then
elif [ -z "$ipv6" -o "$ipv6" = auto ]; then
ipv6=1
ipv6=1
autoipv6=1
autoipv6=1
fi
fi
if [ "${demand:-0}" -gt 0 ]; then
if [ "${demand:-0}" -gt 0 ]; then
demand="precompiled-active-filter /etc/ppp/filter demand idle $demand"
demand="precompiled-active-filter /etc/ppp/filter demand idle $demand"
else
else
demand=""
demand=""
fi
fi
if [ -n "$persist" ]; then
if [ -n "$persist" ]; then
[ "${persist}" -lt 1 ] && persist="nopersist" || persist="persist"
[ "${persist}" -lt 1 ] && persist="nopersist" || persist="persist"
fi
fi
if [ -z "$maxfail" ]; then
if [ -z "$maxfail" ]; then
[ "$persist" = "persist" ] && maxfail=0 || maxfail=1
[ "$persist" = "persist" ] && maxfail=0 || maxfail=1
fi
fi
[ -n "$mtu" ] || json_get_var mtu mtu
[ -n "$mtu" ] || json_get_var mtu mtu
[ -n "$pppname" ] || pppname="${proto:-ppp}-$config"
[ -n "$pppname" ] || pppname="${proto:-ppp}-$config"
[ -n "$unnumbered" ] && {
[ -n "$unnumbered" ] && {
local subnets
local subnets
( proto_add_host_dependency "$config" "" "$unnumbered" )
( proto_add_host_dependency "$config" "" "$unnumbered" )
network_get_subnets subnets "$unnumbered"
network_get_subnets subnets "$unnumbered"
localip=$(ppp_select_ipaddr "$subnets")
localip=$(ppp_select_ipaddr "$subnets")
[ -n "$localip" ] || {
[ -n "$localip" ] || {
proto_block_restart "$config"
proto_block_restart "$config"
return
return
}
}
}
}
local lcp_failure="${keepalive%%[, ]*}"
local lcp_failure="${keepalive%%[, ]*}"
local lcp_interval="${keepalive##*[, ]}"
local lcp_interval="${keepalive##*[, ]}"
local lcp_adaptive="lcp-echo-adaptive"
local lcp_adaptive="lcp-echo-adaptive"
[ "${lcp_failure:-0}" -lt 1 ] && lcp_failure=""
[ "${lcp_failure:-0}" -lt 1 ] && lcp_failure=""
[ "$lcp_interval" != "$keepalive" ] || lcp_interval=5
[ "$lcp_interval" != "$keepalive" ] || lcp_interval=5
[ "${keepalive_adaptive:-1}" -lt 1 ] && lcp_adaptive=""
[ "${keepalive_adaptive:-1}" -lt 1 ] && lcp_adaptive=""
[ -n "$connect" ] || json_get_var connect connect
[ -n "$connect" ] || json_get_var connect connect
[ -n "$disconnect" ] || json_get_var disconnect disconnect
[ -n "$disconnect" ] || json_get_var disconnect disconnect
proto_run_command "$config" /usr/sbin/pppd \
proto_run_command "$config" /usr/sbin/pppd \
nodetach ipparam "$config" \
nodetach ipparam "$config" \
ifname "$pppname" \
ifname "$pppname" \
${localip:+$localip:} \
${localip:+$localip:} \
${lcp_failure:+lcp-echo-interval $lcp_interval lcp-echo-failure $lcp_failure $lcp_adaptive} \
${lcp_failure:+lcp-echo-interval $lcp_interval lcp-echo-failure $lcp_failure $lcp_adaptive} \
Copiar
Copiado
Copiar
Copiado
${ipv6:++ipv6} \
${autoipv6:+set AUTOIPV6=1} \
${ip6table:+set IP6TABLE=$ip6table} \
${peerdns:+set PEERDNS=$peerdns} \
${peerdns:+set PEERDNS=$peerdns} \
nodefaultroute \
nodefaultroute \
Copiar
Copiado
Copiar
Copiado
usepeerdns \
$demand $persist maxfail $maxfail \
$demand $persist maxfail $maxfail \
${holdoff:+holdoff "$holdoff"} \
${holdoff:+holdoff "$holdoff"} \
${username:+user "$username" password "$password"} \
${username:+user "$username" password "$password"} \
${connect:+connect "$connect"} \
${connect:+connect "$connect"} \
${disconnect:+disconnect "$disconnect"} \
${disconnect:+disconnect "$disconnect"} \
ip-up-script /lib/netifd/ppp-up \
ip-up-script /lib/netifd/ppp-up \
Copiar
Copiado
Copiar
Copiado
ipv6-up-script /lib/netifd/ppp6-up \
ip-down-script /lib/netifd/ppp-down \
ip-down-script /lib/netifd/ppp-down \
Copiar
Copiado
Copiar
Copiado
ipv6
-down-script /lib/netifd/ppp-down
\
no
ipv6
\
${mtu:+mtu $mtu mru $mtu} \
${mtu:+mtu $mtu mru $mtu} \
"$@" $pppd_options
"$@" $pppd_options
}
}
ppp_generic_teardown() {
ppp_generic_teardown() {
local interface="$1"
local interface="$1"
local errorstring=$(ppp_exitcode_tostring $ERROR)
local errorstring=$(ppp_exitcode_tostring $ERROR)
case "$ERROR" in
case "$ERROR" in
0)
0)
;;
;;
2)
2)
proto_notify_error "$interface" "$errorstring"
proto_notify_error "$interface" "$errorstring"
proto_block_restart "$interface"
proto_block_restart "$interface"
;;
;;
11|19)
11|19)
json_get_var authfail authfail
json_get_var authfail authfail
proto_notify_error "$interface" "$errorstring"
proto_notify_error "$interface" "$errorstring"
if [ "${authfail:-0}" -gt 0 ]; then
if [ "${authfail:-0}" -gt 0 ]; then
proto_block_restart "$interface"
proto_block_restart "$interface"
fi
fi
;;
;;
*)
*)
proto_notify_error "$interface" "$errorstring"
proto_notify_error "$interface" "$errorstring"
;;
;;
esac
esac
proto_kill_command "$interface"
proto_kill_command "$interface"
}
}
# PPP on serial device
# PPP on serial device
proto_ppp_init_config() {
proto_ppp_init_config() {
proto_config_add_string "device"
proto_config_add_string "device"
ppp_generic_init_config
ppp_generic_init_config
no_device=1
no_device=1
available=1
available=1
lasterror=1
lasterror=1
}
}
proto_ppp_setup() {
proto_ppp_setup() {
local config="$1"
local config="$1"
json_get_var device device
json_get_var device device
ppp_generic_setup "$config" "$device"
ppp_generic_setup "$config" "$device"
}
}
proto_ppp_teardown() {
proto_ppp_teardown() {
ppp_generic_teardown "$@"
ppp_generic_teardown "$@"
}
}
proto_pppoe_init_config() {
proto_pppoe_init_config() {
ppp_generic_init_config
ppp_generic_init_config
proto_config_add_string "ac"
proto_config_add_string "ac"
proto_config_add_string "service"
proto_config_add_string "service"
proto_config_add_string "host_uniq"
proto_config_add_string "host_uniq"
lasterror=1
lasterror=1
}
}
proto_pppoe_setup() {
proto_pppoe_setup() {
local config="$1"
local config="$1"
local iface="$2"
local iface="$2"
for module in slhc ppp_generic pppox pppoe; do
for module in slhc ppp_generic pppox pppoe; do
/sbin/insmod $module 2>&- >&-
/sbin/insmod $module 2>&- >&-
done
done
json_get_var mtu mtu
json_get_var mtu mtu
mtu="${mtu:-1492}"
mtu="${mtu:-1492}"
json_get_var ac ac
json_get_var ac ac
json_get_var service service
json_get_var service service
json_get_var host_uniq host_uniq
json_get_var host_uniq host_uniq
ppp_generic_setup "$config" \
ppp_generic_setup "$config" \
plugin rp-pppoe.so \
plugin rp-pppoe.so \
${ac:+rp_pppoe_ac "$ac"} \
${ac:+rp_pppoe_ac "$ac"} \
${service:+rp_pppoe_service "$service"} \
${service:+rp_pppoe_service "$service"} \
${host_uniq:+host-uniq "$host_uniq"} \
${host_uniq:+host-uniq "$host_uniq"} \
"nic-$iface"
"nic-$iface"
}
}
proto_pppoe_teardown() {
proto_pppoe_teardown() {
ppp_generic_teardown "$@"
ppp_generic_teardown "$@"
}
}
proto_pppoa_init_config() {
proto_pppoa_init_config() {
ppp_generic_init_config
ppp_generic_init_config
proto_config_add_int "atmdev"
proto_config_add_int "atmdev"
proto_config_add_int "vci"
proto_config_add_int "vci"
proto_config_add_int "vpi"
proto_config_add_int "vpi"
proto_config_add_string "encaps"
proto_config_add_string "encaps"
no_device=1
no_device=1
available=1
available=1
lasterror=1
lasterror=1
}
}
proto_pppoa_setup() {
proto_pppoa_setup() {
local config="$1"
local config="$1"
local iface="$2"
local iface="$2"
for module in slhc ppp_generic pppox pppoatm; do
for module in slhc ppp_generic pppox pppoatm; do
/sbin/insmod $module 2>&- >&-
/sbin/insmod $module 2>&- >&-
done
done
json_get_vars atmdev vci vpi encaps
json_get_vars atmdev vci vpi encaps
case "$encaps" in
case "$encaps" in
1|vc) encaps="vc-encaps" ;;
1|vc) encaps="vc-encaps" ;;
*) encaps="llc-encaps" ;;
*) encaps="llc-encaps" ;;
esac
esac
ppp_generic_setup "$config" \
ppp_generic_setup "$config" \
plugin pppoatm.so \
plugin pppoatm.so \
${atmdev:+$atmdev.}${vpi:-8}.${vci:-35} \
${atmdev:+$atmdev.}${vpi:-8}.${vci:-35} \
${encaps}
${encaps}
}
}
proto_pppoa_teardown() {
proto_pppoa_teardown() {
ppp_generic_teardown "$@"
ppp_generic_teardown "$@"
}
}
proto_pptp_init_config() {
proto_pptp_init_config() {
ppp_generic_init_config
ppp_generic_init_config
proto_config_add_string "server"
proto_config_add_string "server"
proto_config_add_string "interface"
proto_config_add_string "interface"
available=1
available=1
no_device=1
no_device=1
lasterror=1
lasterror=1
}
}
proto_pptp_setup() {
proto_pptp_setup() {
local config="$1"
local config="$1"
local iface="$2"
local iface="$2"
local ip serv_addr server interface
local ip serv_addr server interface
json_get_vars interface server
json_get_vars interface server
[ -n "$server" ] && {
[ -n "$server" ] && {
for ip in $(resolveip -t 5 "$server"); do
for ip in $(resolveip -t 5 "$server"); do
( proto_add_host_dependency "$config" "$ip" $interface )
( proto_add_host_dependency "$config" "$ip" $interface )
serv_addr=1
serv_addr=1
done
done
}
}
[ -n "$serv_addr" ] || {
[ -n "$serv_addr" ] || {
echo "Could not resolve server address"
echo "Could not resolve server address"
sleep 5
sleep 5
proto_setup_failed "$config"
proto_setup_failed "$config"
exit 1
exit 1
}
}
local load
local load
for module in slhc ppp_generic ppp_async ppp_mppe ip_gre gre pptp; do
for module in slhc ppp_generic ppp_async ppp_mppe ip_gre gre pptp; do
grep -q "^$module " /proc/modules && continue
grep -q "^$module " /proc/modules && continue
/sbin/insmod $module 2>&- >&-
/sbin/insmod $module 2>&- >&-
load=1
load=1
done
done
[ "$load" = "1" ] && sleep 1
[ "$load" = "1" ] && sleep 1
ppp_generic_setup "$config" \
ppp_generic_setup "$config" \
plugin pptp.so \
plugin pptp.so \
pptp_server $server \
pptp_server $server \
file /etc/ppp/options.pptp
file /etc/ppp/options.pptp
}
}
proto_pptp_teardown() {
proto_pptp_teardown() {
ppp_generic_teardown "$@"
ppp_generic_teardown "$@"
}
}
[ -n "$INCLUDE_ONLY" ] || {
[ -n "$INCLUDE_ONLY" ] || {
add_protocol ppp
add_protocol ppp
[ -f /usr/lib/pppd/*/rp-pppoe.so ] && add_protocol pppoe
[ -f /usr/lib/pppd/*/rp-pppoe.so ] && add_protocol pppoe
[ -f /usr/lib/pppd/*/pppoatm.so ] && add_protocol pppoa
[ -f /usr/lib/pppd/*/pppoatm.so ] && add_protocol pppoa
[ -f /usr/lib/pppd/*/pptp.so ] && add_protocol pptp
[ -f /usr/lib/pppd/*/pptp.so ] && add_protocol pptp
}
}
Diferenças salvas
Texto original
Abrir arquivo
#!/bin/sh [ -x /usr/sbin/pppd ] || exit 0 [ -n "$INCLUDE_ONLY" ] || { . /lib/functions.sh . /lib/functions/network.sh . ../netifd-proto.sh init_proto "$@" } ppp_select_ipaddr() { local subnets=$1 local res local res_mask for subnet in $subnets; do local addr="${subnet%%/*}" local mask="${subnet#*/}" if [ -n "$res_mask" -a "$mask" != 32 ]; then [ "$mask" -gt "$res_mask" ] || [ "$res_mask" = 32 ] && { res="$addr" res_mask="$mask" } elif [ -z "$res_mask" ]; then res="$addr" res_mask="$mask" fi done echo "$res" } ppp_exitcode_tostring() { local errorcode=$1 [ -n "$errorcode" ] || errorcode=5 case "$errorcode" in 0) echo "OK" ;; 1) echo "FATAL_ERROR" ;; 2) echo "OPTION_ERROR" ;; 3) echo "NOT_ROOT" ;; 4) echo "NO_KERNEL_SUPPORT" ;; 5) echo "USER_REQUEST" ;; 6) echo "LOCK_FAILED" ;; 7) echo "OPEN_FAILED" ;; 8) echo "CONNECT_FAILED" ;; 9) echo "PTYCMD_FAILED" ;; 10) echo "NEGOTIATION_FAILED" ;; 11) echo "PEER_AUTH_FAILED" ;; 12) echo "IDLE_TIMEOUT" ;; 13) echo "CONNECT_TIME" ;; 14) echo "CALLBACK" ;; 15) echo "PEER_DEAD" ;; 16) echo "HANGUP" ;; 17) echo "LOOPBACK" ;; 18) echo "INIT_FAILED" ;; 19) echo "AUTH_TOPEER_FAILED" ;; 20) echo "TRAFFIC_LIMIT" ;; 21) echo "CNID_AUTH_FAILED";; *) echo "UNKNOWN_ERROR" ;; esac } ppp_generic_init_config() { proto_config_add_string username proto_config_add_string password proto_config_add_string keepalive proto_config_add_boolean keepalive_adaptive proto_config_add_int demand proto_config_add_string pppd_options proto_config_add_string 'connect:file' proto_config_add_string 'disconnect:file' proto_config_add_string ipv6 proto_config_add_boolean authfail proto_config_add_int mtu proto_config_add_string pppname proto_config_add_string unnumbered proto_config_add_boolean persist proto_config_add_int maxfail proto_config_add_int holdoff } ppp_generic_setup() { local config="$1"; shift local localip json_get_vars ipv6 ip6table demand keepalive keepalive_adaptive username password pppd_options pppname unnumbered persist maxfail holdoff peerdns if [ "$ipv6" = 0 ]; then ipv6="" elif [ -z "$ipv6" -o "$ipv6" = auto ]; then ipv6=1 autoipv6=1 fi if [ "${demand:-0}" -gt 0 ]; then demand="precompiled-active-filter /etc/ppp/filter demand idle $demand" else demand="" fi if [ -n "$persist" ]; then [ "${persist}" -lt 1 ] && persist="nopersist" || persist="persist" fi if [ -z "$maxfail" ]; then [ "$persist" = "persist" ] && maxfail=0 || maxfail=1 fi [ -n "$mtu" ] || json_get_var mtu mtu [ -n "$pppname" ] || pppname="${proto:-ppp}-$config" [ -n "$unnumbered" ] && { local subnets ( proto_add_host_dependency "$config" "" "$unnumbered" ) network_get_subnets subnets "$unnumbered" localip=$(ppp_select_ipaddr "$subnets") [ -n "$localip" ] || { proto_block_restart "$config" return } } local lcp_failure="${keepalive%%[, ]*}" local lcp_interval="${keepalive##*[, ]}" local lcp_adaptive="lcp-echo-adaptive" [ "${lcp_failure:-0}" -lt 1 ] && lcp_failure="" [ "$lcp_interval" != "$keepalive" ] || lcp_interval=5 [ "${keepalive_adaptive:-1}" -lt 1 ] && lcp_adaptive="" [ -n "$connect" ] || json_get_var connect connect [ -n "$disconnect" ] || json_get_var disconnect disconnect proto_run_command "$config" /usr/sbin/pppd \ nodetach ipparam "$config" \ ifname "$pppname" \ ${localip:+$localip:} \ ${lcp_failure:+lcp-echo-interval $lcp_interval lcp-echo-failure $lcp_failure $lcp_adaptive} \ ${ipv6:++ipv6} \ ${autoipv6:+set AUTOIPV6=1} \ ${ip6table:+set IP6TABLE=$ip6table} \ ${peerdns:+set PEERDNS=$peerdns} \ nodefaultroute \ usepeerdns \ $demand $persist maxfail $maxfail \ ${holdoff:+holdoff "$holdoff"} \ ${username:+user "$username" password "$password"} \ ${connect:+connect "$connect"} \ ${disconnect:+disconnect "$disconnect"} \ ip-up-script /lib/netifd/ppp-up \ ipv6-up-script /lib/netifd/ppp6-up \ ip-down-script /lib/netifd/ppp-down \ ipv6-down-script /lib/netifd/ppp-down \ ${mtu:+mtu $mtu mru $mtu} \ "$@" $pppd_options } ppp_generic_teardown() { local interface="$1" local errorstring=$(ppp_exitcode_tostring $ERROR) case "$ERROR" in 0) ;; 2) proto_notify_error "$interface" "$errorstring" proto_block_restart "$interface" ;; 11|19) json_get_var authfail authfail proto_notify_error "$interface" "$errorstring" if [ "${authfail:-0}" -gt 0 ]; then proto_block_restart "$interface" fi ;; *) proto_notify_error "$interface" "$errorstring" ;; esac proto_kill_command "$interface" } # PPP on serial device proto_ppp_init_config() { proto_config_add_string "device" ppp_generic_init_config no_device=1 available=1 lasterror=1 } proto_ppp_setup() { local config="$1" json_get_var device device ppp_generic_setup "$config" "$device" } proto_ppp_teardown() { ppp_generic_teardown "$@" } proto_pppoe_init_config() { ppp_generic_init_config proto_config_add_string "ac" proto_config_add_string "service" proto_config_add_string "host_uniq" lasterror=1 } proto_pppoe_setup() { local config="$1" local iface="$2" for module in slhc ppp_generic pppox pppoe; do /sbin/insmod $module 2>&- >&- done json_get_var mtu mtu mtu="${mtu:-1492}" json_get_var ac ac json_get_var service service json_get_var host_uniq host_uniq ppp_generic_setup "$config" \ plugin rp-pppoe.so \ ${ac:+rp_pppoe_ac "$ac"} \ ${service:+rp_pppoe_service "$service"} \ ${host_uniq:+host-uniq "$host_uniq"} \ "nic-$iface" } proto_pppoe_teardown() { ppp_generic_teardown "$@" } proto_pppoa_init_config() { ppp_generic_init_config proto_config_add_int "atmdev" proto_config_add_int "vci" proto_config_add_int "vpi" proto_config_add_string "encaps" no_device=1 available=1 lasterror=1 } proto_pppoa_setup() { local config="$1" local iface="$2" for module in slhc ppp_generic pppox pppoatm; do /sbin/insmod $module 2>&- >&- done json_get_vars atmdev vci vpi encaps case "$encaps" in 1|vc) encaps="vc-encaps" ;; *) encaps="llc-encaps" ;; esac ppp_generic_setup "$config" \ plugin pppoatm.so \ ${atmdev:+$atmdev.}${vpi:-8}.${vci:-35} \ ${encaps} } proto_pppoa_teardown() { ppp_generic_teardown "$@" } proto_pptp_init_config() { ppp_generic_init_config proto_config_add_string "server" proto_config_add_string "interface" available=1 no_device=1 lasterror=1 } proto_pptp_setup() { local config="$1" local iface="$2" local ip serv_addr server interface json_get_vars interface server [ -n "$server" ] && { for ip in $(resolveip -t 5 "$server"); do ( proto_add_host_dependency "$config" "$ip" $interface ) serv_addr=1 done } [ -n "$serv_addr" ] || { echo "Could not resolve server address" sleep 5 proto_setup_failed "$config" exit 1 } local load for module in slhc ppp_generic ppp_async ppp_mppe ip_gre gre pptp; do grep -q "^$module " /proc/modules && continue /sbin/insmod $module 2>&- >&- load=1 done [ "$load" = "1" ] && sleep 1 ppp_generic_setup "$config" \ plugin pptp.so \ pptp_server $server \ file /etc/ppp/options.pptp } proto_pptp_teardown() { ppp_generic_teardown "$@" } [ -n "$INCLUDE_ONLY" ] || { add_protocol ppp [ -f /usr/lib/pppd/*/rp-pppoe.so ] && add_protocol pppoe [ -f /usr/lib/pppd/*/pppoatm.so ] && add_protocol pppoa [ -f /usr/lib/pppd/*/pptp.so ] && add_protocol pptp }
Texto alterado
Abrir arquivo
#!/bin/sh [ -x /usr/sbin/pppd ] || exit 0 [ -n "$INCLUDE_ONLY" ] || { . /lib/functions.sh . /lib/functions/network.sh . ../netifd-proto.sh init_proto "$@" } ppp_select_ipaddr() { local subnets=$1 local res local res_mask for subnet in $subnets; do local addr="${subnet%%/*}" local mask="${subnet#*/}" if [ -n "$res_mask" -a "$mask" != 32 ]; then [ "$mask" -gt "$res_mask" ] || [ "$res_mask" = 32 ] && { res="$addr" res_mask="$mask" } elif [ -z "$res_mask" ]; then res="$addr" res_mask="$mask" fi done echo "$res" } ppp_exitcode_tostring() { local errorcode=$1 [ -n "$errorcode" ] || errorcode=5 case "$errorcode" in 0) echo "OK" ;; 1) echo "FATAL_ERROR" ;; 2) echo "OPTION_ERROR" ;; 3) echo "NOT_ROOT" ;; 4) echo "NO_KERNEL_SUPPORT" ;; 5) echo "USER_REQUEST" ;; 6) echo "LOCK_FAILED" ;; 7) echo "OPEN_FAILED" ;; 8) echo "CONNECT_FAILED" ;; 9) echo "PTYCMD_FAILED" ;; 10) echo "NEGOTIATION_FAILED" ;; 11) echo "PEER_AUTH_FAILED" ;; 12) echo "IDLE_TIMEOUT" ;; 13) echo "CONNECT_TIME" ;; 14) echo "CALLBACK" ;; 15) echo "PEER_DEAD" ;; 16) echo "HANGUP" ;; 17) echo "LOOPBACK" ;; 18) echo "INIT_FAILED" ;; 19) echo "AUTH_TOPEER_FAILED" ;; 20) echo "TRAFFIC_LIMIT" ;; 21) echo "CNID_AUTH_FAILED";; *) echo "UNKNOWN_ERROR" ;; esac } ppp_generic_init_config() { proto_config_add_string username proto_config_add_string password proto_config_add_string keepalive proto_config_add_boolean keepalive_adaptive proto_config_add_int demand proto_config_add_string pppd_options proto_config_add_string 'connect:file' proto_config_add_string 'disconnect:file' proto_config_add_string ipv6 proto_config_add_boolean authfail proto_config_add_int mtu proto_config_add_string pppname proto_config_add_string unnumbered proto_config_add_boolean persist proto_config_add_int maxfail proto_config_add_int holdoff } ppp_generic_setup() { local config="$1"; shift local localip json_get_vars ipv6 ip6table demand keepalive keepalive_adaptive username password pppd_options pppname unnumbered persist maxfail holdoff peerdns if [ "$ipv6" = 0 ]; then ipv6="" elif [ -z "$ipv6" -o "$ipv6" = auto ]; then ipv6=1 autoipv6=1 fi if [ "${demand:-0}" -gt 0 ]; then demand="precompiled-active-filter /etc/ppp/filter demand idle $demand" else demand="" fi if [ -n "$persist" ]; then [ "${persist}" -lt 1 ] && persist="nopersist" || persist="persist" fi if [ -z "$maxfail" ]; then [ "$persist" = "persist" ] && maxfail=0 || maxfail=1 fi [ -n "$mtu" ] || json_get_var mtu mtu [ -n "$pppname" ] || pppname="${proto:-ppp}-$config" [ -n "$unnumbered" ] && { local subnets ( proto_add_host_dependency "$config" "" "$unnumbered" ) network_get_subnets subnets "$unnumbered" localip=$(ppp_select_ipaddr "$subnets") [ -n "$localip" ] || { proto_block_restart "$config" return } } local lcp_failure="${keepalive%%[, ]*}" local lcp_interval="${keepalive##*[, ]}" local lcp_adaptive="lcp-echo-adaptive" [ "${lcp_failure:-0}" -lt 1 ] && lcp_failure="" [ "$lcp_interval" != "$keepalive" ] || lcp_interval=5 [ "${keepalive_adaptive:-1}" -lt 1 ] && lcp_adaptive="" [ -n "$connect" ] || json_get_var connect connect [ -n "$disconnect" ] || json_get_var disconnect disconnect proto_run_command "$config" /usr/sbin/pppd \ nodetach ipparam "$config" \ ifname "$pppname" \ ${localip:+$localip:} \ ${lcp_failure:+lcp-echo-interval $lcp_interval lcp-echo-failure $lcp_failure $lcp_adaptive} \ ${peerdns:+set PEERDNS=$peerdns} \ nodefaultroute \ $demand $persist maxfail $maxfail \ ${holdoff:+holdoff "$holdoff"} \ ${username:+user "$username" password "$password"} \ ${connect:+connect "$connect"} \ ${disconnect:+disconnect "$disconnect"} \ ip-up-script /lib/netifd/ppp-up \ ip-down-script /lib/netifd/ppp-down \ noipv6 \ ${mtu:+mtu $mtu mru $mtu} \ "$@" $pppd_options } ppp_generic_teardown() { local interface="$1" local errorstring=$(ppp_exitcode_tostring $ERROR) case "$ERROR" in 0) ;; 2) proto_notify_error "$interface" "$errorstring" proto_block_restart "$interface" ;; 11|19) json_get_var authfail authfail proto_notify_error "$interface" "$errorstring" if [ "${authfail:-0}" -gt 0 ]; then proto_block_restart "$interface" fi ;; *) proto_notify_error "$interface" "$errorstring" ;; esac proto_kill_command "$interface" } # PPP on serial device proto_ppp_init_config() { proto_config_add_string "device" ppp_generic_init_config no_device=1 available=1 lasterror=1 } proto_ppp_setup() { local config="$1" json_get_var device device ppp_generic_setup "$config" "$device" } proto_ppp_teardown() { ppp_generic_teardown "$@" } proto_pppoe_init_config() { ppp_generic_init_config proto_config_add_string "ac" proto_config_add_string "service" proto_config_add_string "host_uniq" lasterror=1 } proto_pppoe_setup() { local config="$1" local iface="$2" for module in slhc ppp_generic pppox pppoe; do /sbin/insmod $module 2>&- >&- done json_get_var mtu mtu mtu="${mtu:-1492}" json_get_var ac ac json_get_var service service json_get_var host_uniq host_uniq ppp_generic_setup "$config" \ plugin rp-pppoe.so \ ${ac:+rp_pppoe_ac "$ac"} \ ${service:+rp_pppoe_service "$service"} \ ${host_uniq:+host-uniq "$host_uniq"} \ "nic-$iface" } proto_pppoe_teardown() { ppp_generic_teardown "$@" } proto_pppoa_init_config() { ppp_generic_init_config proto_config_add_int "atmdev" proto_config_add_int "vci" proto_config_add_int "vpi" proto_config_add_string "encaps" no_device=1 available=1 lasterror=1 } proto_pppoa_setup() { local config="$1" local iface="$2" for module in slhc ppp_generic pppox pppoatm; do /sbin/insmod $module 2>&- >&- done json_get_vars atmdev vci vpi encaps case "$encaps" in 1|vc) encaps="vc-encaps" ;; *) encaps="llc-encaps" ;; esac ppp_generic_setup "$config" \ plugin pppoatm.so \ ${atmdev:+$atmdev.}${vpi:-8}.${vci:-35} \ ${encaps} } proto_pppoa_teardown() { ppp_generic_teardown "$@" } proto_pptp_init_config() { ppp_generic_init_config proto_config_add_string "server" proto_config_add_string "interface" available=1 no_device=1 lasterror=1 } proto_pptp_setup() { local config="$1" local iface="$2" local ip serv_addr server interface json_get_vars interface server [ -n "$server" ] && { for ip in $(resolveip -t 5 "$server"); do ( proto_add_host_dependency "$config" "$ip" $interface ) serv_addr=1 done } [ -n "$serv_addr" ] || { echo "Could not resolve server address" sleep 5 proto_setup_failed "$config" exit 1 } local load for module in slhc ppp_generic ppp_async ppp_mppe ip_gre gre pptp; do grep -q "^$module " /proc/modules && continue /sbin/insmod $module 2>&- >&- load=1 done [ "$load" = "1" ] && sleep 1 ppp_generic_setup "$config" \ plugin pptp.so \ pptp_server $server \ file /etc/ppp/options.pptp } proto_pptp_teardown() { ppp_generic_teardown "$@" } [ -n "$INCLUDE_ONLY" ] || { add_protocol ppp [ -f /usr/lib/pppd/*/rp-pppoe.so ] && add_protocol pppoe [ -f /usr/lib/pppd/*/pppoatm.so ] && add_protocol pppoa [ -f /usr/lib/pppd/*/pptp.so ] && add_protocol pptp }
Encontrar Diferença