freebsd-skq/usr.sbin/ppp
Brian Somers 6f38457323 o Create a new `timer'' log level. This lets us `set
log debug'' without filling our filesystem/screen with
  junk that we don't really want to see.
o change PHYS_STDIN to PHYS_DIRECT - we can handle incoming
  connections that aren't on STDIN_FILENO now.
o Allow return values from our FSM LayerUp functions.  If
  LayerUp() fails, the FSM does an immediate FsmDown() without
  calling the fsm_parent's Layer{Up,Down} functions.
o Clear the close-on-exec flag of file descriptor 3 when executing
  chat programs so that our documented ability to communicate with
  /dev/tty via that descriptor works.  Also document it as
  descriptor 3, not 4 :-O
o Allow a ``rm'' command as an alias for ``remove''.
o Fix the bind()/connect()/accept() calls made by the MP server.
o Create bundle_SendDatalink() and bundle_ReceiveDatalink().
  This allows `struct datalink's to flatten themselves, pass
  through a pipe (read: the eye of a needle !) and come alive
  at the other end.  The donator then fork()s & exec()s pppmpipe,
  ``passing'' the connection to another ppp instance.

   *** PPP NOW TALKS MULTILINK :-))) ***

Our link utilization is hideous, and lots of code needs
tidying still.  It's also probably riddled with bugs !
It's been tested against itself only, and has hung once,
so confidence isn't high....
1998-04-30 23:53:56 +00:00
..
alias_cmd.c Pass all command arguments around with struct cmdargs rather 1998-04-14 23:17:24 +00:00
alias_cmd.h o Move alias function pointers into loadalias.c 1998-04-07 00:54:26 +00:00
arp.c o Add the link name to modem diagnostics. 1998-04-28 01:25:46 +00:00
arp.h Create #defines for all endpoint discriptor classes, 1998-04-23 23:50:40 +00:00
async.c o Remove some unused #includes. 1998-04-21 01:02:32 +00:00
async.h o Move alias function pointers into loadalias.c 1998-04-07 00:54:26 +00:00
auth.c o Add the link name to modem diagnostics. 1998-04-28 01:25:46 +00:00
auth.h o Defer setting up pap/chap based IP numbers & labels until after 1998-04-24 19:16:15 +00:00
bundle.c o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
bundle.h o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
ccp.c o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
ccp.h o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
chap_ms.c Remove unused includes. 1998-04-06 09:12:38 +00:00
chap_ms.h This commit was manufactured by cvs2svn to create branch 'MP'. 1998-01-29 00:44:16 +00:00
chap.c o Add the link name to modem diagnostics. 1998-04-28 01:25:46 +00:00
chap.h o Move alias function pointers into loadalias.c 1998-04-07 00:54:26 +00:00
chat.c o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
chat.h o Move alias function pointers into loadalias.c 1998-04-07 00:54:26 +00:00
command.c o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
command.h o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
datalink.c o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
datalink.h o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
deflate.c Make gcc-2.8.1 build ppp cleanly. 1998-04-25 10:49:52 +00:00
deflate.h This commit was manufactured by cvs2svn to create branch 'MP'. 1998-01-29 00:44:16 +00:00
defs.c o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
defs.h o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
descriptor.h o Add the link name to modem diagnostics. 1998-04-28 01:25:46 +00:00
filter.c o Add the link name to modem diagnostics. 1998-04-28 01:25:46 +00:00
filter.h Cosmetic: Clean up warnings. 1998-04-18 01:01:28 +00:00
fsm.c o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
fsm.h o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
hdlc.c o Add the link name to modem diagnostics. 1998-04-28 01:25:46 +00:00
hdlc.h o Defer setting up pap/chap based IP numbers & labels until after 1998-04-24 19:16:15 +00:00
id.c o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
id.h o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
ip.c o Add the link name to modem diagnostics. 1998-04-28 01:25:46 +00:00
ip.h o Move alias function pointers into loadalias.c 1998-04-07 00:54:26 +00:00
ipcp.c o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
ipcp.h o Add ipcp_SetLink() for attaching IPCP to the correct link, and 1998-04-23 18:56:21 +00:00
iplist.c o Move alias function pointers into loadalias.c 1998-04-07 00:54:26 +00:00
iplist.h This commit was manufactured by cvs2svn to create branch 'MP'. 1998-01-29 00:44:16 +00:00
lcp.c o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
lcp.h o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
lcpproto.h o Move struct lcp and struct ccp into struct link. 1998-04-03 19:21:56 +00:00
link.c Output the correct protocol id from the physical link-level CCP 1998-04-24 19:15:26 +00:00
link.h Output the correct protocol id from the physical link-level CCP 1998-04-24 19:15:26 +00:00
loadalias.c Make gcc-2.8.1 build ppp cleanly. 1998-04-25 10:49:52 +00:00
loadalias.h Remove MODE_ALIAS and add AliasEnabled() macro. 1998-04-07 23:46:09 +00:00
log.c o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
log.h o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
lqr.c o Add the link name to modem diagnostics. 1998-04-28 01:25:46 +00:00
lqr.h o Defer setting up pap/chap based IP numbers & labels until after 1998-04-24 19:16:15 +00:00
main.c o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
main.h o Move alias function pointers into loadalias.c 1998-04-07 00:54:26 +00:00
Makefile Make gcc-2.8.1 build ppp cleanly. 1998-04-25 10:49:52 +00:00
mbuf.c Print mbuf type names in `show mem'. 1998-04-07 01:29:44 +00:00
mbuf.h Print mbuf type names in `show mem'. 1998-04-07 01:29:44 +00:00
modem.c o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
modem.h o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
mp.c o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
mp.h o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
pap.c o Add the link name to modem diagnostics. 1998-04-28 01:25:46 +00:00
pap.h o Move alias function pointers into loadalias.c 1998-04-07 00:54:26 +00:00
pathnames.h This commit was manufactured by cvs2svn to create branch 'MP'. 1998-01-29 00:44:16 +00:00
physical.c o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
physical.h Do away with the static struct timeoutArg. Move the 1998-04-20 00:20:41 +00:00
ppp.8 o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
pred.c Make ``show ipcp'' prettier and remove a few redundant includes. 1998-04-25 00:09:14 +00:00
pred.h This commit was manufactured by cvs2svn to create branch 'MP'. 1998-01-29 00:44:16 +00:00
prompt.c Tidy up the use of struct pppTimer. 1998-04-19 15:24:50 +00:00
prompt.h o Use __attribute__ (#ifdef __GNUC__) to type-check 1998-04-19 23:09:03 +00:00
README.alias This commit was manufactured by cvs2svn to create branch 'MP'. 1998-01-29 00:44:16 +00:00
README.devel This commit was manufactured by cvs2svn to create branch 'MP'. 1998-01-29 00:44:16 +00:00
route.c o Add the link name to modem diagnostics. 1998-04-28 01:25:46 +00:00
route.h o Move alias function pointers into loadalias.c 1998-04-07 00:54:26 +00:00
server.c o Add the link name to modem diagnostics. 1998-04-28 01:25:46 +00:00
server.h o Remove the `mode' global - it's now per physical device. 1998-04-10 13:19:23 +00:00
sig.c o Use __attribute__ (#ifdef __GNUC__) to type-check 1998-04-19 23:09:03 +00:00
sig.h This commit was manufactured by cvs2svn to create branch 'MP'. 1998-01-29 00:44:16 +00:00
slcompress.c o Add the link name to modem diagnostics. 1998-04-28 01:25:46 +00:00
slcompress.h o Move alias function pointers into loadalias.c 1998-04-07 00:54:26 +00:00
systems.c o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
systems.h o Remove the `mode' global - it's now per physical device. 1998-04-10 13:19:23 +00:00
throughput.c Tidy up the use of struct pppTimer. 1998-04-19 15:24:50 +00:00
throughput.h o Move the accept/deny/disable/enable globals either to the 1998-04-16 00:26:21 +00:00
timer.c o Create a new `timer'' log level. This lets us `set 1998-04-30 23:53:56 +00:00
timer.h o Move alias function pointers into loadalias.c 1998-04-07 00:54:26 +00:00
tun.c o Add the link name to modem diagnostics. 1998-04-28 01:25:46 +00:00
tun.h o Move alias function pointers into loadalias.c 1998-04-07 00:54:26 +00:00
vjcomp.c o Add the link name to modem diagnostics. 1998-04-28 01:25:46 +00:00
vjcomp.h o Move alias function pointers into loadalias.c 1998-04-07 00:54:26 +00:00

This program was originally written by Toshiharu OHNO <tony-o@iij.ad.jp>,
and was submitted to FreeBSD-2.0.5 by Atsushi Murai <amurai@spec.co.jp>.
The original version was usually referred to as iij-ppp.

Ppp is currently maintained under FreeBSD and OpenBSD by Brian Somers
<brian@Awfulhak.org>.  The sources for both operating systems are the
same although the Makefiles vary due to the nature of each system.
If and when it's ported to another OS, things will probably be shuffled
around so that there are several Makefiles, one per architecture.

The latest sources are available in FreeBSD-current and OpenBSD-current.
An archive hacked so that it will build on just about any version of
FreeBSD is frequently generated and made available on
http://www.FreeBSD.org/~brian.  Once the first OpenBSD release is made
with ppp, an up-to-date OpenBSD archive will be made available too.

A FAQ is available at http://www.FreeBSD.org/FAQ/userppp.html.  It applies
equally to OpenBSD as it does to FreeBSD.  The man page is quite extensive,
and there are lots of examples in /etc/ppp/ppp.*.sample.  These examples
come with the hacked archive above but must be installed manually.

Ppp is still under development.  There is no official TODO list.