1The lwIP PPP support is based from pppd 2.4.5 (http://ppp.samba.org) with
2huge changes to match code size and memory requirements for embedded devices.
3
4Anyway, pppd has a mature codebase for years and the average commit count
5is getting low on their Git repository, meaning that we can follow what
6is happening on their side and merge what is relevant for lwIP.
7
8So, here is the pppd follow up, so that we don't get away too far from pppd.
9
10
11== Patch fetched from from pppd Debian packages ==
12
13This has nothing to do with pppd, but we merged some good patch from
14Debian and this is a good place to be.
15
16- LCP adaptive echo, so that we don't send LCP echo request if we
17  are receiving data from peer, can be enabled by setting PPP_LCP_ADAPTIVE
18  to true.
19
20- IPCP no/replace default route option, were added in the early stage of
21  the ppp port, but it wasn't really helpful and was disabled when adding
22  the new API ppp_set_default() call, which gives the lwIP user control over
23  which one is the default interface, it was actually a requirement if you
24  are doing PPP over PPP (i.e. PPPoL2TP, VPN link, over PPPoE, ADSL link).
25
26- using rp-pppoe pppd exits with EXIT_OK after receiving a timeout waiting
27  for PADO due to no modem attached, bug reported to pppd bug tracker, fixed
28  in Debian but not in the latest (at the time when the port were started)
29  pppd release.
30
31
32== Commits on pppd ==
33
342010-03-06 - Document +ipv6 and ipv6cp-accept-local
35  e7537958aee79b3f653c601e903cb31d78fb7dcc
36
37Don't care.
38
39
402010-03-06 - Install pppol2tp plugins with sane permissions
41  406215672cfadc03017341fe03802d1c7294b903
42
43Don't care.
44
45
462010-03-07 - pppd: Terminate correctly if lcp_lowerup delayed calling
47             fsm_lowerup
48  3eb9e810cfa515543655659b72dde30c54fea0a5
49
50Merged 2012-05-17.
51
52
532010-03-07 - rp_pppoe: Copy acName and pppd_pppoe_service after option parsing
54  cab58617fd9d328029fffabc788020264b4fa91f
55
56Don't care, is a patch for pppd/plugins/rp-pppoe/plugin.c which is not part
57of the port.
58
59
602010-08-23 - set and reset options to control environment variables
61             for scripts.
62  2b6310fd24dba8e0fca8999916a162f0a1842a84
63
64We can't fork processes in embedded, therefore all the pppd process run
65feature is disabled in the port, so we don't care about the new
66"environment variables" pppd feature.
67
68
692010-08-23 - Nit: use _exit when exec fails and restrict values to 0-255
70             per POSIX.
71  2b4ea140432eeba5a007c0d4e6236bd0e0c12ba4
72
73Again, we are not running as a heavy process, so all exit() or _exit() calls
74were removed.
75
76
772010-08-23 - Fix quote handling in configuration files to be more like shell
78             quoting.
79  3089132cdf5b58dbdfc2daf08ec5c08eb47f8aca
80
81We are not parsing config file, all the filesystem I/O stuff were disabled
82in our port.
83
84
852010-08-24 - rp-pppoe: allow MTU to be increased up to 1500
86  fd1dcdf758418f040da3ed801ab001b5e46854e7
87
88Only concern changes on RP-PPPoE plugin, which we don't use.
89
90
912010-09-11 - chat: Allow TIMEOUT value to come from environment variable
92  ae80bf833e48a6202f44a935a68083ae52ad3824
93
94See 2b6310fd24dba8e0fca8999916a162f0a1842a84.
95
96
972011-03-05 - pppdump: Fix printfs with insufficient arguments
98  7b8db569642c83ba3283745034f2e2c95e459423
99
100pppdump is a ppp tool outside pppd source tree.
101
102
1032012-05-06 - pppd: Don't unconditionally disable VJ compression under Linux
104  d8a66adf98a0e525cf38031b42098d539da6eeb6
105
106Patch for sys-linux.c, which we don't use.
107
108
1092012-05-20 - Remove old version of Linux if_pppol2tp.h
110  c41092dd4c49267f232f6cba3d31c6c68bfdf68d
111
112Not in the port.
113
114
1152012-05-20 - pppd: Make MSCHAP-v2 cope better with packet loss
116  08ef47ca532294eb428238c831616748940e24a2
117
118This is an interesting patch. However it consumes much more memory for
119MSCHAP and I am not sure if the benefit worth it. The PPP client can
120always start the authentication again if it failed for whatever reason.
121
122
1232012-05-20 - scripts: Make poff ignore extra arguments to pppd
124  18f515f32c9f5723a9c2c912601e04335106534b
125
126Again, we are not running scripts.
127
128
1292012-05-20 - rp-pppoe plugin: Print leading zeros in MAC address
130  f5dda0cfc220c4b52e26144096d729e27b30f0f7
131
132Again, we are not using the RP-PPPoE plugin.
133
134
1352012-05-20 - pppd: Notify IPv6 up/down as we do for IPv4
136  845cda8fa18939cf56e60b073f63a7efa65336fc
137
138This is just a patch that adds plugins hooks for IPv6, the plugin interface
139was disabled because we don't have .so plugins in embedded.
140
141
1422012-05-20 - pppd: Enable IPV6 by default and fix some warnings
143  0b6118239615e98959f7e0b4e746bdd197533248
144
145Change on Makefile for IPv6, warnings were already cleared during port.
146
147
1482012-05-20 - contrib: Fix pppgetpass.gtk compilation
149  80a8e2ce257ca12cce723519a0f20ea1d663b14a
150
151Change on Makefile, don't care.
152
153
1542012-05-20 - pppd: Don't crash if crypt() returns NULL
155  04c4348108d847e034dd91066cc6843f60d71731
156
157We are using the PolarSSL DES implementation that does not return NULL.
158
159
1602012-05-20 - pppd: Eliminate some warnings
161  c44ae5e6a7338c96eb463881fe709b2dfaffe568
162
163Again, we are handling compilation warnings on our own.
164
165
1662012-05-20 - rp-pppoe plugin: Import some fixes from rp-pppoe-3.10
167  1817d83e51a411044e730ba89ebdb0480e1c8cd4
168
169Once more, we are not using the RP-PPPoE plugin.
170
171
1722013-01-23 - pppd: Clarify circumstances where DNS1/DNS2 environment variables are set
173  cf2f5c9538b9400ade23446a194729b0a4113b3a
174
175Documentation only.
176
177
1782013-02-03 - ppp: ignore unrecognised radiusclient configuration directives
179  7f736dde0da3c19855997d9e67370e351e15e923
180
181Radius plugin, not in the port.
182
183
1842013-02-03 - pppd: Take out unused %r conversion completely
185  356d8d558d844412119aa18c8e5a113bc6459c7b
186
187Merged 2014-04-15.
188
189
1902013-02-03 - pppd: Arrange to use logwtmp from libutil on Linux
191  9617a7eb137f4fee62799a677a9ecf8d834db3f5
192
193Patch for sys-linux.c, which we don't use.
194
195
1962013-02-03 - pppdump: Eliminate some compiler warnings
197  3e3acf1ba2b3046c072a42c19164788a9e419bd1
198
199pppdump is a ppp tool outside pppd source tree.
200
201
2022013-02-03 - chat: Correct spelling errors in the man page
203  8dea1b969d266ccbf6f3a8c5474eb6dcd8838e3b
204
205Documentation only.
206
207
2082013-02-03 - pppd: Fix spelling errors in man page
209  9e05a25d76b3f83096c661678010320df673df6b
210
211Documentation only.
212
213
2142013-02-03 - plugins/passprompt: Fix potential out-of-bounds array reference
215  8edb889b753056a691a3e4b217a110a35f9fdedb
216
217Plugin patch, we do not have plugins.
218
219
2202013-02-03 - chat: Fix *roff errors in the man page
221  a7c3489eeaf44e83ce592143c7c8a5b5c29f4c48
222
223Documentation only.
224
225
2262013-03-02 - pppd: Fix man page description of case when remote IP address isn't known
227  224841f4799f4f1e2e71bc490c54448d66740f4f
228
229Documentation only.
230
231
2322013-03-02 - pppd: Add master_detach option
233  398ed2585640d198c53e736ee5bbd67f7ce8168e
234
235Option for multilink support, we do not support multilink and this option
236is about detaching from the terminal, which is out of the embedded scope.
237
238
2392013-03-11 - pppd: Default exit status to EXIT_CONNECT_FAILED during connection phase
240  225361d64ae737afdc8cb57579a2f33525461bc9
241
242Commented out in our port, and already fixed by a previously applied Debian patch.
243
244
2452013-03-11 - pppstats: Fix undefined macro in man page
246  d16a3985eade5280b8e171f5dd0670a91cba0d39
247
248Documentation only.
249
250
2512013-05-11 - plugins/radius: Handle bindaddr keyword in radiusclient.conf
252  d883b2dbafeed3ebd9d7a56ab1469373bd001a3b
253
254Radius plugin, not in the port.
255
256
2572013-06-09 - pppoatm: Remove explicit loading of pppoatm kernel module
258  52cd43a84bea524033b918b603698104f221bbb7
259
260PPPoATM plugin, not in the port.
261
262
2632013-06-09 - pppd: Fix segfault in update_db_entry()
264  37476164f15a45015310b9d4b197c2d7db1f7f8f
265
266We do not use the samba db.
267
268
2692013-06-09 - chat: Fix some text that was intended to be literal
270  cd9683676618adcee8add2c3cfa3382341b5a1f6
271
272Documentation only.
273
274
2752013-06-09 - README.pppoe: Minor semantic fix
276  b5b8898af6fd3d44e873cfc66810ace5f1f47e17
277
278Documentation only.
279
280
2812013-06-10 - radius: Handle additional attributes
282  2f581cd986a56f2ec4a95abad4f8297a1b10d7e2
283
284Radius plugin, not in the port.
285
286
2872013-06-10 - chat, pppd: Use \e instead of \\ in man pages
288  8d6942415d22f6ca4377340ca26e345c3f5fa5db
289
290Documentation only.
291
292
2932014-01-02 - pppd: Don't crash if NULL pointer passed to vslprintf for %q or %v
294  906814431bddeb2061825fa1ebad1a967b6d87a9
295
296Merged 2014-04-15.
297
298
2992014-01-02 - pppd: Accept IPCP ConfAck packets containing MS-WINS options
300  a243f217f1c6ac1aa7793806bc88590d077f490a
301
302Merged 2014-04-15.
303
304
3052014-01-02 - config: Update Solaris compiler options and enable CHAPMS and IPV6
306  99c46caaed01b7edba87962aa52b77fad61bfd7b
307
308Solaris port, don't care.
309
310
3112014-01-02 - Update README and patchlevel for 2.4.6 release
312  4043750fca36e7e0eb90d702e048ad1da4929418
313
314Just release stuff.
315
316
3172014-02-18 - pppd: Add option "stop-bits" to set number of serial port stop bits.
318  ad993a20ee485f0d0e2ac4105221641b200da6e2
319
320Low level serial port, not in the port.
321
322
3232014-03-09 - pppd: Separate IPv6 handling for sifup/sifdown
324  b04d2dc6df5c6b5650fea44250d58757ee3dac4a
325
326Reimplemented.
327
328
3292014-03-09 - pppol2tp: Connect up/down events to notifiers and add IPv6 ones
330  fafbe50251efc7d6b4a8be652d085316e112b34f
331
332Not in the port.
333
334
3352014-03-09 - pppd: Add declarations to eliminate compile warnings
336  50967962addebe15c7a7e63116ff46a0441dc464
337
338We are handling compilation warnings on our own
339
340
3412014-03-09 - pppd: Eliminate some unnecessary ifdefs
342  de8da14d845ee6db9236ccfddabf1d8ebf045ddb
343
344We mostly did that previously. Anyway, merged 2014-12-24.
345
346
3472014-08-01 - radius: Fix realms-config-file option
348  880a81be7c8e0fe8567227bc17a1bff3ea035943
349
350Radius plugin, not in the port.
351
352
3532014-08-01 - pppd: Eliminate potential integer overflow in option parsing
354  7658e8257183f062dc01f87969c140707c7e52cb
355
356pppd config file parser, not in the port.
357
358
3592014-08-01 - pppd: Eliminate memory leak with multiple instances of a string option
360  b94b7fbbaa0589aa6ec5fdc733aeb9ff294d2656
361
362pppd config file parser, not in the port.
363
364
3652014-08-01 - pppd: Fix a stack variable overflow in MSCHAP-v2
366  36733a891fb56594fcee580f667b33a64b990981
367
368This fixes a bug introduced in 08ef47ca ("pppd: Make MSCHAP-v2 cope better with packet loss").
369
370We didn't merge 08ef47ca ;-)
371
372
3732014-08-01 - winbind plugin: Add -DMPPE=1 to eliminate compiler warnings
374  2b05e22c62095e97dd0a97e4b5588402c2185071
375
376Linux plugin, not in the port.
377
378
3792014-08-09 - Update README and patchlevel for 2.4.7 release
380  6e8eaa7a78b31cdab2edf140a9c8afdb02ffaca5
381
382Just release stuff.
383
384
3852014-08-10 - abort on errors in subdir builds
386  5e90783d11a59268e05f4cfb29ce2343b13e8ab2
387
388Linux Makefile, not in the port.
389
390
3912014-06-03 - pppd: add support for defaultroute-metric option
392  35e5a569c988b1ff865b02a24d9a727a00db4da9
393
394Only necessary for Linux, lwIP does not support route metrics.
395
396
3972014-12-13 - scripts: Avoid killing wrong pppd
398  67811a647d399db5d188a242827760615a0f86b5
399
400pppd helper script, not in the port.
401
402
4032014-12-20 - pppd: Fix sign-extension when displaying bytes in octal
404  5e8c3cb256a7e86e3572a82a75d51c6850efdbdc
405
406Merged 2016-07-02.
407
408
4092015-03-01 - Suppress false error message on PPPoE disconnect
410  219aac3b53d0827549377f1bfe22853ee52d4405
411
412PPPoE plugin, not in the port.
413
414
4152015-03-01 - Send PADT on PPPoE disconnect
416  cd2c14f998c57bbe6a01dc5854f2763c0d7f31fb
417
418PPPoE plugin, not in the port. And our PPPoE implementation already does
419that: pppoe_disconnect() calls pppoe_send_padt().
420
421
4222015-08-14 - pppd: ipxcp: Prevent buffer overrun on remote router name
423  fe149de624f96629a7f46732055d8f718c74b856
424
425We never ported IPX support. lwIP does not support IPX.
426
427
4282015-03-25 - pppd: Fix ccp_options.mppe type
429  234edab99a6bb250cc9ecd384cca27b0c8b475ce
430
431We found that while working on MPPE support in lwIP, that's our patch ;-)
432
433
4342015-03-24 - pppd: Fix ccp_cilen calculated size if both deflate_correct and deflate_draft are enabled
435  094cb8ae4c61db225e67fedadb4964f846dd0c27
436
437We found that while working on MPPE support in lwIP, that's our patch ;-)
438
439
4402015-08-14 - Merge branch 'master' of https://github.com/ncopa/ppp
441  3a5c9a8fbc8970375cd881151d44e4b6fe249c6a
442
443Merge commit, we don't care.
444
445
4462015-08-14 - Merge branch 'master' of git://github.com/vapier/ppp
447  912e4fc6665aca188dced7ea7fdc663ce5a2dd24
448
449Merge commit, we don't care.
450
451
4522015-08-14 - Merge branch 'bug_fix' of git://github.com/radaiming/ppp
453  dfd33d7f526ecd7b39dd1bba8101260d02af5ebb
454
455Merge commit, we don't care.
456
457
4582015-08-14 - Merge branch 'master' of git://github.com/pprindeville/ppp
459  aa4a985f6114d08cf4e47634fb6325da71016473
460
461Merge commit, we don't care.
462
463
4642015-08-14 - Merge branch 'no-error-on-already-closed' of git://github.com/farnz/ppp
465  6edf252483b30dbcdcc5059f01831455365d5b6e
466
467Merge commit, we don't care.
468
469
4702015-08-14 - Merge branch 'send-padt-on-disconnect' of git://github.com/farnz/ppp
471  84684243d651f55f6df69d2a6707b52fbbe62bb9
472
473Merge commit, we don't care.
474