Subject: Re: PPP again
To: None <current-users@NetBSD.ORG>
From: Hiroyuki Ito <hiroy@netcom.com>
List: current-users
Date: 06/02/1996 09:48:24
Jukka Marin <jmarin@pyy.jmp.fi> wrote:
> I also found out (by adding debug printf's to pppd source) why the new
> pppd wasn't running the connect script. Like I assumed, it blocked in
> the open() call, waiting for CD. This happened because pppd didn't read
> my /etc/ppp/options.ttym1 file at all, so it didn't know I wanted it to
> run chat. Why? Well, I start pppd from a different tty line than what
> I want pppd to use. I thought pppd would read the config file for the
> tty line I specify on the pppd command line - but it doesn't. If I say
> 'pppd /dev/ttym1 38400' on ttyp1, pppd will try to read the config from
> /etc/ppp/options.ttyp1, which doesn't exist. I don't know why pppd has
> been designed to work like this (I consider this a bug :-) Now I have
> to specify _all_ pppd options on the command line, so they are always
> visible in a ps auxww listing (which I don't like).
>
> I guess this is not a problem for people who run only one PPP because
> you can then put all the options in /etc/ppp/options - but if you want
> to run multiple PPP links, you need to use /etc/ppp/options.ttyname
> (which won't work unless you first log in via that tty and start pppd
> there).
>
> Is there a way to NOT specify the options on the command line? At least,
> the man page should clearly say how pppd works. I had no idea it wasn't
> reading my /etc/ppp/options.ttym1 at all (the old pppd version DID read
> the config file!).
% uname -srm
NetBSD 1.1B i386
% sed -n 177,181p /usr/src/usr.sbin/pppd/main.c
if (!options_from_file(_PATH_SYSOPTIONS, REQ_SYSOPTIONS, 0) ||
!options_for_tty() ||
!options_from_user() ||
!parse_args(argc-1, argv+1))
exit(1);
%
1. /etc/ppp/options
2. /etc/ppp/options.ttyp1
3. ~/.ppprc
4. command line -- "/dev/ttym1 38400"
Perhaps you want:
-------------------------------------------------------------------
if (!options_from_file(_PATH_SYSOPTIONS, REQ_SYSOPTIONS, 0) ||
!options_from_user() ||
!parse_args(argc-1, argv+1) ||
!options_for_tty())
exit(1);
-------------------------------------------------------------------
Good or bad, right or wrong, I'm not sure.
Hiroyuki Ito