Files
bpfire/lfs/ppp
Adolf Belka 27a3ef9834 ppp: Fixes bug#13164 - Update to version 2.5.0
- Update from version 2.4.9 to 2.5.0
   This includes breaking changes for third-party plugins but as far as I can see IPFire
    is not using any third party plugins
- Update of rootfile
- Update of patches and sed commands
   - pcap-int.h and if_pppol2tp.h files have not been in source file since at least 2014
   - Some of the patches required updates as additional lines needing to be patched are
      now present. nThis was related to the O_CLOEXEC & SOCK_CLOEXEC related patches
   - connect-errors file location is now defined by a configure command --with-logfile-dir
- install-etcppp is no longer provided. However the install command in this version still
   has the same files available in /etc/ppp as previously. There is a new file,
   openssl.cnf, which I have commented out. If it is required in future it can always be
   uncommented in future releases.
- Build went without any problems with the updated patches.
- I cannot test this as I don't use ppp, however the original bug reporter has agreed to
   test this out when it is released into Testing unless anyone else is capable of testing
   it.
- Changelog
    What's new in ppp-2.5.0.
	The 2.5.0 release is a major release of pppd which contains breaking
	 changes for third-party plugins, a complete revamp of the build-system
	 and that allows for flexibility of configuring features as needed.
	In Summary:
		* Support for PEAP authentication by Eivind Næss and Rustam Kovhaev
		* Support for loading PKCS12 certificate envelopes
		* Adoption of GNU Autoconf / Automake build environment, by Eivind Næss
		  and others.
		* Support for pkgconfig tool has been added by Eivind Næss.
		* Bunch of fixes and cleanup to PPPoE and IPv6 support by Pali Rohár.
		* Major revision to PPPD's Plugin API by Eivind Næss.
		  - Defines in which describes what features was included in pppd
		  - Functions now prefixed with explicit ppp_* to indicate that
		    pppd functions being called.
		  - Header files were renamed to better align with their features,
		    and now use proper include guards
		  - A pppdconf.h file is supplied to allow third-party modules to use
		    the same feature defines pppd was compiled with.
		  - No extern declarations of internal variable names of pppd,
		    continued use of these extern variables are considered
		    unstable.
		* Lots of internal fixes and cleanups for Radius and PPPoE by Jaco Kroon
		* Dropped IPX support, as Linux has dropped support in version 5.15
		  for this protocol.
		* Many more fixes and cleanups.
		* Pppd is no longer installed setuid-root.
		* New pppd options:
		  - ipv6cp-noremote, ipv6cp-nosend, ipv6cp-use-remotenumber,
		    ipv6-up-script, ipv6-down-script
		  - -v, show-options
		  - usepeerwins, ipcp-no-address, ipcp-no-addresses, nosendip
		* On Linux, any baud rate can be set on a serial port provided the
		  kernel serial driver supports that.
	Note that if you have built and installed previous versions of this
	 package and you want to continue having configuration and TDB files in
	 /etc/ppp, you will need to use the --sysconfdir option to ./configure.
	For a list of the changes made during the 2.4 series releases of this
	 package, see the Changes-2.4 file.
	Compression methods.
		This package supports two packet compression methods: Deflate and
		 BSD-Compress.  Other compression methods which are in common use
		 include Predictor, LZS, and MPPC.  These methods are not supported for
		 two reasons - they are patent-encumbered, and they cause some packets
		 to expand slightly, which pppd doesn't currently allow for.
		 BSD-Compress and Deflate (which uses the same algorithm as gzip) don't
		 ever expand packets.

Fixes: bug#13164
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-08-07 14:10:42 +00:00

101 lines
4.3 KiB
Plaintext

###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
VER = 2.5.0
THISAPP = ppp-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
CFLAGS += -fno-strict-aliasing
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = 6a0e9efcbff3cb499705071cc7d0e3411cf4871fd53b2bfedbb1f2cf3ad80728eb436050cf33b78e36d473be64f15907a21da17f283337455f0af379bc18272d
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
b2 : $(subst %,%_BLAKE2,$(objects))
###############################################################################
# Downloading, checking, b2sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_BLAKE2,$(objects)) :
@$(B2SUM)
###############################################################################
# Installation Details
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.0-1-we-don-t-want-to-accidentally-leak-fds.patch
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.0-2-everywhere-O_CLOEXEC-harder.patch
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.0-3-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.0-4-increase-max-padi-attempts.patch
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.0-5-headers_4.9.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.0-6-patch-configure-to-handle-cflags-properly.patch
cd $(DIR_APP) && ./configure \
--prefix=/usr \
--sysconfdir=/etc \
--with-logfile-dir=/var/log \
cc="gcc" \
cflags="$(CFLAGS)"
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
touch /var/log/connect-errors
-mkdir -p /etc/ppp
for i in $(DIR_SRC)/src/ppp/* ; do \
if [ -f $$i ]; then \
sed 's%CONFIG_ROOT%$(CONFIG_ROOT)%g' $$i > /etc/ppp/`basename $$i`; \
fi; \
done
chmod 755 /etc/ppp/{dialer,ip-up,ip-down}
ln -sf $(CONFIG_ROOT)/ppp/secrets /etc/ppp/pap-secrets
ln -sf $(CONFIG_ROOT)/ppp/secrets /etc/ppp/chap-secrets
@rm -rf $(DIR_APP)
@$(POSTBUILD)