History: ip_ppp


This page describes all changes made to the ip_ppp package, PPP, since its release.

Version

1.16 (2019-11-14, 06:39):

  • Terminates link in client mode if request for IP address is rejected.
  • Connection is faster in client mode: sending of LCP Configuration-Request optimized.
  • Bugfix: NULL-pointer de-reference could occur when callback function is set to NULL during connection.

1.15 (2019-10-14, 11:11):

  • Client mode was fixed: it reached configured state before PPP negotiation was finished.
  • NBNS addresses can be requested in client mode.
  • Server mode was fixed: previously it could not reach configured state and DNS addresses were not returned to the client if it requested them.
  • Callback function registered with ip_ppp_register_ntf() could cause deadlock if IP function was called.

1.14 (2018-09-06, 12:40):

  • Changes due to IP aliasing support for IPv4.
  • DNS addresses are requested in client mode.

1.13r2 (2018-08-29, 18:30):

  • Document HTML link added to the documentation folder.
  • History and document files renamed to the package name.

1.13 (2018-07-20, 17:24):

  • Buffer descriptors were not initialized properly, causing reconnection  problems.
  • g_ppp_ser_mutex was not deleted during ppp_ser_delete(), meaning delete/init sequence always increased the number of allocated mutexes.

1.12 (2018-04-11, 18:33):

  • Default DNS1 and DNS2 addresses were ignored in client mode.
  • Compiler warnings eliminated.

1.11 (2018-03-05, 12:43):

  • Added support for changing PPP, VJC, CHAP, and IPCP parameters dynamically.

1.10 (2018-02-26, 11:09):

  • A variable might have been used uninitialized if an error occurred during PPP initialization.
  • Successfully locked resources were released incorrectly if an error occurred during PPP initialization.

1.9r2 (2018-01-19, 11:24):

  • Added missing configuration template config_ip_ppp_driver_ser.c.

1.9 (2017-11-21, 18:03):

  • Added support for a maximum of four PPP interfaces.

1.8 (2017-09-26, 14:41):

  • Building up PPP connection (LCP negotiation phase) might fail because of demanding a peer MRU depending on its own MTU.
  • PPP interface (PPP serial driver) MTU is limited to 1500 bytes in accordance with RFC 1661.
  • In case of any timeout on the connection, the peer is informed about terminating the connection, rather than just closing the connection internally and stopping communication.
  • Re-added user PPP state change notification, configurable using ip_ppp_register_ntf(). (This API function already existed but did not operate).

1.7 (2017-08-30, 09:36):

  • LCP link negotiation failed in case the remote peer rejected a Configure-Request message.

1.6:

  • Potential deadlock eliminated when initializing, starting, stopping, or deleting the module.

1.5:

  • Updated to work with IP base major version 6.

1.4:

  • Updated to work with IP base major version 5.

1.3:

  • General serial driver used instead of UART. Physical driver is on PSP level now.
  • NW driver callbacks might have been called with invalid parameter causing possible error when used with RTOS.

1.2:

  • Resources were not released correctly in ip_ppp_drvser_init() if an error occured during initialization; this could cause a deadlock with certain RTOSes.
  • ip_ppp_drvser_delete() didn't delete the timer resource.
  • PPP driver can use external memory pool.

1.1:

  • Initial release.