The lwIP PPP support is based from pppd 2.4.5 (http://ppp.samba.org) with
huge changes to match code size and memory requirements for embedded devices.

Anyway, pppd has a mature codebase for years and the average commit count
is getting low on their Git repositories, meaning that we can follow what
is happening on their side and merge what is relevant for lwIP.

So, here is the pppd follow up, so that we don't get away too far from pppd.


== Patch fetched from from pppd Debian packages ==

This has nothing to do with pppd, but we merged some good patch from
Debian and this is a good place to be.

- LCP adaptive echo, so that we don't send LCP echo request if we
  are receiving data from peer, can be enabled by setting PPP_LCP_ADAPTIVE
  to true.
 
- IPCP no/replace default route option, were added in the early stage of
  the ppp port, but it wasn't really helpful and was disabled when adding
  the new API ppp_set_default() call, which gives the lwIP user control over
  which one is the default interface, it was actually a requirement if you
  are doing PPP over PPP (i.e. PPPoL2TP, VPN link, over PPPoE, ADSL link).

- using rp-pppoe pppd exits with EXIT_OK after receiving a timeout waiting
  for PADO due to no modem attached, bug reported to pppd bug tracker, fixed
  in Debian but not in the latest (at the time when the port were started)
  pppd release.


== Commits on pppd ==

2010-03-06 - Document +ipv6 and ipv6cp-accept-local
  e7537958aee79b3f653c601e903cb31d78fb7dcc

Don't care.


2010-03-06 - Install pppol2tp plugins with sane permissions
  406215672cfadc03017341fe03802d1c7294b903

Don't care.


2010-03-07 - pppd: Terminate correctly if lcp_lowerup delayed calling
             fsm_lowerup
  3eb9e810cfa515543655659b72dde30c54fea0a5

Merged 2012-05-17.


2010-03-07 - rp_pppoe: Copy acName and pppd_pppoe_service after option parsing
  cab58617fd9d328029fffabc788020264b4fa91f

Don't care, is a patch for pppd/plugins/rp-pppoe/plugin.c which is not part
of the port.


2010-08-23 - set and reset options to control environment variables
             for scripts.
  2b6310fd24dba8e0fca8999916a162f0a1842a84

We can't fork processes in embedded, therefore all the pppd process run
feature is disabled in the port, so we don't care about the new
"environment variables" pppd feature.


2010-08-23 - Nit: use _exit when exec fails and restrict values to 0-255
             per POSIX.
  2b4ea140432eeba5a007c0d4e6236bd0e0c12ba4

Again, we are not running as a heavy process, so all exit() or _exit() calls
were removed.


2010-08-23 - Fix quote handling in configuration files to be more like shell
             quoting.
  3089132cdf5b58dbdfc2daf08ec5c08eb47f8aca

We are not parsing config file, all the filesystem I/O stuff were disabled
in our port.


2010-08-24 - rp-pppoe: allow MTU to be increased up to 1500
  fd1dcdf758418f040da3ed801ab001b5e46854e7

Only concern changes on RP-PPPoE plugin, which we don't use.


2010-09-11 - chat: Allow TIMEOUT value to come from environment variable
  ae80bf833e48a6202f44a935a68083ae52ad3824

See 2b6310fd24dba8e0fca8999916a162f0a1842a84.


2011-03-05 - pppdump: Fix printfs with insufficient arguments
  7b8db569642c83ba3283745034f2e2c95e459423

pppdump is a ppp tool outside pppd source tree.


2012-05-06 - pppd: Don't unconditionally disable VJ compression under Linux
  d8a66adf98a0e525cf38031b42098d539da6eeb6

Patch for sys-linux.c, which we don't use.


2012-05-20 - Remove old version of Linux if_pppol2tp.h
  c41092dd4c49267f232f6cba3d31c6c68bfdf68d

Not in the port.


2012-05-20 - pppd: Make MSCHAP-v2 cope better with packet loss
  08ef47ca532294eb428238c831616748940e24a2

This is an interesting patch. However it consumes much more memory for
MSCHAP and I am not sure if the benefit worth it. The PPP client can
always start the authentication again if it failed for whatever reason.


2012-05-20 - scripts: Make poff ignore extra arguments to pppd
  18f515f32c9f5723a9c2c912601e04335106534b

Again, we are not running scripts.


2012-05-20 - rp-pppoe plugin: Print leading zeros in MAC address
  f5dda0cfc220c4b52e26144096d729e27b30f0f7

Again, we are not using the RP-PPPoE plugin.


2012-05-20 - pppd: Notify IPv6 up/down as we do for IPv4
  845cda8fa18939cf56e60b073f63a7efa65336fc

This is just a patch that adds plugins hooks for IPv6, the plugin interface
was disabled because we don't have .so plugins in embedded.


2012-05-20 - pppd: Enable IPV6 by default and fix some warnings
  0b6118239615e98959f7e0b4e746bdd197533248

Change on Makefile for IPv6, warnings were already cleared during port.


2012-05-20 - contrib: Fix pppgetpass.gtk compilation
  80a8e2ce257ca12cce723519a0f20ea1d663b14a

Change on Makefile, don't care.


2012-05-20 - pppd: Don't crash if crypt() returns NULL
  04c4348108d847e034dd91066cc6843f60d71731

We are using the PolarSSL DES implementation that does not return NULL.


2012-05-20 - pppd: Eliminate some warnings
  c44ae5e6a7338c96eb463881fe709b2dfaffe568

Again, we are handling compilation warnings on our own.


2012-05-20 - rp-pppoe plugin: Import some fixes from rp-pppoe-3.10
  1817d83e51a411044e730ba89ebdb0480e1c8cd4

Once more, we are not using the RP-PPPoE plugin.


2013-01-23 - pppd: Clarify circumstances where DNS1/DNS2 environment variables are set
  cf2f5c9538b9400ade23446a194729b0a4113b3a

Documentation only.


2013-02-03 - ppp: ignore unrecognised radiusclient configuration directives
  7f736dde0da3c19855997d9e67370e351e15e923

Radius plugin, not in the port.


2013-02-03 - pppd: Take out unused %r conversion completely
  356d8d558d844412119aa18c8e5a113bc6459c7b

Merged 2014-04-15.


2013-02-03 - pppd: Arrange to use logwtmp from libutil on Linux
  9617a7eb137f4fee62799a677a9ecf8d834db3f5

Patch for sys-linux.c, which we don't use.


2013-02-03 - pppdump: Eliminate some compiler warnings
  3e3acf1ba2b3046c072a42c19164788a9e419bd1

pppdump is a ppp tool outside pppd source tree.


2013-02-03 - chat: Correct spelling errors in the man page
  8dea1b969d266ccbf6f3a8c5474eb6dcd8838e3b

Documentation only.


2013-02-03 - pppd: Fix spelling errors in man page
  9e05a25d76b3f83096c661678010320df673df6b

Documentation only.


2013-02-03 - plugins/passprompt: Fix potential out-of-bounds array reference
  8edb889b753056a691a3e4b217a110a35f9fdedb

Plugin patch, we do not have plugins.


2013-02-03 - chat: Fix *roff errors in the man page
  a7c3489eeaf44e83ce592143c7c8a5b5c29f4c48

Documentation only.


2013-03-02 - pppd: Fix man page description of case when remote IP address isn't known
  224841f4799f4f1e2e71bc490c54448d66740f4f

Documentation only.


2013-03-02 - pppd: Add master_detach option
  398ed2585640d198c53e736ee5bbd67f7ce8168e

Option for multilink support, we do not support multilink and this option
is about detaching from the terminal, which is out of the embedded scope.


2013-03-11 - pppd: Default exit status to EXIT_CONNECT_FAILED during connection phase
  225361d64ae737afdc8cb57579a2f33525461bc9

Commented out in our port, and already fixed by a previously applied Debian patch.


2013-03-11 - pppstats: Fix undefined macro in man page
  d16a3985eade5280b8e171f5dd0670a91cba0d39

Documentation only.


2013-05-11 - plugins/radius: Handle bindaddr keyword in radiusclient.conf
  d883b2dbafeed3ebd9d7a56ab1469373bd001a3b

Radius plugin, not in the port.


2013-06-09 - pppoatm: Remove explicit loading of pppoatm kernel module
  52cd43a84bea524033b918b603698104f221bbb7

PPPoATM plugin, not in the port.


2013-06-09 - pppd: Fix segfault in update_db_entry()
  37476164f15a45015310b9d4b197c2d7db1f7f8f

We do not use the samba db.


2013-06-09 - chat: Fix some text that was intended to be literal
  cd9683676618adcee8add2c3cfa3382341b5a1f6

Documentation only.


2013-06-09 - README.pppoe: Minor semantic fix
  b5b8898af6fd3d44e873cfc66810ace5f1f47e17

Documentation only.


2013-06-10 - radius: Handle additional attributes
  2f581cd986a56f2ec4a95abad4f8297a1b10d7e2

Radius plugin, not in the port.


2013-06-10 - chat, pppd: Use \e instead of \\ in man pages
  8d6942415d22f6ca4377340ca26e345c3f5fa5db

Documentation only.


2014-01-02 - pppd: Don't crash if NULL pointer passed to vslprintf for %q or %v
  906814431bddeb2061825fa1ebad1a967b6d87a9

Merged 2014-04-15.


2014-01-02 - pppd: Accept IPCP ConfAck packets containing MS-WINS options
  a243f217f1c6ac1aa7793806bc88590d077f490a

Merged 2014-04-15.


2014-01-02 - config: Update Solaris compiler options and enable CHAPMS and IPV6
  99c46caaed01b7edba87962aa52b77fad61bfd7b

Solaris port, don't care.


2014-01-02 - Update README and patchlevel for 2.4.6 release
  4043750fca36e7e0eb90d702e048ad1da4929418

Just release stuff.
