@@ -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
@@ -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 \
deleted file mode 100644
@@ -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
- }
-
similarity index 79%
rename from src/patches/ppp/ppp-2.5.0-1-we-don-t-want-to-accidentally-leak-fds.patch
rename to src/patches/ppp/ppp-2.5.1-1-we-don-t-want-to-accidentally-leak-fds.patch
@@ -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");
similarity index 75%
rename from src/patches/ppp/ppp-e1266c7-2-everywhere-O_CLOEXEC-harder.patch
rename to src/patches/ppp/ppp-2.5.1-2-everywhere-O_CLOEXEC-harder.patch
@@ -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
similarity index 100%
rename from src/patches/ppp/ppp-2.5.0-3-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch
rename to src/patches/ppp/ppp-2.5.1-3-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch
similarity index 100%
rename from src/patches/ppp/ppp-2.5.0-4-increase-max-padi-attempts.patch
rename to src/patches/ppp/ppp-2.5.1-4-increase-max-padi-attempts.patch
similarity index 100%
rename from src/patches/ppp/ppp-2.5.0-5-headers_4.9.patch
rename to src/patches/ppp/ppp-2.5.1-5-headers_4.9.patch