Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS import: src/external/bsd/ppp/dist



Module Name:    src
Committed By:   christos
Date:           Fri Nov 13 16:40:08 UTC 2026

Update of /cvsroot/src/external/bsd/ppp/dist
In directory ivanova.netbsd.org:/tmp/cvs-serv7696

Log Message:
Import pppd-2.5.5 (previous was 2.5.2)

Release 2.5.5
=============
This is a bug-fix and security release, with no new features. Changes include:
* Fix bugs where hook scripts such as /etc/ppp/ip-up were not being run.
* Fix bugs causing PPP_SCRIPT_INSTANCE to be set incorrectly for some
  scripts.
* Fix validation of received frames in the RADIUS plugin, along with some
  further hardening against incorrect received frames.
* Fix generation of MPPE keys when EAP-TLS is being used with TLS 1.3.
* This makes it work with Windows clients, but breaks compatibility with
  earlier versions of pppd (but only in the case where EAP-TLS and MPPE and
  the 'max-tls-version 1.3' option are all being used).
* Various cases existed in the MPPE code where the link could come up without
  MPPE encryption despite it being requested via one or more of the 'require-
  mppe', 'require-mppe-40' or 'require-mppe-128' options. This is now fixed.
  Also, pppd will now accept an MPPE CCP configuration option requesting no
  encryption from the peer if MPPE is not required (rather than rejecting
  it).
* Fix a bug where the password from a file specified with the '+ua' option
  was not being used.

Release 2.5.4
=============
This is primarily a security release, fixing several vulnerabilities including
CVE-2026-75883 and CVE-2026-85495. For more details on this and other
vulnerabilities fixed, see the GitHub advisories at:

  https://github.com/ppp-project/ppp/security/advisories?state=published

These range in severity up to 6.8 (moderate). Many of the vulnerabilities are
actually only of concern if pppd is installed setuid-root, which some distros
still do, though 'make install' in this project does not install pppd
setuid-root.

Other changes include:

* A new environment variable is defined for scripts, called
  PPP_SCRIPT_INSTANCE, which contains the original name of the script
  (e.g., ip-up). This can be useful when the name in argv[0] gets lost
  because the script is executed by an interpreter.

* New options 'strict-script-checks', 'nostrict-script-checks',
  'strict-secrets-files', and 'nostrict-secrets-files' have been added. The
  strict versions are the default, and the nostrict versions are privileged.
  'strict-script-checks' enables checks on script files that are run as root
  (e.g., /etc/ppp/ip-up) to ensure that they are owned by root and not writable
  by group or other. 'strict-secrets-checks' enables checks on secrets files
  (such as /etc/ppp/chap-secrets) to ensure that they are not readable by group
  or other. Previously (and now with nostrict-secrets-checks) the check was
  done but only produced a warning; now by default pppd will refuse to use thek
  file.

* For EAP-TLS and PEAP, the verification of the 'common name' in TLS
  certificates no longer stops the comparison at an embedded NUL character. The
  pppd man page now notes that the default verification mode is 'none' and that
  the 'suffix' verification mode doesn't check for a '.' in the common name
  before the matched suffix (this was the behaviour previously but the man page
  was incorrect).

* Many more options are now privileged, in particular all of the RADIUS plugin
  options, and almost all the options relating to EAP-TLS and PEAP.

* OpenSSL engine support in EAP-TLS is disabled by default, since engine
  support in OpenSSL 3 is deprecated. If you need it, use the
  --enable-openssl-engine flag to configure.

* Pppd can now run as non-root as long as it has the CAP_NET_ADMIN capability.
  In that case, scripts are run as the invoking user, the user can use
  privileged options (provided the pppd binary was not marked as setuid or with
  additional capabilities), and the ownership checks use the user's effective
  UID rather than 0.

* Various pppd options that take an integer argument now enforce sensible
  limits on the value. This aids in avoiding edge cases where vulnerabilities
  may lurk.

* EAP-SRP support has been removed. Previously it was disabled by default.

* Extra length checks have been added to ensure that the pppd code doesn't
  access outside the bounds of received packets, even when such accesses were
  harmless (i.e. within the bounds of the array that the received packet was
  stored in, and not affecting any result).

* Various other minor bug fixes and improvements, including man page updates.

Release 2.5.3
=============
* Several security improvements:

  - Some options are now privileged: 'set', 'unset', 'defaultroute', and
    'defaultroute6'. If a non-root user running a setuid-root pppd needs to
    use these options, the system administrator will have to make a 'call'
    file in /etc/ppp/peers containing the required option(s) for the user's
    use.

  - Scripts, privileged options files, and secrets files are now subject to a
    path check, which checks that the file and each directory in the real
    path to the file are owned by root and not writable by non-root.

  - If pppd is installed setuid-root and run by a non-root user, the peer
    will be required to authenticate itself; previously this requirement only
    applied if the system had a default IPv4 route.

* Default route handling has changed; pppd no longer checks for an existing
  default route before adding its default route. The defaultroute and
  defaultroute6 options are now privileged, and if used, the default route will
  always be added. The metric of the default route can be controlled with new
  defaultroute-metric and defaultroute6-metric options, which are privileged.
  The replacedefaultroute and noreplacedefaultroute options are no longer
  functional, and just cause an error message to be printed.

* There is now a dhcpv6relay plugin, which can be used to provide IPv6 RAs to
  the remote side and relay the subsequent incoming DHCPv6 requests to a DHCPv6
  server. Note: This is to delegate IPv6 to the remote side, not to configure
  IPv6 locally; in other words, this is generally only useful for service
  providers. For configuring IPv6 at an endpoint, projects like dhcpcd and/or
  radvd may be useful.

* VRF (Virtual Routing and Forwarding) support has been added to pppd on Linux.
  There is now a 'vrf' option which tells pppd to bind the PPP interface to a
  specific VRF, so that routes are installed in the VRF's routing table rather
  than the main routing table.

* The pppoe (PPP over ethernet) plugin now supports maximum packet sizes
  greater than 1492 bytes if configured to do so, a larger size is agreed upon
  during the PPPoE negotiation, and the peer agrees.

* CBCP (Callback control protocol) support can still be selected at
  configuration time, but now a warning message will be printed, warning that
  CBCP support will be removed in a future version. If you use CBCP in pppd,
  let the maintainer know, for example by adding to issue #530.

* Various other bug fixes and minor enhancements.

Status:

Vendor Tag:     MACKERRAS
Release Tags:   ppp-2-5-5
                
N src/external/bsd/ppp/dist/.editorconfig
U src/external/bsd/ppp/dist/AUTHORS
U src/external/bsd/ppp/dist/COPYING
U src/external/bsd/ppp/dist/ChangeLog
U src/external/bsd/ppp/dist/Changes-2.4
U src/external/bsd/ppp/dist/FAQ
U src/external/bsd/ppp/dist/LICENSE.BSD
U src/external/bsd/ppp/dist/LICENSE.GPL-2
U src/external/bsd/ppp/dist/NEWS
U src/external/bsd/ppp/dist/PLUGINS
U src/external/bsd/ppp/dist/README
U src/external/bsd/ppp/dist/README.MPPE
U src/external/bsd/ppp/dist/README.MSCHAP80
U src/external/bsd/ppp/dist/README.MSCHAP81
U src/external/bsd/ppp/dist/README.cbcp
U src/external/bsd/ppp/dist/README.eap-srp
U src/external/bsd/ppp/dist/README.eap-tls
U src/external/bsd/ppp/dist/README.pppol2tp
U src/external/bsd/ppp/dist/README.pwfd
U src/external/bsd/ppp/dist/SECURITY.md
U src/external/bsd/ppp/dist/SETUP
U src/external/bsd/ppp/dist/Submitting-patches.md
U src/external/bsd/ppp/dist/autogen.sh
C src/external/bsd/ppp/dist/configure.ac
N src/external/bsd/ppp/dist/runtests.py
C src/external/bsd/ppp/dist/chat/chat.8
C src/external/bsd/ppp/dist/chat/chat.c
U src/external/bsd/ppp/dist/m4/ax_check_openssl.m4
U src/external/bsd/ppp/dist/m4/ax_check_openssl_func.m4
U src/external/bsd/ppp/dist/m4/ax_check_pam.m4
U src/external/bsd/ppp/dist/m4/ax_check_pcap.m4
U src/external/bsd/ppp/dist/m4/ax_check_srp.m4
U src/external/bsd/ppp/dist/m4/pkg.m4
C src/external/bsd/ppp/dist/pppd/auth.c
U src/external/bsd/ppp/dist/pppd/cbcp.c
U src/external/bsd/ppp/dist/pppd/cbcp.h
C src/external/bsd/ppp/dist/pppd/ccp.c
U src/external/bsd/ppp/dist/pppd/ccp.h
U src/external/bsd/ppp/dist/pppd/chap-md5.c
U src/external/bsd/ppp/dist/pppd/chap-md5.h
U src/external/bsd/ppp/dist/pppd/chap.c
U src/external/bsd/ppp/dist/pppd/chap.h
C src/external/bsd/ppp/dist/pppd/chap_ms.c
U src/external/bsd/ppp/dist/pppd/chap_ms.h
U src/external/bsd/ppp/dist/pppd/crypto-priv.h
U src/external/bsd/ppp/dist/pppd/crypto.c
U src/external/bsd/ppp/dist/pppd/crypto.h
C src/external/bsd/ppp/dist/pppd/crypto_ms.c
U src/external/bsd/ppp/dist/pppd/crypto_ms.h
U src/external/bsd/ppp/dist/pppd/demand.c
C src/external/bsd/ppp/dist/pppd/eap-tls.c
U src/external/bsd/ppp/dist/pppd/eap-tls.h
C src/external/bsd/ppp/dist/pppd/eap.c
C src/external/bsd/ppp/dist/pppd/eap.h
U src/external/bsd/ppp/dist/pppd/ecp.c
U src/external/bsd/ppp/dist/pppd/ecp.h
U src/external/bsd/ppp/dist/pppd/eui64.c
U src/external/bsd/ppp/dist/pppd/eui64.h
C src/external/bsd/ppp/dist/pppd/fsm.c
N src/external/bsd/ppp/dist/pppd/event-handler.c
U src/external/bsd/ppp/dist/pppd/fsm.h
C src/external/bsd/ppp/dist/pppd/ipcp.c
C src/external/bsd/ppp/dist/pppd/ipcp.h
C src/external/bsd/ppp/dist/pppd/ipv6cp.c
U src/external/bsd/ppp/dist/pppd/ipv6cp.h
C src/external/bsd/ppp/dist/pppd/lcp.c
C src/external/bsd/ppp/dist/pppd/lcp.h
U src/external/bsd/ppp/dist/pppd/magic.c
U src/external/bsd/ppp/dist/pppd/magic.h
C src/external/bsd/ppp/dist/pppd/main.c
C src/external/bsd/ppp/dist/pppd/mppe.c
U src/external/bsd/ppp/dist/pppd/mppe.h
C src/external/bsd/ppp/dist/pppd/multilink.c
U src/external/bsd/ppp/dist/pppd/multilink.h
C src/external/bsd/ppp/dist/pppd/options.c
U src/external/bsd/ppp/dist/pppd/options.h
C src/external/bsd/ppp/dist/pppd/pathnames.h
C src/external/bsd/ppp/dist/pppd/peap.c
U src/external/bsd/ppp/dist/pppd/peap.h
U src/external/bsd/ppp/dist/pppd/ppp-des.c
U src/external/bsd/ppp/dist/pppd/ppp-md4.c
U src/external/bsd/ppp/dist/pppd/ppp-md5.c
U src/external/bsd/ppp/dist/pppd/ppp-sha1.c
U src/external/bsd/ppp/dist/pppd/ppp.pam
C src/external/bsd/ppp/dist/pppd/pppd-private.h
C src/external/bsd/ppp/dist/pppd/pppd.8
C src/external/bsd/ppp/dist/pppd/pppd.h
U src/external/bsd/ppp/dist/pppd/pppd.pc.in
U src/external/bsd/ppp/dist/pppd/pppdconf.h.in
C src/external/bsd/ppp/dist/pppd/session.c
U src/external/bsd/ppp/dist/pppd/session.h
U src/external/bsd/ppp/dist/pppd/termios_linux.h
U src/external/bsd/ppp/dist/pppd/tls.c
U src/external/bsd/ppp/dist/pppd/tls.h
C src/external/bsd/ppp/dist/pppd/tty.c
C src/external/bsd/ppp/dist/pppd/upap.c
U src/external/bsd/ppp/dist/pppd/upap.h
C src/external/bsd/ppp/dist/pppd/utils.c
U src/external/bsd/ppp/dist/pppd/utils_utest.c
U src/external/bsd/ppp/dist/pppd/plugins/minconn.c
U src/external/bsd/ppp/dist/pppd/plugins/passwordfd.c
N src/external/bsd/ppp/dist/pppd/plugins/dhcpv6relay/dhcpv6relay.c
N src/external/bsd/ppp/dist/pppd/plugins/dhcpv6relay/dhcpv6relay.h
U src/external/bsd/ppp/dist/pppd/plugins/pppoe/common.c
U src/external/bsd/ppp/dist/pppd/plugins/pppoe/config.h.in
U src/external/bsd/ppp/dist/pppd/plugins/pppoe/discovery.c
U src/external/bsd/ppp/dist/pppd/plugins/pppoe/if.c
U src/external/bsd/ppp/dist/pppd/plugins/pppoe/plugin.c
U src/external/bsd/ppp/dist/pppd/plugins/pppoe/pppoe-discovery.8
U src/external/bsd/ppp/dist/pppd/plugins/pppoe/pppoe-discovery.c
U src/external/bsd/ppp/dist/pppd/plugins/pppoe/pppoe.h
U src/external/bsd/ppp/dist/pppd/plugins/pppol2tp/l2tp_event.h
U src/external/bsd/ppp/dist/pppd/plugins/pppol2tp/openl2tp.c
U src/external/bsd/ppp/dist/pppd/plugins/pppol2tp/pppol2tp.c
U src/external/bsd/ppp/dist/pppdump/pppdump.8
C src/external/bsd/ppp/dist/pppdump/pppdump.c
U src/external/bsd/ppp/dist/pppstats/pppstats.8
U src/external/bsd/ppp/dist/pppstats/pppstats.c
U src/external/bsd/ppp/dist/sample/auth-down
U src/external/bsd/ppp/dist/sample/auth-up
U src/external/bsd/ppp/dist/sample/ip-down
U src/external/bsd/ppp/dist/sample/ip-up
U src/external/bsd/ppp/dist/sample/options
U src/external/bsd/ppp/dist/sample/pap-secrets
N src/external/bsd/ppp/dist/testsuite/00-version_test.py
N src/external/bsd/ppp/dist/testsuite/README.md
N src/external/bsd/ppp/dist/testsuite/auth-chap_test.py
N src/external/bsd/ppp/dist/testsuite/auth-pap_test.py
N src/external/bsd/ppp/dist/testsuite/data-transfer_test.py
N src/external/bsd/ppp/dist/testsuite/exitcodes.py
N src/external/bsd/ppp/dist/testsuite/link-up_test.py
N src/external/bsd/ppp/dist/testsuite/mppe_test.py
N src/external/bsd/ppp/dist/testsuite/mtu-negotiation_test.py
N src/external/bsd/ppp/dist/testsuite/ping_test.py
N src/external/bsd/ppp/dist/testsuite/pppfns.py
N src/external/bsd/ppp/dist/testsuite/script-run_test.py

30 conflicts created by this import.
Use the following command to help the merge:

        cvs checkout -jMACKERRAS:yesterday -jMACKERRAS src/external/bsd/ppp/dist




Home | Main Index | Thread Index | Old Index