ppp: Update to version 2.5.1

- Update from version commit e1266c7 to 2.5.1
- Version 2.5.1 has around 34 additional commits from e1266c7. To me all look minor
   changes, some related to other system types such as Solaris that we don't use.
- Update of rootfile
- They have added example to the configuration files to prevent accidental overwriting
   of configuration systems.
- Changelog - There is no longer any changelog provided. Even the one that used to
   exist for version 2.5.0 has been removed. The only option now is to look through the
   commits - https://github.com/ppp-project/ppp/commits/master/?before=d5aeec65752d4a9b3bb46771d0b221c4a4a6539e+35
- Some of the patches had to be updated as the changes were enough that some hunks did
   not get found for patching. Patch file number 6 has been removed as the sed lines are
   no longer to be found in the configure file. The other files that patched successfully
   were renamed to 2.5.1

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Adolf Belka
2024-10-08 14:24:24 +02:00
committed by Michael Tremer
parent b400c58f5a
commit 8e33ca3246
8 changed files with 90 additions and 113 deletions

View File

@@ -1,15 +1,18 @@
#etc/ppp
etc/ppp/chap-secrets
etc/ppp/chap-secrets.example
etc/ppp/demonloginscript
etc/ppp/dialer
#etc/ppp/eaptls-client
#etc/ppp/eaptls-server
#etc/ppp/eaptls-client.example
#etc/ppp/eaptls-server.example
etc/ppp/ioptions
etc/ppp/ip-down
etc/ppp/ip-up
#etc/ppp/openssl.cnf
#etc/ppp/openssl.cnf.example
etc/ppp/options
etc/ppp/options.example
etc/ppp/pap-secrets
etc/ppp/pap-secrets.example
etc/ppp/standardloginscript
#usr/include/pppd
#usr/include/pppd/cbcp.h
@@ -35,29 +38,29 @@ etc/ppp/standardloginscript
#usr/include/pppd/upap.h
#usr/lib/pkgconfig/pppd.pc
usr/lib/pppd
#usr/lib/pppd/2.5.1-dev
#usr/lib/pppd/2.5.1-dev/minconn.la
usr/lib/pppd/2.5.1-dev/minconn.so
#usr/lib/pppd/2.5.1-dev/openl2tp.la
usr/lib/pppd/2.5.1-dev/openl2tp.so
#usr/lib/pppd/2.5.1-dev/passprompt.la
usr/lib/pppd/2.5.1-dev/passprompt.so
#usr/lib/pppd/2.5.1-dev/passwordfd.la
usr/lib/pppd/2.5.1-dev/passwordfd.so
#usr/lib/pppd/2.5.1-dev/pppoatm.la
usr/lib/pppd/2.5.1-dev/pppoatm.so
#usr/lib/pppd/2.5.1-dev/pppoe.la
usr/lib/pppd/2.5.1-dev/pppoe.so
#usr/lib/pppd/2.5.1-dev/pppol2tp.la
usr/lib/pppd/2.5.1-dev/pppol2tp.so
#usr/lib/pppd/2.5.1-dev/radattr.la
usr/lib/pppd/2.5.1-dev/radattr.so
#usr/lib/pppd/2.5.1-dev/radius.la
usr/lib/pppd/2.5.1-dev/radius.so
#usr/lib/pppd/2.5.1-dev/radrealms.la
usr/lib/pppd/2.5.1-dev/radrealms.so
#usr/lib/pppd/2.5.1-dev/winbind.la
usr/lib/pppd/2.5.1-dev/winbind.so
usr/lib/pppd/2.5.1
#usr/lib/pppd/2.5.1/minconn.la
usr/lib/pppd/2.5.1/minconn.so
#usr/lib/pppd/2.5.1/openl2tp.la
usr/lib/pppd/2.5.1/openl2tp.so
#usr/lib/pppd/2.5.1/passprompt.la
usr/lib/pppd/2.5.1/passprompt.so
#usr/lib/pppd/2.5.1/passwordfd.la
usr/lib/pppd/2.5.1/passwordfd.so
#usr/lib/pppd/2.5.1/pppoatm.la
usr/lib/pppd/2.5.1/pppoatm.so
#usr/lib/pppd/2.5.1/pppoe.la
usr/lib/pppd/2.5.1/pppoe.so
#usr/lib/pppd/2.5.1/pppol2tp.la
usr/lib/pppd/2.5.1/pppol2tp.so
#usr/lib/pppd/2.5.1/radattr.la
usr/lib/pppd/2.5.1/radattr.so
#usr/lib/pppd/2.5.1/radius.la
usr/lib/pppd/2.5.1/radius.so
#usr/lib/pppd/2.5.1/radrealms.la
usr/lib/pppd/2.5.1/radrealms.so
#usr/lib/pppd/2.5.1/winbind.la
usr/lib/pppd/2.5.1/winbind.so
usr/sbin/chat
usr/sbin/pppd
usr/sbin/pppdump

17
lfs/ppp
View File

@@ -24,7 +24,9 @@
include Config
VER = e1266c7
VER = 2.5.1
# Download source file from https://download.samba.org/pub/ppp/
THISAPP = ppp-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -42,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = be60fadeed632ae2511e2d60148905da9868bd4271139b4fecab6b4b93e4a403e645d84204f907a8661748fb1a18b59c893925d91565520b9af791a45b0aaf4f
$(DL_FILE)_BLAKE2 = e3ece873ea25bde5ddffd0da168ffe6ba890693f20fb9f1d6a48f365331abdb4cf517fd0b3004d26a0c778ad4d750e39e38486544e2771b23223469db13c239c
install : $(TARGET)
@@ -73,12 +75,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && autoreconf -vfi
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.0-1-we-don-t-want-to-accidentally-leak-fds.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/ppp-e1266c7-2-everywhere-O_CLOEXEC-harder.patch
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.0-3-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.0-4-increase-max-padi-attempts.patch
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.0-5-headers_4.9.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.0-6-patch-configure-to-handle-cflags-properly.patch
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.1-1-we-don-t-want-to-accidentally-leak-fds.patch
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.1-2-everywhere-O_CLOEXEC-harder.patch
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.1-3-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.1-4-increase-max-padi-attempts.patch
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.1-5-headers_4.9.patch
cd $(DIR_APP) && ./configure \
--prefix=/usr \
--sysconfdir=/etc \

View File

@@ -1,18 +0,0 @@
diff -Naur ppp-2.5.0.orig/configure ppp-2.5.0/configure
--- ppp-2.5.0.orig/configure 2023-03-25 05:38:36.000000000 +0100
+++ ppp-2.5.0/configure 2023-06-30 14:05:14.773950477 +0200
@@ -17774,10 +17774,10 @@
rm -f $2
if [ -f $1 ]; then
echo " $2 <= $1"
- sed -e "s,@DESTDIR@,$prefix,g" \
- -e "s,@SYSCONF@,$sysconfdir,g" \
- -e "s,@CC@,$CC,g" \
- -e "s|@CFLAGS@|$CFLAGS|g" $1 > $2
+ sed -e "s#@DESTDIR@#$prefix#g" \
+ -e "s#@SYSCONF@#$sysconfdir#g" \
+ -e "s#@CC@#$CC#g" \
+ -e "s#@CFLAGS@#$CFLAGS#g" $1 > $2
fi
}

View File

@@ -1,7 +1,7 @@
diff -Naur pppd.orig/auth.c pppd/auth.c
--- pppd.orig/auth.c 2023-03-25 05:38:30.000000000 +0100
+++ pppd/auth.c 2023-06-30 12:38:13.748482796 +0200
@@ -518,7 +518,7 @@
--- pppd.orig/auth.c 2024-09-18 06:30:31.000000000 +0200
+++ pppd/auth.c 2024-10-07 16:12:09.202924555 +0200
@@ -529,7 +529,7 @@
free(fname);
return 0;
}
@@ -10,8 +10,8 @@ diff -Naur pppd.orig/auth.c pppd/auth.c
if (seteuid(euid) == -1)
fatal("unable to regain privileges: %m");
if (ufile == NULL) {
@@ -1535,7 +1535,7 @@
filename = PPP_PATH_UPAPFILE;
@@ -1552,7 +1552,7 @@
filename = path_upapfile;
addrs = opts = NULL;
ret = UPAP_AUTHNAK;
- f = fopen(filename, "r");
@@ -19,43 +19,43 @@ diff -Naur pppd.orig/auth.c pppd/auth.c
if (f == NULL) {
error("Can't open PAP password file %s: %m", filename);
@@ -1635,7 +1635,7 @@
@@ -1652,7 +1652,7 @@
if (ret <= 0) {
filename = PPP_PATH_UPAPFILE;
filename = path_upapfile;
addrs = NULL;
- f = fopen(filename, "r");
+ f = fopen(filename, "re");
if (f == NULL)
return 0;
check_access(f, filename);
@@ -1681,7 +1681,7 @@
@@ -1698,7 +1698,7 @@
}
filename = PPP_PATH_UPAPFILE;
filename = path_upapfile;
- f = fopen(filename, "r");
+ f = fopen(filename, "re");
if (f == NULL)
return 0;
check_access(f, filename);
@@ -1718,7 +1718,7 @@
@@ -1735,7 +1735,7 @@
}
filename = PPP_PATH_UPAPFILE;
filename = path_upapfile;
- f = fopen(filename, "r");
+ f = fopen(filename, "re");
if (f == NULL)
return 0;
@@ -1760,7 +1760,7 @@
@@ -1777,7 +1777,7 @@
}
filename = PPP_PATH_CHAPFILE;
filename = path_chapfile;
- f = fopen(filename, "r");
+ f = fopen(filename, "re");
if (f == NULL)
return 0;
@@ -1798,7 +1798,7 @@
@@ -1815,7 +1815,7 @@
struct wordlist *addrs;
filename = PPP_PATH_SRPFILE;
@@ -64,7 +64,7 @@ diff -Naur pppd.orig/auth.c pppd/auth.c
if (f == NULL)
return 0;
@@ -1849,7 +1849,7 @@
@@ -1866,7 +1866,7 @@
addrs = NULL;
secbuf[0] = 0;
@@ -73,7 +73,7 @@ diff -Naur pppd.orig/auth.c pppd/auth.c
if (f == NULL) {
error("Can't open chap secret file %s: %m", filename);
return 0;
@@ -1902,7 +1902,7 @@
@@ -1919,7 +1919,7 @@
filename = PPP_PATH_SRPFILE;
addrs = NULL;
@@ -82,7 +82,7 @@ diff -Naur pppd.orig/auth.c pppd/auth.c
if (fp == NULL) {
error("Can't open srp secret file %s: %m", filename);
return 0;
@@ -2291,7 +2291,7 @@
@@ -2309,7 +2309,7 @@
*/
if (word[0] == '@' && word[1] == '/') {
strlcpy(atfile, word+1, sizeof(atfile));
@@ -91,7 +91,7 @@ diff -Naur pppd.orig/auth.c pppd/auth.c
warn("can't open indirect secret file %s", atfile);
continue;
}
@@ -2461,7 +2461,7 @@
@@ -2479,7 +2479,7 @@
char pkfile[MAXWORDLEN];
filename = PPP_PATH_EAPTLSSERVFILE;
@@ -100,7 +100,7 @@ diff -Naur pppd.orig/auth.c pppd/auth.c
if (f == NULL)
return 0;
@@ -2518,7 +2518,7 @@
@@ -2536,7 +2536,7 @@
return 1;
filename = PPP_PATH_EAPTLSCLIFILE;
@@ -109,7 +109,7 @@ diff -Naur pppd.orig/auth.c pppd/auth.c
if (f == NULL)
return 0;
@@ -2738,7 +2738,7 @@
@@ -2756,7 +2756,7 @@
filename = (am_server ? PPP_PATH_EAPTLSSERVFILE : PPP_PATH_EAPTLSCLIFILE);
addrs = NULL;
@@ -119,9 +119,9 @@ diff -Naur pppd.orig/auth.c pppd/auth.c
{
error("Can't open eap-tls secret file %s: %m", filename);
diff -Naur pppd.orig/options.c pppd/options.c
--- pppd.orig/options.c 2023-03-25 05:38:30.000000000 +0100
+++ pppd/options.c 2023-06-30 12:42:19.262593140 +0200
@@ -555,7 +555,7 @@
--- pppd.orig/options.c 2024-09-18 06:30:31.000000000 +0200
+++ pppd/options.c 2024-10-07 16:12:40.217129032 +0200
@@ -572,7 +572,7 @@
ppp_option_error("unable to drop privileges to open %s: %m", filename);
return 0;
}
@@ -131,9 +131,9 @@ diff -Naur pppd.orig/options.c pppd/options.c
if (check_prot && seteuid(euid) == -1)
fatal("unable to regain privileges");
diff -Naur pppd.orig/sys-linux.c pppd/sys-linux.c
--- pppd.orig/sys-linux.c 2023-03-10 02:50:41.000000000 +0100
+++ pppd/sys-linux.c 2023-06-30 12:43:20.634453475 +0200
@@ -1978,7 +1978,7 @@
--- pppd.orig/sys-linux.c 2024-09-18 06:30:31.000000000 +0200
+++ pppd/sys-linux.c 2024-10-07 16:13:35.002001250 +0200
@@ -1970,7 +1970,7 @@
/* Default the mount location of /proc */
strlcpy (proc_path, "/proc", sizeof(proc_path));
proc_path_len = 5;
@@ -142,7 +142,7 @@ diff -Naur pppd.orig/sys-linux.c pppd/sys-linux.c
if (fp != NULL) {
while ((mntent = getmntent(fp)) != NULL) {
if (strcmp(mntent->mnt_type, MNTTYPE_IGNORE) == 0)
@@ -2038,7 +2038,7 @@
@@ -2030,7 +2030,7 @@
close_route_table();
path = path_to_procfs("/net/route");
@@ -151,7 +151,7 @@ diff -Naur pppd.orig/sys-linux.c pppd/sys-linux.c
if (route_fd == NULL) {
error("can't open routing table %s: %m", path);
return 0;
@@ -2322,7 +2322,7 @@
@@ -2330,7 +2330,7 @@
close_route_table();
path = path_to_procfs("/net/ipv6_route");

View File

@@ -1,6 +1,6 @@
diff -Naur ppp-e1266c7-orig/pppd/eap.c ppp-e1266c7/pppd/eap.c
--- ppp-e1266c7-orig/pppd/eap.c 2024-02-13 10:40:56.000000000 +0100
+++ ppp-e1266c7/pppd/eap.c 2024-03-15 10:40:53.637190252 +0100
diff -Naur pppd.orig/eap.c pppd/eap.c
--- pppd.orig/eap.c 2024-09-18 06:30:31.000000000 +0200
+++ pppd/eap.c 2024-10-07 16:18:53.077603533 +0200
@@ -1542,7 +1542,7 @@
if ((path = name_of_pn_file()) == NULL)
@@ -10,10 +10,10 @@ diff -Naur ppp-e1266c7-orig/pppd/eap.c ppp-e1266c7/pppd/eap.c
err = errno;
free(path);
errno = err;
diff -Naur ppp-e1266c7-orig/pppd/main.c ppp-e1266c7/pppd/main.c
--- ppp-e1266c7-orig/pppd/main.c 2024-02-13 10:40:56.000000000 +0100
+++ ppp-e1266c7/pppd/main.c 2024-03-15 10:41:43.842037617 +0100
@@ -480,7 +480,7 @@
diff -Naur pppd.orig/main.c pppd/main.c
--- pppd.orig/main.c 2024-09-18 06:30:31.000000000 +0200
+++ pppd/main.c 2024-10-07 16:19:34.702106298 +0200
@@ -491,7 +491,7 @@
die(0);
/* Make sure fds 0, 1, 2 are open to somewhere. */
@@ -22,10 +22,10 @@ diff -Naur ppp-e1266c7-orig/pppd/main.c ppp-e1266c7/pppd/main.c
if (fd_devnull < 0)
fatal("Couldn't open %s: %m", PPP_DEVNULL);
while (fd_devnull <= 2) {
diff -Naur ppp-e1266c7-orig/pppd/options.c ppp-e1266c7/pppd/options.c
--- ppp-e1266c7-orig/pppd/options.c 2024-02-13 10:40:56.000000000 +0100
+++ ppp-e1266c7/pppd/options.c 2024-03-15 10:43:02.867753370 +0100
@@ -1719,9 +1719,9 @@
diff -Naur pppd.orig/options.c pppd/options.c
--- pppd.orig/options.c 2024-09-18 06:30:31.000000000 +0200
+++ pppd/options.c 2024-10-07 16:21:04.207954343 +0200
@@ -1736,9 +1736,9 @@
ppp_option_error("unable to drop permissions to open %s: %m", *argv);
return 0;
}
@@ -37,9 +37,9 @@ diff -Naur ppp-e1266c7-orig/pppd/options.c ppp-e1266c7/pppd/options.c
err = errno;
if (!privileged_option && seteuid(euid) == -1)
fatal("unable to regain privileges: %m");
diff -Naur ppp-e1266c7-orig/pppd/sys-linux.c ppp-e1266c7/pppd/sys-linux.c
--- ppp-e1266c7-orig/pppd/sys-linux.c 2024-02-13 10:40:56.000000000 +0100
+++ ppp-e1266c7/pppd/sys-linux.c 2024-03-15 10:49:59.310297165 +0100
diff -Naur pppd.orig/sys-linux.c pppd/sys-linux.c
--- pppd.orig/sys-linux.c 2024-09-18 06:30:31.000000000 +0200
+++ pppd/sys-linux.c 2024-10-07 16:27:42.282472415 +0200
@@ -656,7 +656,7 @@
goto err;
}
@@ -135,10 +135,10 @@ diff -Naur ppp-e1266c7-orig/pppd/sys-linux.c ppp-e1266c7/pppd/sys-linux.c
if (sfd >= 0) {
ret = fchown(sfd, uid, -1);
if (ret != 0) {
diff -Naur ppp-e1266c7-orig/pppd/tdb.c ppp-e1266c7/pppd/tdb.c
--- ppp-e1266c7-orig/pppd/tdb.c 2024-02-13 10:40:56.000000000 +0100
+++ ppp-e1266c7/pppd/tdb.c 2024-03-15 10:51:25.182882191 +0100
@@ -1732,7 +1732,7 @@
diff -Naur pppd.orig/tdb.c pppd/tdb.c
--- pppd.orig/tdb.c 2024-09-18 06:30:31.000000000 +0200
+++ pppd/tdb.c 2024-10-07 16:30:04.033122023 +0200
@@ -1276,7 +1276,7 @@
}
again:
@@ -147,18 +147,9 @@ diff -Naur ppp-e1266c7-orig/pppd/tdb.c ppp-e1266c7/pppd/tdb.c
if ((open_flags & O_CREAT) && errno == ENOENT &&
mkdir_recursive(PPP_PATH_VARRUN) == 0)
goto again;
@@ -1979,7 +1979,7 @@
}
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 -Naur ppp-e1266c7-orig/pppd/tty.c ppp-e1266c7/pppd/tty.c
--- ppp-e1266c7-orig/pppd/tty.c 2024-02-13 10:40:56.000000000 +0100
+++ ppp-e1266c7/pppd/tty.c 2024-03-15 10:52:35.828341901 +0100
diff -Naur pppd.orig/tty.c pppd/tty.c
--- pppd.orig/tty.c 2024-09-18 06:30:31.000000000 +0200
+++ pppd/tty.c 2024-10-07 16:31:11.161674911 +0200
@@ -621,7 +621,7 @@
ppp_set_status(EXIT_OPEN_FAILED);
goto errret;
@@ -177,9 +168,9 @@ diff -Naur ppp-e1266c7-orig/pppd/tty.c ppp-e1266c7/pppd/tty.c
break;
if (errno != EINTR) {
error("Failed to reopen %s: %m", devnam);
diff -Naur ppp-e1266c7-orig/pppd/utils.c ppp-e1266c7/pppd/utils.c
--- ppp-e1266c7-orig/pppd/utils.c 2024-02-13 10:40:56.000000000 +0100
+++ ppp-e1266c7/pppd/utils.c 2024-03-15 10:55:27.176832115 +0100
diff -Naur pppd.orig/utils.c pppd/utils.c
--- pppd.orig/utils.c 2024-09-18 06:30:31.000000000 +0200
+++ pppd/utils.c 2024-10-07 16:32:37.780775463 +0200
@@ -926,14 +926,14 @@
slprintf(lock_file, sizeof(lock_file), "%s/LCK..%s", PPP_PATH_LOCKDIR, dev);
#endif