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