On Mon, 16 Mar 1998, Adam Heath wrote:

> I have never liked the idea of having to edit either ip-up, or ip-down each
> time I want to add a script into the ppp chain.  This is also hard for
> separate packages to do automatically, without errors.
> 
> So here it comes.  Sit down for this one.
> 
> On my system there is *NO* ip-up, or ip-down.  Pppd shells out to
> /etc/ppp/ppp-functions, with the first parameter being a runlevel, and the
> rest the normal parameters passed to ip-up.  Then, ppp-functions sets up some
> variables, and runs "/etc/ppp/rc <runlevel>."  Rc is similiar to the rc that
> init uses, in that there are kill scripts and start scripts for each level.
> 
> Also, pppd waits until the external script finishes, so make sure that all
> programs are either short in duration, or fork into the background.
> 
> I am thinking of more places to add runlevels.  Currently, I am trying to
> eliminate the connect option from pppd's option files.  Ppp-functions would be
> called like this: "/etc/ppp/ppp-functions dial <hostname> <username> <ip-up
> parms>," with stdin, stdout, and stderr redirected to the serial port.
> Ppp-functions could then use whatever means nescessary to dial.  This would
> allow for dialing several numbers in round-robin fashion, better redial
> capabilities, enhanced logging, etc.
> 
> 
> 
> Hints for the debian developer(don't do this yet, as it is not official)
> 
> If a package wants to be run when pppd is on, then include a file
> "/etc/ppp/scripts.d/<packagename>."  In the postinst, run the command
> ppp-update.d.
> 
> 
> runlevel                              directory               old method
>                                       (relative to /etc/ppp/)
> --------------------------------------------------------
> init(just before modem init)          init.d
> cnct(modem finished connecting        cnct.d
>       but before ip-layer
>       starts)
> online(ip-layer is up)                online.d                ip-up
> offline(ip-layer is down)             offline.d               ip-down
> discnct(modem is disconnected)        discnct.d
> idle(pppd is in the holdtime)         idle.d
> 
> ppp-update.d defaults to online.d/S20 and offline.d/K20.
> 
> 
> 

Success!  I now have no need of a connect option inside of pppd.  Currently,
pppd calls /etc/ppp-functions like this: 
"/etc/ppp/ppp-functions[8360] /dev/ttyS1 862-4141 michnet
[EMAIL PROTECTED]"

ppp-functions then uses a new runlevel, dial(dial.d) to dial out on the modem.
Currently, a script, connector, build a connect script, and executes chat.
Multiple phone numbers are supported, but currently they are hard-coded into
the script.  Redial takes place *outside* of pppd, so more sophisticated
redial techniques can be used.

I connect to the internet for this session with the "connector" portion
commented out in pppd's source.  It is only running /etc/ppp/ppp-functions.

Adam



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to