Date: Fri, 7 Mar 2008 09:49:52 -0600 From: Brooks Davis <brooks@freebsd.org> To: usselmann.m@icg-online.de Cc: freebsd-bugs@freebsd.org, freebsd-rc@freebsd.org Subject: Re: conf/121452: /etc/rc.d/ppp not working as expected Message-ID: <20080307154951.GB34313@lor.one-eyed-alien.net> In-Reply-To: <200803071133.m27BXoXH096841@freefall.freebsd.org> References: <200803071133.m27BXoXH096841@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--z6Eq5LdranGa6ru8 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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 =20 _ppp_profile=3D$1 + _ppp_profile_cleaned=3D$1 + _punct=3D". - / +" + for _punct_c in $_punct; do + _ppp_profile_cleaned=3D`ltr ${_ppp_profile_cleaned} ${_punct_c} '_'` + done =20 # Check for ppp profile mode override. # - eval _ppp_mode=3D\$ppp_${_ppp_profile}_mode + eval _ppp_mode=3D\$ppp_${_ppp_profile_cleaned}_mode if [ -z "$_ppp_mode" ]; then _ppp_mode=3D$ppp_mode fi =20 # Check for ppp profile nat override. # - eval _ppp_nat=3D\$ppp_${_ppp_profile}_nat + eval _ppp_nat=3D\$ppp_${_ppp_profile_cleaned}_nat if [ -z "$_ppp_nat" ]; then _ppp_nat=3D$ppp_nat fi Index: share/man/man5/rc.conf.5 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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 --z6Eq5LdranGa6ru8 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (FreeBSD) iD8DBQFH0WQfXY6L6fI4GtQRAno7AKDUKp8JMzfetCCeIcFaHJbG5XpsVwCcCupa TGmfIAueZeE7VGPR6vR/TBk= =qnXT -----END PGP SIGNATURE----- --z6Eq5LdranGa6ru8--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080307154951.GB34313>