Brian Somers 3b0f8d2ed6 o Move struct lcp and struct ccp into struct link.
o Remove bundle2lcp(), bundle2ccp() and bundle2link().
  They're too resource-hungry and we have `owner pointers'
  to do their job.
o Make our FSM understand LCPs that are always ST_OPENED
  (with a minimum code that != 1).
o Send FSM code rejects for invalid codes.
o Make our bundle fsm_parent deal with multiple links.
o Make timer diagnostics pretty and allow access via ~t
  in `term' mode (not just when logging debug) and
  `show timers'.  Only show timers every second in debug
  mode, otherwise we get too many diagnostics to be useful
  (we probably still do).  Also, don't restrict ~m in term
  mode to depend on debug logging.
o Rationalise our bundles' phases.
o Create struct mp (multilink protocol).  This is both an
  NCP and a type of struct link.  It feeds off other NCPs
  for output, passing fragmented packets into the queues
  of available datalinks.  It also gets PROTO_MP input,
  reassembles the fragments into ppp frames, and passes
  them back to the HDLC layer that the fragments were passed
  from.
  ** It's not yet possible to enter multilink mode :-( **
o Add `set weight' (requires context) for deciding on a links
  weighting in multilink mode.  Weighting is simplistic (and
  probably badly implemented) for now.
o Remove the function pointers in struct link.  They ended up
  only applying to physical links.
o Configure our tun device with an MTU equal to the MRU from
  struct mp's LCP and a speed equal to the sum of our link
  speeds.
o `show {lcp,ccp,proto}' and `set deflate' now have optional
  context and use ChooseLink() to decide on which `struct link'
  to use.  This allows behaviour as before when in non-multilink
  mode, and allows access to the MP logical link in multilink
  mode.
o Ignore reconnect and redial values when in -direct mode and
  when cleaning up.  Always redial when in -ddial or -dedicated
  mode (unless cleaning up).
o Tell our links to `staydown' when we close them due to a signal.
o Remove remaining `#ifdef SIGALRM's (ppp doesn't function without
  alarms).
o Don't bother strdup()ing our physical link name.
o Various other cosmetic changes.
1998-04-03 19:21:56 +00:00
..
1998-02-18 19:35:20 +00:00
1998-03-13 21:08:05 +00:00
1998-03-16 22:52:54 +00:00
1998-02-19 02:08:53 +00:00
1998-02-19 02:08:53 +00:00
1998-03-13 00:44:26 +00:00
1998-03-16 22:53:15 +00:00
1998-02-07 20:50:08 +00:00
1998-03-08 23:44:48 +00:00
1998-03-24 18:47:32 +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.