From 329b6bd0d1510b082a0ff625b7c20d7cb42956f4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 22 Jul 2022 15:19:58 +0000 Subject: [PATCH 01/34] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ppp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ppp.spec b/ppp.spec index 8c4cf05..56f54be 100644 --- a/ppp.spec +++ b/ppp.spec @@ -2,7 +2,7 @@ Name: ppp Version: 2.4.9 -Release: 7%{?dist} +Release: 8%{?dist} Summary: The Point-to-Point Protocol daemon License: BSD and LGPLv2+ and GPLv2+ and Public Domain URL: http://www.samba.org/ppp @@ -173,6 +173,9 @@ mkdir -p %{buildroot}%{_rundir}/ppp %doc PLUGINS %changelog +* Fri Jul 22 2022 Fedora Release Engineering - 2.4.9-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Tue Apr 05 2022 Marcin Zajaczkowski - 2.4.9-7 - Backport patches from master for SSTP to connect using EAP-TLS to Azure VnetGWay and Windows RAS server From 9e045dfc2d20b6732de9e2f4b7b77555e5e8fc26 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 20 Jan 2023 10:12:01 +0000 Subject: [PATCH 02/34] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ppp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ppp.spec b/ppp.spec index 56f54be..de8598c 100644 --- a/ppp.spec +++ b/ppp.spec @@ -2,7 +2,7 @@ Name: ppp Version: 2.4.9 -Release: 8%{?dist} +Release: 9%{?dist} Summary: The Point-to-Point Protocol daemon License: BSD and LGPLv2+ and GPLv2+ and Public Domain URL: http://www.samba.org/ppp @@ -173,6 +173,9 @@ mkdir -p %{buildroot}%{_rundir}/ppp %doc PLUGINS %changelog +* Fri Jan 20 2023 Fedora Release Engineering - 2.4.9-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Fri Jul 22 2022 Fedora Release Engineering - 2.4.9-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 2b6b4da488a556efb62dd84beea5edd41b3254a9 Mon Sep 17 00:00:00 2001 From: Ondrej Mejzlik Date: Mon, 3 Apr 2023 12:13:44 +0200 Subject: [PATCH 03/34] Adding fmf plans and gating --- .fmf/version | 1 + ci.fmf | 1 + gating.yaml | 28 ++++++++++++++++++++++++++++ plans/public.fmf | 7 +++++++ plans/tier1-internal.fmf | 12 ++++++++++++ 5 files changed, 49 insertions(+) create mode 100644 .fmf/version create mode 100644 ci.fmf create mode 100644 gating.yaml create mode 100644 plans/public.fmf create mode 100644 plans/tier1-internal.fmf diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/ci.fmf b/ci.fmf new file mode 100644 index 0000000..c5aa0e0 --- /dev/null +++ b/ci.fmf @@ -0,0 +1 @@ +resultsdb-testcase: separate diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..285eb64 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,28 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_testing +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/public.functional} + +#Rawhide +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/public.functional} + +#gating rhel +--- !Policy +product_versions: + - rhel-* +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} + - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tedude.validation} + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-internal.functional} + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/public.functional} + diff --git a/plans/public.fmf b/plans/public.fmf new file mode 100644 index 0000000..78f4e0e --- /dev/null +++ b/plans/public.fmf @@ -0,0 +1,7 @@ +summary: Test plan with all Fedora tests +discover: + how: fmf + url: https://src.fedoraproject.org/tests/ppp.git +execute: + how: tmt + diff --git a/plans/tier1-internal.fmf b/plans/tier1-internal.fmf new file mode 100644 index 0000000..7d2ee46 --- /dev/null +++ b/plans/tier1-internal.fmf @@ -0,0 +1,12 @@ +summary: CI plan, picks internal Tier1 tests, runs in beakerlib. +discover: + - name: rhel + how: fmf + filter: 'tier: 1' + url: git://pkgs.devel.redhat.com/tests/ppp +execute: + how: tmt +adjust: + enabled: false + when: distro == centos-stream, fedora + because: They don't have access to internal repos. From 5b232308197a976548b3f1202de89749f9b04a39 Mon Sep 17 00:00:00 2001 From: Ondrej Mejzlik Date: Mon, 3 Apr 2023 12:55:58 +0200 Subject: [PATCH 04/34] attempt to fix bad character --- plans/tier1-internal.fmf | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/plans/tier1-internal.fmf b/plans/tier1-internal.fmf index 7d2ee46..3447b11 100644 --- a/plans/tier1-internal.fmf +++ b/plans/tier1-internal.fmf @@ -1,12 +1,12 @@ summary: CI plan, picks internal Tier1 tests, runs in beakerlib. discover: - name: rhel - how: fmf - filter: 'tier: 1' - url: git://pkgs.devel.redhat.com/tests/ppp + how: fmf + filter: 'tier: 1' + url: git://pkgs.devel.redhat.com/tests/ppp execute: - how: tmt + how: tmt adjust: - enabled: false - when: distro == centos-stream, fedora - because: They don't have access to internal repos. + enabled: false + when: distro == centos-stream, fedora + because: They don't have access to internal repos. From 171029fcc85e2f10def95a2e8786040579dcdbfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= Date: Mon, 17 Apr 2023 18:20:11 +0200 Subject: [PATCH 05/34] New version Resolves: rhbz#2184291 --- .gitignore | 6 +- 0004-doc-add-configuration-samples.patch | 341 ------- ...itps-use-change_resolv_conf-function.patch | 85 -- ...-t-put-connect-errors-log-to-etc-ppp.patch | 77 -- ...se-SOCK_CLOEXEC-when-creating-socket.patch | 149 --- ...pd-move-pppd-database-to-var-run-ppp.patch | 44 - ...ppoe-add-manpage-for-pppoe-discovery.patch | 115 --- 0018-scritps-fix-ip-up.local-sample.patch | 27 - ...l-rp-pppoe-plugin-files-with-standar.patch | 20 - ...l-pppoatm-plugin-files-with-standard.patch | 26 - ...pppd-binary-using-standard-perms-755.patch | 29 - ...-don-t-want-to-accidentally-leak-fds.patch | 143 --- ...hardcode-LIBDIR-but-set-it-according.patch | 99 -- ppp-2.4.9-config.patch | 21 - ppp-2.4.9-configure-cflags-allow-commas.patch | 17 - ppp-2.4.9-everywhere-O_CLOEXEC-harder.patch | 241 ----- ...MPPE-keys-generated-through-an-API-2.patch | 898 ------------------ ...-error-in-comparing-valid-encryption.patch | 37 - ...-causing-incorrect-response-length-3.patch | 32 - ppp-2.5.0-use-change-resolv-function.patch | 51 + ppp.spec | 58 +- sources | 2 +- 22 files changed, 82 insertions(+), 2436 deletions(-) delete mode 100644 0004-doc-add-configuration-samples.patch delete mode 100644 0006-scritps-use-change_resolv_conf-function.patch delete mode 100644 0011-build-sys-don-t-put-connect-errors-log-to-etc-ppp.patch delete mode 100644 0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch delete mode 100644 0015-pppd-move-pppd-database-to-var-run-ppp.patch delete mode 100644 0016-rp-pppoe-add-manpage-for-pppoe-discovery.patch delete mode 100644 0018-scritps-fix-ip-up.local-sample.patch delete mode 100644 0023-build-sys-install-rp-pppoe-plugin-files-with-standar.patch delete mode 100644 0024-build-sys-install-pppoatm-plugin-files-with-standard.patch delete mode 100644 ppp-2.4.8-pppd-install-pppd-binary-using-standard-perms-755.patch delete mode 100644 ppp-2.4.8-pppd-we-don-t-want-to-accidentally-leak-fds.patch delete mode 100644 ppp-2.4.9-build-sys-don-t-hardcode-LIBDIR-but-set-it-according.patch delete mode 100644 ppp-2.4.9-config.patch delete mode 100644 ppp-2.4.9-configure-cflags-allow-commas.patch delete mode 100644 ppp-2.4.9-everywhere-O_CLOEXEC-harder.patch delete mode 100644 ppp-2.4.9-pppd-Expose-the-MPPE-keys-generated-through-an-API-2.patch delete mode 100644 ppp-2.4.9-pppd-Fix-logical-error-in-comparing-valid-encryption.patch delete mode 100644 ppp-2.4.9-pppd-eap-Fix-bug-causing-incorrect-response-length-3.patch create mode 100644 ppp-2.5.0-use-change-resolv-function.patch diff --git a/.gitignore b/.gitignore index 3a9dd7f..4a4eaa3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,2 @@ -ppp-2.4.5.tar.gz -/ppp-2.4.6.tar.gz +/ppp-*.tar.gz /ppp-watch.tar.xz -/ppp-2.4.7.tar.gz -/ppp-2.4.8.tar.gz -/ppp-2.4.9.tar.gz diff --git a/0004-doc-add-configuration-samples.patch b/0004-doc-add-configuration-samples.patch deleted file mode 100644 index 0cea037..0000000 --- a/0004-doc-add-configuration-samples.patch +++ /dev/null @@ -1,341 +0,0 @@ -From d7faeb88f684c8b2ae193b2c5b5b358ac757fcfa Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Fri, 4 Apr 2014 11:39:09 +0200 -Subject: [PATCH 04/27] doc: add configuration samples - ---- - sample/auth-down | 17 ++++++ - sample/auth-up | 17 ++++++ - sample/ip-down | 22 ++++++++ - sample/ip-up | 23 ++++++++ - sample/options | 153 +++++++++++++++++++++++++++++++++++++++++++++++++++ - sample/options.ttyXX | 14 +++++ - sample/pap-secrets | 28 ++++++++++ - 7 files changed, 274 insertions(+) - create mode 100644 sample/auth-down - create mode 100644 sample/auth-up - create mode 100644 sample/ip-down - create mode 100644 sample/ip-up - create mode 100644 sample/options - create mode 100644 sample/options.ttyXX - create mode 100644 sample/pap-secrets - -diff --git a/sample/auth-down b/sample/auth-down -new file mode 100644 -index 0000000..edde65d ---- /dev/null -+++ b/sample/auth-down -@@ -0,0 +1,17 @@ -+#!/bin/sh -+# -+# A program or script which is executed after the remote system -+# successfully authenticates itself. It is executed with the parameters -+# -+# -+ -+# -+# The environment is cleared before executing this script -+# so the path must be reset -+# -+PATH=/usr/sbin:/sbin:/usr/bin:/bin -+export PATH -+ -+echo auth-down `date +'%y/%m/%d %T'` $* >> /var/log/pppstats -+ -+# last line -diff --git a/sample/auth-up b/sample/auth-up -new file mode 100644 -index 0000000..54722a3 ---- /dev/null -+++ b/sample/auth-up -@@ -0,0 +1,17 @@ -+#!/bin/sh -+# -+# A program or script which is executed after the remote system -+# successfully authenticates itself. It is executed with the parameters -+# -+# -+ -+# -+# The environment is cleared before executing this script -+# so the path must be reset -+# -+PATH=/usr/sbin:/sbin:/usr/bin:/bin -+export PATH -+ -+echo auth-up `date +'%y/%m/%d %T'` $* >> /var/log/pppstats -+ -+# last line -diff --git a/sample/ip-down b/sample/ip-down -new file mode 100644 -index 0000000..b771fb6 ---- /dev/null -+++ b/sample/ip-down -@@ -0,0 +1,22 @@ -+#!/bin/sh -+# -+# This script is run by the pppd _after_ the link is brought down. -+# It should be used to delete routes, unset IP addresses etc. -+# -+# This script is called with the following arguments: -+# Arg Name Example -+# $1 Interface name ppp0 -+# $2 The tty ttyS1 -+# $3 The link speed 38400 -+# $4 Local IP number 12.34.56.78 -+# $5 Peer IP number 12.34.56.99 -+# -+ -+# -+# The environment is cleared before executing this script -+# so the path must be reset -+# -+PATH=/usr/sbin:/sbin:/usr/bin:/bin -+export PATH -+ -+# last line -diff --git a/sample/ip-up b/sample/ip-up -new file mode 100644 -index 0000000..7ce7c8d ---- /dev/null -+++ b/sample/ip-up -@@ -0,0 +1,23 @@ -+#!/bin/sh -+# -+# This script is run by the pppd after the link is established. -+# It should be used to add routes, set IP address, run the mailq -+# etc. -+# -+# This script is called with the following arguments: -+# Arg Name Example -+# $1 Interface name ppp0 -+# $2 The tty ttyS1 -+# $3 The link speed 38400 -+# $4 Local IP number 12.34.56.78 -+# $5 Peer IP number 12.34.56.99 -+# -+ -+# -+# The environment is cleared before executing this script -+# so the path must be reset -+# -+PATH=/usr/sbin:/sbin:/usr/bin:/bin -+export PATH -+ -+# last line -diff --git a/sample/options b/sample/options -new file mode 100644 -index 0000000..8d0a3f9 ---- /dev/null -+++ b/sample/options -@@ -0,0 +1,153 @@ -+# /etc/ppp/options -+ -+# The name of this server. Often, the FQDN is used here. -+#name -+ -+# Enforce the use of the hostname as the name of the local system for -+# authentication purposes (overrides the name option). -+usehostname -+ -+# If no local IP address is given, pppd will use the first IP address -+# that belongs to the local hostname. If "noipdefault" is given, this -+# is disabled and the peer will have to supply an IP address. -+noipdefault -+ -+# With this option, pppd will accept the peer's idea of our local IP -+# address, even if the local IP address was specified in an option. -+#ipcp-accept-local -+ -+# With this option, pppd will accept the peer's idea of its (remote) IP -+# address, even if the remote IP address was specified in an option. -+#ipcp-accept-remote -+ -+# Specify which DNS Servers the incoming Win95 or WinNT Connection should use -+# Two Servers can be remotely configured -+#ms-dns 192.168.1.1 -+#ms-dns 192.168.1.2 -+ -+# Specify which WINS Servers the incoming connection Win95 or WinNT should use -+#wins-addr 192.168.1.50 -+#wins-addr 192.168.1.51 -+ -+# enable this on a server that already has a permanent default route -+#nodefaultroute -+ -+# Run the executable or shell command specified after pppd has terminated -+# the link. This script could, for example, issue commands to the modem -+# to cause it to hang up if hardware modem control signals were not -+# available. -+# If mgetty is running, it will reset the modem anyway. So there is no need -+# to do it here. -+#disconnect "chat -- \d+++\d\c OK ath0 OK" -+ -+# Increase debugging level (same as -d). The debug output is written -+# to syslog LOG_LOCAL2. -+debug -+ -+# Enable debugging code in the kernel-level PPP driver. The argument n -+# is a number which is the sum of the following values: 1 to enable -+# general debug messages, 2 to request that the contents of received -+# packets be printed, and 4 to request that the contents of transmitted -+# packets be printed. -+#kdebug n -+ -+# Require the peer to authenticate itself before allowing network -+# packets to be sent or received. -+# Please do not disable this setting. It is expected to be standard in -+# future releases of pppd. Use the call option (see manpage) to disable -+# authentication for specific peers. -+#auth -+ -+# authentication can either be pap or chap. As most people only want to -+# use pap, you can also disable chap: -+#require-pap -+#refuse-chap -+ -+# Use hardware flow control (i.e. RTS/CTS) to control the flow of data -+# on the serial port. -+crtscts -+ -+# Specifies that pppd should use a UUCP-style lock on the serial device -+# to ensure exclusive access to the device. -+lock -+ -+# Use the modem control lines. -+modem -+ -+# async character map -- 32-bit hex; each bit is a character -+# that needs to be escaped for pppd to receive it. 0x00000001 -+# represents '\x01', and 0x80000000 represents '\x1f'. -+# To allow pppd to work over a rlogin/telnet connection, ou should escape -+# XON (^Q), XOFF (^S) and ^]: (The peer should use "escape ff".) -+#asyncmap 200a0000 -+asyncmap 0 -+ -+# Specifies that certain characters should be escaped on transmission -+# (regardless of whether the peer requests them to be escaped with its -+# async control character map). The characters to be escaped are -+# specified as a list of hex numbers separated by commas. Note that -+# almost any character can be specified for the escape option, unlike -+# the asyncmap option which only allows control characters to be -+# specified. The characters which may not be escaped are those with hex -+# values 0x20 - 0x3f or 0x5e. -+#escape 11,13,ff -+ -+# Set the MRU [Maximum Receive Unit] value to for negotiation. pppd -+# will ask the peer to send packets of no more than bytes. The -+# minimum MRU value is 128. The default MRU value is 1500. A value of -+# 296 is recommended for slow links (40 bytes for TCP/IP header + 256 -+# bytes of data). -+#mru 542 -+ -+# Set the MTU [Maximum Transmit Unit] value to . Unless the peer -+# requests a smaller value via MRU negotiation, pppd will request that -+# the kernel networking code send data packets of no more than n bytes -+# through the PPP network interface. -+#mtu -+ -+# Set the interface netmask to , a 32 bit netmask in "decimal dot" -+# notation (e.g. 255.255.255.0). -+#netmask 255.255.255.0 -+ -+# Don't fork to become a background process (otherwise pppd will do so -+# if a serial device is specified). -+nodetach -+ -+# Set the assumed name of the remote system for authentication purposes -+# to . -+#remotename -+ -+# Add an entry to this system's ARP [Address Resolution Protocol] -+# table with the IP address of the peer and the Ethernet address of this -+# system. {proxyarp,noproxyarp} -+proxyarp -+ -+# Use the system password database for authenticating the peer using -+# PAP. Note: mgetty already provides this option. If this is specified -+# then dialin from users using a script under Linux to fire up ppp wont work. -+#login -+ -+# If this option is given, pppd will send an LCP echo-request frame to -+# the peer every n seconds. Under Linux, the echo-request is sent when -+# no packets have been received from the peer for n seconds. Normally -+# the peer should respond to the echo-request by sending an echo-reply. -+# This option can be used with the lcp-echo-failure option to detect -+# that the peer is no longer connected. -+lcp-echo-interval 30 -+ -+# If this option is given, pppd will presume the peer to be dead if n -+# LCP echo-requests are sent without receiving a valid LCP echo-reply. -+# If this happens, pppd will terminate the connection. Use of this -+# option requires a non-zero value for the lcp-echo-interval parameter. -+# This option can be used to enable pppd to terminate after the physical -+# connection has been broken (e.g., the modem has hung up) in -+# situations where no hardware modem control lines are available. -+lcp-echo-failure 4 -+ -+# Specifies that pppd should disconnect if the link is idle for n seconds. -+idle 600 -+ -+# Disable the IPXCP and IPX protocols. -+noipx -+ -+# ------ -diff --git a/sample/options.ttyXX b/sample/options.ttyXX -new file mode 100644 -index 0000000..d4202f5 ---- /dev/null -+++ b/sample/options.ttyXX -@@ -0,0 +1,14 @@ -+# If you need to set up multiple serial lines then copy this file to -+# options. for each tty with a modem on it. -+# -+# The options.tty file will assign an IP address to each PPP connection -+# as it comes up. They must all be distinct! -+# -+# Example: -+# options.ttyS1 for com2 under DOS. -+# -+# Edit the following line so that the first IP address -+# mentioned is the ip address of the serial port while the second -+# is the IP address of your host -+# -+hostname-s1:hostname -diff --git a/sample/pap-secrets b/sample/pap-secrets -new file mode 100644 -index 0000000..098971b ---- /dev/null -+++ b/sample/pap-secrets -@@ -0,0 +1,28 @@ -+# Secrets for authentication using PAP -+# client server secret IP addresses -+ -+# OUTBOUND CONNECTIONS -+# Here you should add your userid password to connect to your providers via -+# pap. The * means that the password is to be used for ANY host you connect -+# to. Thus you do not have to worry about the foreign machine name. Just -+# replace password with your password. -+# If you have different providers with different passwords then you better -+# remove the following line. -+#hostname * password -+ -+# INBOUND CONNECTIONS -+#client hostname 192.168.1.1 -+ -+# If you add "auth login -chap +pap" to /etc/mgetty+sendfax/login.config, -+# all users in /etc/passwd can use their password for pap-authentication. -+# -+# Every regular user can use PPP and has to use passwords from /etc/passwd -+#* hostname "" -+# UserIDs that cannot use PPP at all. Check your /etc/passwd and add any -+# other accounts that should not be able to use pppd! Replace hostname -+# with your local hostname. -+#guest hostname "*" - -+#master hostname "*" - -+#root hostname "*" - -+#support hostname "*" - -+#stats hostname "*" - --- -1.8.3.1 - diff --git a/0006-scritps-use-change_resolv_conf-function.patch b/0006-scritps-use-change_resolv_conf-function.patch deleted file mode 100644 index cbf8713..0000000 --- a/0006-scritps-use-change_resolv_conf-function.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 01419dfb684d501b57f1c24dcfdbcf9da93ccca2 Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Fri, 4 Apr 2014 18:12:47 +0200 -Subject: [PATCH 06/27] scritps: use change_resolv_conf function - -Don't handle /etc/resolv.conf manually, but use a helper function from -initscripts. Also change path where we save DNS servers supplied by peer while -we are at it. - -Resolves: #132482 ---- - pppd/pppd.8 | 2 +- - scripts/ip-down.local.add | 9 +++++---- - scripts/ip-up.local.add | 17 ++++++++++------- - 3 files changed, 16 insertions(+), 12 deletions(-) - -diff --git a/pppd/pppd.8 b/pppd/pppd.8 -index e2768b1..2dd6e1a 100644 ---- a/pppd/pppd.8 -+++ b/pppd/pppd.8 -@@ -1099,7 +1099,7 @@ Ask the peer for up to 2 DNS server addresses. The addresses supplied - by the peer (if any) are passed to the /etc/ppp/ip\-up script in the - environment variables DNS1 and DNS2, and the environment variable - USEPEERDNS will be set to 1. In addition, pppd will create an --/etc/ppp/resolv.conf file containing one or two nameserver lines with -+/var/run/ppp/resolv.conf file containing one or two nameserver lines with - the address(es) supplied by the peer. - .TP - .B user \fIname -diff --git a/scripts/ip-down.local.add b/scripts/ip-down.local.add -index b93590e..163f71e 100644 ---- a/scripts/ip-down.local.add -+++ b/scripts/ip-down.local.add -@@ -9,12 +9,13 @@ - # - # Nick Walker (nickwalker@email.com) - # -+. /etc/sysconfig/network-scripts/network-functions - --if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then -- if [ -f /etc/ppp/resolv.prev ]; then -- cp -f /etc/ppp/resolv.prev /etc/resolv.conf -+if [ -n "$USEPEERDNS" -a -f /var/run/ppp/resolv.conf ]; then -+ if [ -f /var/run/ppp/resolv.prev ]; then -+ change_resolv_conf /var/run/ppp/resolv.prev - else -- rm -f /etc/resolv.conf -+ change_resolv_conf - fi - fi - -diff --git a/scripts/ip-up.local.add b/scripts/ip-up.local.add -index 8017209..26cf5f8 100644 ---- a/scripts/ip-up.local.add -+++ b/scripts/ip-up.local.add -@@ -9,16 +9,19 @@ - # - # Nick Walker (nickwalker@email.com) - # -+. /etc/sysconfig/network-scripts/network-functions - --if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then -- rm -f /etc/ppp/resolv.prev -+if [ -n "$USEPEERDNS" -a -f /var/run/ppp/resolv.conf ]; then -+ rm -f /var/run/ppp/resolv.prev - if [ -f /etc/resolv.conf ]; then -- cp /etc/resolv.conf /etc/ppp/resolv.prev -- grep domain /etc/ppp/resolv.prev > /etc/resolv.conf -- grep search /etc/ppp/resolv.prev >> /etc/resolv.conf -- cat /etc/ppp/resolv.conf >> /etc/resolv.conf -+ cp /etc/resolv.conf /var/run/ppp/resolv.prev -+ rscf=/var/run/ppp/resolv.new -+ grep domain /var/run/ppp/resolv.prev > $rscf -+ grep search /var/run/ppp/resolv.prev >> $rscf -+ change_resolv_conf $rscf -+ rm -f $rscf - else -- cp /etc/ppp/resolv.conf /etc -+ change_resolv_conf /var/run/ppp/resolv.conf - fi - fi - --- -1.8.3.1 - diff --git a/0011-build-sys-don-t-put-connect-errors-log-to-etc-ppp.patch b/0011-build-sys-don-t-put-connect-errors-log-to-etc-ppp.patch deleted file mode 100644 index 56ac388..0000000 --- a/0011-build-sys-don-t-put-connect-errors-log-to-etc-ppp.patch +++ /dev/null @@ -1,77 +0,0 @@ -From b4ef433be936c90e356da7a590b032cdee219a3f Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Fri, 4 Apr 2014 19:06:05 +0200 -Subject: [PATCH 11/27] build-sys: don't put connect-errors log to /etc/ppp/ - -Resolves: #118837 ---- - chat/chat.8 | 2 +- - linux/Makefile.top | 8 +++++++- - pppd/pathnames.h | 4 ++-- - 3 files changed, 10 insertions(+), 4 deletions(-) - -diff --git a/chat/chat.8 b/chat/chat.8 -index 6d10836..78d6939 100644 ---- a/chat/chat.8 -+++ b/chat/chat.8 -@@ -200,7 +200,7 @@ The \fBSAY\fR directive allows the script to send strings to the user - at the terminal via standard error. If \fBchat\fR is being run by - pppd, and pppd is running as a daemon (detached from its controlling - terminal), standard error will normally be redirected to the file --/etc/ppp/connect\-errors. -+/var/log/ppp/connect\-errors. - .LP - \fBSAY\fR strings must be enclosed in single or double quotes. If - carriage return and line feed are needed in the string to be output, -diff --git a/linux/Makefile.top b/linux/Makefile.top -index f63d45e..f42efd5 100644 ---- a/linux/Makefile.top -+++ b/linux/Makefile.top -@@ -5,6 +5,8 @@ BINDIR = $(DESTDIR)/sbin - INCDIR = $(DESTDIR)/include - MANDIR = $(DESTDIR)/share/man - ETCDIR = $(INSTROOT)@SYSCONF@/ppp -+RUNDIR = $(DESTDIR)/var/run/ppp -+LOGDIR = $(DESTDIR)/var/log/ppp - - # uid 0 = root - INSTALL= install -@@ -16,7 +18,7 @@ all: - cd pppstats; $(MAKE) $(MFLAGS) all - cd pppdump; $(MAKE) $(MFLAGS) all - --install: $(BINDIR) $(MANDIR)/man8 install-progs install-devel -+install: $(BINDIR) $(RUNDIR) $(LOGDIR) $(MANDIR)/man8 install-progs install-devel - - install-progs: - cd chat; $(MAKE) $(MFLAGS) install -@@ -44,6 +46,10 @@ $(MANDIR)/man8: - $(INSTALL) -d -m 755 $@ - $(ETCDIR): - $(INSTALL) -d -m 755 $@ -+$(RUNDIR): -+ $(INSTALL) -d -m 755 $@ -+$(LOGDIR): -+ $(INSTALL) -d -m 755 $@ - - clean: - rm -f `find . -name '*.[oas]' -print` -diff --git a/pppd/pathnames.h b/pppd/pathnames.h -index a427cb8..bef3160 100644 ---- a/pppd/pathnames.h -+++ b/pppd/pathnames.h -@@ -28,9 +28,9 @@ - #define _PATH_AUTHUP _ROOT_PATH "/etc/ppp/auth-up" - #define _PATH_AUTHDOWN _ROOT_PATH "/etc/ppp/auth-down" - #define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options." --#define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors" -+#define _PATH_CONNERRS _ROOT_PATH "/var/log/ppp/connect-errors" - #define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/" --#define _PATH_RESOLV _ROOT_PATH "/etc/ppp/resolv.conf" -+#define _PATH_RESOLV _ROOT_PATH "/var/run/ppp/resolv.conf" - - #define _PATH_USEROPT ".ppprc" - #define _PATH_PSEUDONYM ".ppp_pseudonym" --- -1.8.3.1 - diff --git a/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch b/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch deleted file mode 100644 index 1352370..0000000 --- a/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch +++ /dev/null @@ -1,149 +0,0 @@ -diff --git a/pppd/plugins/pppoatm/pppoatm.c b/pppd/plugins/pppoatm/pppoatm.c -index d693350..c31bb34 100644 ---- a/pppd/plugins/pppoatm/pppoatm.c -+++ b/pppd/plugins/pppoatm/pppoatm.c -@@ -135,7 +135,7 @@ static int connect_pppoatm(void) - - if (!device_got_set) - no_device_given_pppoatm(); -- fd = socket(AF_ATMPVC, SOCK_DGRAM, 0); -+ fd = socket(AF_ATMPVC, SOCK_DGRAM | SOCK_CLOEXEC, 0); - if (fd < 0) - fatal("failed to create socket: %m"); - memset(&qos, 0, sizeof qos); -diff --git a/pppd/plugins/pppol2tp/openl2tp.c b/pppd/plugins/pppol2tp/openl2tp.c -index 9643b96..1099575 100644 ---- a/pppd/plugins/pppol2tp/openl2tp.c -+++ b/pppd/plugins/pppol2tp/openl2tp.c -@@ -83,7 +83,7 @@ static int openl2tp_client_create(void) - int result; - - if (openl2tp_fd < 0) { -- openl2tp_fd = socket(PF_UNIX, SOCK_DGRAM, 0); -+ openl2tp_fd = socket(PF_UNIX, SOCK_DGRAM | SOCK_CLOEXEC, 0); - if (openl2tp_fd < 0) { - error("openl2tp connection create: %m"); - return -ENOTCONN; -diff --git a/pppd/plugins/pppol2tp/pppol2tp.c b/pppd/plugins/pppol2tp/pppol2tp.c -index a7e3400..e64a778 100644 ---- a/pppd/plugins/pppol2tp/pppol2tp.c -+++ b/pppd/plugins/pppol2tp/pppol2tp.c -@@ -208,7 +208,7 @@ static void send_config_pppol2tp(int mtu, - struct ifreq ifr; - int fd; - -- fd = socket(AF_INET, SOCK_DGRAM, 0); -+ fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); - if (fd >= 0) { - memset (&ifr, '\0', sizeof (ifr)); - strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); -diff --git a/pppd/plugins/pppoe/if.c b/pppd/plugins/pppoe/if.c -index 91e9a57..72aba41 100644 ---- a/pppd/plugins/pppoe/if.c -+++ b/pppd/plugins/pppoe/if.c -@@ -116,7 +116,7 @@ openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr) - stype = SOCK_PACKET; - #endif - -- if ((fd = socket(domain, stype, htons(type))) < 0) { -+ if ((fd = socket(domain, stype | SOCK_CLOEXEC, htons(type))) < 0) { - /* Give a more helpful message for the common error case */ - if (errno == EPERM) { - fatal("Cannot create raw socket -- pppoe must be run as root."); -diff --git a/pppd/plugins/pppoe/plugin.c b/pppd/plugins/pppoe/plugin.c -index a8c2bb4..24bdf8f 100644 ---- a/pppd/plugins/pppoe/plugin.c -+++ b/pppd/plugins/pppoe/plugin.c -@@ -137,7 +137,7 @@ PPPOEConnectDevice(void) - /* server equipment). */ - /* Opening this socket just before waitForPADS in the discovery() */ - /* function would be more appropriate, but it would mess-up the code */ -- conn->sessionSocket = socket(AF_PPPOX, SOCK_STREAM, PX_PROTO_OE); -+ conn->sessionSocket = socket(AF_PPPOX, SOCK_STREAM | SOCK_CLOEXEC, PX_PROTO_OE); - if (conn->sessionSocket < 0) { - error("Failed to create PPPoE socket: %m"); - return -1; -@@ -148,7 +148,7 @@ PPPOEConnectDevice(void) - lcp_wantoptions[0].mru = conn->mru; - - /* Update maximum MRU */ -- s = socket(AF_INET, SOCK_DGRAM, 0); -+ s = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); - if (s < 0) { - error("Can't get MTU for %s: %m", conn->ifName); - goto errout; -@@ -320,7 +320,7 @@ PPPoEDevnameHook(char *cmd, char **argv, int doit) - } - - /* Open a socket */ -- if ((fd = socket(PF_PACKET, SOCK_RAW, 0)) < 0) { -+ if ((fd = socket(PF_PACKET, SOCK_RAW | SOCK_CLOEXEC, 0)) < 0) { - r = 0; - } - -diff --git a/pppd/plugins/pppoe/pppoe-discovery.c b/pppd/plugins/pppoe/pppoe-discovery.c -index 3d3bf4e..c0d927d 100644 ---- a/pppd/plugins/pppoe/pppoe-discovery.c -+++ b/pppd/plugins/pppoe/pppoe-discovery.c -@@ -121,7 +121,7 @@ openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr) - stype = SOCK_PACKET; - #endif - -- if ((fd = socket(domain, stype, htons(type))) < 0) { -+ if ((fd = socket(domain, stype | SOCK_CLOEXEC, htons(type))) < 0) { - /* Give a more helpful message for the common error case */ - if (errno == EPERM) { - fatal("Cannot create raw socket -- pppoe must be run as root."); -diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c -index 00a2cf5..0690019 100644 ---- a/pppd/sys-linux.c -+++ b/pppd/sys-linux.c -@@ -308,12 +308,12 @@ static int modify_flags(int fd, int clear_bits, int set_bits) - void sys_init(void) - { - /* Get an internet socket for doing socket ioctls. */ -- sock_fd = socket(AF_INET, SOCK_DGRAM, 0); -+ sock_fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); - if (sock_fd < 0) - fatal("Couldn't create IP socket: %m(%d)", errno); - - #ifdef INET6 -- sock6_fd = socket(AF_INET6, SOCK_DGRAM, 0); -+ sock6_fd = socket(AF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0); - if (sock6_fd < 0) - sock6_fd = -errno; /* save errno for later */ - #endif -@@ -1857,7 +1857,7 @@ get_if_hwaddr(u_char *addr, char *name) - struct ifreq ifreq; - int ret, sock_fd; - -- sock_fd = socket(AF_INET, SOCK_DGRAM, 0); -+ sock_fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); - if (sock_fd < 0) - return -1; - memset(&ifreq.ifr_hwaddr, 0, sizeof(struct sockaddr)); -@@ -2067,7 +2067,7 @@ int ppp_available(void) - /* - * Open a socket for doing the ioctl operations. - */ -- s = socket(AF_INET, SOCK_DGRAM, 0); -+ s = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); - if (s < 0) - return 0; - -diff --git a/pppd/tty.c b/pppd/tty.c -index bc96695..8e76a5d 100644 ---- a/pppd/tty.c -+++ b/pppd/tty.c -@@ -896,7 +896,7 @@ open_socket(dest) - *sep = ':'; - - /* get a socket and connect it to the other end */ -- sock = socket(PF_INET, SOCK_STREAM, 0); -+ sock = socket(PF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0); - if (sock < 0) { - error("Can't create socket: %m"); - return -1; --- -1.8.3.1 - diff --git a/0015-pppd-move-pppd-database-to-var-run-ppp.patch b/0015-pppd-move-pppd-database-to-var-run-ppp.patch deleted file mode 100644 index 88b84d5..0000000 --- a/0015-pppd-move-pppd-database-to-var-run-ppp.patch +++ /dev/null @@ -1,44 +0,0 @@ -From f2c855462ff56be4121409c7e048cd2503fe0ccf Mon Sep 17 00:00:00 2001 -From: Jiri Skala -Date: Mon, 7 Apr 2014 14:26:20 +0200 -Subject: [PATCH 15/27] pppd: move pppd database to /var/run/ppp - -Resolves: #560014 ---- - pppd/pathnames.h | 11 ++++------- - 1 file changed, 4 insertions(+), 7 deletions(-) - -diff --git a/pppd/pathnames.h b/pppd/pathnames.h -index bef3160..24e010c 100644 ---- a/pppd/pathnames.h -+++ b/pppd/pathnames.h -@@ -6,8 +6,9 @@ - - #ifdef HAVE_PATHS_H - #include -- -+#define _PPP_SUBDIR "ppp/" - #else /* HAVE_PATHS_H */ -+#define _PPP_SUBDIR - #ifndef _PATH_VARRUN - #define _PATH_VARRUN "/etc/ppp/" - #endif -@@ -46,13 +47,9 @@ - #endif /* IPX_CHANGE */ - - #ifdef __STDC__ --#define _PATH_PPPDB _ROOT_PATH _PATH_VARRUN "pppd2.tdb" -+#define _PATH_PPPDB _ROOT_PATH _PATH_VARRUN _PPP_SUBDIR "pppd2.tdb" - #else /* __STDC__ */ --#ifdef HAVE_PATHS_H --#define _PATH_PPPDB "/var/run/pppd2.tdb" --#else --#define _PATH_PPPDB "/etc/ppp/pppd2.tdb" --#endif -+#define _PATH_PPPDB _PATH_VARRUN _PPP_SUBDIR "pppd2.tdb" - #endif /* __STDC__ */ - - #ifdef PLUGIN --- -1.8.3.1 - diff --git a/0016-rp-pppoe-add-manpage-for-pppoe-discovery.patch b/0016-rp-pppoe-add-manpage-for-pppoe-discovery.patch deleted file mode 100644 index b7f7c91..0000000 --- a/0016-rp-pppoe-add-manpage-for-pppoe-discovery.patch +++ /dev/null @@ -1,115 +0,0 @@ -diff --git a/pppd/plugins/pppoe/Makefile.linux b/pppd/plugins/pppoe/Makefile.linux -index 3cd9101..9918091 100644 ---- a/pppd/plugins/pppoe/Makefile.linux -+++ b/pppd/plugins/pppoe/Makefile.linux -@@ -16,6 +16,7 @@ - - DESTDIR = $(INSTROOT)@DESTDIR@ - BINDIR = $(DESTDIR)/sbin -+MANDIR = $(DESTDIR)/share/man/man8 - LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(PPPDVERSION) - - PPPDVERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h) -@@ -46,6 +47,7 @@ install: all - $(LN_S) pppoe.so $(LIBDIR)/rp-pppoe.so - $(INSTALL) -d -m 755 $(BINDIR) - $(INSTALL) -c -m 555 pppoe-discovery $(BINDIR) -+ $(INSTALL) -c -m 444 pppoe-discovery.8 $(MANDIR) - - clean: - rm -f *.o *.so pppoe-discovery -diff --git a/pppd/plugins/pppoe/pppoe-discovery.8 b/pppd/plugins/pppoe/pppoe-discovery.8 -new file mode 100644 -index 0000000..d0a93db ---- /dev/null -+++ b/pppd/plugins/pppoe/pppoe-discovery.8 -@@ -0,0 +1,86 @@ -+.\" pppoe-discovery.8 written by -+.\" Ben Hutchings , based on pppoe.8. -+.\" Licenced under the GPL version 2 or later. -+.TH PPPOE-DISCOVERY 8 -+.SH NAME -+pppoe\-discovery \- perform PPPoE discovery -+.SH SYNOPSIS -+.B pppoe\-discovery -+[ -+.I options -+] -+.br -+.BR pppoe\-discovery " { " \-V " | " \-h " }" -+.SH DESCRIPTION -+.LP -+\fBpppoe\-discovery\fR performs the same discovery process as -+\fBpppoe\fR, but does not initiate a session. -+It sends a PADI packet and then prints the names of access -+concentrators in each PADO packet it receives. -+.SH OPTIONS -+.TP -+.BI \-I " interface" -+.RS -+The \fB\-I\fR option specifies the Ethernet interface to use. -+Under Linux, it is typically eth0 or eth1. -+The interface should be \(lqup\(rq before you start -+\fBpppoe\-discovery\fR, but should \fInot\fR be configured to have an -+IP address. -+The default interface is eth0. -+.RE -+.TP -+.BI \-D " file_name" -+.RS -+The \fB\-D\fR option causes every packet to be dumped to the specified -+\fIfile_name\fR. -+This is intended for debugging only. -+.RE -+.TP -+.B \-U -+.RS -+Causes \fBpppoe\-discovery\fR to use the Host-Uniq tag in its discovery -+packets. -+This lets you run multiple instances of \fBpppoe\-discovery\fR and/or -+\fBpppoe\fR without having their discovery packets interfere with one -+another. -+You must supply this option to \fIall\fR instances that you intend to -+run simultaneously. -+.RE -+.TP -+.BI \-S " service_name" -+.RS -+Specifies the desired service name. -+\fBpppoe\-discovery\fR will only accept access concentrators which can -+provide the specified service. -+In most cases, you should \fInot\fR specify this option. -+Use it only if you know that there are multiple access concentrators -+or know that you need a specific service name. -+.RE -+.TP -+.BI \-C " ac_name" -+.RS -+Specifies the desired access concentrator name. -+\fBpppoe\-discovery\fR will only accept the specified access -+concentrator. -+In most cases, you should \fInot\fR specify this option. -+Use it only if you know that there are multiple access concentrators. -+If both the \fB\-S\fR and \fB\-C\fR options are specified, they must -+\fIboth\fR match. -+.RE -+.TP -+.B \-A -+.RS -+This option is accepted for compatibility with \fBpppoe\fR, but has no -+effect. -+.RE -+.TP -+.BR \-V " | " \-h -+.RS -+Either of these options causes \fBpppoe\-discovery\fR to print its -+version number and usage information, then exit. -+.RE -+.SH AUTHORS -+\fBpppoe\-discovery\fR was written by Marco d'Itri , -+based on \fBpppoe\fR by David F. Skoll . -+.SH SEE ALSO -+pppoe(8), pppoe-sniff(8) --- -1.8.3.1 - diff --git a/0018-scritps-fix-ip-up.local-sample.patch b/0018-scritps-fix-ip-up.local-sample.patch deleted file mode 100644 index c36e0b8..0000000 --- a/0018-scritps-fix-ip-up.local-sample.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 40960f91cdd06da387616ec838ae2599e7f01cee Mon Sep 17 00:00:00 2001 -From: Jiri Skala -Date: Mon, 7 Apr 2014 15:24:01 +0200 -Subject: [PATCH 18/27] scritps: fix ip-up.local sample - -Resolves: #613717 ---- - scripts/ip-up.local.add | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/scripts/ip-up.local.add b/scripts/ip-up.local.add -index 26cf5f8..282337c 100644 ---- a/scripts/ip-up.local.add -+++ b/scripts/ip-up.local.add -@@ -18,6 +18,9 @@ if [ -n "$USEPEERDNS" -a -f /var/run/ppp/resolv.conf ]; then - rscf=/var/run/ppp/resolv.new - grep domain /var/run/ppp/resolv.prev > $rscf - grep search /var/run/ppp/resolv.prev >> $rscf -+ if [ -f /var/run/ppp/resolv.conf ]; then -+ cat /var/run/ppp/resolv.conf >> $rscf -+ fi - change_resolv_conf $rscf - rm -f $rscf - else --- -1.8.3.1 - diff --git a/0023-build-sys-install-rp-pppoe-plugin-files-with-standar.patch b/0023-build-sys-install-rp-pppoe-plugin-files-with-standar.patch deleted file mode 100644 index 23b1f93..0000000 --- a/0023-build-sys-install-rp-pppoe-plugin-files-with-standar.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/pppd/plugins/pppoe/Makefile.linux b/pppd/plugins/pppoe/Makefile.linux -index 2df887b..6cb8397 100644 ---- a/pppd/plugins/pppoe/Makefile.linux -+++ b/pppd/plugins/pppoe/Makefile.linux -@@ -43,12 +43,12 @@ pppoe.so: plugin.o discovery.o if.o common.o - - install: all - $(INSTALL) -d -m 755 $(LIBDIR) -- $(INSTALL) -c -m 4550 pppoe.so $(LIBDIR) -+ $(INSTALL) -c -m 755 pppoe.so $(LIBDIR) - # Symlink for backward compatibility - $(LN_S) pppoe.so $(LIBDIR)/rp-pppoe.so - $(INSTALL) -d -m 755 $(BINDIR) -- $(INSTALL) -c -m 555 pppoe-discovery $(BINDIR) -- $(INSTALL) -c -m 444 pppoe-discovery.8 $(MANDIR) -+ $(INSTALL) -c -m 755 pppoe-discovery $(BINDIR) -+ $(INSTALL) -c -m 644 pppoe-discovery.8 $(MANDIR) - - clean: - rm -f *.o *.so pppoe-discovery diff --git a/0024-build-sys-install-pppoatm-plugin-files-with-standard.patch b/0024-build-sys-install-pppoatm-plugin-files-with-standard.patch deleted file mode 100644 index 9982d92..0000000 --- a/0024-build-sys-install-pppoatm-plugin-files-with-standard.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 0fdb22ef3d3cc3b297372451d60bd6c61d047d27 Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Thu, 10 Apr 2014 10:08:41 +0200 -Subject: [PATCH 24/27] build-sys: install pppoatm plugin files with standard - perms - ---- - pppd/plugins/pppoatm/Makefile.linux | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pppd/plugins/pppoatm/Makefile.linux b/pppd/plugins/pppoatm/Makefile.linux -index 769794b..4c5826f 100644 ---- a/pppd/plugins/pppoatm/Makefile.linux -+++ b/pppd/plugins/pppoatm/Makefile.linux -@@ -37,7 +37,7 @@ $(PLUGIN): $(PLUGIN_OBJS) - - install: all - $(INSTALL) -d -m 755 $(LIBDIR) -- $(INSTALL) -c -m 4550 $(PLUGIN) $(LIBDIR) -+ $(INSTALL) -c -m 755 $(PLUGIN) $(LIBDIR) - - clean: - rm -f *.o *.so --- -1.8.3.1 - diff --git a/ppp-2.4.8-pppd-install-pppd-binary-using-standard-perms-755.patch b/ppp-2.4.8-pppd-install-pppd-binary-using-standard-perms-755.patch deleted file mode 100644 index bedb902..0000000 --- a/ppp-2.4.8-pppd-install-pppd-binary-using-standard-perms-755.patch +++ /dev/null @@ -1,29 +0,0 @@ -From ab8b06cdc1075abc67f77e7c3bb684e20071d614 Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Thu, 10 Apr 2014 10:09:41 +0200 -Subject: [PATCH 25/27] pppd: install pppd binary using standard perms (755) - ---- - pppd/Makefile.linux | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux -index 0e8107f..534ccc2 100644 ---- a/pppd/Makefile.linux -+++ b/pppd/Makefile.linux -@@ -223,10 +223,10 @@ all: $(TARGETS) - install: pppd - mkdir -p $(BINDIR) $(MANDIR) - $(EXTRAINSTALL) -- $(INSTALL) -c -m 555 pppd $(BINDIR)/pppd -+ $(INSTALL) -c -m 755 pppd $(BINDIR)/pppd - if chgrp pppusers $(BINDIR)/pppd 2>/dev/null; then \ - chmod o-rx,u+s $(BINDIR)/pppd; fi -- $(INSTALL) -c -m 444 pppd.8 $(MANDIR) -+ $(INSTALL) -c -m 644 pppd.8 $(MANDIR) - - pppd: $(PPPDOBJS) - $(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_PLUGIN) -o pppd $(PPPDOBJS) $(LIBS) --- -1.8.3.1 - diff --git a/ppp-2.4.8-pppd-we-don-t-want-to-accidentally-leak-fds.patch b/ppp-2.4.8-pppd-we-don-t-want-to-accidentally-leak-fds.patch deleted file mode 100644 index 1b4a9cd..0000000 --- a/ppp-2.4.8-pppd-we-don-t-want-to-accidentally-leak-fds.patch +++ /dev/null @@ -1,143 +0,0 @@ -From 82cd789df0f022eb6f3d28646e7a61d1d0715805 Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Mon, 7 Apr 2014 12:23:36 +0200 -Subject: [PATCH 12/27] pppd: we don't want to accidentally leak fds - ---- - pppd/auth.c | 20 ++++++++++---------- - pppd/options.c | 2 +- - pppd/sys-linux.c | 4 ++-- - 3 files changed, 13 insertions(+), 13 deletions(-) - -diff --git a/pppd/auth.c b/pppd/auth.c -index 4271af6..9e957fa 100644 ---- a/pppd/auth.c -+++ b/pppd/auth.c -@@ -428,7 +428,7 @@ setupapfile(argv) - free(fname); - return 0; - } -- ufile = fopen(fname, "r"); -+ ufile = fopen(fname, "re"); - if (seteuid(euid) == -1) - fatal("unable to regain privileges: %m"); - if (ufile == NULL) { -@@ -1413,7 +1413,7 @@ check_passwd(unit, auser, userlen, apasswd, passwdlen, msg) - filename = _PATH_UPAPFILE; - addrs = opts = NULL; - ret = UPAP_AUTHNAK; -- f = fopen(filename, "r"); -+ f = fopen(filename, "re"); - if (f == NULL) { - error("Can't open PAP password file %s: %m", filename); - -@@ -1512,7 +1512,7 @@ null_login(unit) - if (ret <= 0) { - filename = _PATH_UPAPFILE; - addrs = NULL; -- f = fopen(filename, "r"); -+ f = fopen(filename, "re"); - if (f == NULL) - return 0; - check_access(f, filename); -@@ -1559,7 +1559,7 @@ get_pap_passwd(passwd) - } - - filename = _PATH_UPAPFILE; -- f = fopen(filename, "r"); -+ f = fopen(filename, "re"); - if (f == NULL) - return 0; - check_access(f, filename); -@@ -1597,7 +1597,7 @@ have_pap_secret(lacks_ipp) - } - - filename = _PATH_UPAPFILE; -- f = fopen(filename, "r"); -+ f = fopen(filename, "re"); - if (f == NULL) - return 0; - -@@ -1642,7 +1642,7 @@ have_chap_secret(client, server, need_ip, lacks_ipp) - } - - filename = _PATH_CHAPFILE; -- f = fopen(filename, "r"); -+ f = fopen(filename, "re"); - if (f == NULL) - return 0; - -@@ -1684,7 +1684,7 @@ have_srp_secret(client, server, need_ip, lacks_ipp) - struct wordlist *addrs; - - filename = _PATH_SRPFILE; -- f = fopen(filename, "r"); -+ f = fopen(filename, "re"); - if (f == NULL) - return 0; - -@@ -1740,7 +1740,7 @@ get_secret(unit, client, server, secret, secret_len, am_server) - addrs = NULL; - secbuf[0] = 0; - -- f = fopen(filename, "r"); -+ f = fopen(filename, "re"); - if (f == NULL) { - error("Can't open chap secret file %s: %m", filename); - return 0; -@@ -1797,7 +1797,7 @@ get_srp_secret(unit, client, server, secret, am_server) - filename = _PATH_SRPFILE; - addrs = NULL; - -- fp = fopen(filename, "r"); -+ fp = fopen(filename, "re"); - if (fp == NULL) { - error("Can't open srp secret file %s: %m", filename); - return 0; -@@ -2203,7 +2203,7 @@ scan_authfile(f, client, server, secret, addrs, opts, filename, flags) - */ - if (word[0] == '@' && word[1] == '/') { - strlcpy(atfile, word+1, sizeof(atfile)); -- if ((sf = fopen(atfile, "r")) == NULL) { -+ if ((sf = fopen(atfile, "re")) == NULL) { - warn("can't open indirect secret file %s", atfile); - continue; - } -diff --git a/pppd/options.c b/pppd/options.c -index 45fa742..1d754ae 100644 ---- a/pppd/options.c -+++ b/pppd/options.c -@@ -427,7 +427,7 @@ options_from_file(filename, must_exist, check_prot, priv) - option_error("unable to drop privileges to open %s: %m", filename); - return 0; - } -- f = fopen(filename, "r"); -+ f = fopen(filename, "re"); - err = errno; - if (check_prot && seteuid(euid) == -1) - fatal("unable to regain privileges"); -diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c -index 72a7727..8a12fa0 100644 ---- a/pppd/sys-linux.c -+++ b/pppd/sys-linux.c -@@ -1412,7 +1412,7 @@ static char *path_to_procfs(const char *tail) - /* Default the mount location of /proc */ - strlcpy (proc_path, "/proc", sizeof(proc_path)); - proc_path_len = 5; -- fp = fopen(MOUNTED, "r"); -+ fp = fopen(MOUNTED, "re"); - if (fp != NULL) { - while ((mntent = getmntent(fp)) != NULL) { - if (strcmp(mntent->mnt_type, MNTTYPE_IGNORE) == 0) -@@ -1472,7 +1472,7 @@ static int open_route_table (void) - close_route_table(); - - path = path_to_procfs("/net/route"); -- route_fd = fopen (path, "r"); -+ route_fd = fopen (path, "re"); - if (route_fd == NULL) { - error("can't open routing table %s: %m", path); - return 0; --- -1.8.3.1 - diff --git a/ppp-2.4.9-build-sys-don-t-hardcode-LIBDIR-but-set-it-according.patch b/ppp-2.4.9-build-sys-don-t-hardcode-LIBDIR-but-set-it-according.patch deleted file mode 100644 index c2c8cce..0000000 --- a/ppp-2.4.9-build-sys-don-t-hardcode-LIBDIR-but-set-it-according.patch +++ /dev/null @@ -1,99 +0,0 @@ -diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux -index 6a4b897..8f29c1f 100644 ---- a/pppd/Makefile.linux -+++ b/pppd/Makefile.linux -@@ -12,6 +12,7 @@ DESTDIR = $(INSTROOT)@DESTDIR@ - BINDIR = $(DESTDIR)/sbin - MANDIR = $(DESTDIR)/share/man/man8 - INCDIR = $(DESTDIR)/include -+LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null) - - TARGETS = pppd - -@@ -93,7 +94,7 @@ INCLUDE_DIRS= -I../include - - COMPILE_FLAGS= -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MMAP -pipe - --CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS) '-DDESTDIR="@DESTDIR@"' -+CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS) '-DDESTDIR="@DESTDIR@"' -DLIBDIR=\""$(LIBDIR)"\" - - ifdef CHAPMS - CFLAGS += -DCHAPMS=1 -diff --git a/pppd/pathnames.h b/pppd/pathnames.h -index 524d608..c7eadbb 100644 ---- a/pppd/pathnames.h -+++ b/pppd/pathnames.h -@@ -62,7 +62,7 @@ - - #ifdef PLUGIN - #ifdef __STDC__ --#define _PATH_PLUGIN DESTDIR "/lib/pppd/" VERSION -+#define _PATH_PLUGIN LIBDIR "/pppd/" VERSION - #else /* __STDC__ */ - #define _PATH_PLUGIN "/usr/lib/pppd" - #endif /* __STDC__ */ -diff --git a/pppd/plugins/Makefile.linux b/pppd/plugins/Makefile.linux -index 6403e3d..f42d18c 100644 ---- a/pppd/plugins/Makefile.linux -+++ b/pppd/plugins/Makefile.linux -@@ -5,7 +5,7 @@ COPTS=@CFLAGS@ - DESTDIR = $(INSTROOT)@DESTDIR@ - BINDIR = $(DESTDIR)/sbin - MANDIR = $(DESTDIR)/share/man/man8 --LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION) -+LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(VERSION) - - CFLAGS = $(COPTS) -I.. -I../../include -fPIC - LDFLAGS_SHARED = -shared -diff --git a/pppd/plugins/pppoatm/Makefile.linux b/pppd/plugins/pppoatm/Makefile.linux -index d3a8086..c2aff0c 100644 ---- a/pppd/plugins/pppoatm/Makefile.linux -+++ b/pppd/plugins/pppoatm/Makefile.linux -@@ -4,7 +4,7 @@ CC=$(CROSS_COMPILE)@CC@ - COPTS=@CFLAGS@ - - DESTDIR = $(INSTROOT)@DESTDIR@ --LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION) -+LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(VERSION) - - VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h) - -diff --git a/pppd/plugins/pppoe/Makefile.linux b/pppd/plugins/pppoe/Makefile.linux -index c415ce3..d3b7392 100644 ---- a/pppd/plugins/pppoe/Makefile.linux -+++ b/pppd/plugins/pppoe/Makefile.linux -@@ -18,7 +18,7 @@ COPTS=@CFLAGS@ - - DESTDIR = $(INSTROOT)@DESTDIR@ - BINDIR = $(DESTDIR)/sbin --LIBDIR = $(DESTDIR)/lib/pppd/$(PPPDVERSION) -+LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(PPPDVERSION) - - PPPDVERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h) - -diff --git a/pppd/plugins/pppol2tp/Makefile.linux b/pppd/plugins/pppol2tp/Makefile.linux -index 1aa1c0b..e4442f9 100644 ---- a/pppd/plugins/pppol2tp/Makefile.linux -+++ b/pppd/plugins/pppol2tp/Makefile.linux -@@ -4,7 +4,7 @@ CC=$(CROSS_COMPILE)@CC@ - COPTS=@CFLAGS@ - - DESTDIR = $(INSTROOT)/@DESTDIR@ --LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION) -+LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(VERSION) - - VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h) - -diff --git a/pppd/plugins/radius/Makefile.linux b/pppd/plugins/radius/Makefile.linux -index 489aef2..d2ef044 100644 ---- a/pppd/plugins/radius/Makefile.linux -+++ b/pppd/plugins/radius/Makefile.linux -@@ -9,7 +9,7 @@ COPTS=@CFLAGS@ - - DESTDIR = $(INSTROOT)@DESTDIR@ - MANDIR = $(DESTDIR)/share/man/man8 --LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION) -+LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(VERSION) - - VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h) - diff --git a/ppp-2.4.9-config.patch b/ppp-2.4.9-config.patch deleted file mode 100644 index fc7c781..0000000 --- a/ppp-2.4.9-config.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux -index e77373e..07df6a7 100644 ---- a/pppd/Makefile.linux -+++ b/pppd/Makefile.linux -@@ -68,14 +68,14 @@ USE_TDB=y - #SYSTEMD=y - - HAS_SHADOW=y --#USE_PAM=y -+USE_PAM=y - HAVE_INET6=y - - # Enable plugins - PLUGIN=y - - # Enable Microsoft proprietary Callback Control Protocol --#CBCP=y -+CBCP=y - - # Enable EAP SRP-SHA1 authentication (requires libsrp) - #USE_SRP=y diff --git a/ppp-2.4.9-configure-cflags-allow-commas.patch b/ppp-2.4.9-configure-cflags-allow-commas.patch deleted file mode 100644 index 5a4ef98..0000000 --- a/ppp-2.4.9-configure-cflags-allow-commas.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/configure b/configure -index f977663..c7031c2 100755 ---- a/configure -+++ b/configure -@@ -121,9 +121,9 @@ mkmkf() { - rm -f $2 - if [ -f $1 ]; then - echo " $2 <= $1" -- sed -e "s,@DESTDIR@,$DESTDIR,g" -e "s,@SYSCONF@,$SYSCONF,g" \ -- -e "s,@CROSS_COMPILE@,$CROSS_COMPILE,g" -e "s,@CC@,$CC,g" \ -- -e "s,@CFLAGS@,$CFLAGS,g" $1 >$2 -+ sed -e "s|@DESTDIR@|$DESTDIR|g" -e "s|@SYSCONF@|$SYSCONF|g" \ -+ -e "s|@CROSS_COMPILE@|$CROSS_COMPILE|g" -e "s|@CC@|$CC|g" \ -+ -e "s|@CFLAGS@|$CFLAGS|g" $1 >$2 - fi - } - diff --git a/ppp-2.4.9-everywhere-O_CLOEXEC-harder.patch b/ppp-2.4.9-everywhere-O_CLOEXEC-harder.patch deleted file mode 100644 index 84a3bdb..0000000 --- a/ppp-2.4.9-everywhere-O_CLOEXEC-harder.patch +++ /dev/null @@ -1,241 +0,0 @@ -From 302c1b736cb656c7885a0cba270fd953a672d8a8 Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Mon, 7 Apr 2014 13:56:34 +0200 -Subject: [PATCH 13/27] everywhere: O_CLOEXEC harder - ---- - pppd/eap.c | 2 +- - pppd/main.c | 4 ++-- - pppd/options.c | 4 ++-- - pppd/sys-linux.c | 22 +++++++++++----------- - pppd/tdb.c | 4 ++-- - pppd/tty.c | 4 ++-- - pppd/utils.c | 6 +++--- - 7 files changed, 23 insertions(+), 23 deletions(-) - -diff --git a/pppd/eap.c b/pppd/eap.c -index 6ea6c1f..faced53 100644 ---- a/pppd/eap.c -+++ b/pppd/eap.c -@@ -1226,7 +1226,7 @@ mode_t modebits; - - if ((path = name_of_pn_file()) == NULL) - return (-1); -- fd = open(path, modebits, S_IRUSR | S_IWUSR); -+ fd = open(path, modebits, S_IRUSR | S_IWUSR | O_CLOEXEC); - err = errno; - free(path); - errno = err; -diff --git a/pppd/main.c b/pppd/main.c -index 6d50d1b..4880377 100644 ---- a/pppd/main.c -+++ b/pppd/main.c -@@ -420,7 +420,7 @@ main(argc, argv) - die(0); - - /* Make sure fds 0, 1, 2 are open to somewhere. */ -- fd_devnull = open(_PATH_DEVNULL, O_RDWR); -+ fd_devnull = open(_PATH_DEVNULL, O_RDWR | O_CLOEXEC); - if (fd_devnull < 0) - fatal("Couldn't open %s: %m", _PATH_DEVNULL); - while (fd_devnull <= 2) { -@@ -1679,7 +1679,7 @@ device_script(program, in, out, dont_wait) - if (log_to_fd >= 0) - errfd = log_to_fd; - else -- errfd = open(_PATH_CONNERRS, O_WRONLY | O_APPEND | O_CREAT, 0644); -+ errfd = open(_PATH_CONNERRS, O_WRONLY | O_APPEND | O_CREAT | O_CLOEXEC, 0644); - - ++conn_running; - pid = safe_fork(in, out, errfd); -diff --git a/pppd/options.c b/pppd/options.c -index 1d754ae..8e62635 100644 ---- a/pppd/options.c -+++ b/pppd/options.c -@@ -1544,9 +1544,9 @@ setlogfile(argv) - option_error("unable to drop permissions to open %s: %m", *argv); - return 0; - } -- fd = open(*argv, O_WRONLY | O_APPEND | O_CREAT | O_EXCL, 0644); -+ fd = open(*argv, O_WRONLY | O_APPEND | O_CREAT | O_EXCL | O_CLOEXEC, 0644); - if (fd < 0 && errno == EEXIST) -- fd = open(*argv, O_WRONLY | O_APPEND); -+ fd = open(*argv, O_WRONLY | O_APPEND | O_CLOEXEC); - err = errno; - if (!privileged_option && seteuid(euid) == -1) - fatal("unable to regain privileges: %m"); -diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c -index 8a12fa0..00a2cf5 100644 ---- a/pppd/sys-linux.c -+++ b/pppd/sys-linux.c -@@ -459,7 +459,7 @@ int generic_establish_ppp (int fd) - goto err; - } - dbglog("using channel %d", chindex); -- fd = open("/dev/ppp", O_RDWR); -+ fd = open("/dev/ppp", O_RDWR | O_CLOEXEC); - if (fd < 0) { - error("Couldn't reopen /dev/ppp: %m"); - goto err; -@@ -619,7 +619,7 @@ static int make_ppp_unit() - dbglog("in make_ppp_unit, already had /dev/ppp open?"); - close(ppp_dev_fd); - } -- ppp_dev_fd = open("/dev/ppp", O_RDWR); -+ ppp_dev_fd = open("/dev/ppp", O_RDWR | O_CLOEXEC); - if (ppp_dev_fd < 0) - fatal("Couldn't open /dev/ppp: %m"); - flags = fcntl(ppp_dev_fd, F_GETFL); -@@ -693,7 +693,7 @@ int bundle_attach(int ifnum) - if (!new_style_driver) - return -1; - -- master_fd = open("/dev/ppp", O_RDWR); -+ master_fd = open("/dev/ppp", O_RDWR | O_CLOEXEC); - if (master_fd < 0) - fatal("Couldn't open /dev/ppp: %m"); - if (ioctl(master_fd, PPPIOCATTACH, &ifnum) < 0) { -@@ -1715,7 +1715,7 @@ int sifproxyarp (int unit, u_int32_t his_adr) - if (tune_kernel) { - forw_path = path_to_procfs("/sys/net/ipv4/ip_forward"); - if (forw_path != 0) { -- int fd = open(forw_path, O_WRONLY); -+ int fd = open(forw_path, O_WRONLY | O_CLOEXEC); - if (fd >= 0) { - if (write(fd, "1", 1) != 1) - error("Couldn't enable IP forwarding: %m"); -@@ -2030,7 +2030,7 @@ int ppp_available(void) - sscanf(utsname.release, "%d.%d.%d", &osmaj, &osmin, &ospatch); - kernel_version = KVERSION(osmaj, osmin, ospatch); - -- fd = open("/dev/ppp", O_RDWR); -+ fd = open("/dev/ppp", O_RDWR | O_CLOEXEC); - if (fd >= 0) { - new_style_driver = 1; - -@@ -2208,7 +2208,7 @@ void logwtmp (const char *line, const char *name, const char *host) - #if __GLIBC__ >= 2 - updwtmp(_PATH_WTMP, &ut); - #else -- wtmp = open(_PATH_WTMP, O_APPEND|O_WRONLY); -+ wtmp = open(_PATH_WTMP, O_APPEND|O_WRONLY|O_CLOEXEC); - if (wtmp >= 0) { - flock(wtmp, LOCK_EX); - -@@ -2394,7 +2394,7 @@ int sifaddr (int unit, u_int32_t our_adr, u_int32_t his_adr, - int fd; - - path = path_to_procfs("/sys/net/ipv4/ip_dynaddr"); -- if (path != 0 && (fd = open(path, O_WRONLY)) >= 0) { -+ if (path != 0 && (fd = open(path, O_WRONLY | O_CLOEXEC)) >= 0) { - if (write(fd, "1", 1) != 1) - error("Couldn't enable dynamic IP addressing: %m"); - close(fd); -@@ -2570,7 +2570,7 @@ get_pty(master_fdp, slave_fdp, slave_name, uid) - /* - * Try the unix98 way first. - */ -- mfd = open("/dev/ptmx", O_RDWR); -+ mfd = open("/dev/ptmx", O_RDWR | O_CLOEXEC); - if (mfd >= 0) { - int ptn; - if (ioctl(mfd, TIOCGPTN, &ptn) >= 0) { -@@ -2581,7 +2581,7 @@ get_pty(master_fdp, slave_fdp, slave_name, uid) - if (ioctl(mfd, TIOCSPTLCK, &ptn) < 0) - warn("Couldn't unlock pty slave %s: %m", pty_name); - #endif -- if ((sfd = open(pty_name, O_RDWR | O_NOCTTY)) < 0) -+ if ((sfd = open(pty_name, O_RDWR | O_NOCTTY | O_CLOEXEC)) < 0) - { - warn("Couldn't open pty slave %s: %m", pty_name); - close(mfd); -@@ -2592,10 +2592,10 @@ get_pty(master_fdp, slave_fdp, slave_name, uid) - for (i = 0; i < 64; ++i) { - slprintf(pty_name, sizeof(pty_name), "/dev/pty%c%x", - 'p' + i / 16, i % 16); -- mfd = open(pty_name, O_RDWR, 0); -+ mfd = open(pty_name, O_RDWR | O_CLOEXEC, 0); - if (mfd >= 0) { - pty_name[5] = 't'; -- sfd = open(pty_name, O_RDWR | O_NOCTTY, 0); -+ sfd = open(pty_name, O_RDWR | O_NOCTTY | O_CLOEXEC, 0); - if (sfd >= 0) { - fchown(sfd, uid, -1); - fchmod(sfd, S_IRUSR | S_IWUSR); -diff --git a/pppd/tdb.c b/pppd/tdb.c -index bdc5828..c7ab71c 100644 ---- a/pppd/tdb.c -+++ b/pppd/tdb.c -@@ -1724,7 +1724,7 @@ TDB_CONTEXT *tdb_open_ex(const char *name, int hash_size, int tdb_flags, - goto internal; - } - -- if ((tdb->fd = open(name, open_flags, mode)) == -1) { -+ if ((tdb->fd = open(name, open_flags | O_CLOEXEC, mode)) == -1) { - TDB_LOG((tdb, 5, "tdb_open_ex: could not open file %s: %s\n", - name, strerror(errno))); - goto fail; /* errno set by open(2) */ -@@ -1967,7 +1967,7 @@ int tdb_reopen(TDB_CONTEXT *tdb) - } - if (close(tdb->fd) != 0) - TDB_LOG((tdb, 0, "tdb_reopen: WARNING closing tdb->fd failed!\n")); -- tdb->fd = open(tdb->name, tdb->open_flags & ~(O_CREAT|O_TRUNC), 0); -+ tdb->fd = open(tdb->name, (tdb->open_flags & ~(O_CREAT|O_TRUNC)) | O_CLOEXEC, 0); - if (tdb->fd == -1) { - TDB_LOG((tdb, 0, "tdb_reopen: open failed (%s)\n", strerror(errno))); - goto fail; -diff --git a/pppd/tty.c b/pppd/tty.c -index d571b11..bc96695 100644 ---- a/pppd/tty.c -+++ b/pppd/tty.c -@@ -569,7 +569,7 @@ int connect_tty() - status = EXIT_OPEN_FAILED; - goto errret; - } -- real_ttyfd = open(devnam, O_NONBLOCK | O_RDWR, 0); -+ real_ttyfd = open(devnam, O_NONBLOCK | O_RDWR | O_CLOEXEC, 0); - err = errno; - if (prio < OPRIO_ROOT && seteuid(0) == -1) - fatal("Unable to regain privileges"); -@@ -723,7 +723,7 @@ int connect_tty() - if (connector == NULL && modem && devnam[0] != 0) { - int i; - for (;;) { -- if ((i = open(devnam, O_RDWR)) >= 0) -+ if ((i = open(devnam, O_RDWR | O_CLOEXEC)) >= 0) - break; - if (errno != EINTR) { - error("Failed to reopen %s: %m", devnam); -diff --git a/pppd/utils.c b/pppd/utils.c -index 29bf970..6051b9a 100644 ---- a/pppd/utils.c -+++ b/pppd/utils.c -@@ -918,14 +918,14 @@ lock(dev) - slprintf(lock_file, sizeof(lock_file), "%s/LCK..%s", LOCK_DIR, dev); - #endif - -- while ((fd = open(lock_file, O_EXCL | O_CREAT | O_RDWR, 0644)) < 0) { -+ while ((fd = open(lock_file, O_EXCL | O_CREAT | O_RDWR | O_CLOEXEC, 0644)) < 0) { - if (errno != EEXIST) { - error("Can't create lock file %s: %m", lock_file); - break; - } - - /* Read the lock file to find out who has the device locked. */ -- fd = open(lock_file, O_RDONLY, 0); -+ fd = open(lock_file, O_RDONLY | O_CLOEXEC, 0); - if (fd < 0) { - if (errno == ENOENT) /* This is just a timing problem. */ - continue; -@@ -1004,7 +1004,7 @@ relock(pid) - - if (lock_file[0] == 0) - return -1; -- fd = open(lock_file, O_WRONLY, 0); -+ fd = open(lock_file, O_WRONLY | O_CLOEXEC, 0); - if (fd < 0) { - error("Couldn't reopen lock file %s: %m", lock_file); - lock_file[0] = 0; --- -1.8.3.1 - diff --git a/ppp-2.4.9-pppd-Expose-the-MPPE-keys-generated-through-an-API-2.patch b/ppp-2.4.9-pppd-Expose-the-MPPE-keys-generated-through-an-API-2.patch deleted file mode 100644 index fb0bcc1..0000000 --- a/ppp-2.4.9-pppd-Expose-the-MPPE-keys-generated-through-an-API-2.patch +++ /dev/null @@ -1,898 +0,0 @@ -From d706c95906d996534f13632a747af5dc617f306e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Eivind=20N=C3=A6ss?= -Date: Sat, 24 Apr 2021 03:00:34 -0700 -Subject: [PATCH] pppd: Expose the MPPE keys generated through an API (#267) - -The lengthy part of this fix is to refactor the handling of MPPE keys -by moving it into mppe.c and thus reducing the clutter in chap_ms.c. -It does so by renaming the mppe_set_keys/2 to the corresponding -mppe_set_chapv1/mppe_set_chapv2 versions and updates callers of these -functions. - -Having done so, it conveniently allows the name "mppe_set_keys" to be -re-used for this new purpose which will copy the key material up to -its size and then clear the input parameters (avoids leaving the MPPE -keys on the stack). - -Additional functiions added to the MPPE code allow plugins et al. to -access the MPPE keys, clear the keys, and check if they are set. All -plugin and CCP code has been updated to use this API. - -This fixes GitHub Issue #258 - -Signed-off-by: Eivind Naess ---- - pppd/Makefile.linux | 2 + - pppd/Makefile.sol2 | 2 +- - pppd/ccp.c | 15 +-- - pppd/chap_ms.c | 167 +---------------------- - pppd/chap_ms.h | 22 +--- - pppd/eap-tls.c | 21 +-- - pppd/eap-tls.h | 5 - - pppd/mppe.c | 248 +++++++++++++++++++++++++++++++++++ - pppd/mppe.h | 70 +++++++++- - pppd/plugins/radius/radius.c | 14 +- - pppd/plugins/winbind.c | 8 +- - 11 files changed, 348 insertions(+), 226 deletions(-) - create mode 100644 pppd/mppe.c - -diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux -index f92f7c0..852945e 100644 ---- a/pppd/Makefile.linux -+++ b/pppd/Makefile.linux -@@ -109,6 +109,8 @@ CFLAGS += -DMSLANMAN=1 - endif - ifdef MPPE - CFLAGS += -DMPPE=1 -+PPPDOBJS += mppe.o -+PPPDSRC += mppe.c - HEADERS += mppe.h - endif - endif -diff --git a/pppd/Makefile.sol2 b/pppd/Makefile.sol2 -index 809cb4b..3a8681c 100644 ---- a/pppd/Makefile.sol2 -+++ b/pppd/Makefile.sol2 -@@ -37,7 +37,7 @@ OBJS += ipv6cp.o eui64.o - - # Uncomment to enable MS-CHAP - CFLAGS += -DUSE_CRYPT -DCHAPMS -DMSLANMAN -DHAVE_CRYPT_H --OBJS += chap_ms.o pppcrypt.o md4.o sha1.o -+OBJS += chap_ms.o pppcrypt.o md4.o sha1.o mppe.o - - # Uncomment to enable MPPE (in both CHAP and EAP-TLS) - CFLAGS += -DMPPE -diff --git a/pppd/ccp.c b/pppd/ccp.c -index 052c4c6..387b571 100644 ---- a/pppd/ccp.c -+++ b/pppd/ccp.c -@@ -38,10 +38,9 @@ - #include "ccp.h" - #include - --#ifdef MPPE --#include "chap_ms.h" /* mppe_xxxx_key, mppe_keys_set */ -+#include "chap_ms.h" -+#include "mppe.h" - #include "lcp.h" /* lcp_close(), lcp_fsm */ --#endif - - - /* -@@ -574,7 +573,7 @@ ccp_resetci(fsm *f) - } - - /* A plugin (eg radius) may not have obtained key material. */ -- if (!mppe_keys_set) { -+ if (!mppe_keys_isset()) { - error("MPPE required, but keys are not available. " - "Possible plugin problem?"); - lcp_close(f->unit, "MPPE required but not available"); -@@ -705,7 +704,7 @@ static void - p[1] = opt_buf[1] = CILEN_MPPE; - MPPE_OPTS_TO_CI(go->mppe, &p[2]); - MPPE_OPTS_TO_CI(go->mppe, &opt_buf[2]); -- BCOPY(mppe_recv_key, &opt_buf[CILEN_MPPE], MPPE_MAX_KEY_LEN); -+ mppe_get_recv_key(&opt_buf[CILEN_MPPE], MPPE_MAX_KEY_LEN); - res = ccp_test(f->unit, opt_buf, CILEN_MPPE + MPPE_MAX_KEY_LEN, 0); - if (res > 0) - p += CILEN_MPPE; -@@ -1156,8 +1155,7 @@ ccp_reqci(fsm *f, u_char *p, int *lenp, int dont_nak) - int mtu; - - BCOPY(p, opt_buf, CILEN_MPPE); -- BCOPY(mppe_send_key, &opt_buf[CILEN_MPPE], -- MPPE_MAX_KEY_LEN); -+ mppe_get_send_key(&opt_buf[CILEN_MPPE], MPPE_MAX_KEY_LEN); - if (ccp_test(f->unit, opt_buf, - CILEN_MPPE + MPPE_MAX_KEY_LEN, 1) <= 0) { - /* This shouldn't happen, we've already tested it! */ -@@ -1426,8 +1424,7 @@ ccp_up(fsm *f) - notice("%s transmit compression enabled", method_name(ho, NULL)); - #ifdef MPPE - if (go->mppe) { -- BZERO(mppe_recv_key, MPPE_MAX_KEY_LEN); -- BZERO(mppe_send_key, MPPE_MAX_KEY_LEN); -+ mppe_clear_keys(); - continue_networks(f->unit); /* Bring up IP et al */ - } - #endif -diff --git a/pppd/chap_ms.c b/pppd/chap_ms.c -index df2dadd..d315ab4 100644 ---- a/pppd/chap_ms.c -+++ b/pppd/chap_ms.c -@@ -93,8 +93,7 @@ - #include "sha1.h" - #include "pppcrypt.h" - #include "magic.h" -- -- -+#include "mppe.h" - - static void ascii2unicode (char[], int, u_char[]); - static void NTPasswordHash (u_char *, int, u_char[MD4_SIGNATURE_SIZE]); -@@ -109,21 +108,12 @@ static void GenerateAuthenticatorResponsePlain - static void ChapMS_LANMan (u_char *, char *, int, u_char *); - #endif - --#ifdef MPPE --static void Set_Start_Key (u_char *, char *, int); --static void SetMasterKeys (char *, int, u_char[24], int); --#endif -- - #ifdef MSLANMAN - bool ms_lanman = 0; /* Use LanMan password instead of NT */ - /* Has meaning only with MS-CHAP challenges */ - #endif - - #ifdef MPPE --u_char mppe_send_key[MPPE_MAX_KEY_LEN]; --u_char mppe_recv_key[MPPE_MAX_KEY_LEN]; --int mppe_keys_set = 0; /* Have the MPPE keys been set? */ -- - #ifdef DEBUGMPPEKEY - /* For MPPE debug */ - /* Use "[]|}{?/><,`!2&&(" (sans quotes) for RFC 3079 MS-CHAPv2 test value */ -@@ -719,28 +709,6 @@ GenerateAuthenticatorResponsePlain - - - #ifdef MPPE --/* -- * Set mppe_xxxx_key from the NTPasswordHashHash. -- * RFC 2548 (RADIUS support) requires us to export this function (ugh). -- */ --void --mppe_set_keys(u_char *rchallenge, u_char PasswordHashHash[MD4_SIGNATURE_SIZE]) --{ -- SHA1_CTX sha1Context; -- u_char Digest[SHA1_SIGNATURE_SIZE]; /* >= MPPE_MAX_KEY_LEN */ -- -- SHA1_Init(&sha1Context); -- SHA1_Update(&sha1Context, PasswordHashHash, MD4_SIGNATURE_SIZE); -- SHA1_Update(&sha1Context, PasswordHashHash, MD4_SIGNATURE_SIZE); -- SHA1_Update(&sha1Context, rchallenge, 8); -- SHA1_Final(Digest, &sha1Context); -- -- /* Same key in both directions. */ -- BCOPY(Digest, mppe_send_key, sizeof(mppe_send_key)); -- BCOPY(Digest, mppe_recv_key, sizeof(mppe_recv_key)); -- -- mppe_keys_set = 1; --} - - /* - * Set mppe_xxxx_key from MS-CHAP credentials. (see RFC 3079) -@@ -757,104 +725,7 @@ Set_Start_Key(u_char *rchallenge, char *secret, int secret_len) - NTPasswordHash(unicodePassword, secret_len * 2, PasswordHash); - NTPasswordHash(PasswordHash, sizeof(PasswordHash), PasswordHashHash); - -- mppe_set_keys(rchallenge, PasswordHashHash); --} -- --/* -- * Set mppe_xxxx_key from MS-CHAPv2 credentials. (see RFC 3079) -- * -- * This helper function used in the Winbind module, which gets the -- * NTHashHash from the server. -- */ --void --mppe_set_keys2(u_char PasswordHashHash[MD4_SIGNATURE_SIZE], -- u_char NTResponse[24], int IsServer) --{ -- SHA1_CTX sha1Context; -- u_char MasterKey[SHA1_SIGNATURE_SIZE]; /* >= MPPE_MAX_KEY_LEN */ -- u_char Digest[SHA1_SIGNATURE_SIZE]; /* >= MPPE_MAX_KEY_LEN */ -- -- u_char SHApad1[40] = -- { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -- u_char SHApad2[40] = -- { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, -- 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, -- 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, -- 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 }; -- -- /* "This is the MPPE Master Key" */ -- u_char Magic1[27] = -- { 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, -- 0x68, 0x65, 0x20, 0x4d, 0x50, 0x50, 0x45, 0x20, 0x4d, -- 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x4b, 0x65, 0x79 }; -- /* "On the client side, this is the send key; " -- "on the server side, it is the receive key." */ -- u_char Magic2[84] = -- { 0x4f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, -- 0x65, 0x6e, 0x74, 0x20, 0x73, 0x69, 0x64, 0x65, 0x2c, 0x20, -- 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, -- 0x65, 0x20, 0x73, 0x65, 0x6e, 0x64, 0x20, 0x6b, 0x65, 0x79, -- 0x3b, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, -- 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x73, 0x69, 0x64, 0x65, -- 0x2c, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, -- 0x65, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x20, -- 0x6b, 0x65, 0x79, 0x2e }; -- /* "On the client side, this is the receive key; " -- "on the server side, it is the send key." */ -- u_char Magic3[84] = -- { 0x4f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, -- 0x65, 0x6e, 0x74, 0x20, 0x73, 0x69, 0x64, 0x65, 0x2c, 0x20, -- 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, -- 0x65, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x20, -- 0x6b, 0x65, 0x79, 0x3b, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, -- 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x73, -- 0x69, 0x64, 0x65, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, -- 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x6e, 0x64, 0x20, -- 0x6b, 0x65, 0x79, 0x2e }; -- u_char *s; -- -- SHA1_Init(&sha1Context); -- SHA1_Update(&sha1Context, PasswordHashHash, MD4_SIGNATURE_SIZE); -- SHA1_Update(&sha1Context, NTResponse, 24); -- SHA1_Update(&sha1Context, Magic1, sizeof(Magic1)); -- SHA1_Final(MasterKey, &sha1Context); -- -- /* -- * generate send key -- */ -- if (IsServer) -- s = Magic3; -- else -- s = Magic2; -- SHA1_Init(&sha1Context); -- SHA1_Update(&sha1Context, MasterKey, 16); -- SHA1_Update(&sha1Context, SHApad1, sizeof(SHApad1)); -- SHA1_Update(&sha1Context, s, 84); -- SHA1_Update(&sha1Context, SHApad2, sizeof(SHApad2)); -- SHA1_Final(Digest, &sha1Context); -- -- BCOPY(Digest, mppe_send_key, sizeof(mppe_send_key)); -- -- /* -- * generate recv key -- */ -- if (IsServer) -- s = Magic2; -- else -- s = Magic3; -- SHA1_Init(&sha1Context); -- SHA1_Update(&sha1Context, MasterKey, 16); -- SHA1_Update(&sha1Context, SHApad1, sizeof(SHApad1)); -- SHA1_Update(&sha1Context, s, 84); -- SHA1_Update(&sha1Context, SHApad2, sizeof(SHApad2)); -- SHA1_Final(Digest, &sha1Context); -- -- BCOPY(Digest, mppe_recv_key, sizeof(mppe_recv_key)); -- -- mppe_keys_set = 1; -+ mppe_set_chapv1(rchallenge, PasswordHashHash); - } - - /* -@@ -870,7 +741,7 @@ SetMasterKeys(char *secret, int secret_len, u_char NTResponse[24], int IsServer) - ascii2unicode(secret, secret_len, unicodePassword); - NTPasswordHash(unicodePassword, secret_len * 2, PasswordHash); - NTPasswordHash(PasswordHash, sizeof(PasswordHash), PasswordHashHash); -- mppe_set_keys2(PasswordHashHash, NTResponse, IsServer); -+ mppe_set_chapv2(PasswordHashHash, NTResponse, IsServer); - } - - #endif /* MPPE */ -@@ -945,38 +816,6 @@ ChapMS2(u_char *rchallenge, u_char *PeerChallenge, - #endif - } - --#ifdef MPPE --/* -- * Set MPPE options from plugins. -- */ --void --set_mppe_enc_types(int policy, int types) --{ -- /* Early exit for unknown policies. */ -- if (policy != MPPE_ENC_POL_ENC_ALLOWED && -- policy != MPPE_ENC_POL_ENC_REQUIRED) -- return; -- -- /* Don't modify MPPE if it's optional and wasn't already configured. */ -- if (policy == MPPE_ENC_POL_ENC_ALLOWED && !ccp_wantoptions[0].mppe) -- return; -- -- /* -- * Disable undesirable encryption types. Note that we don't ENABLE -- * any encryption types, to avoid overriding manual configuration. -- */ -- switch(types) { -- case MPPE_ENC_TYPES_RC4_40: -- ccp_wantoptions[0].mppe &= ~MPPE_OPT_128; /* disable 128-bit */ -- break; -- case MPPE_ENC_TYPES_RC4_128: -- ccp_wantoptions[0].mppe &= ~MPPE_OPT_40; /* disable 40-bit */ -- break; -- default: -- break; -- } --} --#endif /* MPPE */ - - static struct chap_digest_type chapms_digest = { - CHAP_MICROSOFT, /* code */ -diff --git a/pppd/chap_ms.h b/pppd/chap_ms.h -index 005eb63..4e6a621 100644 ---- a/pppd/chap_ms.h -+++ b/pppd/chap_ms.h -@@ -38,6 +38,7 @@ - #define MS_CHAP_RESPONSE_LEN 49 /* Response length for MS-CHAP */ - #define MS_CHAP2_RESPONSE_LEN 49 /* Response length for MS-CHAPv2 */ - #define MS_AUTH_RESPONSE_LENGTH 40 /* MS-CHAPv2 authenticator response, */ -+#define MS_AUTH_NTRESP_LEN 24 /* Length of NT-response field */ - /* as ASCII */ - - /* E=eeeeeeeeee error codes for MS-CHAP failure messages. */ -@@ -67,22 +68,6 @@ - #define MS_CHAP2_NTRESP_LEN 24 - #define MS_CHAP2_FLAGS 48 - --#ifdef MPPE --#include "mppe.h" /* MPPE_MAX_KEY_LEN */ --extern u_char mppe_send_key[MPPE_MAX_KEY_LEN]; --extern u_char mppe_recv_key[MPPE_MAX_KEY_LEN]; --extern int mppe_keys_set; -- --/* These values are the RADIUS attribute values--see RFC 2548. */ --#define MPPE_ENC_POL_ENC_ALLOWED 1 --#define MPPE_ENC_POL_ENC_REQUIRED 2 --#define MPPE_ENC_TYPES_RC4_40 2 --#define MPPE_ENC_TYPES_RC4_128 4 -- --/* used by plugins (using above values) */ --extern void set_mppe_enc_types(int, int); --#endif -- - /* Are we the authenticator or authenticatee? For MS-CHAPv2 key derivation. */ - #define MS_CHAP2_AUTHENTICATEE 0 - #define MS_CHAP2_AUTHENTICATOR 1 -@@ -90,11 +75,6 @@ extern void set_mppe_enc_types(int, int); - void ChapMS (u_char *, char *, int, u_char *); - void ChapMS2 (u_char *, u_char *, char *, char *, int, - u_char *, u_char[MS_AUTH_RESPONSE_LENGTH+1], int); --#ifdef MPPE --void mppe_set_keys (u_char *, u_char[MD4_SIGNATURE_SIZE]); --void mppe_set_keys2(u_char PasswordHashHash[MD4_SIGNATURE_SIZE], -- u_char NTResponse[24], int IsServer); --#endif - - void ChallengeHash (u_char[16], u_char *, char *, u_char[8]); - -diff --git a/pppd/eap-tls.c b/pppd/eap-tls.c -index 5c202c7..bfcf199 100644 ---- a/pppd/eap-tls.c -+++ b/pppd/eap-tls.c -@@ -48,6 +48,8 @@ - #include "eap-tls.h" - #include "fsm.h" - #include "lcp.h" -+#include "chap_ms.h" -+#include "mppe.h" - #include "pathnames.h" - - typedef struct pw_cb_data -@@ -74,10 +76,6 @@ int ssl_new_session_cb(SSL *s, SSL_SESSION *sess); - X509 *get_X509_from_file(char *filename); - int ssl_cmp_certs(char *filename, X509 * a); - --#ifdef MPPE -- --#define EAPTLS_MPPE_KEY_LEN 32 -- - /* - * OpenSSL 1.1+ introduced a generic TLS_method() - * For older releases we substitute the appropriate method -@@ -119,6 +117,8 @@ static inline int SSL_CTX_set_max_proto_version(SSL_CTX *ctx, long tls_ver_max) - - #endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ - -+#ifdef MPPE -+#define EAPTLS_MPPE_KEY_LEN 32 - - /* - * Generate keys according to RFC 2716 and add to reply -@@ -161,24 +161,17 @@ void eaptls_gen_mppe_keys(struct eaptls_session *ets, int client) - */ - if (client) - { -- p = out; -- BCOPY( p, mppe_send_key, sizeof(mppe_send_key) ); -- p += EAPTLS_MPPE_KEY_LEN; -- BCOPY( p, mppe_recv_key, sizeof(mppe_recv_key) ); -+ mppe_set_keys(out, out + EAPTLS_MPPE_KEY_LEN, EAPTLS_MPPE_KEY_LEN); - } - else - { -- p = out; -- BCOPY( p, mppe_recv_key, sizeof(mppe_recv_key) ); -- p += EAPTLS_MPPE_KEY_LEN; -- BCOPY( p, mppe_send_key, sizeof(mppe_send_key) ); -+ mppe_set_keys(out + EAPTLS_MPPE_KEY_LEN, out, EAPTLS_MPPE_KEY_LEN); - } -- -- mppe_keys_set = 1; - } - - #endif /* MPPE */ - -+ - void log_ssl_errors( void ) - { - unsigned long ssl_err = ERR_get_error(); -diff --git a/pppd/eap-tls.h b/pppd/eap-tls.h -index c74a831..b935ec5 100644 ---- a/pppd/eap-tls.h -+++ b/pppd/eap-tls.h -@@ -86,11 +86,6 @@ int get_eaptls_secret(int unit, char *client, char *server, - char *capath, char *pkfile, int am_server); - - #ifdef MPPE --#include "mppe.h" /* MPPE_MAX_KEY_LEN */ --extern u_char mppe_send_key[MPPE_MAX_KEY_LEN]; --extern u_char mppe_recv_key[MPPE_MAX_KEY_LEN]; --extern int mppe_keys_set; -- - void eaptls_gen_mppe_keys(struct eaptls_session *ets, int client); - #endif - -diff --git a/pppd/mppe.c b/pppd/mppe.c -new file mode 100644 -index 0000000..4f3d131 ---- /dev/null -+++ b/pppd/mppe.c -@@ -0,0 +1,248 @@ -+/* * mppe.c - MPPE key implementation -+ * -+ * Copyright (c) 2020 Eivind Naess. All rights reserved. -+ * Copyright (c) 2008 Paul Mackerras. All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in -+ * the documentation and/or other materials provided with the -+ * distribution. -+ * -+ * 3. The name(s) of the authors of this software must not be used to -+ * endorse or promote products derived from this software without -+ * prior written permission. -+ * -+ * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO -+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -+ * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN -+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING -+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ * -+ */ -+ -+#include -+ -+#include "pppd.h" -+#include "fsm.h" -+#include "md4.h" -+#include "sha1.h" -+#include "ccp.h" -+#include "chap_ms.h" -+#include "mppe.h" -+ -+u_char mppe_send_key[MPPE_MAX_KEY_SIZE]; -+u_char mppe_recv_key[MPPE_MAX_KEY_SIZE]; -+int mppe_keys_set = 0; -+ -+void -+mppe_set_keys(u_char *send_key, u_char *recv_key, int keylen) -+{ -+ int length = keylen; -+ if (length > MPPE_MAX_KEY_SIZE) -+ length = MPPE_MAX_KEY_SIZE; -+ -+ if (send_key) { -+ BCOPY(send_key, mppe_send_key, length); -+ BZERO(send_key, keylen); -+ } -+ -+ if (recv_key) { -+ BCOPY(recv_key, mppe_recv_key, length); -+ BZERO(recv_key, keylen); -+ } -+ -+ mppe_keys_set = length; -+} -+ -+bool -+mppe_keys_isset() -+{ -+ return !!mppe_keys_set; -+} -+ -+int -+mppe_get_recv_key(u_char *recv_key, int length) -+{ -+ if (mppe_keys_isset()) { -+ if (length > mppe_keys_set) -+ length = mppe_keys_set; -+ BCOPY(mppe_recv_key, recv_key, length); -+ return length; -+ } -+ return 0; -+} -+ -+int -+mppe_get_send_key(u_char *send_key, int length) -+{ -+ if (mppe_keys_isset()) { -+ if (length > mppe_keys_set) -+ length = mppe_keys_set; -+ BCOPY(mppe_send_key, send_key, length); -+ return length; -+ } -+ return 0; -+} -+ -+void -+mppe_clear_keys(void) -+{ -+ mppe_keys_set = 0; -+ BZERO(mppe_send_key, sizeof(mppe_send_key)); -+ BZERO(mppe_recv_key, sizeof(mppe_recv_key)); -+} -+ -+/* -+ * Set mppe_xxxx_key from the NTPasswordHashHash. -+ * RFC 2548 (RADIUS support) requires us to export this function (ugh). -+ */ -+void -+mppe_set_chapv1(u_char *rchallenge, u_char PasswordHashHash[MD4_SIGNATURE_SIZE]) -+{ -+ SHA1_CTX sha1Context; -+ u_char Digest[SHA1_SIGNATURE_SIZE]; -+ -+ SHA1_Init(&sha1Context); -+ SHA1_Update(&sha1Context, PasswordHashHash, MD4_SIGNATURE_SIZE); -+ SHA1_Update(&sha1Context, PasswordHashHash, MD4_SIGNATURE_SIZE); -+ SHA1_Update(&sha1Context, rchallenge, 8); -+ SHA1_Final(Digest, &sha1Context); -+ -+ /* Same key in both directions. */ -+ mppe_set_keys(Digest, Digest, sizeof(Digest)); -+} -+ -+/* -+ * Set mppe_xxxx_key from MS-CHAPv2 credentials. (see RFC 3079) -+ * -+ * This helper function used in the Winbind module, which gets the -+ * NTHashHash from the server. -+ */ -+void -+mppe_set_chapv2(u_char PasswordHashHash[MD4_SIGNATURE_SIZE], -+ u_char NTResponse[MS_AUTH_NTRESP_LEN], int IsServer) -+{ -+ SHA1_CTX sha1Context; -+ u_char MasterKey[SHA1_SIGNATURE_SIZE]; -+ u_char SendKey[SHA1_SIGNATURE_SIZE]; -+ u_char RecvKey[SHA1_SIGNATURE_SIZE]; -+ -+ u_char SHApad1[40] = -+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -+ u_char SHApad2[40] = -+ { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, -+ 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, -+ 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, -+ 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 }; -+ -+ /* "This is the MPPE Master Key" */ -+ u_char Magic1[27] = -+ { 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, -+ 0x68, 0x65, 0x20, 0x4d, 0x50, 0x50, 0x45, 0x20, 0x4d, -+ 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x4b, 0x65, 0x79 }; -+ /* "On the client side, this is the send key; " -+ "on the server side, it is the receive key." */ -+ u_char Magic2[84] = -+ { 0x4f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, -+ 0x65, 0x6e, 0x74, 0x20, 0x73, 0x69, 0x64, 0x65, 0x2c, 0x20, -+ 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, -+ 0x65, 0x20, 0x73, 0x65, 0x6e, 0x64, 0x20, 0x6b, 0x65, 0x79, -+ 0x3b, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, -+ 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x73, 0x69, 0x64, 0x65, -+ 0x2c, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, -+ 0x65, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x20, -+ 0x6b, 0x65, 0x79, 0x2e }; -+ /* "On the client side, this is the receive key; " -+ "on the server side, it is the send key." */ -+ u_char Magic3[84] = -+ { 0x4f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, -+ 0x65, 0x6e, 0x74, 0x20, 0x73, 0x69, 0x64, 0x65, 0x2c, 0x20, -+ 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, -+ 0x65, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x20, -+ 0x6b, 0x65, 0x79, 0x3b, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, -+ 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x73, -+ 0x69, 0x64, 0x65, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, -+ 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x6e, 0x64, 0x20, -+ 0x6b, 0x65, 0x79, 0x2e }; -+ u_char *s; -+ -+ SHA1_Init(&sha1Context); -+ SHA1_Update(&sha1Context, PasswordHashHash, MD4_SIGNATURE_SIZE); -+ SHA1_Update(&sha1Context, NTResponse, 24); -+ SHA1_Update(&sha1Context, Magic1, sizeof(Magic1)); -+ SHA1_Final(MasterKey, &sha1Context); -+ -+ /* -+ * generate send key -+ */ -+ if (IsServer) -+ s = Magic3; -+ else -+ s = Magic2; -+ SHA1_Init(&sha1Context); -+ SHA1_Update(&sha1Context, MasterKey, 16); -+ SHA1_Update(&sha1Context, SHApad1, sizeof(SHApad1)); -+ SHA1_Update(&sha1Context, s, 84); -+ SHA1_Update(&sha1Context, SHApad2, sizeof(SHApad2)); -+ SHA1_Final(SendKey, &sha1Context); -+ -+ /* -+ * generate recv key -+ */ -+ if (IsServer) -+ s = Magic2; -+ else -+ s = Magic3; -+ SHA1_Init(&sha1Context); -+ SHA1_Update(&sha1Context, MasterKey, 16); -+ SHA1_Update(&sha1Context, SHApad1, sizeof(SHApad1)); -+ SHA1_Update(&sha1Context, s, 84); -+ SHA1_Update(&sha1Context, SHApad2, sizeof(SHApad2)); -+ SHA1_Final(RecvKey, &sha1Context); -+ -+ mppe_set_keys(SendKey, RecvKey, SHA1_SIGNATURE_SIZE); -+} -+ -+/* -+ * Set MPPE options from plugins. -+ */ -+void -+mppe_set_enc_types(int policy, int types) -+{ -+ /* Early exit for unknown policies. */ -+ if (policy != MPPE_ENC_POL_ENC_ALLOWED && -+ policy != MPPE_ENC_POL_ENC_REQUIRED) -+ return; -+ -+ /* Don't modify MPPE if it's optional and wasn't already configured. */ -+ if (policy == MPPE_ENC_POL_ENC_ALLOWED && !ccp_wantoptions[0].mppe) -+ return; -+ -+ /* -+ * Disable undesirable encryption types. Note that we don't ENABLE -+ * any encryption types, to avoid overriding manual configuration. -+ */ -+ switch(types) { -+ case MPPE_ENC_TYPES_RC4_40: -+ ccp_wantoptions[0].mppe &= ~MPPE_OPT_128; /* disable 128-bit */ -+ break; -+ case MPPE_ENC_TYPES_RC4_128: -+ ccp_wantoptions[0].mppe &= ~MPPE_OPT_40; /* disable 40-bit */ -+ break; -+ default: -+ break; -+ } -+} -+ -diff --git a/pppd/mppe.h b/pppd/mppe.h -index 5eb3b37..98a89d3 100644 ---- a/pppd/mppe.h -+++ b/pppd/mppe.h -@@ -32,9 +32,12 @@ - * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING - * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ -+#ifndef __MPPE_H__ -+#define __MPPE_H__ - - #define MPPE_PAD 4 /* MPPE growth per frame */ --#define MPPE_MAX_KEY_LEN 16 /* largest key length (128-bit) */ -+#define MPPE_MAX_KEY_SIZE 32 /* Largest key length */ -+#define MPPE_MAX_KEY_LEN 16 /* Largest key size accepted by the kernel */ - - /* option bits for ccp_options.mppe */ - #define MPPE_OPT_40 0x01 /* 40 bit */ -@@ -119,3 +122,68 @@ - if (ptr[3] & ~MPPE_ALL_BITS) \ - opts |= MPPE_OPT_UNKNOWN; \ - } while (/* CONSTCOND */ 0) -+ -+ -+#if MPPE -+ -+/* -+ * NOTE: -+ * Access to these variables directly is discuraged. Please -+ * change your code to use below accessor functions. -+ */ -+ -+/* The key material generated which is used for MPPE send key */ -+extern u_char mppe_send_key[MPPE_MAX_KEY_SIZE]; -+/* The key material generated which is used for MPPE recv key */ -+extern u_char mppe_recv_key[MPPE_MAX_KEY_SIZE]; -+/* Keys are set if value is non-zero */ -+extern int mppe_keys_set; -+ -+/* These values are the RADIUS attribute values--see RFC 2548. */ -+#define MPPE_ENC_POL_ENC_ALLOWED 1 -+#define MPPE_ENC_POL_ENC_REQUIRED 2 -+#define MPPE_ENC_TYPES_RC4_40 2 -+#define MPPE_ENC_TYPES_RC4_128 4 -+ -+/* used by plugins (using above values) */ -+void mppe_set_enc_types (int policy, int types); -+ -+/* -+ * Set the MPPE send and recv keys. NULL values for keys are ignored -+ * and input values are cleared to avoid leaving them on the stack -+ */ -+void mppe_set_keys(u_char *send_key, u_char *recv_key, int keylen); -+ -+/* -+ * Get the MPPE recv key -+ */ -+int mppe_get_recv_key(u_char *recv_key, int length); -+ -+/* -+ * Get the MPPE send key -+ */ -+int mppe_get_send_key(u_char *send_key, int length); -+ -+/* -+ * Clear the MPPE keys -+ */ -+void mppe_clear_keys(void); -+ -+/* -+ * Check if the MPPE keys are set -+ */ -+bool mppe_keys_isset(void); -+ -+/* -+ * Set mppe_xxxx_key from NT Password Hash Hash (MSCHAPv1), see RFC3079 -+ */ -+void mppe_set_chapv1(u_char *rchallenge, u_char PasswordHashHash[MD4_SIGNATURE_SIZE]); -+ -+/* -+ * Set the mppe_xxxx_key from MS-CHAP-v2 credentials, see RFC3079 -+ */ -+void mppe_set_chapv2(u_char PasswordHashHash[MD4_SIGNATURE_SIZE], -+ u_char NTResponse[MS_AUTH_NTRESP_LEN], int IsServer); -+ -+#endif // #ifdef MPPE -+#endif // #ifdef __MPPE_H__ -diff --git a/pppd/plugins/radius/radius.c b/pppd/plugins/radius/radius.c -index c579831..cf4c0f2 100644 ---- a/pppd/plugins/radius/radius.c -+++ b/pppd/plugins/radius/radius.c -@@ -31,6 +31,7 @@ static char const RCSID[] = - #ifdef CHAPMS - #include "chap_ms.h" - #ifdef MPPE -+#include "mppe.h" - #include "md5.h" - #endif - #endif -@@ -743,11 +744,12 @@ radius_setparams(VALUE_PAIR *vp, char *msg, REQUEST_INFO *req_info, - * Note that if the policy value was '0' we don't set the key! - */ - if (mppe_enc_policy && mppe_enc_keys) { -- mppe_keys_set = 1; - /* Set/modify allowed encryption types. */ - if (mppe_enc_types) -- set_mppe_enc_types(mppe_enc_policy, mppe_enc_types); -+ mppe_set_enc_types(mppe_enc_policy, mppe_enc_types); -+ return 0; - } -+ mppe_clear_keys(); - #endif - - return 0; -@@ -803,7 +805,7 @@ radius_setmppekeys(VALUE_PAIR *vp, REQUEST_INFO *req_info, - * the NAS (us) doesn't need; we only need the start key. So we have - * to generate the start key, sigh. NB: We do not support the LM-Key. - */ -- mppe_set_keys(challenge, &plain[8]); -+ mppe_set_chapv1(challenge, &plain[8]); - - return 0; - } -@@ -855,7 +857,7 @@ radius_setmppekeys2(VALUE_PAIR *vp, REQUEST_INFO *req_info) - for (i = 0; i < 16; i++) - plain[i] ^= buf[i]; - -- if (plain[0] != sizeof(mppe_send_key) /* 16 */) { -+ if (plain[0] != 16) { - error("RADIUS: Incorrect key length (%d) for MS-MPPE-%s-Key attribute", - (int) plain[0], type); - return -1; -@@ -869,9 +871,9 @@ radius_setmppekeys2(VALUE_PAIR *vp, REQUEST_INFO *req_info) - plain[16] ^= buf[0]; /* only need the first byte */ - - if (vp->attribute == PW_MS_MPPE_SEND_KEY) -- memcpy(mppe_send_key, plain + 1, 16); -+ mppe_set_keys(plain + 1, NULL, 16); - else -- memcpy(mppe_recv_key, plain + 1, 16); -+ mppe_set_keys(NULL, plain + 1, 16); - - return 0; - } -diff --git a/pppd/plugins/winbind.c b/pppd/plugins/winbind.c -index 0c395c3..67c72f6 100644 ---- a/pppd/plugins/winbind.c -+++ b/pppd/plugins/winbind.c -@@ -37,11 +37,9 @@ - #include "pppd.h" - #include "chap-new.h" - #include "chap_ms.h" --#ifdef MPPE --#include "md5.h" --#endif - #include "fsm.h" - #include "ipcp.h" -+#include "mppe.h" - #include - #include - #include -@@ -583,7 +581,7 @@ winbind_chap_verify(char *user, char *ourname, int id, - nt_response, nt_response_size, - session_key, - &error_string) == AUTHENTICATED) { -- mppe_set_keys(challenge, session_key); -+ mppe_set_chapv1(challenge, session_key); - slprintf(message, message_space, "Access granted"); - return AUTHENTICATED; - -@@ -628,7 +626,7 @@ winbind_chap_verify(char *user, char *ourname, int id, - &response[MS_CHAP2_NTRESP], - &response[MS_CHAP2_PEER_CHALLENGE], - challenge, user, saresponse); -- mppe_set_keys2(session_key, &response[MS_CHAP2_NTRESP], -+ mppe_set_chapv2(session_key, &response[MS_CHAP2_NTRESP], - MS_CHAP2_AUTHENTICATOR); - if (response[MS_CHAP2_FLAGS]) { - slprintf(message, message_space, "S=%s", saresponse); --- -2.34.1 - diff --git a/ppp-2.4.9-pppd-Fix-logical-error-in-comparing-valid-encryption.patch b/ppp-2.4.9-pppd-Fix-logical-error-in-comparing-valid-encryption.patch deleted file mode 100644 index c8eb350..0000000 --- a/ppp-2.4.9-pppd-Fix-logical-error-in-comparing-valid-encryption.patch +++ /dev/null @@ -1,37 +0,0 @@ -From e609ed8bb62e4648568eaa49fbbc858dfda6d122 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Eivind=20N=C3=A6ss?= -Date: Sun, 14 Mar 2021 16:20:29 -0700 -Subject: [PATCH] pppd: Fix logical error in comparing valid encryption - policies (#262) - -RFC2548 describes the proper values of the MS-MPPE-Encryption-Policy attribute. -and it can only hold 2 values: 1 (encryption allowed) and 2 (encryption required). - -See - https://tools.ietf.org/html/rfc2548, section 2.4.4 - -The correct comparison should be made with an && and not a ||. - -This fixes github issue #218 - -Signed-off-by: Eivind Naess ---- - pppd/chap_ms.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pppd/chap_ms.c b/pppd/chap_ms.c -index e6b84f2..df2dadd 100644 ---- a/pppd/chap_ms.c -+++ b/pppd/chap_ms.c -@@ -953,7 +953,7 @@ void - set_mppe_enc_types(int policy, int types) - { - /* Early exit for unknown policies. */ -- if (policy != MPPE_ENC_POL_ENC_ALLOWED || -+ if (policy != MPPE_ENC_POL_ENC_ALLOWED && - policy != MPPE_ENC_POL_ENC_REQUIRED) - return; - --- -2.34.1 - diff --git a/ppp-2.4.9-pppd-eap-Fix-bug-causing-incorrect-response-length-3.patch b/ppp-2.4.9-pppd-eap-Fix-bug-causing-incorrect-response-length-3.patch deleted file mode 100644 index 2b6f53e..0000000 --- a/ppp-2.4.9-pppd-eap-Fix-bug-causing-incorrect-response-length-3.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d7e62a8499c4032d79e05afbd8fd3efd51c5b148 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Eivind=20N=C3=A6ss?= -Date: Thu, 3 Feb 2022 14:28:22 -0800 -Subject: [PATCH] pppd/eap: Fix bug causing incorrect response length (#334) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Need to update the esp->ea_client.ea_namelen variable. A plugin can override the -name of the user, and the variable is passed onto the eap_chap2_response generating -the wrong response length. - -Signed-off-by: Eivind Næss ---- - pppd/eap.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/pppd/eap.c b/pppd/eap.c -index 54c3d42..6cb595f 100644 ---- a/pppd/eap.c -+++ b/pppd/eap.c -@@ -2182,6 +2182,7 @@ eap_request(eap_state *esp, u_char *inp, int id, int len) - eap_send_nak(esp, id, EAPT_SRP); - break; - } -+ esp->es_client.ea_namelen = strlen(esp->es_client.ea_name); - - /* Create the MSCHAPv2 response (and add to cache) */ - unsigned char response[MS_CHAP2_RESPONSE_LEN+1]; // VLEN + VALUE --- -2.34.1 - diff --git a/ppp-2.5.0-use-change-resolv-function.patch b/ppp-2.5.0-use-change-resolv-function.patch new file mode 100644 index 0000000..30a07fe --- /dev/null +++ b/ppp-2.5.0-use-change-resolv-function.patch @@ -0,0 +1,51 @@ +diff --git a/scripts/ip-down.local.add b/scripts/ip-down.local.add +index b93590e..8889cb6 100644 +--- a/scripts/ip-down.local.add ++++ b/scripts/ip-down.local.add +@@ -9,12 +9,13 @@ + # + # Nick Walker (nickwalker@email.com) + # ++. /etc/sysconfig/network-scripts/network-functions + + if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then + if [ -f /etc/ppp/resolv.prev ]; then +- cp -f /etc/ppp/resolv.prev /etc/resolv.conf ++ change_resolv_conf /etc/ppp/resolv.prev + else +- rm -f /etc/resolv.conf ++ change_resolv_conf + fi + fi + +diff --git a/scripts/ip-up.local.add b/scripts/ip-up.local.add +index 8017209..5ced496 100644 +--- a/scripts/ip-up.local.add ++++ b/scripts/ip-up.local.add +@@ -9,16 +9,22 @@ + # + # Nick Walker (nickwalker@email.com) + # ++. /etc/sysconfig/network-scripts/network-functions + + if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then + rm -f /etc/ppp/resolv.prev + if [ -f /etc/resolv.conf ]; then + cp /etc/resolv.conf /etc/ppp/resolv.prev +- grep domain /etc/ppp/resolv.prev > /etc/resolv.conf +- grep search /etc/ppp/resolv.prev >> /etc/resolv.conf +- cat /etc/ppp/resolv.conf >> /etc/resolv.conf ++ rscf=/etc/ppp/resolv.new ++ grep domain /etc/ppp/resolv.prev > $rscf ++ grep search /etc/ppp/resolv.prev >> $rscf ++ if [ -f /etc/ppp/resolv.conf ]; then ++ cat /etc/ppp/resolv.conf >> $rscf ++ fi ++ change_resolv_conf $rscf ++ rm -f $rscf + else +- cp /etc/ppp/resolv.conf /etc ++ change_resolv_conf /etc/ppp/resolv.conf + fi + fi + diff --git a/ppp.spec b/ppp.spec index de8598c..a9d6d51 100644 --- a/ppp.spec +++ b/ppp.spec @@ -1,8 +1,8 @@ %global _hardened_build 1 Name: ppp -Version: 2.4.9 -Release: 9%{?dist} +Version: 2.5.0 +Release: 1%{?dist} Summary: The Point-to-Point Protocol daemon License: BSD and LGPLv2+ and GPLv2+ and Public Domain URL: http://www.samba.org/ppp @@ -22,34 +22,25 @@ Source11: ifdown-ppp Source12: ppp-watch.tar.xz # Fedora-specific -Patch0002: ppp-2.4.9-config.patch -Patch0004: 0004-doc-add-configuration-samples.patch -Patch0005: ppp-2.4.9-build-sys-don-t-hardcode-LIBDIR-but-set-it-according.patch -Patch0006: 0006-scritps-use-change_resolv_conf-function.patch -Patch0011: 0011-build-sys-don-t-put-connect-errors-log-to-etc-ppp.patch -Patch0012: ppp-2.4.8-pppd-we-don-t-want-to-accidentally-leak-fds.patch -Patch0013: ppp-2.4.9-everywhere-O_CLOEXEC-harder.patch -Patch0014: 0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch -Patch0015: 0015-pppd-move-pppd-database-to-var-run-ppp.patch -Patch0016: 0016-rp-pppoe-add-manpage-for-pppoe-discovery.patch -Patch0018: 0018-scritps-fix-ip-up.local-sample.patch -Patch0023: 0023-build-sys-install-rp-pppoe-plugin-files-with-standar.patch -Patch0024: 0024-build-sys-install-pppoatm-plugin-files-with-standard.patch -Patch0025: ppp-2.4.8-pppd-install-pppd-binary-using-standard-perms-755.patch -Patch0026: ppp-2.4.9-configure-cflags-allow-commas.patch -# https://github.com/ppp-project/ppp/commit/d7e62a8499c4032d79e05afbd8fd3efd51c5b148 -Patch0027: ppp-2.4.9-pppd-eap-Fix-bug-causing-incorrect-response-length-3.patch -# https://github.com/ppp-project/ppp/commit/e609ed8bb62e4648568eaa49fbbc858dfda6d122 -Patch0028: ppp-2.4.9-pppd-Fix-logical-error-in-comparing-valid-encryption.patch -# https://github.com/ppp-project/ppp/pull/267/commits/6bfe06b9428a60eb637d5450d65dd3932fe5a83f -Patch0029: ppp-2.4.9-pppd-Expose-the-MPPE-keys-generated-through-an-API-2.patch +Patch0: ppp-2.5.0-use-change-resolv-function.patch +BuildRequires: libtool +BuildRequires: autoconf +BuildRequires: automake BuildRequires: make BuildRequires: gcc -BuildRequires: pam-devel, libpcap-devel, systemd, systemd-devel, glib2-devel +BuildRequires: pam-devel +BuildRequires: libpcap-devel +BuildRequires: systemd +BuildRequires: systemd-devel +BuildRequires: glib2-devel BuildRequires: openssl-devel +BuildRequires: linux-atm-libs-devel -Requires: glibc >= 2.0.6, /etc/pam.d/system-auth, libpcap >= 14:0.8.3-6, systemd +Requires: glibc >= 2.0.6 +Requires: /etc/pam.d/system-auth +Requires: libpcap >= 14:0.8.3-6 +Requires: systemd Requires(pre): /usr/bin/getent Requires(pre): /usr/sbin/groupadd @@ -72,6 +63,7 @@ service. %package devel Summary: Headers for ppp plugin development Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: pkgconf-pkg-config %description devel This package contains the header files for building plugins for ppp. @@ -82,12 +74,14 @@ This package contains the header files for building plugins for ppp. tar -xJf %{SOURCE12} %build -%configure --cflags="$RPM_OPT_FLAGS -fPIC -Wall -fno-strict-aliasing" -%{make_build} LDFLAGS="%{?build_ldflags} -pie" -%{make_build} -C ppp-watch LDFLAGS="%{?build_ldflags} -pie" +autoreconf -fi +export CFLAGS="%{build_cflags} -fno-strict-aliasing" +%configure --enable-systemd --enable-cbcp --with-pam +%make_build +%make_build -C ppp-watch LDFLAGS="%{?build_ldflags} -pie" %install -make INSTROOT=%{buildroot} install install-etcppp +%make_install find scripts -type f | xargs chmod a-x make ROOT=%{buildroot} -C ppp-watch install @@ -143,6 +137,7 @@ mkdir -p %{buildroot}%{_rundir}/ppp %{_sysconfdir}/ppp/ip-down.ipv6to4 %{_sysconfdir}/ppp/ipv6-up %{_sysconfdir}/ppp/ipv6-down +%{_sysconfdir}/ppp/openssl.cnf %{_mandir}/man8/chat.8* %{_mandir}/man8/pppd.8* %{_mandir}/man8/pppdump.8* @@ -171,8 +166,13 @@ mkdir -p %{buildroot}%{_rundir}/ppp %files devel %{_includedir}/pppd %doc PLUGINS +%{_libdir}/pkgconfig/pppd.pc %changelog +* Thu Apr 13 2023 Jaroslav Škarvada - 2.5.0-1 +- New version + Resolves: rhbz#2184291 + * Fri Jan 20 2023 Fedora Release Engineering - 2.4.9-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild diff --git a/sources b/sources index db4f244..010a7fe 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ +SHA512 (ppp-2.5.0.tar.gz) = cf62410a952053f9aa71c5179453831152e958fcad9e77df2ddac864e39aa71af0b746e54b91e8fa3ad6295d6d2b1bb736e36dc05521b495f573468679133324 SHA512 (ppp-watch.tar.xz) = aee10735facf918b9a1e33408c9f19d8240c2cd265837da87ac9f58e097eece6bbe1abcaf426e2f10369d1368f6e9e68d2e07d005a19857f17d6318708ec438a -SHA512 (ppp-2.4.9.tar.gz) = c309f8f69f534c05547cd2f66dade0e0f198ea4c2928a7e899e660280786b3e965437a67b8c5bb81c59d0fa1818b4eb7b701d2dce015a420d380422d2bca4e1a From c9eaeba92be28024abdba9cfb2c5f3173bcc41c7 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Tue, 18 Apr 2023 14:39:21 -0700 Subject: [PATCH 06/34] Add comment to rebuild NetworkManager when bumping version --- ppp.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ppp.spec b/ppp.spec index a9d6d51..9e2118f 100644 --- a/ppp.spec +++ b/ppp.spec @@ -1,6 +1,9 @@ %global _hardened_build 1 Name: ppp +# When bumping the ppp version, please be sure to rebuild +# NetworkManager against the new version - NetworkManager-ppp has a +# dep that is tied to the ppp version and generated at build time Version: 2.5.0 Release: 1%{?dist} Summary: The Point-to-Point Protocol daemon From a5e362e976cd9461efc26d9f1b17b8f2ed2b56d6 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Wed, 19 Apr 2023 01:06:49 -0700 Subject: [PATCH 07/34] Update version bump comment --- ppp.spec | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/ppp.spec b/ppp.spec index 9e2118f..2963f36 100644 --- a/ppp.spec +++ b/ppp.spec @@ -1,9 +1,22 @@ %global _hardened_build 1 Name: ppp -# When bumping the ppp version, please be sure to rebuild -# NetworkManager against the new version - NetworkManager-ppp has a -# dep that is tied to the ppp version and generated at build time +# Please be careful when bumping the ppp version. Several packages +# have version-tied dependencies on it, including NetworkManager-ppp +# (from NetworkManager) and NetworkManager-pptp , which are core +# packages. They may need code changes to build against new ppp +# versions. Please only bump ppp on a side tag and ensure it also +# contains rebuilds of at least those two packages before merging. +# Several other less important packages are also tied to the ppp +# version, as of 2023-04-19 the list is: +# NetworkManager-fortisslvpn +# NetworkManager-l2tp +# NetworkManager-ppp +# NetworkManager-pptp +# NetworkManager-sstp +# sstp-client +# These all need to be patched (if necessary) and rebuilt for new +# versions of ppp. Version: 2.5.0 Release: 1%{?dist} Summary: The Point-to-Point Protocol daemon From f8b675a1a6518d892b0cf46a45bd967743ce8e3e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 21 Jul 2023 06:11:55 +0000 Subject: [PATCH 08/34] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ppp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ppp.spec b/ppp.spec index 2963f36..615882c 100644 --- a/ppp.spec +++ b/ppp.spec @@ -18,7 +18,7 @@ Name: ppp # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. Version: 2.5.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Point-to-Point Protocol daemon License: BSD and LGPLv2+ and GPLv2+ and Public Domain URL: http://www.samba.org/ppp @@ -185,6 +185,9 @@ mkdir -p %{buildroot}%{_rundir}/ppp %{_libdir}/pkgconfig/pppd.pc %changelog +* Fri Jul 21 2023 Fedora Release Engineering - 2.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Thu Apr 13 2023 Jaroslav Škarvada - 2.5.0-1 - New version Resolves: rhbz#2184291 From 0104c74bb68e007d4084aea8a2ec39d5c2f88ab4 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Mon, 24 Jul 2023 22:58:25 -0400 Subject: [PATCH 09/34] Use bundled ATM in RHEL builds If a system libatm is not found, the bundled version will be used as in previous versions. The bundled version was imported from 2.4.1 (based on date) but have not changed since. This avoids the need to support the entire linux-atm package in RHEL just for the pppoatm plugin. --- ppp.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ppp.spec b/ppp.spec index 615882c..b2d6d21 100644 --- a/ppp.spec +++ b/ppp.spec @@ -18,7 +18,7 @@ Name: ppp # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. Version: 2.5.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Point-to-Point Protocol daemon License: BSD and LGPLv2+ and GPLv2+ and Public Domain URL: http://www.samba.org/ppp @@ -51,7 +51,11 @@ BuildRequires: systemd BuildRequires: systemd-devel BuildRequires: glib2-devel BuildRequires: openssl-devel +%if %{defined rhel} +Provides: bundled(linux-atm) = 2.4.1 +%else BuildRequires: linux-atm-libs-devel +%endif Requires: glibc >= 2.0.6 Requires: /etc/pam.d/system-auth @@ -185,6 +189,9 @@ mkdir -p %{buildroot}%{_rundir}/ppp %{_libdir}/pkgconfig/pppd.pc %changelog +* Tue Jul 25 2023 Yaakov Selkowitz - 2.5.0-3 +- Use bundled ATM in RHEL builds + * Fri Jul 21 2023 Fedora Release Engineering - 2.5.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 3e399582f0c3d72734e14b93870524c0e35d7d35 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 21 Jan 2024 22:16:49 +0000 Subject: [PATCH 10/34] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- ppp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ppp.spec b/ppp.spec index b2d6d21..cc14a39 100644 --- a/ppp.spec +++ b/ppp.spec @@ -18,7 +18,7 @@ Name: ppp # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. Version: 2.5.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Point-to-Point Protocol daemon License: BSD and LGPLv2+ and GPLv2+ and Public Domain URL: http://www.samba.org/ppp @@ -189,6 +189,9 @@ mkdir -p %{buildroot}%{_rundir}/ppp %{_libdir}/pkgconfig/pppd.pc %changelog +* Sun Jan 21 2024 Fedora Release Engineering - 2.5.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Tue Jul 25 2023 Yaakov Selkowitz - 2.5.0-3 - Use bundled ATM in RHEL builds From 609188a4a4546d9663ef7e49ed823a1cd0c01bf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= Date: Wed, 24 Jan 2024 16:31:03 +0100 Subject: [PATCH 11/34] Converted license to SPDX --- ppp.spec | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/ppp.spec b/ppp.spec index cc14a39..62ef388 100644 --- a/ppp.spec +++ b/ppp.spec @@ -18,9 +18,17 @@ Name: ppp # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. Version: 2.5.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The Point-to-Point Protocol daemon -License: BSD and LGPLv2+ and GPLv2+ and Public Domain +# Add licenses: +# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/441 +# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/442 +# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/443 +# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/444 +# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/445 +# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/446 +# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/447 +License: bsd-3-clause AND zlib AND licenseref-fedora-public-domain AND bsd-attribution-hpnd-disclaimer AND bsd-4.3tahoe AND bsd-4-clause-uc AND apache-2.0 AND lgpl-2.0-or-later AND (gpl-2.0-or-later OR bsd-2-clause OR bsd-3-clause OR bsd-4-clause) AND gpl-2.0-or-later AND xlock AND gpl-1.0-or-later URL: http://www.samba.org/ppp Source0: https://github.com/paulusmack/ppp/archive/ppp-%{version}.tar.gz @@ -189,6 +197,9 @@ mkdir -p %{buildroot}%{_rundir}/ppp %{_libdir}/pkgconfig/pppd.pc %changelog +* Wed Jan 24 2024 Jaroslav Škarvada - 2.5.0-5 +- Converted license to SPDX + * Sun Jan 21 2024 Fedora Release Engineering - 2.5.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 93a27465a6939919e74245d56af6fd9083044bf6 Mon Sep 17 00:00:00 2001 From: Yanko Kaneti Date: Thu, 1 Feb 2024 15:02:25 +0200 Subject: [PATCH 12/34] Adapt ipv6-{up,down} to initscripts-less world Phase out use of initscripts for ipv6 if not installed --- ipv6-down | 58 +------------------------ ipv6-down.initscripts | 56 ++++++++++++++++++++++++ ipv6-up | 99 +------------------------------------------ ipv6-up.initscripts | 99 +++++++++++++++++++++++++++++++++++++++++++ ppp.spec | 6 +++ 5 files changed, 163 insertions(+), 155 deletions(-) create mode 100644 ipv6-down.initscripts create mode 100644 ipv6-up.initscripts diff --git a/ipv6-down b/ipv6-down index b290585..36e0c5f 100644 --- a/ipv6-down +++ b/ipv6-down @@ -6,65 +6,9 @@ # # This file should not be modified -- make local changes to # /etc/ppp/ipv6-down.local instead -# -# -# Taken from: -# (P) & (C) 2001-2006 by Peter Bieringer -# -# You will find more information on the initscripts-ipv6 homepage at -# http://www.deepspace6.net/projects/initscripts-ipv6.html -# -# RHL integration assistance by Pekka Savola -# -# Calling parameters: -# $1: interface name -# $6: logical interface name (set by pppd option ipparam) -# -# Version 2006-08-02 -# -# Uses following information from /etc/sysconfig/network-scripts/ifcfg-$1: -# IPV6INIT=yes|no: controls IPv6 configuration for this interface -# - -PATH=/sbin:/usr/sbin:/bin:/usr/bin -export PATH - -LOGDEVICE=$6 -REALDEVICE=$1 - -[ -f /etc/sysconfig/network ] || exit 0 -. /etc/sysconfig/network - -cd /etc/sysconfig/network-scripts -. ./network-functions - -CONFIG=$LOGDEVICE -[ -f "$CONFIG" ] || CONFIG=ifcfg-$CONFIG -source_config - -[ -f /etc/sysconfig/network-scripts/network-functions-ipv6 ] || exit 1 -. /etc/sysconfig/network-scripts/network-functions-ipv6 +[ -f /etc/sysconfig/network-scripts/network-functions-ipv6 ] && /etc/ppp/ipv6-down.initscripts "$@" [ -x /etc/ppp/ipv6-down.local ] && /etc/ppp/ipv6-down.local "$@" - -if [ "$IPV6_CONTROL_RADVD" = "yes" ]; then - # Control running radvd - ipv6_trigger_radvd down "$IPV6_RADVD_TRIGGER_ACTION" $IPV6_RADVD_PIDFILE -fi - -# IPv6 test, no module loaded, exit if system is not IPv6-ready -ipv6_test testonly || exit 0 - -# Test device status -ipv6_test_device_status $REALDEVICE -if [ $? != 0 -a $? != 11 ]; then - # device doesn't exist or other problem occurs - exit 1 -fi - -# Delete all current configured IPv6 addresses on this interface -ipv6_cleanup_device $REALDEVICE - exit 0 diff --git a/ipv6-down.initscripts b/ipv6-down.initscripts new file mode 100644 index 0000000..c8f228f --- /dev/null +++ b/ipv6-down.initscripts @@ -0,0 +1,56 @@ +#!/bin/sh +# +# +# Taken from: +# (P) & (C) 2001-2006 by Peter Bieringer +# +# You will find more information on the initscripts-ipv6 homepage at +# http://www.deepspace6.net/projects/initscripts-ipv6.html +# +# RHL integration assistance by Pekka Savola +# +# Calling parameters: +# $1: interface name +# $6: logical interface name (set by pppd option ipparam) +# +# Version 2006-08-02 +# +# Uses following information from /etc/sysconfig/network-scripts/ifcfg-$1: +# IPV6INIT=yes|no: controls IPv6 configuration for this interface +# +PATH=/sbin:/usr/sbin:/bin:/usr/bin +export PATH + +LOGDEVICE=$6 +REALDEVICE=$1 + +[ -f /etc/sysconfig/network ] || exit 0 +. /etc/sysconfig/network + +cd /etc/sysconfig/network-scripts +. ./network-functions + +CONFIG=$LOGDEVICE +[ -f "$CONFIG" ] || CONFIG=ifcfg-$CONFIG +source_config + +[ -f /etc/sysconfig/network-scripts/network-functions-ipv6 ] || exit 1 +. /etc/sysconfig/network-scripts/network-functions-ipv6 + +if [ "$IPV6_CONTROL_RADVD" = "yes" ]; then + # Control running radvd + ipv6_trigger_radvd down "$IPV6_RADVD_TRIGGER_ACTION" $IPV6_RADVD_PIDFILE +fi + +# IPv6 test, no module loaded, exit if system is not IPv6-ready +ipv6_test testonly || exit 0 + +# Test device status +ipv6_test_device_status $REALDEVICE +if [ $? != 0 -a $? != 11 ]; then + # device doesn't exist or other problem occurs + exit 1 +fi + +# Delete all current configured IPv6 addresses on this interface +ipv6_cleanup_device $REALDEVICE diff --git a/ipv6-up b/ipv6-up index 059afec..623631a 100644 --- a/ipv6-up +++ b/ipv6-up @@ -7,105 +7,8 @@ # This file should not be modified -- make local changes to # /etc/ppp/ipv6-up.local instead # -# Taken from: -# (P) & (C) 2001-2006 by Peter Bieringer -# -# You will find more information on the initscripts-ipv6 homepage at -# http://www.deepspace6.net/projects/initscripts-ipv6.html -# -# RHL integration assistance by Pekka Savola -# -# Calling parameters: -# $1: interface name -# $6: logical interface name (set by pppd option ipparam) -# -# -# Version: 2006-08-02 -# -# Uses following information from "/etc/sysconfig/network": -# IPV6_DEFAULTDEV=: controls default route (optional) -# -# Uses following information from "/etc/sysconfig/network-scripts/ifcfg-$1": -# IPV6INIT=yes|no: controls IPv6 configuration for this interface -# IPV6ADDR=[/]: specify primary static IPv6 address -# IPV6ADDR_SECONDARIES="[/] ..." (optional) -# IPV6_MTU=: controls IPv6 MTU for this link (optional) -# - -PATH=/sbin:/usr/sbin:/bin:/usr/bin -export PATH - -LOGDEVICE=$6 -REALDEVICE=$1 - -[ -f /etc/sysconfig/network ] || exit 0 -. /etc/sysconfig/network - -cd /etc/sysconfig/network-scripts -. ./network-functions -. ./network-functions-ipv6 - -CONFIG=$LOGDEVICE -[ -f "$CONFIG" ] || CONFIG=ifcfg-$CONFIG -source_config - -# Test whether IPv6 configuration is disabled for this interface -[[ "$IPV6INIT" = [nN0]* ]] && exit 0 - -[ -f /etc/sysconfig/network-scripts/network-functions-ipv6 ] || exit 1 -. /etc/sysconfig/network-scripts/network-functions-ipv6 - -# IPv6 test, module loaded, exit if system is not IPv6-ready -ipv6_test || exit 1 - -# Test device status -ipv6_test_device_status $REALDEVICE -if [ $? != 0 -a $? != 11 ]; then - # device doesn't exist or other problem occurs - exit 1 -fi - -# Setup IPv6 address on specified interface -if [ -n "$IPV6ADDR" ]; then - ipv6_add_addr_on_device $REALDEVICE $IPV6ADDR || exit 1 -fi - -# Set IPv6 MTU, if given -if [ -n "$IPV6_MTU" ]; then - ipv6_set_mtu $REALDEVICE $IPV6_MTU -fi - -# Setup additional IPv6 addresses from list, if given -if [ -n "$IPV6ADDR_SECONDARIES" ]; then - for ipv6addr in $IPV6ADDR_SECONDARIES; do - ipv6_add_addr_on_device $REALDEVICE $ipv6addr - done -fi - -# Setup default IPv6 route through device -if [ "$IPV6_DEFAULTDEV" = "$LOGDEVICE" ]; then - ipv6_set_default_route "" "$REALDEVICE" "$REALDEVICE" -fi - -# Setup additional static IPv6 routes on specified interface, if given -if [ -f /etc/sysconfig/static-routes-ipv6 ]; then - LC_ALL=C grep -w "^$LOGDEVICE" /etc/sysconfig/static-routes-ipv6 | while read device args; do - ipv6_add_route $args $REALDEVICE - done -fi - -# Setup additional static IPv6 routes (newer config style) -if [ -f "/etc/sysconfig/network-scripts/route6-$DEVICE" ]; then - sed -ne 's/#.*//' -e '/[^[:space:]]/p' "/etc/sysconfig/network-scripts/route6-$DEVICE" | while read line; do - /sbin/ip -6 route add $line - done -fi - -if [ "$IPV6_CONTROL_RADVD" = "yes" ]; then - # Control running radvd - ipv6_trigger_radvd up "$IPV6_RADVD_TRIGGER_ACTION" $IPV6_RADVD_PIDFILE -fi +[ -f /etc/sysconfig/network-scripts/network-functions-ipv6 ] && /etc/ppp/ipv6-up.initscripts "$@" [ -x /etc/ppp/ipv6-up.local ] && /etc/ppp/ipv6-up.local "$@" diff --git a/ipv6-up.initscripts b/ipv6-up.initscripts new file mode 100644 index 0000000..98d6d63 --- /dev/null +++ b/ipv6-up.initscripts @@ -0,0 +1,99 @@ +#!/bin/sh +# Taken from: +# (P) & (C) 2001-2006 by Peter Bieringer +# +# You will find more information on the initscripts-ipv6 homepage at +# http://www.deepspace6.net/projects/initscripts-ipv6.html +# +# RHL integration assistance by Pekka Savola +# +# Calling parameters: +# $1: interface name +# $6: logical interface name (set by pppd option ipparam) +# +# +# Version: 2006-08-02 +# +# Uses following information from "/etc/sysconfig/network": +# IPV6_DEFAULTDEV=: controls default route (optional) +# +# Uses following information from "/etc/sysconfig/network-scripts/ifcfg-$1": +# IPV6INIT=yes|no: controls IPv6 configuration for this interface +# IPV6ADDR=[/]: specify primary static IPv6 address +# IPV6ADDR_SECONDARIES="[/] ..." (optional) +# IPV6_MTU=: controls IPv6 MTU for this link (optional) +# + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +export PATH + +LOGDEVICE=$6 +REALDEVICE=$1 + +[ -f /etc/sysconfig/network ] || exit 0 +. /etc/sysconfig/network + +cd /etc/sysconfig/network-scripts +. ./network-functions +. ./network-functions-ipv6 + +CONFIG=$LOGDEVICE +[ -f "$CONFIG" ] || CONFIG=ifcfg-$CONFIG +source_config + +# Test whether IPv6 configuration is disabled for this interface +[[ "$IPV6INIT" = [nN0]* ]] && exit 0 + +[ -f /etc/sysconfig/network-scripts/network-functions-ipv6 ] || exit 1 +. /etc/sysconfig/network-scripts/network-functions-ipv6 + +# IPv6 test, module loaded, exit if system is not IPv6-ready +ipv6_test || exit 1 + +# Test device status +ipv6_test_device_status $REALDEVICE +if [ $? != 0 -a $? != 11 ]; then + # device doesn't exist or other problem occurs + exit 1 +fi + +# Setup IPv6 address on specified interface +if [ -n "$IPV6ADDR" ]; then + ipv6_add_addr_on_device $REALDEVICE $IPV6ADDR || exit 1 +fi + +# Set IPv6 MTU, if given +if [ -n "$IPV6_MTU" ]; then + ipv6_set_mtu $REALDEVICE $IPV6_MTU +fi + +# Setup additional IPv6 addresses from list, if given +if [ -n "$IPV6ADDR_SECONDARIES" ]; then + for ipv6addr in $IPV6ADDR_SECONDARIES; do + ipv6_add_addr_on_device $REALDEVICE $ipv6addr + done +fi + +# Setup default IPv6 route through device +if [ "$IPV6_DEFAULTDEV" = "$LOGDEVICE" ]; then + ipv6_set_default_route "" "$REALDEVICE" "$REALDEVICE" +fi + +# Setup additional static IPv6 routes on specified interface, if given +if [ -f /etc/sysconfig/static-routes-ipv6 ]; then + LC_ALL=C grep -w "^$LOGDEVICE" /etc/sysconfig/static-routes-ipv6 | while read device args; do + ipv6_add_route $args $REALDEVICE + done +fi + +# Setup additional static IPv6 routes (newer config style) +if [ -f "/etc/sysconfig/network-scripts/route6-$DEVICE" ]; then + sed -ne 's/#.*//' -e '/[^[:space:]]/p' "/etc/sysconfig/network-scripts/route6-$DEVICE" | while read line; do + /sbin/ip -6 route add $line + done +fi + +if [ "$IPV6_CONTROL_RADVD" = "yes" ]; then + # Control running radvd + ipv6_trigger_radvd up "$IPV6_RADVD_TRIGGER_ACTION" $IPV6_RADVD_PIDFILE +fi diff --git a/ppp.spec b/ppp.spec index 62ef388..38a8cad 100644 --- a/ppp.spec +++ b/ppp.spec @@ -44,6 +44,8 @@ Source9: ipv6-up Source10: ifup-ppp Source11: ifdown-ppp Source12: ppp-watch.tar.xz +Source13: ipv6-up.initscripts +Source14: ipv6-down.initscripts # Fedora-specific Patch0: ppp-2.5.0-use-change-resolv-function.patch @@ -136,6 +138,8 @@ install -p %{SOURCE6} %{buildroot}%{_sysconfdir}/ppp/ip-up install -p %{SOURCE7} %{buildroot}%{_sysconfdir}/ppp/ip-up.ipv6to4 install -p %{SOURCE8} %{buildroot}%{_sysconfdir}/ppp/ipv6-down install -p %{SOURCE9} %{buildroot}%{_sysconfdir}/ppp/ipv6-up +install -p %{SOURCE13} %{buildroot}%{_sysconfdir}/ppp/ipv6-down.initscripts +install -p %{SOURCE14} %{buildroot}%{_sysconfdir}/ppp/ipv6-up.initscripts install -d %{buildroot}%{_sysconfdir}/sysconfig/network-scripts/ install -p %{SOURCE10} %{buildroot}%{_sysconfdir}/sysconfig/network-scripts/ifup-ppp @@ -164,7 +168,9 @@ mkdir -p %{buildroot}%{_rundir}/ppp %{_sysconfdir}/ppp/ip-up.ipv6to4 %{_sysconfdir}/ppp/ip-down.ipv6to4 %{_sysconfdir}/ppp/ipv6-up +%{_sysconfdir}/ppp/ipv6-up.initscripts %{_sysconfdir}/ppp/ipv6-down +%{_sysconfdir}/ppp/ipv6-down.initscripts %{_sysconfdir}/ppp/openssl.cnf %{_mandir}/man8/chat.8* %{_mandir}/man8/pppd.8* From 0f6bdc6ffe49833580f2c43ba308d11cf2d4db9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= Date: Wed, 14 Feb 2024 18:03:17 +0100 Subject: [PATCH 13/34] Dropped network scripts Resolves: rhbz#2262981 --- ifdown-ppp | 51 ----------------- ifup-ppp | 157 ----------------------------------------------------- ppp.spec | 25 ++------- 3 files changed, 5 insertions(+), 228 deletions(-) delete mode 100755 ifdown-ppp delete mode 100755 ifup-ppp diff --git a/ifdown-ppp b/ifdown-ppp deleted file mode 100755 index fca6463..0000000 --- a/ifdown-ppp +++ /dev/null @@ -1,51 +0,0 @@ -#! /bin/bash - -cd /etc/sysconfig/network-scripts -. ./network-functions - -CONFIG=$1 -source_config - -if [ "$TYPE" = "xDSL" ] && [ -x /usr/sbin/adsl-stop ] ; then - adsl-stop /etc/sysconfig/network-scripts/$CONFIG - exit $? -fi - -CONFIG=${CONFIG##ifcfg-} - -if [ "${DEMAND}" = "yes" ] && [ -f /var/run/ppp-${CONFIG}.pid ] ; then - PID=$(head -1 /var/run/ppp-${CONFIG}.pid) - kill -TERM ${PID} - sleep 2 - [ ! -d /proc/${PID} ] && exit 0 - sleep 5 - [ ! -d /proc/${PID} ] && exit 0 - kill -TERM ${PID} - [ ! -d /proc/${PID} ] && exit 0 - exit 1 -fi - -file=/var/run/pppwatch-${DEVICE}.pid - -if [ ! -f $file ]; then - # ppp isn't running, or we didn't start it - exit 0 -fi - -PID=$(cat $file) -[ -n "${PID}" ] || exit 1 - -kill -TERM ${PID} > /dev/null 2>&1 -[ ! -d /proc/${PID} ] && exit 0 -sleep 2 -[ ! -d /proc/${PID} ] && exit 0 -sleep 5 -[ ! -d /proc/${PID} ] && exit 0 -sleep 10 -[ ! -d /proc/${PID} ] && exit 0 - -# killing ppp-watch twice in a row causes it to send a SIGKILL to pppd pgrp -kill -TERM ${PID} > /dev/null 2>&1 -[ ! -d /proc/${PID} ] && exit 0 - -exit 1 diff --git a/ifup-ppp b/ifup-ppp deleted file mode 100755 index fb30639..0000000 --- a/ifup-ppp +++ /dev/null @@ -1,157 +0,0 @@ -#! /bin/bash - -. /etc/init.d/functions - -cd /etc/sysconfig/network-scripts -. ./network-functions - -# ifup-post for PPP is handled through /etc/ppp/ip-up -if [ "${1}" = daemon ] ; then - # we've been called from ppp-watch, so don't invoke it for persistence - shift -else - # just in case a full path to the configuration file is passed in - CONFIG=${1##*/} # CONFIG=$(basename $1) - [ -f "${CONFIG}" ] || CONFIG=ifcfg-${1} - source_config - # don't start ppp-watch by xDSL - if [ "${DEMAND}" != yes -a "$TYPE" != "xDSL" ] ; then - # let ppp-watch do the right thing - exec /sbin/ppp-watch "${CONFIG##ifcfg-}" "$2" - fi -fi - -CONFIG=$1 -[ -f "${CONFIG}" ] || CONFIG=ifcfg-${1} -source_config - -if [ -z "${DISCONNECTTIMEOUT}" ]; then - DISCONNECTTIMEOUT=2 -fi - -if [ -z "${RETRYTIMEOUT}" ]; then - RETRYTIMEOUT=30 -fi - -if [ -z "${IDLETIMEOUT}" ]; then - IDLETIMEOUT=600 -fi - -if [ "${2}" = "boot" -a "${ONBOOT}" = "no" ]; then - exit -fi - -[ -x /usr/sbin/pppd ] || { - echo $"pppd does not exist or is not executable" - echo $"ifup-ppp for ${DEVICE} exiting" - /usr/bin/logger -p daemon.info -t ifup-ppp \ - $"pppd does not exist or is not executable for ${DEVICE}" - exit 1 -} - -# check that xDSL connection -if [ "$TYPE" = "xDSL" ] ; then - if [ -x /usr/sbin/adsl-start ] ; then - adsl-start /etc/sysconfig/network-scripts/$CONFIG - exit $? - else - /usr/bin/logger -p daemon.info -t ifup-ppp \ - $"adsl-start does not exist or is not executable for ${DEVICE}" - exit 1 - fi -fi - -PEERCONF=/etc/ppp/peers/${DEVNAME} - -if [ "${DEBUG}" = "yes" ]; then - CHATDBG="-v" -fi - -if [ ! -f ${PEERCONF} ]; then - if [ -z "${WVDIALSECT}" ] ; then - CHATSCRIPT=/etc/sysconfig/network-scripts/chat-${DEVNAME} - [ -f ${CHATSCRIPT} ] || { - echo $"/etc/sysconfig/network-scripts/chat-${DEVNAME} does not exist" - echo $"ifup-ppp for ${DEVNAME} exiting" - /usr/bin/logger -p daemon.info -t ifup-ppp \ - $"/etc/sysconfig/network-scripts/chat-${DEVNAME} does not exist for ${DEVICE}" - exit 1 - } - fi - /usr/bin/logger -s -p daemon.notice -t ifup-ppp \ - $"Setting up a new ${PEERCONF} config file" - if [ -f /etc/ppp/peers/${DEVICE} ]; then - cp -f /etc/ppp/peers/${DEVICE} ${PEERCONF} - else - touch ${PEERCONF} - fi - if [ "${WVDIALSECT}" ]; then - echo "connect \"/usr/bin/wvdial --remotename ${DEVNAME} --chat '${WVDIALSECT}'\"" >> ${PEERCONF} - else - echo "connect \"/usr/sbin/chat ${CHATDBG} -f ${CHATSCRIPT}\"" >> ${PEERCONF} - fi -fi - -opts="lock" -if [ "${HARDFLOWCTL}" != no ] ; then - opts="$opts modem crtscts" -fi -if [ "${ESCAPECHARS}" != yes ] ; then - opts="$opts asyncmap 00000000" -fi -if [ "${DEFROUTE}" != no ] ; then - # pppd will no longer delete an existing default route - # so we have to help it out a little here. - DEFRT=$(ip route list match 0.0.0.0/0) - [ -n "${DEFRT}" ] && echo "$DEFRT" > /etc/default-routes - echo "$DEFRT" | while read spec; do - ip route del $spec; - done - opts="$opts defaultroute" -fi -if [ "${PEERDNS}" != no ] ; then - cp -f /etc/resolv.conf /etc/resolv.conf.save - opts="$opts usepeerdns" -fi -if [ -n "${MRU}" ] ; then - opts="$opts mru ${MRU}" -fi -if [ -n "${MTU}" ] ; then - opts="$opts mtu ${MTU}" -fi -if [ -n "${IPADDR}${REMIP}" ] ; then - # if either IP address is set, the following will work. - opts="$opts ${IPADDR}:${REMIP}" -fi -if [ -n "${PAPNAME}" ] ; then - opts="$opts user ${PAPNAME} remotename ${DEVNAME}" -fi -if [ "${DEBUG}" = yes ] ; then - opts="$opts debug" -fi - -if [ ${DEMAND} = yes ] ; then - opts="$opts demand ktune idle ${IDLETIMEOUT} holdoff ${RETRYTIMEOUT}" - exec= -else - opts="$opts nodetach" - exec=exec -fi - -/usr/bin/logger -p daemon.info -t ifup-ppp \ - $"pppd started for ${DEVNAME} on ${MODEMPORT} at ${LINESPEED}" - -$exec pppd $opts ${MODEMPORT} ${LINESPEED} \ - ipparam ${DEVNAME} linkname ${DEVNAME} call ${DEVNAME}\ - noauth \ - ${PPPOPTIONS} || exit - -if [ "${DEMAND}" = "yes" ] ; then - # pppd is a tad slow to write the pid-file. - sleep 2 - if [ -f /var/run/ppp-${DEVNAME}.pid ] ; then - REALDEVICE=$(tail -1 /var/run/ppp-${DEVNAME}.pid) - /etc/sysconfig/network-scripts/ifup-routes ${REALDEVICE} ${DEVNAME} - fi -fi - diff --git a/ppp.spec b/ppp.spec index 38a8cad..a8dbf03 100644 --- a/ppp.spec +++ b/ppp.spec @@ -18,7 +18,7 @@ Name: ppp # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. Version: 2.5.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: The Point-to-Point Protocol daemon # Add licenses: # https://gitlab.com/fedora/legal/fedora-license-data/-/issues/441 @@ -41,8 +41,6 @@ Source6: ip-up Source7: ip-up.ipv6to4 Source8: ipv6-down Source9: ipv6-up -Source10: ifup-ppp -Source11: ifdown-ppp Source12: ppp-watch.tar.xz Source13: ipv6-up.initscripts Source14: ipv6-down.initscripts @@ -81,15 +79,6 @@ transmitting datagrams over serial point-to-point links. PPP is usually used to dial in to an ISP (Internet Service Provider) or other organization over a modem and phone line. -%package -n network-scripts-%{name} -Summary: PPP legacy network service support -Requires: network-scripts -Supplements: (%{name} and network-scripts) - -%description -n network-scripts-%{name} -This provides the ifup and ifdown scripts for use with the legacy network -service. - %package devel Summary: Headers for ppp plugin development Requires: %{name}%{?_isa} = %{version}-%{release} @@ -141,10 +130,6 @@ install -p %{SOURCE9} %{buildroot}%{_sysconfdir}/ppp/ipv6-up install -p %{SOURCE13} %{buildroot}%{_sysconfdir}/ppp/ipv6-down.initscripts install -p %{SOURCE14} %{buildroot}%{_sysconfdir}/ppp/ipv6-up.initscripts -install -d %{buildroot}%{_sysconfdir}/sysconfig/network-scripts/ -install -p %{SOURCE10} %{buildroot}%{_sysconfdir}/sysconfig/network-scripts/ifup-ppp -install -p %{SOURCE11} %{buildroot}%{_sysconfdir}/sysconfig/network-scripts/ifdown-ppp - # ghosts mkdir -p %{buildroot}%{_rundir}/ppp @@ -193,16 +178,16 @@ mkdir -p %{buildroot}%{_rundir}/ppp %config(noreplace) %{_sysconfdir}/logrotate.d/ppp %{_tmpfilesdir}/ppp.conf -%files -n network-scripts-%{name} -%{_sysconfdir}/sysconfig/network-scripts/ifdown-ppp -%{_sysconfdir}/sysconfig/network-scripts/ifup-ppp - %files devel %{_includedir}/pppd %doc PLUGINS %{_libdir}/pkgconfig/pppd.pc %changelog +* Tue Feb 13 2024 Jaroslav Škarvada - 2.5.0-6 +- Dropped network scripts + Resolves: rhbz#2262981 + * Wed Jan 24 2024 Jaroslav Škarvada - 2.5.0-5 - Converted license to SPDX From d6144dfaf9061ff160d88310c81bbc51c6be7401 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Wed, 21 Feb 2024 11:52:37 +0100 Subject: [PATCH 14/34] Obsolete dropped network-scripts-ppp subpackage --- ppp.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ppp.spec b/ppp.spec index a8dbf03..97e7889 100644 --- a/ppp.spec +++ b/ppp.spec @@ -18,7 +18,7 @@ Name: ppp # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. Version: 2.5.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: The Point-to-Point Protocol daemon # Add licenses: # https://gitlab.com/fedora/legal/fedora-license-data/-/issues/441 @@ -72,6 +72,9 @@ Requires: systemd Requires(pre): /usr/bin/getent Requires(pre): /usr/sbin/groupadd +# Subpackage removed and obsoleted in F40 +Obsoletes: network-scripts-ppp < %{version}-%{release} + %description The ppp package contains the PPP (Point-to-Point Protocol) daemon and documentation for PPP support. The PPP protocol provides a method for @@ -184,6 +187,9 @@ mkdir -p %{buildroot}%{_rundir}/ppp %{_libdir}/pkgconfig/pppd.pc %changelog +* Wed Feb 21 2024 Kalev Lember - 2.5.0-7 +- Obsolete dropped network-scripts-ppp subpackage + * Tue Feb 13 2024 Jaroslav Škarvada - 2.5.0-6 - Dropped network scripts Resolves: rhbz#2262981 From 443df8f965e04c4bf52eaa21280cdbd08d58ffe0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= Date: Tue, 9 Apr 2024 16:02:23 +0200 Subject: [PATCH 15/34] Added some missing SPDX licenses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jaroslav Škarvada --- ppp.spec | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/ppp.spec b/ppp.spec index 97e7889..b42b2d2 100644 --- a/ppp.spec +++ b/ppp.spec @@ -21,14 +21,8 @@ Version: 2.5.0 Release: 7%{?dist} Summary: The Point-to-Point Protocol daemon # Add licenses: -# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/441 -# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/442 -# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/443 # https://gitlab.com/fedora/legal/fedora-license-data/-/issues/444 -# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/445 -# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/446 -# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/447 -License: bsd-3-clause AND zlib AND licenseref-fedora-public-domain AND bsd-attribution-hpnd-disclaimer AND bsd-4.3tahoe AND bsd-4-clause-uc AND apache-2.0 AND lgpl-2.0-or-later AND (gpl-2.0-or-later OR bsd-2-clause OR bsd-3-clause OR bsd-4-clause) AND gpl-2.0-or-later AND xlock AND gpl-1.0-or-later +License: bsd-3-clause AND zlib AND licenseref-fedora-public-domain AND bsd-attribution-hpnd-disclaimer AND bsd-4.3tahoe AND bsd-4-clause-uc AND apache-2.0 AND lgpl-2.0-or-later AND (gpl-2.0-or-later OR bsd-2-clause OR bsd-3-clause OR bsd-4-clause) AND gpl-2.0-or-later AND xlock AND gpl-1.0-or-later AND mackerras-3-clause-acknowledgment AND mackerras-3-clause AND hpnd-fenneberg-Livingston AND sun-ppp AND hpnd-inria-imag URL: http://www.samba.org/ppp Source0: https://github.com/paulusmack/ppp/archive/ppp-%{version}.tar.gz From 80279e6e879c7c06ac43a8be6409c78a6c42381e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= Date: Sun, 14 Apr 2024 21:57:15 +0200 Subject: [PATCH 16/34] Added missing and recently approved SPDX licenses --- ppp.spec | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ppp.spec b/ppp.spec index b42b2d2..a87b136 100644 --- a/ppp.spec +++ b/ppp.spec @@ -18,11 +18,9 @@ Name: ppp # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. Version: 2.5.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: The Point-to-Point Protocol daemon -# Add licenses: -# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/444 -License: bsd-3-clause AND zlib AND licenseref-fedora-public-domain AND bsd-attribution-hpnd-disclaimer AND bsd-4.3tahoe AND bsd-4-clause-uc AND apache-2.0 AND lgpl-2.0-or-later AND (gpl-2.0-or-later OR bsd-2-clause OR bsd-3-clause OR bsd-4-clause) AND gpl-2.0-or-later AND xlock AND gpl-1.0-or-later AND mackerras-3-clause-acknowledgment AND mackerras-3-clause AND hpnd-fenneberg-Livingston AND sun-ppp AND hpnd-inria-imag +License: bsd-3-clause AND zlib AND licenseref-fedora-public-domain AND bsd-attribution-hpnd-disclaimer AND bsd-4.3tahoe AND bsd-4-clause-uc AND apache-2.0 AND lgpl-2.0-or-later AND (gpl-2.0-or-later OR bsd-2-clause OR bsd-3-clause OR bsd-4-clause) AND gpl-2.0-or-later AND xlock AND gpl-1.0-or-later AND mackerras-3-clause-acknowledgment AND mackerras-3-clause AND hpnd-fenneberg-Livingston AND sun-ppp AND hpnd-inria-imag AND sun-ppp-2000 URL: http://www.samba.org/ppp Source0: https://github.com/paulusmack/ppp/archive/ppp-%{version}.tar.gz @@ -181,6 +179,9 @@ mkdir -p %{buildroot}%{_rundir}/ppp %{_libdir}/pkgconfig/pppd.pc %changelog +* Sun Apr 14 2024 Jaroslav Škarvada - 2.5.0-8 +- Added missing and recently approved SPDX licenses + * Wed Feb 21 2024 Kalev Lember - 2.5.0-7 - Obsolete dropped network-scripts-ppp subpackage From e8892074678e5386d7046d604387a6894168e6e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 11 Apr 2024 20:12:15 +0200 Subject: [PATCH 17/34] Fix installation when %_sbindir==%_bindir --- ppp.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ppp.spec b/ppp.spec index a87b136..40b46d6 100644 --- a/ppp.spec +++ b/ppp.spec @@ -128,6 +128,10 @@ install -p %{SOURCE14} %{buildroot}%{_sysconfdir}/ppp/ipv6-up.initscripts # ghosts mkdir -p %{buildroot}%{_rundir}/ppp +%if "%{_sbindir}" == "%{_bindir}" +mv %{buildroot}/usr/sbin/ppp-watch %{buildroot}%{_bindir}/ +%endif + %pre /usr/bin/getent group dip >/dev/null 2>&1 || /usr/sbin/groupadd -r -g 40 dip >/dev/null 2>&1 || : From eea1551e441d12519057055422f3020936220a75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= Date: Thu, 9 May 2024 18:09:49 +0200 Subject: [PATCH 18/34] Pre-created upstream default lock dir --- ppp-tmpfiles.conf | 2 +- ppp.spec | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ppp-tmpfiles.conf b/ppp-tmpfiles.conf index 1097cbe..a48a271 100644 --- a/ppp-tmpfiles.conf +++ b/ppp-tmpfiles.conf @@ -1 +1 @@ -d /run/ppp 0755 root root +d /run/pppd/lock 0755 root root diff --git a/ppp.spec b/ppp.spec index 40b46d6..79874ba 100644 --- a/ppp.spec +++ b/ppp.spec @@ -18,7 +18,7 @@ Name: ppp # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. Version: 2.5.0 -Release: 8%{?dist} +Release: 9%{?dist} Summary: The Point-to-Point Protocol daemon License: bsd-3-clause AND zlib AND licenseref-fedora-public-domain AND bsd-attribution-hpnd-disclaimer AND bsd-4.3tahoe AND bsd-4-clause-uc AND apache-2.0 AND lgpl-2.0-or-later AND (gpl-2.0-or-later OR bsd-2-clause OR bsd-3-clause OR bsd-4-clause) AND gpl-2.0-or-later AND xlock AND gpl-1.0-or-later AND mackerras-3-clause-acknowledgment AND mackerras-3-clause AND hpnd-fenneberg-Livingston AND sun-ppp AND hpnd-inria-imag AND sun-ppp-2000 URL: http://www.samba.org/ppp @@ -126,7 +126,7 @@ install -p %{SOURCE13} %{buildroot}%{_sysconfdir}/ppp/ipv6-down.initscripts install -p %{SOURCE14} %{buildroot}%{_sysconfdir}/ppp/ipv6-up.initscripts # ghosts -mkdir -p %{buildroot}%{_rundir}/ppp +mkdir -p %{buildroot}%{_rundir}/pppd/lock %if "%{_sbindir}" == "%{_bindir}" mv %{buildroot}/usr/sbin/ppp-watch %{buildroot}%{_bindir}/ @@ -165,7 +165,8 @@ mv %{buildroot}/usr/sbin/ppp-watch %{buildroot}%{_bindir}/ %{_mandir}/man8/pppoe-discovery.8* %{_mandir}/man8/ppp-watch.8* %{_libdir}/pppd -%ghost %dir %{_rundir}/ppp +%ghost %dir %{_rundir}/pppd +%ghost %dir %{_rundir}/pppd/lock %dir %{_sysconfdir}/logrotate.d %attr(700, root, root) %dir %{_localstatedir}/log/ppp %config(noreplace) %{_sysconfdir}/ppp/eaptls-client @@ -183,6 +184,9 @@ mv %{buildroot}/usr/sbin/ppp-watch %{buildroot}%{_bindir}/ %{_libdir}/pkgconfig/pppd.pc %changelog +* Thu May 9 2024 Jaroslav Škarvada - 2.5.0-9 +- Pre-created upstream default lock dir + * Sun Apr 14 2024 Jaroslav Škarvada - 2.5.0-8 - Added missing and recently approved SPDX licenses From a9c63b097bd6453a15691fd238eef2b8f7c1052a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= Date: Wed, 12 Jun 2024 15:31:39 +0200 Subject: [PATCH 19/34] Openssl engine API is deprecated for a while thus disable it --- ppp.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ppp.spec b/ppp.spec index 79874ba..c7e633a 100644 --- a/ppp.spec +++ b/ppp.spec @@ -18,7 +18,7 @@ Name: ppp # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. Version: 2.5.0 -Release: 9%{?dist} +Release: 10%{?dist} Summary: The Point-to-Point Protocol daemon License: bsd-3-clause AND zlib AND licenseref-fedora-public-domain AND bsd-attribution-hpnd-disclaimer AND bsd-4.3tahoe AND bsd-4-clause-uc AND apache-2.0 AND lgpl-2.0-or-later AND (gpl-2.0-or-later OR bsd-2-clause OR bsd-3-clause OR bsd-4-clause) AND gpl-2.0-or-later AND xlock AND gpl-1.0-or-later AND mackerras-3-clause-acknowledgment AND mackerras-3-clause AND hpnd-fenneberg-Livingston AND sun-ppp AND hpnd-inria-imag AND sun-ppp-2000 URL: http://www.samba.org/ppp @@ -90,7 +90,7 @@ tar -xJf %{SOURCE12} %build autoreconf -fi export CFLAGS="%{build_cflags} -fno-strict-aliasing" -%configure --enable-systemd --enable-cbcp --with-pam +%configure --enable-systemd --enable-cbcp --with-pam --disable-openssl-engine %make_build %make_build -C ppp-watch LDFLAGS="%{?build_ldflags} -pie" @@ -184,6 +184,9 @@ mv %{buildroot}/usr/sbin/ppp-watch %{buildroot}%{_bindir}/ %{_libdir}/pkgconfig/pppd.pc %changelog +* Wed Jun 12 2024 Jaroslav Škarvada - 2.5.0-10 +- Openssl engine API is deprecated for a while thus disable it + * Thu May 9 2024 Jaroslav Škarvada - 2.5.0-9 - Pre-created upstream default lock dir From 6707aaf9b1f6d789a79fd9e91200cfd80eb0c658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= Date: Mon, 24 Jun 2024 13:53:33 +0200 Subject: [PATCH 20/34] Fixed radiusclient parser --- ppp-2.5.0-radiusclient-parser-fix.patch | 49 +++++++++++++++++++++++++ ppp.spec | 8 +++- 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 ppp-2.5.0-radiusclient-parser-fix.patch diff --git a/ppp-2.5.0-radiusclient-parser-fix.patch b/ppp-2.5.0-radiusclient-parser-fix.patch new file mode 100644 index 0000000..a898e25 --- /dev/null +++ b/ppp-2.5.0-radiusclient-parser-fix.patch @@ -0,0 +1,49 @@ +From 7f89208b860ea0c41636410bfdb6a609b2772f47 Mon Sep 17 00:00:00 2001 +From: Eivind Naess +Date: Sun, 23 Apr 2023 11:37:01 -0700 +Subject: [PATCH] Closes #411, Fixing up parsing in radiusclient.conf + +Adding curly braces to fix the code. + +Signed-off-by: Eivind Naess +--- + pppd/plugins/radius/config.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/pppd/plugins/radius/config.c b/pppd/plugins/radius/config.c +index 39744fca1..e1a481487 100644 +--- a/pppd/plugins/radius/config.c ++++ b/pppd/plugins/radius/config.c +@@ -235,24 +235,28 @@ int rc_read_config(char *filename) + + switch (option->type) { + case OT_STR: +- if (set_option_str(filename, line, option, p) < 0) ++ if (set_option_str(filename, line, option, p) < 0) { + fclose(configfd); + return (-1); ++ } + break; + case OT_INT: +- if (set_option_int(filename, line, option, p) < 0) ++ if (set_option_int(filename, line, option, p) < 0) { + fclose(configfd); + return (-1); ++ } + break; + case OT_SRV: +- if (set_option_srv(filename, line, option, p) < 0) ++ if (set_option_srv(filename, line, option, p) < 0) { + fclose(configfd); + return (-1); ++ } + break; + case OT_AUO: +- if (set_option_auo(filename, line, option, p) < 0) ++ if (set_option_auo(filename, line, option, p) < 0) { + fclose(configfd); + return (-1); ++ } + break; + default: + fatal("rc_read_config: impossible case branch!"); diff --git a/ppp.spec b/ppp.spec index c7e633a..bc111db 100644 --- a/ppp.spec +++ b/ppp.spec @@ -18,7 +18,7 @@ Name: ppp # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. Version: 2.5.0 -Release: 10%{?dist} +Release: 11%{?dist} Summary: The Point-to-Point Protocol daemon License: bsd-3-clause AND zlib AND licenseref-fedora-public-domain AND bsd-attribution-hpnd-disclaimer AND bsd-4.3tahoe AND bsd-4-clause-uc AND apache-2.0 AND lgpl-2.0-or-later AND (gpl-2.0-or-later OR bsd-2-clause OR bsd-3-clause OR bsd-4-clause) AND gpl-2.0-or-later AND xlock AND gpl-1.0-or-later AND mackerras-3-clause-acknowledgment AND mackerras-3-clause AND hpnd-fenneberg-Livingston AND sun-ppp AND hpnd-inria-imag AND sun-ppp-2000 URL: http://www.samba.org/ppp @@ -40,6 +40,9 @@ Source14: ipv6-down.initscripts # Fedora-specific Patch0: ppp-2.5.0-use-change-resolv-function.patch +# https://github.com/ppp-project/ppp/commit/7f89208b860ea0c41636410bfdb6a609b2772f47 +Patch1: ppp-2.5.0-radiusclient-parser-fix.patch + BuildRequires: libtool BuildRequires: autoconf BuildRequires: automake @@ -184,6 +187,9 @@ mv %{buildroot}/usr/sbin/ppp-watch %{buildroot}%{_bindir}/ %{_libdir}/pkgconfig/pppd.pc %changelog +* Mon Jun 24 2024 Jaroslav Škarvada - 2.5.0-11 +- Fixed radiusclient parser + * Wed Jun 12 2024 Jaroslav Škarvada - 2.5.0-10 - Openssl engine API is deprecated for a while thus disable it From 6b4070612ff9c3456bcef69620a971f1a06a5622 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 9 Jul 2024 13:49:47 +0200 Subject: [PATCH 21/34] Rebuilt for the bin-sbin merge https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin --- ppp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ppp.spec b/ppp.spec index bc111db..668f8d1 100644 --- a/ppp.spec +++ b/ppp.spec @@ -18,7 +18,7 @@ Name: ppp # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. Version: 2.5.0 -Release: 11%{?dist} +Release: 12%{?dist} Summary: The Point-to-Point Protocol daemon License: bsd-3-clause AND zlib AND licenseref-fedora-public-domain AND bsd-attribution-hpnd-disclaimer AND bsd-4.3tahoe AND bsd-4-clause-uc AND apache-2.0 AND lgpl-2.0-or-later AND (gpl-2.0-or-later OR bsd-2-clause OR bsd-3-clause OR bsd-4-clause) AND gpl-2.0-or-later AND xlock AND gpl-1.0-or-later AND mackerras-3-clause-acknowledgment AND mackerras-3-clause AND hpnd-fenneberg-Livingston AND sun-ppp AND hpnd-inria-imag AND sun-ppp-2000 URL: http://www.samba.org/ppp @@ -187,6 +187,9 @@ mv %{buildroot}/usr/sbin/ppp-watch %{buildroot}%{_bindir}/ %{_libdir}/pkgconfig/pppd.pc %changelog +* Tue Jul 09 2024 Zbigniew Jędrzejewski-Szmek - 2.5.0-12 +- Rebuilt for the bin-sbin merge + * Mon Jun 24 2024 Jaroslav Škarvada - 2.5.0-11 - Fixed radiusclient parser From 635ed2c4e49b0eb6d19a14f02902944455dc505c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jul 2024 08:24:44 +0000 Subject: [PATCH 22/34] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- ppp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ppp.spec b/ppp.spec index 668f8d1..ed6553f 100644 --- a/ppp.spec +++ b/ppp.spec @@ -18,7 +18,7 @@ Name: ppp # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. Version: 2.5.0 -Release: 12%{?dist} +Release: 13%{?dist} Summary: The Point-to-Point Protocol daemon License: bsd-3-clause AND zlib AND licenseref-fedora-public-domain AND bsd-attribution-hpnd-disclaimer AND bsd-4.3tahoe AND bsd-4-clause-uc AND apache-2.0 AND lgpl-2.0-or-later AND (gpl-2.0-or-later OR bsd-2-clause OR bsd-3-clause OR bsd-4-clause) AND gpl-2.0-or-later AND xlock AND gpl-1.0-or-later AND mackerras-3-clause-acknowledgment AND mackerras-3-clause AND hpnd-fenneberg-Livingston AND sun-ppp AND hpnd-inria-imag AND sun-ppp-2000 URL: http://www.samba.org/ppp @@ -187,6 +187,9 @@ mv %{buildroot}/usr/sbin/ppp-watch %{buildroot}%{_bindir}/ %{_libdir}/pkgconfig/pppd.pc %changelog +* Fri Jul 19 2024 Fedora Release Engineering - 2.5.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Tue Jul 09 2024 Zbigniew Jędrzejewski-Szmek - 2.5.0-12 - Rebuilt for the bin-sbin merge From 8676c76d0b47be51e1094a9c3b0dbe7b255031f2 Mon Sep 17 00:00:00 2001 From: Ondrej Mejzlik Date: Mon, 14 Oct 2024 10:15:34 +0200 Subject: [PATCH 23/34] Update plans and gating --- gating.yaml | 12 +++++----- plans.fmf | 47 ++++++++++++++++++++++++++++++++++++++++ plans/public.fmf | 7 ------ plans/tier1-internal.fmf | 12 ---------- 4 files changed, 52 insertions(+), 26 deletions(-) create mode 100644 plans.fmf delete mode 100644 plans/public.fmf delete mode 100644 plans/tier1-internal.fmf diff --git a/gating.yaml b/gating.yaml index 285eb64..9b2646f 100644 --- a/gating.yaml +++ b/gating.yaml @@ -4,8 +4,8 @@ product_versions: decision_context: bodhi_update_push_testing subject_type: koji_build rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/public.functional} - + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional} + #Rawhide --- !Policy product_versions: @@ -13,16 +13,14 @@ product_versions: decision_context: bodhi_update_push_stable subject_type: koji_build rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/public.functional} - + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional} + #gating rhel --- !Policy product_versions: - rhel-* decision_context: osci_compose_gate rules: - - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} - - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tedude.validation} + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-public.functional} - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-internal.functional} - - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/public.functional} diff --git a/plans.fmf b/plans.fmf new file mode 100644 index 0000000..1150d22 --- /dev/null +++ b/plans.fmf @@ -0,0 +1,47 @@ +/tier1-internal: + plan: + import: + url: https://src.fedoraproject.org/tests/ppp.git + name: /plans/tier1/internal + adjust: + enabled: false + when: distro == centos-stream, fedora + because: They don't have access to internal repos. + +/tier1-public: + plan: + import: + url: https://src.fedoraproject.org/tests/ppp.git + name: /plans/tier1/public + +/tier2-tier3-internal: + plan: + import: + url: https://src.fedoraproject.org/tests/ppp.git + name: /plans/tier2-tier3/internal + adjust: + enabled: false + when: distro == centos-stream, fedora + because: They don't have access to internal repos. + +/tier2-tier3-public: + plan: + import: + url: https://src.fedoraproject.org/tests/ppp.git + name: /plans/tier2-tier3/public + +/others-internal: + plan: + import: + url: https://src.fedoraproject.org/tests/ppp.git + name: /plans/others/internal + adjust: + enabled: false + when: distro == centos-stream, fedora + because: They don't have access to internal repos. + +/others-public: + plan: + import: + url: https://src.fedoraproject.org/tests/ppp.git + name: /plans/others/public diff --git a/plans/public.fmf b/plans/public.fmf deleted file mode 100644 index 78f4e0e..0000000 --- a/plans/public.fmf +++ /dev/null @@ -1,7 +0,0 @@ -summary: Test plan with all Fedora tests -discover: - how: fmf - url: https://src.fedoraproject.org/tests/ppp.git -execute: - how: tmt - diff --git a/plans/tier1-internal.fmf b/plans/tier1-internal.fmf deleted file mode 100644 index 3447b11..0000000 --- a/plans/tier1-internal.fmf +++ /dev/null @@ -1,12 +0,0 @@ -summary: CI plan, picks internal Tier1 tests, runs in beakerlib. -discover: - - name: rhel - how: fmf - filter: 'tier: 1' - url: git://pkgs.devel.redhat.com/tests/ppp -execute: - how: tmt -adjust: - enabled: false - when: distro == centos-stream, fedora - because: They don't have access to internal repos. From 239faff36a81e2f9c125afaed45e70ba934f9d6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= Date: Sat, 16 Nov 2024 09:39:34 +0100 Subject: [PATCH 24/34] New version Resolves: rhbz#2313209 New version Resolves: rhbz#2313209 --- ppp.spec | 8 ++++++-- sources | 3 +-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ppp.spec b/ppp.spec index ed6553f..dd0075d 100644 --- a/ppp.spec +++ b/ppp.spec @@ -17,8 +17,8 @@ Name: ppp # sstp-client # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. -Version: 2.5.0 -Release: 13%{?dist} +Version: 2.5.1 +Release: 1%{?dist} Summary: The Point-to-Point Protocol daemon License: bsd-3-clause AND zlib AND licenseref-fedora-public-domain AND bsd-attribution-hpnd-disclaimer AND bsd-4.3tahoe AND bsd-4-clause-uc AND apache-2.0 AND lgpl-2.0-or-later AND (gpl-2.0-or-later OR bsd-2-clause OR bsd-3-clause OR bsd-4-clause) AND gpl-2.0-or-later AND xlock AND gpl-1.0-or-later AND mackerras-3-clause-acknowledgment AND mackerras-3-clause AND hpnd-fenneberg-Livingston AND sun-ppp AND hpnd-inria-imag AND sun-ppp-2000 URL: http://www.samba.org/ppp @@ -187,6 +187,10 @@ mv %{buildroot}/usr/sbin/ppp-watch %{buildroot}%{_bindir}/ %{_libdir}/pkgconfig/pppd.pc %changelog +* Sat Nov 16 2024 Jaroslav Škarvada - 2.5.1-1 +- New version + Resolves: rhbz#2313209 + * Fri Jul 19 2024 Fedora Release Engineering - 2.5.0-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild diff --git a/sources b/sources index 010a7fe..b93ac97 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (ppp-2.5.0.tar.gz) = cf62410a952053f9aa71c5179453831152e958fcad9e77df2ddac864e39aa71af0b746e54b91e8fa3ad6295d6d2b1bb736e36dc05521b495f573468679133324 -SHA512 (ppp-watch.tar.xz) = aee10735facf918b9a1e33408c9f19d8240c2cd265837da87ac9f58e097eece6bbe1abcaf426e2f10369d1368f6e9e68d2e07d005a19857f17d6318708ec438a +SHA512 (ppp-2.5.1.tar.gz) = 2e2a113fbb9ea1395ddde8711696e741b5ae66f5d5dc3f7d26be10bc09c605d13a972f067b7b4335f32d1f6952f5af8d59dec0cc28fa21d84664b236f0761216 From e3c470201bc6cd9fd9664df47349fe2178bbca9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= Date: Sat, 16 Nov 2024 09:45:56 +0100 Subject: [PATCH 25/34] New version Resolves: rhbz#2313209 New version Resolves: rhbz#2313209 --- sources | 1 + 1 file changed, 1 insertion(+) diff --git a/sources b/sources index b93ac97..117d746 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (ppp-2.5.1.tar.gz) = 2e2a113fbb9ea1395ddde8711696e741b5ae66f5d5dc3f7d26be10bc09c605d13a972f067b7b4335f32d1f6952f5af8d59dec0cc28fa21d84664b236f0761216 +SHA512 (ppp-watch.tar.xz) = aee10735facf918b9a1e33408c9f19d8240c2cd265837da87ac9f58e097eece6bbe1abcaf426e2f10369d1368f6e9e68d2e07d005a19857f17d6318708ec438a From beb7e74ce7a786a9ff1811e30678b137af620d47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= Date: Sat, 16 Nov 2024 09:58:25 +0100 Subject: [PATCH 26/34] Dropped radiusclient-parser-fix patch (upstreamed) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jaroslav Škarvada --- ppp-2.5.0-radiusclient-parser-fix.patch | 49 ------------------------- ppp.spec | 3 -- 2 files changed, 52 deletions(-) delete mode 100644 ppp-2.5.0-radiusclient-parser-fix.patch diff --git a/ppp-2.5.0-radiusclient-parser-fix.patch b/ppp-2.5.0-radiusclient-parser-fix.patch deleted file mode 100644 index a898e25..0000000 --- a/ppp-2.5.0-radiusclient-parser-fix.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 7f89208b860ea0c41636410bfdb6a609b2772f47 Mon Sep 17 00:00:00 2001 -From: Eivind Naess -Date: Sun, 23 Apr 2023 11:37:01 -0700 -Subject: [PATCH] Closes #411, Fixing up parsing in radiusclient.conf - -Adding curly braces to fix the code. - -Signed-off-by: Eivind Naess ---- - pppd/plugins/radius/config.c | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -diff --git a/pppd/plugins/radius/config.c b/pppd/plugins/radius/config.c -index 39744fca1..e1a481487 100644 ---- a/pppd/plugins/radius/config.c -+++ b/pppd/plugins/radius/config.c -@@ -235,24 +235,28 @@ int rc_read_config(char *filename) - - switch (option->type) { - case OT_STR: -- if (set_option_str(filename, line, option, p) < 0) -+ if (set_option_str(filename, line, option, p) < 0) { - fclose(configfd); - return (-1); -+ } - break; - case OT_INT: -- if (set_option_int(filename, line, option, p) < 0) -+ if (set_option_int(filename, line, option, p) < 0) { - fclose(configfd); - return (-1); -+ } - break; - case OT_SRV: -- if (set_option_srv(filename, line, option, p) < 0) -+ if (set_option_srv(filename, line, option, p) < 0) { - fclose(configfd); - return (-1); -+ } - break; - case OT_AUO: -- if (set_option_auo(filename, line, option, p) < 0) -+ if (set_option_auo(filename, line, option, p) < 0) { - fclose(configfd); - return (-1); -+ } - break; - default: - fatal("rc_read_config: impossible case branch!"); diff --git a/ppp.spec b/ppp.spec index dd0075d..e22658a 100644 --- a/ppp.spec +++ b/ppp.spec @@ -40,9 +40,6 @@ Source14: ipv6-down.initscripts # Fedora-specific Patch0: ppp-2.5.0-use-change-resolv-function.patch -# https://github.com/ppp-project/ppp/commit/7f89208b860ea0c41636410bfdb6a609b2772f47 -Patch1: ppp-2.5.0-radiusclient-parser-fix.patch - BuildRequires: libtool BuildRequires: autoconf BuildRequires: automake From 8219d5b47f05bea6034920397cf937b52f51891e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= Date: Sat, 16 Nov 2024 10:22:50 +0100 Subject: [PATCH 27/34] Fixed installation of configuration files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jaroslav Škarvada --- ppp.spec | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ppp.spec b/ppp.spec index e22658a..3da4aaf 100644 --- a/ppp.spec +++ b/ppp.spec @@ -128,6 +128,14 @@ install -p %{SOURCE14} %{buildroot}%{_sysconfdir}/ppp/ipv6-up.initscripts # ghosts mkdir -p %{buildroot}%{_rundir}/pppd/lock +# fix configuration files suffix +pushd %{buildroot}%{_sysconfdir}/ppp +for f in `ls *.example` +do + mv "$f" "${f%%.example} +done +popd + %if "%{_sbindir}" == "%{_bindir}" mv %{buildroot}/usr/sbin/ppp-watch %{buildroot}%{_bindir}/ %endif From bd1d1479325c6964592ecc29bf10dfdbef56474d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= Date: Sat, 16 Nov 2024 11:09:22 +0100 Subject: [PATCH 28/34] Fixed spec MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jaroslav Škarvada --- ppp.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ppp.spec b/ppp.spec index 3da4aaf..9c371c4 100644 --- a/ppp.spec +++ b/ppp.spec @@ -132,7 +132,7 @@ mkdir -p %{buildroot}%{_rundir}/pppd/lock pushd %{buildroot}%{_sysconfdir}/ppp for f in `ls *.example` do - mv "$f" "${f%%.example} + mv "$f" "${f%%.example}" done popd From 19a05d6af61664c3c65ae66a557f33fe4dbb9e78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 12 Jan 2025 14:39:58 +0100 Subject: [PATCH 29/34] Rebuilt for the bin-sbin merge (2nd attempt) https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin --- ppp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ppp.spec b/ppp.spec index 9c371c4..d431a0b 100644 --- a/ppp.spec +++ b/ppp.spec @@ -18,7 +18,7 @@ Name: ppp # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. Version: 2.5.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Point-to-Point Protocol daemon License: bsd-3-clause AND zlib AND licenseref-fedora-public-domain AND bsd-attribution-hpnd-disclaimer AND bsd-4.3tahoe AND bsd-4-clause-uc AND apache-2.0 AND lgpl-2.0-or-later AND (gpl-2.0-or-later OR bsd-2-clause OR bsd-3-clause OR bsd-4-clause) AND gpl-2.0-or-later AND xlock AND gpl-1.0-or-later AND mackerras-3-clause-acknowledgment AND mackerras-3-clause AND hpnd-fenneberg-Livingston AND sun-ppp AND hpnd-inria-imag AND sun-ppp-2000 URL: http://www.samba.org/ppp @@ -192,6 +192,9 @@ mv %{buildroot}/usr/sbin/ppp-watch %{buildroot}%{_bindir}/ %{_libdir}/pkgconfig/pppd.pc %changelog +* Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek - 2.5.1-2 +- Rebuilt for the bin-sbin merge (2nd attempt) + * Sat Nov 16 2024 Jaroslav Škarvada - 2.5.1-1 - New version Resolves: rhbz#2313209 From b854e546bbaa42594ea206259fbf073292489959 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 18 Jan 2025 10:44:02 +0000 Subject: [PATCH 30/34] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- ppp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ppp.spec b/ppp.spec index d431a0b..cbd0167 100644 --- a/ppp.spec +++ b/ppp.spec @@ -18,7 +18,7 @@ Name: ppp # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. Version: 2.5.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Point-to-Point Protocol daemon License: bsd-3-clause AND zlib AND licenseref-fedora-public-domain AND bsd-attribution-hpnd-disclaimer AND bsd-4.3tahoe AND bsd-4-clause-uc AND apache-2.0 AND lgpl-2.0-or-later AND (gpl-2.0-or-later OR bsd-2-clause OR bsd-3-clause OR bsd-4-clause) AND gpl-2.0-or-later AND xlock AND gpl-1.0-or-later AND mackerras-3-clause-acknowledgment AND mackerras-3-clause AND hpnd-fenneberg-Livingston AND sun-ppp AND hpnd-inria-imag AND sun-ppp-2000 URL: http://www.samba.org/ppp @@ -192,6 +192,9 @@ mv %{buildroot}/usr/sbin/ppp-watch %{buildroot}%{_bindir}/ %{_libdir}/pkgconfig/pppd.pc %changelog +* Sat Jan 18 2025 Fedora Release Engineering - 2.5.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek - 2.5.1-2 - Rebuilt for the bin-sbin merge (2nd attempt) From dadb2d4d98a578f393f91536c04cdf6c93a57224 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Sat, 1 Feb 2025 19:56:45 +0100 Subject: [PATCH 31/34] Add explicit BR: libxcrypt-devel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Esser --- ppp.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ppp.spec b/ppp.spec index cbd0167..6086f25 100644 --- a/ppp.spec +++ b/ppp.spec @@ -18,7 +18,7 @@ Name: ppp # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. Version: 2.5.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Point-to-Point Protocol daemon License: bsd-3-clause AND zlib AND licenseref-fedora-public-domain AND bsd-attribution-hpnd-disclaimer AND bsd-4.3tahoe AND bsd-4-clause-uc AND apache-2.0 AND lgpl-2.0-or-later AND (gpl-2.0-or-later OR bsd-2-clause OR bsd-3-clause OR bsd-4-clause) AND gpl-2.0-or-later AND xlock AND gpl-1.0-or-later AND mackerras-3-clause-acknowledgment AND mackerras-3-clause AND hpnd-fenneberg-Livingston AND sun-ppp AND hpnd-inria-imag AND sun-ppp-2000 URL: http://www.samba.org/ppp @@ -51,6 +51,7 @@ BuildRequires: systemd BuildRequires: systemd-devel BuildRequires: glib2-devel BuildRequires: openssl-devel +BuildRequires: libxcrypt-devel %if %{defined rhel} Provides: bundled(linux-atm) = 2.4.1 %else @@ -192,6 +193,9 @@ mv %{buildroot}/usr/sbin/ppp-watch %{buildroot}%{_bindir}/ %{_libdir}/pkgconfig/pppd.pc %changelog +* Sat Feb 01 2025 Björn Esser - 2.5.1-4 +- Add explicit BR: libxcrypt-devel + * Sat Jan 18 2025 Fedora Release Engineering - 2.5.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 2e02872e926609aa240359830bc9bfe7d7277aba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 11 Feb 2025 16:44:31 +0100 Subject: [PATCH 32/34] Add sysusers.d config file to allow rpm to create users/groups automatically See https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers. --- ppp.spec | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/ppp.spec b/ppp.spec index 6086f25..1fa0bbc 100644 --- a/ppp.spec +++ b/ppp.spec @@ -18,7 +18,7 @@ Name: ppp # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. Version: 2.5.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The Point-to-Point Protocol daemon License: bsd-3-clause AND zlib AND licenseref-fedora-public-domain AND bsd-attribution-hpnd-disclaimer AND bsd-4.3tahoe AND bsd-4-clause-uc AND apache-2.0 AND lgpl-2.0-or-later AND (gpl-2.0-or-later OR bsd-2-clause OR bsd-3-clause OR bsd-4-clause) AND gpl-2.0-or-later AND xlock AND gpl-1.0-or-later AND mackerras-3-clause-acknowledgment AND mackerras-3-clause AND hpnd-fenneberg-Livingston AND sun-ppp AND hpnd-inria-imag AND sun-ppp-2000 URL: http://www.samba.org/ppp @@ -62,8 +62,6 @@ Requires: glibc >= 2.0.6 Requires: /etc/pam.d/system-auth Requires: libpcap >= 14:0.8.3-6 Requires: systemd -Requires(pre): /usr/bin/getent -Requires(pre): /usr/sbin/groupadd # Subpackage removed and obsoleted in F40 Obsoletes: network-scripts-ppp < %{version}-%{release} @@ -88,6 +86,11 @@ This package contains the header files for building plugins for ppp. tar -xJf %{SOURCE12} +# Create a sysusers.d config file +cat >ppp.sysusers.conf </dev/null 2>&1 || /usr/sbin/groupadd -r -g 40 dip >/dev/null 2>&1 || : +install -m0644 -D ppp.sysusers.conf %{buildroot}%{_sysusersdir}/ppp.conf + %post %tmpfiles_create ppp.conf @@ -186,6 +189,7 @@ mv %{buildroot}/usr/sbin/ppp-watch %{buildroot}%{_bindir}/ %config(noreplace) %{_sysconfdir}/pam.d/ppp %config(noreplace) %{_sysconfdir}/logrotate.d/ppp %{_tmpfilesdir}/ppp.conf +%{_sysusersdir}/ppp.conf %files devel %{_includedir}/pppd @@ -193,6 +197,9 @@ mv %{buildroot}/usr/sbin/ppp-watch %{buildroot}%{_bindir}/ %{_libdir}/pkgconfig/pppd.pc %changelog +* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 2.5.1-5 +- Add sysusers.d config file to allow rpm to create users/groups automatically + * Sat Feb 01 2025 Björn Esser - 2.5.1-4 - Add explicit BR: libxcrypt-devel From 055f5683fd0028789391e47c1da866685b2189ee Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Tue, 25 Feb 2025 00:04:47 -0500 Subject: [PATCH 33/34] Fix build with GCC 15 --- ppp-2.5.1-gcc15.patch | 58 +++++++++++++++++++++++++++++++++++++++++++ ppp.spec | 2 ++ 2 files changed, 60 insertions(+) create mode 100644 ppp-2.5.1-gcc15.patch diff --git a/ppp-2.5.1-gcc15.patch b/ppp-2.5.1-gcc15.patch new file mode 100644 index 0000000..5f13bc9 --- /dev/null +++ b/ppp-2.5.1-gcc15.patch @@ -0,0 +1,58 @@ +Fix build with GCC 15 + +GCC 15 defaults to C23 which does not allow K&R declarations. + +diff --git a/pppdump/pppdump.c b/pppdump/pppdump.c +index 16a5ffb..5708177 100644 +--- a/pppdump/pppdump.c ++++ b/pppdump/pppdump.c +@@ -51,14 +51,12 @@ int tot_sent, tot_rcvd; + extern int optind; + extern char *optarg; + +-void dumplog(); +-void dumpppp(); +-void show_time(); ++void dumplog(FILE *); ++void dumpppp(FILE *); ++void show_time(FILE *, int); + + int +-main(ac, av) +- int ac; +- char **av; ++main(int ac, char **av) + { + int i; + char *p; +@@ -106,8 +104,7 @@ main(ac, av) + } + + void +-dumplog(f) +- FILE *f; ++dumplog(FILE *f) + { + int c, n, k, col; + int nb, c2; +@@ -250,8 +247,7 @@ struct pkt { + unsigned char dbuf[8192]; + + void +-dumpppp(f) +- FILE *f; ++dumpppp(FILE *f) + { + int c, n, k; + int nb, nl, dn, proto, rv; +@@ -384,9 +380,7 @@ dumpppp(f) + } + + void +-show_time(f, c) +- FILE *f; +- int c; ++show_time(FILE *f, int c) + { + time_t t; + int n; diff --git a/ppp.spec b/ppp.spec index 1fa0bbc..d157c43 100644 --- a/ppp.spec +++ b/ppp.spec @@ -39,6 +39,8 @@ Source14: ipv6-down.initscripts # Fedora-specific Patch0: ppp-2.5.0-use-change-resolv-function.patch +# Fix build with GCC 15 +Patch1: ppp-2.5.1-gcc15.patch BuildRequires: libtool BuildRequires: autoconf From baad7a85acc667d45e0ad2a5ab0981a34946a03d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 06:07:04 +0000 Subject: [PATCH 34/34] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- ppp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ppp.spec b/ppp.spec index d157c43..cdceb10 100644 --- a/ppp.spec +++ b/ppp.spec @@ -18,7 +18,7 @@ Name: ppp # These all need to be patched (if necessary) and rebuilt for new # versions of ppp. Version: 2.5.1 -Release: 5%{?dist} +Release: 6%{?dist} Summary: The Point-to-Point Protocol daemon License: bsd-3-clause AND zlib AND licenseref-fedora-public-domain AND bsd-attribution-hpnd-disclaimer AND bsd-4.3tahoe AND bsd-4-clause-uc AND apache-2.0 AND lgpl-2.0-or-later AND (gpl-2.0-or-later OR bsd-2-clause OR bsd-3-clause OR bsd-4-clause) AND gpl-2.0-or-later AND xlock AND gpl-1.0-or-later AND mackerras-3-clause-acknowledgment AND mackerras-3-clause AND hpnd-fenneberg-Livingston AND sun-ppp AND hpnd-inria-imag AND sun-ppp-2000 URL: http://www.samba.org/ppp @@ -199,6 +199,9 @@ install -m0644 -D ppp.sysusers.conf %{buildroot}%{_sysusersdir}/ppp.conf %{_libdir}/pkgconfig/pppd.pc %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 2.5.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 2.5.1-5 - Add sysusers.d config file to allow rpm to create users/groups automatically