|
Lines 1-7
Link Here
|
| 1 |
#!/bin/sh -ef |
1 |
#!/bin/sh -ef |
| 2 |
|
2 |
|
| 3 |
PATH=/usr/lib/alterator-net-common:$PATH |
3 |
PATH=/usr/lib/alterator-net-common:$PATH |
| 4 |
chapfile=/etc/ppp/chap-secrets |
|
|
| 5 |
|
4 |
|
| 6 |
################### shell file helpers |
5 |
################### shell file helpers |
| 7 |
|
6 |
|
|
Lines 86-97
Link Here
|
| 86 |
|
85 |
|
| 87 |
if [ -n "$in_login" ] ;then |
86 |
if [ -n "$in_login" ] ;then |
| 88 |
sed -r "s,^user[[:space:]].*,user $in_login," -i "$name/pppoptions" |
87 |
sed -r "s,^user[[:space:]].*,user $in_login," -i "$name/pppoptions" |
| 89 |
sed -r "s,^$prev_login[[:space:]]*,$in_login ," -i "$chapfile" |
|
|
| 90 |
prev_login="$in_login" |
88 |
prev_login="$in_login" |
| 91 |
fi |
89 |
fi |
| 92 |
if [ -n "$in_password" ]; then |
90 |
if [ -n "$in_password" ]; then |
| 93 |
in_password=$(echo "$in_password"|sed -e 's/["]/\\\\&/g') |
91 |
in_password=$(echo "$in_password"|sed -e 's/["]/\\\\&/g') |
| 94 |
sed -r "s,^$prev_login[[:space:]].*,$prev_login * \"$in_password\" *," -i "$chapfile" |
92 |
sed -r "s,^password[[:space:]].*,password $in_password," -i "$name/pppoptions" |
|
|
93 |
|
| 94 |
# deny users from reading the password |
| 95 |
chmod o-rw "$name/pppoptions" |
| 95 |
fi |
96 |
fi |
| 96 |
|
97 |
|
| 97 |
ifdown "$1" && ifup "$1" |
98 |
ifdown "$1" && ifup "$1" |
|
Lines 99-106
Link Here
|
| 99 |
|
100 |
|
| 100 |
new_iface() |
101 |
new_iface() |
| 101 |
{ |
102 |
{ |
| 102 |
grep -qs "^$in_login[[:space:]]" "$chapfile" && return 1 |
|
|
| 103 |
|
| 104 |
local name="/etc/net/ifaces/$1" |
103 |
local name="/etc/net/ifaces/$1" |
| 105 |
in_password=$(echo "$in_password"|sed -e 's/["]/\\\\&/g') |
104 |
in_password=$(echo "$in_password"|sed -e 's/["]/\\\\&/g') |
| 106 |
|
105 |
|
|
Lines 111-119
Link Here
|
| 111 |
shell_add_or_subst "REQUIRES=" "$in_iface" "$name/options" |
110 |
shell_add_or_subst "REQUIRES=" "$in_iface" "$name/options" |
| 112 |
|
111 |
|
| 113 |
shell_add_or_subst "user " "$in_login" "$name/pppoptions" |
112 |
shell_add_or_subst "user " "$in_login" "$name/pppoptions" |
| 114 |
|
113 |
shell_add_or_subst "password " "$in_password" "$name/pppoptions" |
| 115 |
echo "$in_login * \"$in_password\" *" >>"$chapfile" |
114 |
|
| 116 |
|
115 |
# deny users from reading the password |
|
|
116 |
chmod o-rw "$name/pppoptions" |
| 117 |
|
| 117 |
ifup "$1" |
118 |
ifup "$1" |
| 118 |
return 0 |
119 |
return 0 |
| 119 |
} |
120 |
} |
|
Lines 125-134
Link Here
|
| 125 |
local name="/etc/net/ifaces/$1" |
126 |
local name="/etc/net/ifaces/$1" |
| 126 |
local prev_login="$(grep '^user' "$name/pppoptions"|sed -r 's,user[[:space:]]*,,')" |
127 |
local prev_login="$(grep '^user' "$name/pppoptions"|sed -r 's,user[[:space:]]*,,')" |
| 127 |
|
128 |
|
| 128 |
sed -r "/^$prev_login[[:space:]]/ d" -i "$chapfile" |
129 |
# do ifdown before rm so that ifup-{pre,post} are executed |
| 129 |
rm -rf "$name" |
130 |
ifdown "$1" |
| 130 |
|
131 |
rm -rf "$name" |
| 131 |
ifdown "$1" |
|
|
| 132 |
} |
132 |
} |
| 133 |
|
133 |
|
| 134 |
_() |
134 |
_() |