diff --git a/ppp-2.5.0.tar.gz b/ppp-2.5.0.tar.gz deleted file mode 100644 index 1e20095..0000000 --- a/ppp-2.5.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5cae0e8075f8a1755f16ca290eb44e6b3545d3f292af4da65ecffe897de636ff -size 1170057 diff --git a/ppp-2.5.0.tar.gz.asc b/ppp-2.5.0.tar.gz.asc deleted file mode 100644 index 8062444..0000000 --- a/ppp-2.5.0.tar.gz.asc +++ /dev/null @@ -1,11 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQFGBAABCAAwFiEEv0VLfXa2m9eKuaRpnZrqdyxjcZ8FAmQrvoQSHHBhdWx1c0Bv -emxhYnMub3JnAAoJEJ2a6ncsY3Gfx+YH/3DJdp8pCZDaONwBADpWc9ttGAusH3k6 -fsOntaWKumy5HyJIF7h/ArDvYiAUeO3rgSckZS9o94u3OfkDxP4uf9AnGWBPzCir -CAwUes6JIP23IHAI5uLnSqo72lGtsRNbh95H8PALobKGN/Im+CTi2j6FIx+Nnf2f -6GRSJuw+OSRDzp+rJb1osAoUyuMnRpogXuQAAAeKJAHFDC+98vInQhDmwcu7wNWP -rhR1PrviW8nIsikwRQQptCQNC35DVI3IYUg3L1o8Y2LU1ofF3gYtX7lDF7IthqLM -pUPy+ddE8AsOiHOnKKIxzH9YFy9/xABQmtFLRJDAT24BHe1BCTyqniI= -=4tVk ------END PGP SIGNATURE----- diff --git a/ppp-2.5.2.tar.gz b/ppp-2.5.2.tar.gz new file mode 100644 index 0000000..f88335b --- /dev/null +++ b/ppp-2.5.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47da358de54a10cb10bf6ff2cf9b1c03c0d3555518f6182e8f701b8e55733cb2 +size 973132 diff --git a/ppp-2.5.2.tar.gz.asc b/ppp-2.5.2.tar.gz.asc new file mode 100644 index 0000000..b1f6d75 --- /dev/null +++ b/ppp-2.5.2.tar.gz.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- + +iQEzBAABCAAdFiEEv0VLfXa2m9eKuaRpnZrqdyxjcZ8FAmdze4gACgkQnZrqdyxj +cZ+crgf+IA+VDraa4/0+cnlvI/meqgia/K9nQG9JXt7cLouqNqwJyNV4j5RO8WxO +x/iI2l7UMTMxYs3iRgm7GJwUTlt5m7jtV3pR9h1Vpu1Zco4POmCsL5dB8GLA4F2l +AYvSTiK68rVCFsBurlqvL1ZTvXVHScKKFSbn8YjFHMJ5i3UHyCElaK2H2Bhpzqtx +8+t4yaI0+N+M7xwiT+CZym+xWi02uhZS+dSUmHpMrEL7zQKEQE83aVY9sazo9Q4Y +gKJ/TwTDnZQ/QqXraY7LlOSKxrzRQ3KyW6bJJlCE2sM3vW7TXXlYsy7OyLZmYAm5 +oJoo4hC03pxz6ycIqSPMax/A0BUfTA== +=5RCg +-----END PGP SIGNATURE----- diff --git a/ppp-fix-bashisms.patch b/ppp-fix-bashisms.patch deleted file mode 100644 index 1d2a2c1..0000000 --- a/ppp-fix-bashisms.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- scripts/redialer.orig -+++ scripts/redialer -@@ -31,7 +31,7 @@ PASSWORD=my_password - # Function to initialize the modem and ensure that it is in command - # state. This may not be needed, but it doesn't hurt. - # --function initialize -+initialize() - { - chat -v TIMEOUT 3 '' AT 'OK-+++\c-OK' - return -@@ -41,7 +41,7 @@ function initialize - # - # Script to dial a telephone - # --function callnumber -+callnumber() - { - chat -v \ - ABORT '\nBUSY\r' \ -@@ -66,7 +66,7 @@ chat -v \ - # - # Script to dial any telephone number - # --function callall -+callall() - { - # echo "dialing attempt number: $1" >/dev/console - callnumber $PHONE1 diff --git a/ppp-misc.patch b/ppp-misc.patch index 1747da5..b15d8b0 100644 --- a/ppp-misc.patch +++ b/ppp-misc.patch @@ -1,6 +1,6 @@ --- pppd/auth.c.orig +++ pppd/auth.c -@@ -2184,9 +2184,10 @@ check_access(FILE *f, char *filename) +@@ -2202,9 +2202,10 @@ check_access(FILE *f, char *filename) if (fstat(fileno(f), &sbuf) < 0) { warn("cannot stat secret file %s: %m", filename); @@ -16,7 +16,7 @@ --- pppd/lcp.c.orig +++ pppd/lcp.c -@@ -2243,7 +2243,7 @@ lcp_received_echo_reply (fsm *f, int id, +@@ -2330,7 +2330,7 @@ lcp_received_echo_reply (fsm *f, int id, if (lcp_gotoptions[f->unit].neg_magicnumber && magic == lcp_gotoptions[f->unit].magicnumber) { warn("appear to have received our own echo-reply!"); @@ -24,10 +24,10 @@ + /* M$-Software did get this wrong so we also accept those packets. */ } - /* Reset the number of outstanding echo frames */ + if (lcp_rtt_file_fd && len >= 16) { --- pppd/pppd-private.h.orig +++ pppd/pppd-private.h -@@ -545,15 +545,7 @@ int parse_dotted_ip(char *, u_int32_t *) +@@ -552,15 +552,7 @@ int parse_dotted_ip(char *, u_int32_t *) #define DEBUGCHAP 1 #endif diff --git a/ppp-mkdir-run.patch b/ppp-mkdir-run.patch deleted file mode 100644 index 078c872..0000000 --- a/ppp-mkdir-run.patch +++ /dev/null @@ -1,453 +0,0 @@ -From b0e7307b3569a5dad0f2606d2736cc8317851598 Mon Sep 17 00:00:00 2001 -From: Dominique Martinet -Date: Wed, 30 Aug 2023 11:46:01 +0900 -Subject: [PATCH 1/2] utils: add mkdir_recursive - -This will be used in the next commit. - -A test file for utils has also been added to check mkdir works as -intended. - -Signed-off-by: Dominique Martinet ---- - pppd/Makefile.am | 6 ++ - pppd/pppd-private.h | 1 + - pppd/utils.c | 82 ++++++++++++++++++++++++++ - pppd/utils_utest.c | 139 ++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 228 insertions(+) - create mode 100644 pppd/utils_utest.c - ---- pppd/Makefile.am.orig -+++ pppd/Makefile.am -@@ -20,6 +20,12 @@ utest_pppcrypt_LDFLAGS = - - check_PROGRAMS += utest_crypto - -+utest_utils_SOURCES = utils.c utils_utest.c -+utest_utils_CPPFLAGS = -DUNIT_TEST -+utest_utils_LDFLAGS = -+ -+check_PROGRAMS += utest_utils -+ - if WITH_SRP - sbin_PROGRAMS += srp-entry - dist_man8_MANS += srp-entry.8 ---- pppd/pppd-private.h.orig -+++ pppd/pppd-private.h -@@ -437,6 +437,7 @@ int sifproxyarp(int, u_int32_t); - int cifproxyarp(int, u_int32_t); - /* Delete proxy ARP entry for peer */ - u_int32_t GetMask(u_int32_t); /* Get appropriate netmask for address */ -+int mkdir_recursive(const char *); /* Recursively create directory */ - int lock(char *); /* Create lock file for device */ - int relock(int); /* Rewrite lock file with new pid */ - void unlock(void); /* Delete previously-created lock file */ ---- pppd/utils.c.orig -+++ pppd/utils.c -@@ -781,6 +781,88 @@ complete_read(int fd, void *buf, size_t - } - #endif - -+/* -+ * mkdir_check - helper for mkdir_recursive, creates a directory -+ * but do not error on EEXIST if and only if entry is a directory -+ * The caller must check for errno == ENOENT if appropriate. -+ */ -+static int -+mkdir_check(const char *path) -+{ -+ struct stat statbuf; -+ -+ if (mkdir(path, 0755) >= 0) -+ return 0; -+ -+ if (errno == EEXIST) { -+ if (stat(path, &statbuf) < 0) -+ /* got raced? */ -+ return -1; -+ -+ if ((statbuf.st_mode & S_IFMT) == S_IFDIR) -+ return 0; -+ -+ /* already exists but not a dir, treat as failure */ -+ errno = EEXIST; -+ return -1; -+ } -+ -+ return -1; -+} -+ -+/* -+ * mkdir_parent - helper for mkdir_recursive, modifies the string in place -+ * Assumes mkdir(path) already failed, so it first creates the parent then -+ * full path again. -+ */ -+static int -+mkdir_parent(char *path) -+{ -+ char *slash; -+ int rc; -+ -+ slash = strrchr(path, '/'); -+ if (!slash) -+ return -1; -+ -+ *slash = 0; -+ if (mkdir_check(path) < 0) { -+ if (errno != ENOENT) { -+ *slash = '/'; -+ return -1; -+ } -+ if (mkdir_parent(path) < 0) { -+ *slash = '/'; -+ return -1; -+ } -+ } -+ *slash = '/'; -+ -+ return mkdir_check(path); -+} -+ -+/* -+ * mkdir_recursive - recursively create directory if it didn't exist -+ */ -+int -+mkdir_recursive(const char *path) -+{ -+ char *copy; -+ int rc; -+ -+ // optimistically try on full path first to avoid allocation -+ if (mkdir_check(path) == 0) -+ return 0; -+ -+ copy = strdup(path); -+ if (!copy) -+ return -1; -+ -+ rc = mkdir_parent(copy); -+ free(copy); -+ return rc; -+} -+ - /* Procedures for locking the serial device using a lock file. */ - static char lock_file[MAXPATHLEN]; - ---- /dev/null -+++ pppd/utils_utest.c -@@ -0,0 +1,139 @@ -+#include -+#include -+#include -+#include -+ -+#include "pppd-private.h" -+ -+/* globals used in test.c... */ -+int debug = 1; -+int error_count; -+int unsuccess; -+ -+/* check if path exists and returns its type */ -+static int -+file_type(char *path) -+{ -+ struct stat statbuf; -+ -+ if (stat(path, &statbuf) < 0) -+ return -1; -+ -+ return statbuf.st_mode & S_IFMT; -+} -+ -+int -+test_simple() { -+ if (mkdir_recursive("dir")) -+ return -1; -+ -+ if (file_type("dir") != S_IFDIR) -+ return -1; -+ -+ rmdir("dir"); -+ return 0; -+} -+ -+int -+test_recurse() { -+ if (mkdir_recursive("dir/subdir/subsubdir")) -+ return -1; -+ -+ if (file_type("dir/subdir/subsubdir") != S_IFDIR) -+ return -1; -+ -+ rmdir("dir/subdir/subsubdir"); -+ -+ /* try again with partial existence */ -+ if (mkdir_recursive("dir/subdir/subsubdir")) -+ return -1; -+ -+ if (file_type("dir/subdir/subsubdir") != S_IFDIR) -+ return -1; -+ -+ rmdir("dir/subdir/subsubdir"); -+ rmdir("dir/subdir"); -+ rmdir("dir"); -+ return 0; -+} -+ -+int -+test_recurse_multislash() { -+ if (mkdir_recursive("dir/subdir///subsubdir")) -+ return -1; -+ -+ if (file_type("dir/subdir/subsubdir") != S_IFDIR) -+ return -1; -+ -+ rmdir("dir/subdir/subsubdir"); -+ rmdir("dir/subdir"); -+ -+ /* try again with partial existence */ -+ if (mkdir_recursive("dir/subdir/subsubdir///")) -+ return -1; -+ -+ if (file_type("dir/subdir/subsubdir") != S_IFDIR) -+ return -1; -+ -+ rmdir("dir/subdir/subsubdir"); -+ rmdir("dir/subdir"); -+ rmdir("dir"); -+ return 0; -+} -+ -+int -+test_parent_notdir() { -+ int fd = open("file", O_CREAT, 0600); -+ if (fd < 0) -+ return -1; -+ close(fd); -+ -+ if (mkdir_recursive("file") == 0) -+ return -1; -+ if (mkdir_recursive("file/dir") == 0) -+ return -1; -+ -+ unlink("file"); -+ return 0; -+} -+ -+int -+main() -+{ -+ char *base_dir = strdup("/tmp/ppp_utils_utest.XXXXXX"); -+ int failure = 0; -+ -+ if (mkdtemp(base_dir) == NULL) { -+ printf("Could not create test directory, aborting\n"); -+ return 1; -+ } -+ -+ if (chdir(base_dir) < 0) { -+ printf("Could not enter newly created test dir, aborting\n"); -+ return 1; -+ } -+ -+ if (test_simple()) { -+ printf("Could not create simple directory\n"); -+ failure++; -+ } -+ -+ if (test_recurse()) { -+ printf("Could not create recursive directory\n"); -+ failure++; -+ } -+ -+ if (test_recurse_multislash()) { -+ printf("Could not create recursive directory with multiple slashes\n"); -+ failure++; -+ } -+ -+ if (test_parent_notdir()) { -+ printf("Creating over a file appeared to work?\n"); -+ failure++; -+ } -+ -+ rmdir(base_dir); -+ free(base_dir); -+ return failure; -+} ---- pppd/tdb.c.orig -+++ pppd/tdb.c -@@ -60,8 +60,11 @@ - #include - #include - #include -+ -+#include "pppd-private.h" - #include "tdb.h" - #include "spinlock.h" -+#include "pathnames.h" - - #define TDB_MAGIC_FOOD "TDB file\n" - #define TDB_VERSION (0x26011967 + 6) -@@ -1728,7 +1731,12 @@ TDB_CONTEXT *tdb_open_ex(const char *nam - goto internal; - } - -+again: - if ((tdb->fd = open(name, open_flags, mode)) == -1) { -+ if ((open_flags & O_CREAT) && errno == ENOENT && -+ mkdir_recursive(PPP_PATH_VARRUN) == 0) -+ goto again; -+ - TDB_LOG((tdb, 5, "tdb_open_ex: could not open file %s: %s\n", - name, strerror(errno))); - goto fail; /* errno set by open(2) */ ---- pppd/Makefile.in.orig -+++ pppd/Makefile.in -@@ -92,8 +92,8 @@ POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ - sbin_PROGRAMS = pppd$(EXEEXT) $(am__EXEEXT_4) --check_PROGRAMS = utest_crypto$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2) \ -- $(am__EXEEXT_3) -+check_PROGRAMS = utest_crypto$(EXEEXT) utest_utils$(EXEEXT) \ -+ $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) - @WITH_SRP_TRUE@am__append_1 = srp-entry - @WITH_SRP_TRUE@am__append_2 = srp-entry.8 - @PPP_WITH_SYSTEM_CA_PATH_TRUE@am__append_3 = -DSYSTEM_CA_PATH='"@SYSTEM_CA_PATH@"' -@@ -258,6 +258,13 @@ utest_pppcrypt_LINK = $(LIBTOOL) $(AM_V_ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(utest_pppcrypt_LDFLAGS) $(LDFLAGS) -o \ - $@ -+am_utest_utils_OBJECTS = utest_utils-utils.$(OBJEXT) \ -+ utest_utils-utils_utest.$(OBJEXT) -+utest_utils_OBJECTS = $(am_utest_utils_OBJECTS) -+utest_utils_LDADD = $(LDADD) -+utest_utils_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ -+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ -+ $(utest_utils_LDFLAGS) $(LDFLAGS) -o $@ - AM_V_P = $(am__v_P_@AM_V@) - am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) - am__v_P_0 = false -@@ -300,7 +307,9 @@ am__depfiles_remade = ./$(DEPDIR)/libppp - ./$(DEPDIR)/utest_crypto-crypto.Po \ - ./$(DEPDIR)/utest_peap-mppe.Po ./$(DEPDIR)/utest_peap-peap.Po \ - ./$(DEPDIR)/utest_peap-utils.Po \ -- ./$(DEPDIR)/utest_pppcrypt-crypto_ms.Po -+ ./$(DEPDIR)/utest_pppcrypt-crypto_ms.Po \ -+ ./$(DEPDIR)/utest_utils-utils.Po \ -+ ./$(DEPDIR)/utest_utils-utils_utest.Po - am__mv = mv -f - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -@@ -323,11 +332,11 @@ am__v_CCLD_1 = - SOURCES = $(libppp_crypto_la_SOURCES) $(pppd_SOURCES) \ - $(srp_entry_SOURCES) $(utest_chap_SOURCES) \ - $(utest_crypto_SOURCES) $(utest_peap_SOURCES) \ -- $(utest_pppcrypt_SOURCES) -+ $(utest_pppcrypt_SOURCES) $(utest_utils_SOURCES) - DIST_SOURCES = $(libppp_crypto_la_SOURCES) $(am__pppd_SOURCES_DIST) \ - $(am__srp_entry_SOURCES_DIST) $(utest_chap_SOURCES) \ - $(utest_crypto_SOURCES) $(utest_peap_SOURCES) \ -- $(utest_pppcrypt_SOURCES) -+ $(utest_pppcrypt_SOURCES) $(utest_utils_SOURCES) - am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ -@@ -733,6 +742,9 @@ utest_crypto_LDFLAGS = - utest_pppcrypt_SOURCES = crypto_ms.c - utest_pppcrypt_CPPFLAGS = -DUNIT_TEST_MSCRYPTO - utest_pppcrypt_LDFLAGS = -+utest_utils_SOURCES = utils.c utils_utest.c -+utest_utils_CPPFLAGS = -DUNIT_TEST -+utest_utils_LDFLAGS = - pkgconfigdir = $(libdir)/pkgconfig - pkgconfig_DATA = pppd.pc - pppd_includedir = $(includedir)/pppd -@@ -955,6 +967,10 @@ utest_pppcrypt$(EXEEXT): $(utest_pppcryp - @rm -f utest_pppcrypt$(EXEEXT) - $(AM_V_CCLD)$(utest_pppcrypt_LINK) $(utest_pppcrypt_OBJECTS) $(utest_pppcrypt_LDADD) $(LIBS) - -+utest_utils$(EXEEXT): $(utest_utils_OBJECTS) $(utest_utils_DEPENDENCIES) $(EXTRA_utest_utils_DEPENDENCIES) -+ @rm -f utest_utils$(EXEEXT) -+ $(AM_V_CCLD)$(utest_utils_LINK) $(utest_utils_OBJECTS) $(utest_utils_LDADD) $(LIBS) -+ - mostlyclean-compile: - -rm -f *.$(OBJEXT) - -@@ -1006,6 +1022,8 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utest_peap-peap.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utest_peap-utils.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utest_pppcrypt-crypto_ms.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utest_utils-utils.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utest_utils-utils_utest.Po@am__quote@ # am--include-marker - - $(am__depfiles_remade): - @$(MKDIR_P) $(@D) -@@ -1629,6 +1647,34 @@ utest_pppcrypt-crypto_ms.obj: crypto_ms. - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_pppcrypt_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utest_pppcrypt-crypto_ms.obj `if test -f 'crypto_ms.c'; then $(CYGPATH_W) 'crypto_ms.c'; else $(CYGPATH_W) '$(srcdir)/crypto_ms.c'; fi` - -+utest_utils-utils.o: utils.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_utils_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT utest_utils-utils.o -MD -MP -MF $(DEPDIR)/utest_utils-utils.Tpo -c -o utest_utils-utils.o `test -f 'utils.c' || echo '$(srcdir)/'`utils.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/utest_utils-utils.Tpo $(DEPDIR)/utest_utils-utils.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils.c' object='utest_utils-utils.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_utils_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utest_utils-utils.o `test -f 'utils.c' || echo '$(srcdir)/'`utils.c -+ -+utest_utils-utils.obj: utils.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_utils_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT utest_utils-utils.obj -MD -MP -MF $(DEPDIR)/utest_utils-utils.Tpo -c -o utest_utils-utils.obj `if test -f 'utils.c'; then $(CYGPATH_W) 'utils.c'; else $(CYGPATH_W) '$(srcdir)/utils.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/utest_utils-utils.Tpo $(DEPDIR)/utest_utils-utils.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils.c' object='utest_utils-utils.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_utils_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utest_utils-utils.obj `if test -f 'utils.c'; then $(CYGPATH_W) 'utils.c'; else $(CYGPATH_W) '$(srcdir)/utils.c'; fi` -+ -+utest_utils-utils_utest.o: utils_utest.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_utils_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT utest_utils-utils_utest.o -MD -MP -MF $(DEPDIR)/utest_utils-utils_utest.Tpo -c -o utest_utils-utils_utest.o `test -f 'utils_utest.c' || echo '$(srcdir)/'`utils_utest.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/utest_utils-utils_utest.Tpo $(DEPDIR)/utest_utils-utils_utest.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils_utest.c' object='utest_utils-utils_utest.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_utils_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utest_utils-utils_utest.o `test -f 'utils_utest.c' || echo '$(srcdir)/'`utils_utest.c -+ -+utest_utils-utils_utest.obj: utils_utest.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_utils_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT utest_utils-utils_utest.obj -MD -MP -MF $(DEPDIR)/utest_utils-utils_utest.Tpo -c -o utest_utils-utils_utest.obj `if test -f 'utils_utest.c'; then $(CYGPATH_W) 'utils_utest.c'; else $(CYGPATH_W) '$(srcdir)/utils_utest.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/utest_utils-utils_utest.Tpo $(DEPDIR)/utest_utils-utils_utest.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils_utest.c' object='utest_utils-utils_utest.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_utils_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utest_utils-utils_utest.obj `if test -f 'utils_utest.c'; then $(CYGPATH_W) 'utils_utest.c'; else $(CYGPATH_W) '$(srcdir)/utils_utest.c'; fi` -+ - mostlyclean-libtool: - -rm -f *.lo - -@@ -1918,6 +1964,13 @@ utest_crypto.log: utest_crypto$(EXEEXT) - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -+utest_utils.log: utest_utils$(EXEEXT) -+ @p='utest_utils$(EXEEXT)'; \ -+ b='utest_utils'; \ -+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ -+ --log-file $$b.log --trs-file $$b.trs \ -+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ -+ "$$tst" $(AM_TESTS_FD_REDIRECT) - utest_chap.log: utest_chap$(EXEEXT) - @p='utest_chap$(EXEEXT)'; \ - b='utest_chap'; \ -@@ -2080,6 +2133,8 @@ distclean: distclean-am - -rm -f ./$(DEPDIR)/utest_peap-peap.Po - -rm -f ./$(DEPDIR)/utest_peap-utils.Po - -rm -f ./$(DEPDIR)/utest_pppcrypt-crypto_ms.Po -+ -rm -f ./$(DEPDIR)/utest_utils-utils.Po -+ -rm -f ./$(DEPDIR)/utest_utils-utils_utest.Po - -rm -f Makefile - distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-tags -@@ -2171,6 +2226,8 @@ maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/utest_peap-peap.Po - -rm -f ./$(DEPDIR)/utest_peap-utils.Po - -rm -f ./$(DEPDIR)/utest_pppcrypt-crypto_ms.Po -+ -rm -f ./$(DEPDIR)/utest_utils-utils.Po -+ -rm -f ./$(DEPDIR)/utest_utils-utils_utest.Po - -rm -f Makefile - maintainer-clean-am: distclean-am maintainer-clean-generic - diff --git a/ppp-pidfiles.patch b/ppp-pidfiles.patch deleted file mode 100644 index 3218468..0000000 --- a/ppp-pidfiles.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 091e69b4e612427eeb95410dbc73eff10ea5dadb Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -Date: Mon, 26 Jun 2023 01:17:16 -0400 -Subject: [PATCH] Ensure there is a '/' between PPP_PATH_VARRUN and the PID - filename (#427) - -Bug: https://bugs.gentoo.org/907311 - -Fixes: 66a8c74c3f73 ("Let ./configure control the paths for pppd", 2022-07-30) -Signed-off-by: Mike Gilbert ---- - pppd/main.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- pppd/main.c.orig -+++ pppd/main.c -@@ -888,7 +888,7 @@ create_pidfile(int pid) - { - FILE *pidfile; - -- slprintf(pidfilename, sizeof(pidfilename), "%s%s.pid", -+ slprintf(pidfilename, sizeof(pidfilename), "%s/%s.pid", - PPP_PATH_VARRUN, ifname); - if ((pidfile = fopen(pidfilename, "w")) != NULL) { - fprintf(pidfile, "%d\n", pid); -@@ -907,7 +907,7 @@ create_linkpidfile(int pid) - if (linkname[0] == 0) - return; - ppp_script_setenv("LINKNAME", linkname, 1); -- slprintf(linkpidfile, sizeof(linkpidfile), "%sppp-%s.pid", -+ slprintf(linkpidfile, sizeof(linkpidfile), "%s/ppp-%s.pid", - PPP_PATH_VARRUN, linkname); - if ((pidfile = fopen(linkpidfile, "w")) != NULL) { - fprintf(pidfile, "%d\n", pid); diff --git a/ppp-var_run_resolv_conf.patch b/ppp-var_run_resolv_conf.patch index 7192936..48037b6 100644 --- a/ppp-var_run_resolv_conf.patch +++ b/ppp-var_run_resolv_conf.patch @@ -22,12 +22,15 @@ Move the resolv.conf written by pppd to /var/run [bnc#401648] --- pppd/ipcp.c.orig +++ pppd/ipcp.c -@@ -2151,10 +2151,13 @@ static void +@@ -2155,13 +2155,16 @@ static void create_resolv(u_int32_t peerdns1, u_int32_t peerdns2) { FILE *f; + char rcfilename[PATH_MAX]; + if (noresolvconf) + return; + - f = fopen(PPP_PATH_RESOLV, "w"); + slprintf(rcfilename, sizeof(rcfilename), "%s.%s", PPP_PATH_RESOLV, ifname); + @@ -38,7 +41,7 @@ Move the resolv.conf written by pppd to /var/run [bnc#401648] return; } -@@ -2165,7 +2168,7 @@ create_resolv(u_int32_t peerdns1, u_int3 +@@ -2172,7 +2175,7 @@ create_resolv(u_int32_t peerdns1, u_int3 fprintf(f, "nameserver %s\n", ip_ntoa(peerdns2)); if (ferror(f)) @@ -54,20 +57,18 @@ Move the resolv.conf written by pppd to /var/run [bnc#401648] #define PPP_PATH_TTYOPT PPP_PATH_CONFDIR "/options." #define PPP_PATH_PEERFILES PPP_PATH_CONFDIR "/peers/" -#define PPP_PATH_RESOLV PPP_PATH_CONFDIR "/resolv.conf" -+#define PPP_PATH_RESOLV PPP_PATH_VARRUN "/ppp_resolv.conf" - - #define PPP_PATH_CONNERRS PPP_PATH_VARLOG "/connect-errors" ++#define PPP_PATH_RESOLV PPP_PATH_VARRUN "/ppp/resolv.conf" + #define PPP_PATH_NET_INIT PPP_PATH_CONFDIR "/net-init" + #define PPP_PATH_NET_PREUP PPP_PATH_CONFDIR "/net-pre-up" --- pppd/pppd.8.orig +++ pppd/pppd.8 -@@ -1189,8 +1189,8 @@ Ask the peer for up to 2 DNS server addr +@@ -1199,7 +1199,7 @@ Ask the peer for up to 2 DNS server addr 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 --the address(es) supplied by the peer. -+/run/ppp_resolv.conf.$INTERFACE file containing one or two nameserver -+lines with the address(es) supplied by the peer. ++/run/ppp/resolv.conf.$INTERFACE file containing one or two nameserver lines with + the address(es) supplied by the peer (unless the \fInoresolvconf\fR + option is given). .TP - .B usepeerwins - Ask the peer for up to 2 WINS server addresses. The addresses supplied diff --git a/ppp.changes b/ppp.changes index 6b4e77d..632b6d6 100644 --- a/ppp.changes +++ b/ppp.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Wed Feb 19 13:29:35 UTC 2025 - Reinhard Max + +- Update to version 2.5.2: + * Some old and probably unused code has been removed, notably + the pppgetpass program and the passprompt plugin, and some of + the files in the sample and scripts directories. + * If a remote number has been set, it is available to scripts in + the REMOTENUMBER environment variable. + * Various other bug fixes and minor enhancements. +- Obsoleted patches: + * ppp-fix-bashisms.patch + +------------------------------------------------------------------- +Thu Oct 17 11:29:31 UTC 2024 - Reinhard Max + +- Update to version 2.5.1: + * Pppd can now measure and log the round-trip time (RTT) of LCP + echo-requests and record them in a binary file structured as a + circular buffer. Other programs or scripts can examine the + file and provide real-time statistics on link latency. + This is enabled by a new "lcp-rtt-file" option. + * New scripts net-init, net-pre-up and net-down are executed in + the process of bringing the network interface up and down. + They provide additional, more deterministic ways for pppd to + interact with the rest of the networking configuration. + * New options have been added to allow the system administrator + to set the location of various scripts and secrets files. + * A new "noresolvconf" option tells pppd not to write the + /etc/ppp/resolv.conf file; DNS server addresses, if obtained + from the peer, are still passed to scripts in the environment. + * Pppd will now create the directory for the TDB connection + database if it doesn't already exist. +- Obsoleted patches: + * ppp-mkdir-run.patch + * ppp-pidfiles.patch +- Drop the ppp_ prefix from /run/ppp_resolv.conf* and put it under + /run/ppp like the other generated files. + ------------------------------------------------------------------- Wed Jun 19 10:10:49 UTC 2024 - Jiri Bohac diff --git a/ppp.spec b/ppp.spec index 93b2873..248b20e 100644 --- a/ppp.spec +++ b/ppp.spec @@ -1,7 +1,7 @@ # # spec file for package ppp # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %define _group dialout Name: ppp -Version: 2.5.0 +Version: 2.5.2 Release: 0 Summary: The Point to Point Protocol for Linux License: BSD-3-Clause AND LGPL-2.1-or-later AND GPL-2.0-or-later @@ -50,14 +50,10 @@ Source17: %{name}.keyring Patch0: ppp-smpppd.patch # PATCH-FIX-UPSTREAM ppp-var_run_resolv_conf.patch -- Move resolv.conf to /var/run Patch3: ppp-var_run_resolv_conf.patch -# PATCH-FIX-UPSTREAM ppp-fix-bashisms.patch -- Remove bashism from posix shell interpreted script https://github.com/ppp-project/ppp/issues/348 -Patch4: ppp-fix-bashisms.patch # PATCH-FIX-UPSTREAM ppp-fork-fix.patch -- fix safe_fork to not close needed file descriptors Patch5: ppp-fork-fix.patch # misc tiny stuff Patch6: ppp-misc.patch -Patch7: ppp-mkdir-run.patch -Patch8: ppp-pidfiles.patch # Of cause any other compatible libc would work, like musl, but 2.24 required for SOL_NETLINK BuildRequires: glibc-devel >= 2.24 @@ -106,7 +102,6 @@ you can disable unnecessary or disable everything. %prep %autosetup -p0 -sed -i -e '1s/local\///' scripts/secure-card find scripts -type f | xargs chmod a-x find -type f -name '*.orig' | xargs rm -f @@ -123,6 +118,9 @@ find -type f -name '*.orig' | xargs rm -f %install make install DESTDIR=%{buildroot} +for f in %{buildroot}%{_sysconfdir}/ppp/*.example; do + mv $f ${f%.example} +done install -dm 750 %{buildroot}%{_sysconfdir}/ppp install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/ppp/options install -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/ppp/filters