conf/121452: /etc/rc.d/ppp not working as expected
Brooks Davis
brooks at freebsd.org
Fri Mar 7 16:11:35 UTC 2008
The following patch should allow profile name to contain ".-/+" characters
as we do with interfaces. It also documents the previous undocumnted
per-profile overrides of _mode and _nat which were the cause of the problem.
If someone who uses ppp could test this, I'd be happy to commit it.
-- Brooks
Index: etc/rc.d/ppp
===================================================================
RCS file: /home/ncvs/src/etc/rc.d/ppp,v
retrieving revision 1.16
diff -u -p -r1.16 ppp
--- etc/rc.d/ppp 26 Jan 2008 14:02:19 -0000 1.16
+++ etc/rc.d/ppp 7 Mar 2008 15:42:29 -0000
@@ -21,17 +21,22 @@ ppp_start_profile()
local _ppp_profile _ppp_mode _ppp_nat
_ppp_profile=$1
+ _ppp_profile_cleaned=$1
+ _punct=". - / +"
+ for _punct_c in $_punct; do
+ _ppp_profile_cleaned=`ltr ${_ppp_profile_cleaned} ${_punct_c} '_'`
+ done
# Check for ppp profile mode override.
#
- eval _ppp_mode=\$ppp_${_ppp_profile}_mode
+ eval _ppp_mode=\$ppp_${_ppp_profile_cleaned}_mode
if [ -z "$_ppp_mode" ]; then
_ppp_mode=$ppp_mode
fi
# Check for ppp profile nat override.
#
- eval _ppp_nat=\$ppp_${_ppp_profile}_nat
+ eval _ppp_nat=\$ppp_${_ppp_profile_cleaned}_nat
if [ -z "$_ppp_nat" ]; then
_ppp_nat=$ppp_nat
fi
Index: share/man/man5/rc.conf.5
===================================================================
RCS file: /home/ncvs/src/share/man/man5/rc.conf.5,v
retrieving revision 1.335
diff -u -p -r1.335 rc.conf.5
--- share/man/man5/rc.conf.5 5 Mar 2008 18:32:58 -0000 1.335
+++ share/man/man5/rc.conf.5 7 Mar 2008 15:42:29 -0000
@@ -1315,11 +1315,30 @@ If set to
run the
.Xr ppp 8
daemon.
+.It Va ppp_profile
+.Pq Vt str
+The name of the profile to use from
+.Pa /etc/ppp/ppp.conf .
+Also used for per-profile overrides of
+.Va ppp_mode
+and
+.Va ppp_nat .
+When the profile name contains any of the characters
+.Dq Li .-/+
+they are translated to
+.Dq Li _
+for the proposes of the override variable names.
.It Va ppp_mode
.Pq Vt str
Mode in which to run the
.Xr ppp 8
daemon.
+.It Va ppp_ Ns Ao Ar profile Ac Ns _mode
+.Pq Vt str
+Overrides the global
+.Va ppp_mode
+for
+.Ar profile .
Accepted modes are
.Dq Li auto ,
.Dq Li ddial ,
@@ -1336,10 +1355,12 @@ Used in conjunction with
.Va gateway_enable
allows hosts on private network addresses access to the Internet using
this host as a network address translating router.
-.It Va ppp_profile
+.It Va ppp_ Ns Ao Ar profile Ac Ns _nat
.Pq Vt str
-The name of the profile to use from
-.Pa /etc/ppp/ppp.conf .
+Overrides the global
+.Va ppp_nat
+for
+.Ar profile .
.It Va ppp_user
.Pq Vt str
The name of the user under which
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-bugs/attachments/20080307/762e2dfa/attachment.pgp
More information about the freebsd-bugs
mailing list