SHA256
1
0
forked from pool/ppp

Compare commits

..

2 Commits

Author SHA256 Message Date
Ana Guerrero
412dab52ba Accepting request 1247103 from network
- 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

- 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

OBS-URL: https://build.opensuse.org/request/show/1247103
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ppp?expand=0&rev=54
2025-02-20 15:27:29 +00:00
Reinhard Max
473419fb53 - 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

- 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

OBS-URL: https://build.opensuse.org/package/show/network/ppp?expand=0&rev=86
2025-02-19 13:38:28 +00:00
11 changed files with 74 additions and 552 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5cae0e8075f8a1755f16ca290eb44e6b3545d3f292af4da65ecffe897de636ff
size 1170057

View File

@ -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-----

3
ppp-2.5.2.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:47da358de54a10cb10bf6ff2cf9b1c03c0d3555518f6182e8f701b8e55733cb2
size 973132

11
ppp-2.5.2.tar.gz.asc Normal file
View File

@ -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-----

View File

@ -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

View File

@ -1,6 +1,6 @@
--- pppd/auth.c.orig --- pppd/auth.c.orig
+++ pppd/auth.c +++ 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) { if (fstat(fileno(f), &sbuf) < 0) {
warn("cannot stat secret file %s: %m", filename); warn("cannot stat secret file %s: %m", filename);
@ -16,7 +16,7 @@
--- pppd/lcp.c.orig --- pppd/lcp.c.orig
+++ pppd/lcp.c +++ 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 if (lcp_gotoptions[f->unit].neg_magicnumber
&& magic == lcp_gotoptions[f->unit].magicnumber) { && magic == lcp_gotoptions[f->unit].magicnumber) {
warn("appear to have received our own echo-reply!"); 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. */ + /* 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.orig
+++ pppd/pppd-private.h +++ 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 #define DEBUGCHAP 1
#endif #endif

View File

@ -1,453 +0,0 @@
From b0e7307b3569a5dad0f2606d2736cc8317851598 Mon Sep 17 00:00:00 2001
From: Dominique Martinet <dominique.martinet@atmark-techno.com>
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 <dominique.martinet@atmark-techno.com>
---
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 <fcntl.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#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 <sys/mman.h>
#include <sys/stat.h>
#include <signal.h>
+
+#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

View File

@ -1,34 +0,0 @@
From 091e69b4e612427eeb95410dbc73eff10ea5dadb Mon Sep 17 00:00:00 2001
From: Mike Gilbert <floppym@gentoo.org>
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 <floppym@gentoo.org>
---
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);

View File

@ -22,12 +22,15 @@ Move the resolv.conf written by pppd to /var/run [bnc#401648]
--- pppd/ipcp.c.orig --- pppd/ipcp.c.orig
+++ pppd/ipcp.c +++ 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) create_resolv(u_int32_t peerdns1, u_int32_t peerdns2)
{ {
FILE *f; FILE *f;
+ char rcfilename[PATH_MAX]; + char rcfilename[PATH_MAX];
if (noresolvconf)
return;
- f = fopen(PPP_PATH_RESOLV, "w"); - f = fopen(PPP_PATH_RESOLV, "w");
+ slprintf(rcfilename, sizeof(rcfilename), "%s.%s", PPP_PATH_RESOLV, ifname); + 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; 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)); fprintf(f, "nameserver %s\n", ip_ntoa(peerdns2));
if (ferror(f)) 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_TTYOPT PPP_PATH_CONFDIR "/options."
#define PPP_PATH_PEERFILES PPP_PATH_CONFDIR "/peers/" #define PPP_PATH_PEERFILES PPP_PATH_CONFDIR "/peers/"
-#define PPP_PATH_RESOLV PPP_PATH_CONFDIR "/resolv.conf" -#define PPP_PATH_RESOLV PPP_PATH_CONFDIR "/resolv.conf"
+#define PPP_PATH_RESOLV PPP_PATH_VARRUN "/ppp_resolv.conf" +#define PPP_PATH_RESOLV PPP_PATH_VARRUN "/ppp/resolv.conf"
#define PPP_PATH_CONNERRS PPP_PATH_VARLOG "/connect-errors"
#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.orig
+++ pppd/pppd.8 +++ 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 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 environment variables DNS1 and DNS2, and the environment variable
USEPEERDNS will be set to 1. In addition, pppd will create an USEPEERDNS will be set to 1. In addition, pppd will create an
-/etc/ppp/resolv.conf file containing one or two nameserver lines with -/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
+/run/ppp_resolv.conf.$INTERFACE file containing one or two nameserver the address(es) supplied by the peer (unless the \fInoresolvconf\fR
+lines with the address(es) supplied by the peer. option is given).
.TP .TP
.B usepeerwins
Ask the peer for up to 2 WINS server addresses. The addresses supplied

View File

@ -1,3 +1,42 @@
-------------------------------------------------------------------
Wed Feb 19 13:29:35 UTC 2025 - Reinhard Max <max@suse.com>
- 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 <max@suse.com>
- 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 <jbohac@suse.com> Wed Jun 19 10:10:49 UTC 2024 - Jiri Bohac <jbohac@suse.com>

View File

@ -1,7 +1,7 @@
# #
# spec file for package ppp # 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 # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -18,7 +18,7 @@
%define _group dialout %define _group dialout
Name: ppp Name: ppp
Version: 2.5.0 Version: 2.5.2
Release: 0 Release: 0
Summary: The Point to Point Protocol for Linux Summary: The Point to Point Protocol for Linux
License: BSD-3-Clause AND LGPL-2.1-or-later AND GPL-2.0-or-later 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 Patch0: ppp-smpppd.patch
# PATCH-FIX-UPSTREAM ppp-var_run_resolv_conf.patch -- Move resolv.conf to /var/run # PATCH-FIX-UPSTREAM ppp-var_run_resolv_conf.patch -- Move resolv.conf to /var/run
Patch3: ppp-var_run_resolv_conf.patch 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 # PATCH-FIX-UPSTREAM ppp-fork-fix.patch -- fix safe_fork to not close needed file descriptors
Patch5: ppp-fork-fix.patch Patch5: ppp-fork-fix.patch
# misc tiny stuff # misc tiny stuff
Patch6: ppp-misc.patch 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 # Of cause any other compatible libc would work, like musl, but 2.24 required for SOL_NETLINK
BuildRequires: glibc-devel >= 2.24 BuildRequires: glibc-devel >= 2.24
@ -106,7 +102,6 @@ you can disable unnecessary or disable everything.
%prep %prep
%autosetup -p0 %autosetup -p0
sed -i -e '1s/local\///' scripts/secure-card
find scripts -type f | xargs chmod a-x find scripts -type f | xargs chmod a-x
find -type f -name '*.orig' | xargs rm -f find -type f -name '*.orig' | xargs rm -f
@ -123,6 +118,9 @@ find -type f -name '*.orig' | xargs rm -f
%install %install
make install DESTDIR=%{buildroot} make install DESTDIR=%{buildroot}
for f in %{buildroot}%{_sysconfdir}/ppp/*.example; do
mv $f ${f%.example}
done
install -dm 750 %{buildroot}%{_sysconfdir}/ppp install -dm 750 %{buildroot}%{_sysconfdir}/ppp
install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/ppp/options install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/ppp/options
install -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/ppp/filters install -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/ppp/filters