SHA256
1
0
forked from pool/ppp

Accepting request 978755 from home:susnux:branches:network

Update to version 2.4.9

OBS-URL: https://build.opensuse.org/request/show/978755
OBS-URL: https://build.opensuse.org/package/show/network/ppp?expand=0&rev=69
This commit is contained in:
Reinhard Max 2022-05-23 16:49:45 +00:00 committed by Git OBS Bridge
parent 8e86eccadd
commit c3684bde70
19 changed files with 189 additions and 821 deletions

View File

@ -1,13 +0,0 @@
Index: ppp-2.4.7/pppd/plugins/rp-pppoe/plugin.c
===================================================================
--- ppp-2.4.7.orig/pppd/plugins/rp-pppoe/plugin.c
+++ ppp-2.4.7/pppd/plugins/rp-pppoe/plugin.c
@@ -49,6 +49,8 @@ static char const RCSID[] =
#include <net/ethernet.h>
#include <net/if_arp.h>
#include <linux/ppp_defs.h>
+#define _LINUX_IN_H /* block <linux/in.h> from being included */
+#define _LINUX_IN6_H /* block <linux/in6.h> from being included */
#include <linux/if_pppox.h>
#ifndef _ROOT_PATH

View File

@ -1,30 +0,0 @@
Index: pppd/plugins/radius/Makefile.linux
===================================================================
--- pppd/plugins/radius/Makefile.linux.orig
+++ pppd/plugins/radius/Makefile.linux
@@ -37,9 +37,9 @@ all: $(PLUGIN)
install: all
$(INSTALL) -d -m 755 $(LIBDIR)
- $(INSTALL) -s -c -m 755 radius.so $(LIBDIR)
- $(INSTALL) -s -c -m 755 radattr.so $(LIBDIR)
- $(INSTALL) -s -c -m 755 radrealms.so $(LIBDIR)
+ $(INSTALL) -c -m 755 radius.so $(LIBDIR)
+ $(INSTALL) -c -m 755 radattr.so $(LIBDIR)
+ $(INSTALL) -c -m 755 radrealms.so $(LIBDIR)
$(INSTALL) -c -m 444 pppd-radius.8 $(MANDIR)
$(INSTALL) -c -m 444 pppd-radattr.8 $(MANDIR)
Index: pppd/plugins/rp-pppoe/Makefile.linux
===================================================================
--- pppd/plugins/rp-pppoe/Makefile.linux.orig
+++ pppd/plugins/rp-pppoe/Makefile.linux
@@ -45,7 +45,7 @@ install: all
$(INSTALL) -d -m 755 $(LIBDIR)
$(INSTALL) rp-pppoe.so $(LIBDIR)
$(INSTALL) -d -m 755 $(BINDIR)
- $(INSTALL) -s -c -m 555 pppoe-discovery $(BINDIR)
+ $(INSTALL) -c -m 555 pppoe-discovery $(BINDIR)
clean:
rm -f *.o *.so pppoe-discovery

View File

@ -1,28 +0,0 @@
--- pppd/plugins/winbind.c
+++ pppd/plugins/winbind.c
@@ -296,16 +296,23 @@
if (forkret == 0) {
/* child process */
- uid_t uid;
+ uid_t uid = getuid();
close(child_out[0]);
close(child_in[1]);
/* run winbind as the user that invoked pppd */
setgid(getgid());
- uid = getuid();
if (setuid(uid) == -1 || getuid() != uid)
+ {
fatal("pppd/winbind: could not setuid to %d: %m", uid);
+ exit(1);
+ }
+ if (getuid() != uid) {
+ perror("pppd/winbind: could not setuid to orig uid");
+ exit(1);
+ }
+
execl("/bin/sh", "sh", "-c", ntlm_auth, NULL);
fatal("pppd/winbind: could not exec /bin/sh: %m");
}

View File

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

View File

@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEv0VLfXa2m9eKuaRpnZrqdyxjcZ8FAl4KsmsACgkQnZrqdyxj
cZ9mKAgAyT0zJgK60apFRaCKO03cVVb3ND5g1AgY3tXbtSIl1sDHPFo3Az+HIX2S
F7kl/Qi/wAZD87y6Pt9nN6yqF/F5SrERwAELkx5teTGjqsIj97u8mILP+B9TzMu0
TGTDQ01Gm3m5m0km2h1DMpEahGDCl3LwXHsanu8XYdedVZAxTJzeO7Kqh/OJ7xaP
IELhG38zdDSP4BHcwEIHEi2NWGyNCY5XwswpHmhZi5JupP+f2iQ+7fIbIKRHyX0f
yVtRv1ekaNB8eLjiiR2uMoFgV/fLPxCDVuLyOaYa77nqeaCL97ZzBe/0L7TPwOIG
Q58eDqqL0wqn2Mg2jZ9N6j+YcF5iLg==
=mBYc
-----END PGP SIGNATURE-----

BIN
ppp-2.4.9.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

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

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEv0VLfXa2m9eKuaRpnZrqdyxjcZ8FAl/zpLgACgkQnZrqdyxj
cZ8ImAgAzRJAmRuS4BB87OkE5LQMO68CVji/jHVyTgt3/hTMhJ6HYlX2iLzjmkM9
tXX3vZ+qP0WfcSm65QDIIBd9ICy1VNjjuwb9QH1qBSQJIlE9ZDSbECKtqxtHI//H
gSXe8w4L7xGTl7ODYB3m3JnR13qnfTjf15kDIJ+RKPXmZjYo5cIBb3zATurJBWqC
H8N00XL4d3RPD+hLQtxDDZE8hIIYxVrtmsV6e4MB90/2BBAhEKuW3YgXTDekD6dr
Q3BXdsFcQnUssEIfWFvxt0b08/y92HhtyVaIqVEPxyfGEv/KfugIwzP6E6h7XtX9
uU4Lrqr0652/9UJQT3FS5ou7aaW/PQ==
=x0Lf
-----END PGP SIGNATURE-----

View File

@ -1,11 +0,0 @@
--- pppd/plugins/radius/util.c.orig
+++ pppd/plugins/radius/util.c
@@ -77,7 +77,7 @@ rc_mksid (void)
static unsigned short int cnt = 0;
sprintf (buf, "%08lX%04X%02hX",
(unsigned long int) time (NULL),
- (unsigned int) getpid (),
+ (unsigned int) getpid () % 65535,
cnt & 0xFF);
cnt++;
return buf;

View File

@ -1,35 +0,0 @@
From 8d7970b8f3db727fe798b65f3377fe6787575426 Mon Sep 17 00:00:00 2001
From: Paul Mackerras <paulus@ozlabs.org>
Date: Mon, 3 Feb 2020 15:53:28 +1100
Subject: [PATCH] pppd: Fix bounds check in EAP code
Given that we have just checked vallen < len, it can never be the case
that vallen >= len + sizeof(rhostname). This fixes the check so we
actually avoid overflowing the rhostname array.
Reported-by: Ilja Van Sprundel <ivansprundel@ioactive.com>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
---
pppd/eap.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- pppd/eap.c.orig
+++ pppd/eap.c
@@ -1420,7 +1420,7 @@ int len;
}
/* Not so likely to happen. */
- if (vallen >= len + sizeof (rhostname)) {
+ if (len - vallen >= sizeof (rhostname)) {
dbglog("EAP: trimming really long peer name down");
BCOPY(inp + vallen, rhostname, sizeof (rhostname) - 1);
rhostname[sizeof (rhostname) - 1] = '\0';
@@ -1846,7 +1846,7 @@ int len;
}
/* Not so likely to happen. */
- if (vallen >= len + sizeof (rhostname)) {
+ if (len - vallen >= sizeof (rhostname)) {
dbglog("EAP: trimming really long peer name down");
BCOPY(inp + vallen, rhostname, sizeof (rhostname) - 1);
rhostname[sizeof (rhostname) - 1] = '\0';

View File

@ -1,20 +0,0 @@
--- pppd/pppd.h.orig
+++ pppd/pppd.h
@@ -59,14 +59,17 @@
#include <net/ppp_defs.h>
#include "patchlevel.h"
+#undef __P
#if defined(__STDC__)
#include <stdarg.h>
#define __V(x) x
+#define __P(args) args
#else
#include <varargs.h>
#define __V(x) (va_alist) va_dcl
#define const
#define volatile
+#define __P(args)
#endif
#ifdef INET6

View File

@ -1,286 +0,0 @@
--- pppd/ipcp.c.orig
+++ pppd/ipcp.c
@@ -197,6 +197,16 @@ static option_t ipcp_option_list[] = {
"disable defaultroute option", OPT_ALIAS | OPT_A2CLR,
&ipcp_wantoptions[0].default_route },
+#ifdef __linux__
+ { "replacedefaultroute", o_bool,
+ &ipcp_wantoptions[0].replace_default_route,
+ "Replace default route", 1
+ },
+ { "noreplacedefaultroute", o_bool,
+ &ipcp_allowoptions[0].replace_default_route,
+ "Never replace default route", OPT_A2COPY,
+ &ipcp_wantoptions[0].replace_default_route },
+#endif
{ "proxyarp", o_bool, &ipcp_wantoptions[0].proxy_arp,
"Add proxy ARP entry", OPT_ENABLE|1, &ipcp_allowoptions[0].proxy_arp },
{ "noproxyarp", o_bool, &ipcp_allowoptions[0].proxy_arp,
@@ -270,7 +280,7 @@ struct protent ipcp_protent = {
ip_active_pkt
};
-static void ipcp_clear_addrs __P((int, u_int32_t, u_int32_t));
+static void ipcp_clear_addrs __P((int, u_int32_t, u_int32_t, bool));
static void ipcp_script __P((char *, int)); /* Run an up/down script */
static void ipcp_script_done __P((void *));
@@ -1760,7 +1770,12 @@ ip_demand_conf(u)
if (!sifnpmode(u, PPP_IP, NPMODE_QUEUE))
return 0;
if (wo->default_route)
+#ifndef __linux__
if (sifdefaultroute(u, wo->ouraddr, wo->hisaddr))
+#else
+ if (sifdefaultroute(u, wo->ouraddr, wo->hisaddr,
+ wo->replace_default_route))
+#endif
default_route_set[u] = 1;
if (wo->proxy_arp)
if (sifproxyarp(u, wo->hisaddr))
@@ -1848,7 +1863,8 @@ ipcp_up(f)
*/
if (demand) {
if (go->ouraddr != wo->ouraddr || ho->hisaddr != wo->hisaddr) {
- ipcp_clear_addrs(f->unit, wo->ouraddr, wo->hisaddr);
+ ipcp_clear_addrs(f->unit, wo->ouraddr, wo->hisaddr,
+ wo->replace_default_route);
if (go->ouraddr != wo->ouraddr) {
warn("Local IP address changed to %I", go->ouraddr);
script_setenv("OLDIPLOCAL", ip_ntoa(wo->ouraddr), 0);
@@ -1873,7 +1889,12 @@ ipcp_up(f)
/* assign a default route through the interface if required */
if (ipcp_wantoptions[f->unit].default_route)
+#ifndef __linux__
if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr))
+#else
+ if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr,
+ wo->replace_default_route))
+#endif
default_route_set[f->unit] = 1;
/* Make a proxy ARP entry if requested. */
@@ -1923,7 +1944,12 @@ ipcp_up(f)
/* assign a default route through the interface if required */
if (ipcp_wantoptions[f->unit].default_route)
+#ifndef __linux__
if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr))
+#else
+ if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr,
+ wo->replace_default_route))
+#endif
default_route_set[f->unit] = 1;
/* Make a proxy ARP entry if requested. */
@@ -2001,7 +2027,7 @@ ipcp_down(f)
sifnpmode(f->unit, PPP_IP, NPMODE_DROP);
sifdown(f->unit);
ipcp_clear_addrs(f->unit, ipcp_gotoptions[f->unit].ouraddr,
- ipcp_hisoptions[f->unit].hisaddr);
+ ipcp_hisoptions[f->unit].hisaddr, 0);
}
/* Execute the ip-down script */
@@ -2017,16 +2043,25 @@ ipcp_down(f)
* proxy arp entries, etc.
*/
static void
-ipcp_clear_addrs(unit, ouraddr, hisaddr)
+ipcp_clear_addrs(unit, ouraddr, hisaddr, replacedefaultroute)
int unit;
u_int32_t ouraddr; /* local address */
u_int32_t hisaddr; /* remote address */
+ bool replacedefaultroute;
{
if (proxy_arp_set[unit]) {
cifproxyarp(unit, hisaddr);
proxy_arp_set[unit] = 0;
}
- if (default_route_set[unit]) {
+ /* If replacedefaultroute, sifdefaultroute will be called soon
+ * with replacedefaultroute set and that will overwrite the current
+ * default route. This is the case only when doing demand, otherwise
+ * during demand, this cifdefaultroute would restore the old default
+ * route which is not what we want in this case. In the non-demand
+ * case, we'll delete the default route and restore the old if there
+ * is one saved by an sifdefaultroute with replacedefaultroute.
+ */
+ if (!replacedefaultroute && default_route_set[unit]) {
cifdefaultroute(unit, ouraddr, hisaddr);
default_route_set[unit] = 0;
}
--- pppd/ipcp.h.orig
+++ pppd/ipcp.h
@@ -70,6 +70,7 @@ typedef struct ipcp_options {
bool old_addrs; /* Use old (IP-Addresses) option? */
bool req_addr; /* Ask peer to send IP address? */
bool default_route; /* Assign default route through interface? */
+ bool replace_default_route; /* Replace default route through interface? */
bool proxy_arp; /* Make proxy ARP entry for peer? */
bool neg_vj; /* Van Jacobson Compression? */
bool old_vj; /* use old (short) form of VJ option? */
--- pppd/pppd.8.orig
+++ pppd/pppd.8
@@ -133,6 +133,13 @@ the gateway, when IPv6CP negotiation is
This entry is removed when the PPP connection is broken. This option
is privileged if the \fInodefaultroute6\fR option has been specified.
.TP
+.B replacedefaultroute
+This option is a flag to the defaultroute option. If defaultroute is
+set and this flag is also set, pppd replaces an existing default route
+with the new default route.
+
+
+.TP
.B disconnect \fIscript
Execute the command specified by \fIscript\fR, by passing it to a
shell, after
@@ -746,7 +753,12 @@ disable both forms of hardware flow cont
.TP
.B nodefaultroute
Disable the \fIdefaultroute\fR option. The system administrator who
-wishes to prevent users from creating default routes with pppd
+wishes to prevent users from adding a default route with pppd
+can do so by placing this option in the /etc/ppp/options file.
+.TP
+.B noreplacedefaultroute
+Disable the \fIreplacedefaultroute\fR option. The system administrator who
+wishes to prevent users from replacing a default route with pppd
can do so by placing this option in the /etc/ppp/options file.
.TP
.B nodefaultroute6
--- pppd/pppd.h.orig
+++ pppd/pppd.h
@@ -681,7 +681,11 @@ int sif6addr __P((int, eui64_t, eui64_t
int cif6addr __P((int, eui64_t, eui64_t));
/* Remove an IPv6 address from i/f */
#endif
+#ifndef __linux__
int sifdefaultroute __P((int, u_int32_t, u_int32_t));
+#else
+int sifdefaultroute __P((int, u_int32_t, u_int32_t, bool replace_default_rt));
+#endif
/* Create default route through i/f */
int cifdefaultroute __P((int, u_int32_t, u_int32_t));
/* Delete default route through i/f */
--- pppd/sys-linux.c.orig
+++ pppd/sys-linux.c
@@ -209,6 +209,8 @@ static int if_is_up; /* Interface has be
static int if6_is_up; /* Interface has been marked up for IPv6, to help differentiate */
static int have_default_route; /* Gateway for default route added */
static int have_default_route6; /* Gateway for default IPv6 route added */
+static struct rtentry old_def_rt; /* Old default route */
+static int default_rt_repl_rest; /* replace and restore old default rt */
static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
static char proxy_arp_dev[16]; /* Device for proxy arp entry */
static u_int32_t our_old_addr; /* for detecting address changes */
@@ -1570,6 +1572,9 @@ static int read_route_table(struct rtent
p = NULL;
}
+ SET_SA_FAMILY (rt->rt_dst, AF_INET);
+ SET_SA_FAMILY (rt->rt_gateway, AF_INET);
+
SIN_ADDR(rt->rt_dst) = strtoul(cols[route_dest_col], NULL, 16);
SIN_ADDR(rt->rt_gateway) = strtoul(cols[route_gw_col], NULL, 16);
SIN_ADDR(rt->rt_genmask) = strtoul(cols[route_mask_col], NULL, 16);
@@ -1642,20 +1647,52 @@ int have_route_to(u_int32_t addr)
/********************************************************************
*
* sifdefaultroute - assign a default route through the address given.
- */
-
-int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
-{
- struct rtentry rt;
-
- if (defaultroute_exists(&rt, dfl_route_metric) && strcmp(rt.rt_dev, ifname) != 0) {
- if (rt.rt_flags & RTF_GATEWAY)
- error("not replacing existing default route via %I with metric %d",
- SIN_ADDR(rt.rt_gateway), dfl_route_metric);
- else
- error("not replacing existing default route through %s with metric %d",
- rt.rt_dev, dfl_route_metric);
- return 0;
+ *
+ * If the global default_rt_repl_rest flag is set, then this function
+ * already replaced the original system defaultroute with some other
+ * route and it should just replace the current defaultroute with
+ * another one, without saving the current route. Use: demand mode,
+ * when pppd sets first a defaultroute it it's temporary ppp0 addresses
+ * and then changes the temporary addresses to the addresses for the real
+ * ppp connection when it has come up.
+ */
+
+int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway, bool replace)
+{
+ struct rtentry rt, tmp_rt;
+ struct rtentry *del_rt = NULL;
+
+ if (default_rt_repl_rest) {
+ /* We have already reclaced the original defaultroute, if we
+ * are called again, we will delete the current default route
+ * and set the new default route in this function.
+ * - this is normally only the case the doing demand: */
+ if (defaultroute_exists( &tmp_rt, dfl_route_metric ))
+ del_rt = &tmp_rt;
+ } else if ( defaultroute_exists( &old_def_rt, dfl_route_metric ) &&
+ strcmp( old_def_rt.rt_dev, ifname ) != 0) {
+ /* We did not yet replace an existing default route, let's
+ * check if we should save and replace a default route:
+ */
+ u_int32_t old_gateway = SIN_ADDR(old_def_rt.rt_gateway);
+
+ if (old_gateway != gateway) {
+ if (!replace) {
+ error("not replacing default route to %s [%I] with metric %d",
+ old_def_rt.rt_dev, old_gateway, dfl_route_metric);
+ return 0;
+ } else {
+ // we need to copy rt_dev because we need it permanent too:
+ char * tmp_dev = malloc(strlen(old_def_rt.rt_dev)+1);
+ strcpy(tmp_dev, old_def_rt.rt_dev);
+ old_def_rt.rt_dev = tmp_dev;
+
+ notice("replacing old default route to %s [%I] with metric $d",
+ old_def_rt.rt_dev, old_gateway, dfl_route_metric);
+ default_rt_repl_rest = 1;
+ del_rt = &old_def_rt;
+ }
+ }
}
memset (&rt, 0, sizeof (rt));
@@ -1675,6 +1712,12 @@ int sifdefaultroute (int unit, u_int32_t
error("default route ioctl(SIOCADDRT): %m");
return 0;
}
+ if (default_rt_repl_rest && del_rt)
+ if (ioctl(sock_fd, SIOCDELRT, del_rt) < 0) {
+ if ( ! ok_error ( errno ))
+ error("del old default route ioctl(SIOCDELRT): %m(%d)", errno);
+ return 0;
+ }
have_default_route = 1;
return 1;
@@ -1713,6 +1756,16 @@ int cifdefaultroute (int unit, u_int32_t
return 0;
}
}
+ if (default_rt_repl_rest) {
+ notice("restoring old default route to %s [%I]",
+ old_def_rt.rt_dev, SIN_ADDR(old_def_rt.rt_gateway));
+ if (ioctl(sock_fd, SIOCADDRT, &old_def_rt) < 0) {
+ if ( ! ok_error ( errno ))
+ error("restore default route ioctl(SIOCADDRT): %m(%d)", errno);
+ return 0;
+ }
+ default_rt_repl_rest = 0;
+ }
return 1;
}

View File

@ -1,51 +0,0 @@
--- pppd/demand.c.orig
+++ pppd/demand.c
@@ -45,6 +45,7 @@
#include <sys/socket.h>
#ifdef PPP_FILTER
#include <pcap-bpf.h>
+#include <linux/if_ether.h>
#endif
#include "pppd.h"
@@ -340,6 +341,7 @@ active_packet(p, len)
return 0;
proto = PPP_PROTOCOL(p);
#ifdef PPP_FILTER
+ *p = 1; /* set outbound for the filter rule */
p[0] = 1; /* outbound packet indicator */
if ((pass_filter.bf_len != 0
&& bpf_filter(pass_filter.bf_insns, p, len, len) == 0)
@@ -349,6 +351,7 @@ active_packet(p, len)
return 0;
}
p[0] = 0xff;
+ *p = 0xff; /* restore original ppp header */
#endif
for (i = 0; (protp = protocols[i]) != NULL; ++i) {
if (protp->protocol < 0xC000 && (protp->protocol & ~0x8000) == proto) {
--- pppd/options.c.orig
+++ pppd/options.c
@@ -1505,6 +1505,10 @@ setpassfilter(argv)
int ret = 1;
pc = pcap_open_dead(DLT_PPP_PPPD, 65535);
+ if (!pc) {
+ option_error("error in pass-filter expression: pcap_open_dead failed\n");
+ return 0;
+ }
if (pcap_compile(pc, &pass_filter, *argv, 1, netmask) == -1) {
option_error("error in pass-filter expression: %s\n",
pcap_geterr(pc));
@@ -1526,6 +1530,11 @@ setactivefilter(argv)
int ret = 1;
pc = pcap_open_dead(DLT_PPP_PPPD, 65535);
+ if (!pc) {
+ option_error("error in active-filter expression: pcap_open_dead failed\n");
+ return 0;
+ }
+
if (pcap_compile(pc, &active_filter, *argv, 1, netmask) == -1) {
option_error("error in active-filter expression: %s\n",
pcap_geterr(pc));

View File

@ -1,27 +0,0 @@
--- pppd/sys-linux.c.orig
+++ pppd/sys-linux.c
@@ -904,6 +904,24 @@ struct speed {
#ifdef B4000000
{ 4000000, B4000000 },
#endif
+#ifdef B1500000
+ { 1500000, B1500000 },
+#endif
+#ifdef B2000000
+ { 2000000, B2000000 },
+#endif
+#ifdef B2500000
+ { 2500000, B2500000 },
+#endif
+#ifdef B3000000
+ { 3000000, B3000000 },
+#endif
+#ifdef B3500000
+ { 3500000, B3500000 },
+#endif
+#ifdef B4000000
+ { 4000000, B4000000 },
+#endif
{ 0, 0 }
};

View File

@ -1,30 +1,19 @@
--- PLUGINS.orig diff -Nur ppp-2.4.9/pppd/Makefile.linux new/pppd/Makefile.linux
+++ PLUGINS --- ppp-2.4.9/pppd/Makefile.linux 2021-01-05 00:06:37.000000000 +0100
@@ -14,7 +14,7 @@ plugin support only under Linux and Sola +++ new/pppd/Makefile.linux 2022-05-23 17:42:04.835599374 +0200
Plugins are loaded into pppd using the `plugin' option, which takes @@ -112,7 +112,7 @@
one argument, the name of a shared object file. The plugin option is # EAP SRP-SHA1
a privileged option. If the name given does not contain a slash, pppd ifdef USE_SRP
-will look in the /usr/lib/pppd/<version> directory for the file, where CFLAGS += -DUSE_SRP -DOPENSSL -I/usr/local/ssl/include
+will look in the /usr/lib64/pppd/<version> directory for the file, where -LIBS += -lsrp -L/usr/local/ssl/lib
<version> is the version number of pppd, for example, 2.4.2. I +LIBS += -lsrp -L/usr/local/ssl/lib6464
suggest that you either give the full path name of the shared object NEEDCRYPTOLIB = y
file or just the base name; if you don't, it may be possible for TARGETS += srp-entry
--- README.orig EXTRAINSTALL = $(INSTALL) -c -m 555 srp-entry $(BINDIR)/srp-entry
+++ README diff -Nur ppp-2.4.9/pppd/pathnames.h new/pppd/pathnames.h
@@ -261,8 +261,8 @@ What was new in ppp-2.4.1. --- ppp-2.4.9/pppd/pathnames.h 2021-01-05 00:06:37.000000000 +0100
per-tty options file are parsed correctly, and don't override values +++ new/pppd/pathnames.h 2022-05-23 17:42:04.835599374 +0200
from the command line in most cases. @@ -62,9 +62,9 @@
-* The plugin option now looks in /usr/lib/pppd/<pppd-version> (for
- example, /usr/lib/pppd/2.4.1b1) for shared objects for plugins if
+* The plugin option now looks in /usr/lib64/pppd/<pppd-version> (for
+ example, /usr/lib64/pppd/2.4.1b1) for shared objects for plugins if
there is no slash in the plugin name.
* When loading a plugin, pppd will now check the version of pppd for
--- pppd/pathnames.h.orig
+++ pppd/pathnames.h
@@ -57,9 +57,9 @@
#ifdef PLUGIN #ifdef PLUGIN
#ifdef __STDC__ #ifdef __STDC__
@ -36,21 +25,23 @@
#endif /* __STDC__ */ #endif /* __STDC__ */
#endif /* PLUGIN */ #endif /* PLUGIN */
--- pppd/plugins/Makefile.linux.orig diff -Nur ppp-2.4.9/pppd/plugins/Makefile.linux new/pppd/plugins/Makefile.linux
+++ pppd/plugins/Makefile.linux --- ppp-2.4.9/pppd/plugins/Makefile.linux 2021-01-05 00:06:37.000000000 +0100
@@ -7,7 +7,7 @@ INSTALL = install +++ new/pppd/plugins/Makefile.linux 2022-05-23 17:42:04.835599374 +0200
@@ -5,7 +5,7 @@
DESTDIR = $(INSTROOT)@DESTDIR@ DESTDIR = $(INSTROOT)@DESTDIR@
BINDIR = $(DESTDIR)/sbin BINDIR = $(DESTDIR)/sbin
MANDIR = $(DESTDIR)/share/man/man8 MANDIR = $(DESTDIR)/share/man/man8
-LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION) -LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION)
+LIBDIR = $(DESTDIR)/lib64/pppd/$(VERSION) +LIBDIR = $(DESTDIR)/lib64/pppd/$(VERSION)
SUBDIRS := rp-pppoe pppoatm pppol2tp CFLAGS = $(COPTS) -I.. -I../../include -fPIC
# Uncomment the next line to include the radius authentication plugin LDFLAGS_SHARED = -shared
--- pppd/plugins/pppoatm/Makefile.linux.orig diff -Nur ppp-2.4.9/pppd/plugins/pppoatm/Makefile.linux new/pppd/plugins/pppoatm/Makefile.linux
+++ pppd/plugins/pppoatm/Makefile.linux --- ppp-2.4.9/pppd/plugins/pppoatm/Makefile.linux 2021-01-05 00:06:37.000000000 +0100
@@ -7,7 +7,7 @@ INSTALL = install +++ new/pppd/plugins/pppoatm/Makefile.linux 2022-05-23 17:42:04.835599374 +0200
#*********************************************************************** @@ -4,7 +4,7 @@
COPTS=@CFLAGS@
DESTDIR = $(INSTROOT)@DESTDIR@ DESTDIR = $(INSTROOT)@DESTDIR@
-LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION) -LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION)
@ -58,31 +49,10 @@
VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h) VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
--- pppd/plugins/pppol2tp/Makefile.linux.orig diff -Nur ppp-2.4.9/pppd/plugins/pppoe/Makefile.linux new/pppd/plugins/pppoe/Makefile.linux
+++ pppd/plugins/pppol2tp/Makefile.linux --- ppp-2.4.9/pppd/plugins/pppoe/Makefile.linux 2021-01-05 00:06:37.000000000 +0100
@@ -7,7 +7,7 @@ INSTALL = install +++ new/pppd/plugins/pppoe/Makefile.linux 2022-05-23 17:42:04.835599374 +0200
#*********************************************************************** @@ -18,7 +18,7 @@
DESTDIR = @DESTDIR@
-LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION)
+LIBDIR = $(DESTDIR)/lib64/pppd/$(VERSION)
VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
--- pppd/plugins/radius/Makefile.linux.orig
+++ pppd/plugins/radius/Makefile.linux
@@ -5,7 +5,7 @@
DESTDIR = $(INSTROOT)@DESTDIR@
MANDIR = $(DESTDIR)/share/man/man8
-LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION)
+LIBDIR = $(DESTDIR)/lib64/pppd/$(VERSION)
VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
--- pppd/plugins/rp-pppoe/Makefile.linux.orig
+++ pppd/plugins/rp-pppoe/Makefile.linux
@@ -16,7 +16,7 @@
DESTDIR = $(INSTROOT)@DESTDIR@ DESTDIR = $(INSTROOT)@DESTDIR@
BINDIR = $(DESTDIR)/sbin BINDIR = $(DESTDIR)/sbin
@ -91,9 +61,34 @@
PPPDVERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h) PPPDVERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
--- pppd/pppd.8.orig diff -Nur ppp-2.4.9/pppd/plugins/pppol2tp/Makefile.linux new/pppd/plugins/pppol2tp/Makefile.linux
+++ pppd/pppd.8 --- ppp-2.4.9/pppd/plugins/pppol2tp/Makefile.linux 2021-01-05 00:06:37.000000000 +0100
@@ -946,7 +946,7 @@ persistent connections. +++ new/pppd/plugins/pppol2tp/Makefile.linux 2022-05-23 17:42:04.835599374 +0200
@@ -4,7 +4,7 @@
COPTS=@CFLAGS@
DESTDIR = $(INSTROOT)/@DESTDIR@
-LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION)
+LIBDIR = $(DESTDIR)/lib64/pppd/$(VERSION)
VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
diff -Nur ppp-2.4.9/pppd/plugins/radius/Makefile.linux new/pppd/plugins/radius/Makefile.linux
--- ppp-2.4.9/pppd/plugins/radius/Makefile.linux 2021-01-05 00:06:37.000000000 +0100
+++ new/pppd/plugins/radius/Makefile.linux 2022-05-23 17:42:04.835599374 +0200
@@ -9,7 +9,7 @@
DESTDIR = $(INSTROOT)@DESTDIR@
MANDIR = $(DESTDIR)/share/man/man8
-LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION)
+LIBDIR = $(DESTDIR)/lib64/pppd/$(VERSION)
VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
diff -Nur ppp-2.4.9/pppd/pppd.8 new/pppd/pppd.8
--- ppp-2.4.9/pppd/pppd.8 2021-01-05 00:06:37.000000000 +0100
+++ new/pppd/pppd.8 2022-05-23 17:42:04.835599374 +0200
@@ -995,7 +995,7 @@
.B plugin \fIfilename .B plugin \fIfilename
Load the shared library object file \fIfilename\fR as a plugin. This Load the shared library object file \fIfilename\fR as a plugin. This
is a privileged option. If \fIfilename\fR does not contain a slash is a privileged option. If \fIfilename\fR does not contain a slash

View File

@ -1,162 +0,0 @@
--- chat/Makefile.linux.orig
+++ chat/Makefile.linux
@@ -11,7 +11,7 @@ CDEF4= -DFNDELAY=O_NDELAY # Old name va
CDEFS= $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4)
COPTS= -O2 -g -pipe
-CFLAGS= $(COPTS) $(CDEFS)
+CFLAGS= $(MY_CFLAGS) $(COPTS) $(CDEFS)
INSTALL= install
@@ -25,8 +25,8 @@ chat.o: chat.c
install: chat
mkdir -p $(BINDIR) $(MANDIR)
- $(INSTALL) -s -c chat $(BINDIR)
- $(INSTALL) -c -m 644 chat.8 $(MANDIR)
+ $(INSTALL) chat $(BINDIR)
+ $(INSTALL) -m 644 chat.8 $(MANDIR)
clean:
rm -f chat.o chat *~
--- pppd/Makefile.linux.orig
+++ pppd/Makefile.linux
@@ -32,8 +32,9 @@ endif
# CC = gcc
#
-COPTS = -O2 -pipe -Wall -g
-LIBS =
+CC = gcc
+COPTS = $(MY_CFLAGS) -O2 -pipe -Wall -fno-strict-aliasing
+LIBS = -lutil
# Uncomment the next line to include support for Microsoft's
# MS-CHAP authentication protocol. Also, edit plugins/radius/Makefile.linux.
@@ -219,10 +220,8 @@ all: $(TARGETS)
install: pppd
mkdir -p $(BINDIR) $(MANDIR)
$(EXTRAINSTALL)
- $(INSTALL) -s -c -m 555 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) -m 755 pppd $(BINDIR)/pppd
+ $(INSTALL) -m 644 pppd.8 $(MANDIR)
pppd: $(PPPDOBJS)
$(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_PLUGIN) -o pppd $(PPPDOBJS) $(LIBS)
--- pppd/plugins/Makefile.linux.orig
+++ pppd/plugins/Makefile.linux
@@ -1,5 +1,5 @@
-#CC = gcc
-COPTS = -O2 -g
+CC = gcc
+COPTS = $(MY_CFLAGS) -O2 -g -Wall
CFLAGS = $(COPTS) -I.. -I../../include -fPIC
LDFLAGS_SHARED = -shared
INSTALL = install
--- pppd/plugins/pppoatm/Makefile.linux.orig
+++ pppd/plugins/pppoatm/Makefile.linux
@@ -1,5 +1,5 @@
#CC = gcc
-COPTS = -O2 -g
+COPTS = $(MY_CFLAGS) -O2 -g
CFLAGS = $(COPTS) -I../.. -I../../../include -fPIC
LDFLAGS_SHARED = -shared
INSTALL = install
--- pppd/plugins/pppol2tp/Makefile.linux.orig
+++ pppd/plugins/pppol2tp/Makefile.linux
@@ -1,5 +1,5 @@
-#CC = gcc
-COPTS = -O2 -g
+CC = gcc
+COPTS = $(MY_CFLAGS) -O2 -pipe -Wall
CFLAGS = $(COPTS) -I. -I../.. -I../../../include -fPIC
LDFLAGS_SHARED = -shared
INSTALL = install
@@ -20,7 +20,7 @@ all: $(PLUGINS)
install: all
$(INSTALL) -d -m 755 $(LIBDIR)
- $(INSTALL) -c -m 755 $(PLUGINS) $(LIBDIR)
+ $(INSTALL) -m 755 $(PLUGINS) $(LIBDIR)
clean:
rm -f *.o *.so
--- pppd/plugins/radius/Makefile.linux.orig
+++ pppd/plugins/radius/Makefile.linux
@@ -12,7 +12,8 @@ VERSION = $(shell awk -F '"' '/VERSION/
INSTALL = install
PLUGIN=radius.so radattr.so radrealms.so
-CFLAGS=-I. -I../.. -I../../../include -O2 -fPIC -DRC_LOG_FACILITY=LOG_DAEMON
+COPTS = $(MY_CFLAGS) -O2 -fPIC
+CFLAGS= $(COPTS) -I. -I../.. -I../../../include -DRC_LOG_FACILITY=LOG_DAEMON -fno-strict-aliasing
# Uncomment the next line to include support for Microsoft's
# MS-CHAP authentication protocol.
--- pppd/plugins/rp-pppoe/Makefile.linux.orig
+++ pppd/plugins/rp-pppoe/Makefile.linux
@@ -25,7 +25,7 @@ INSTALL = install
# Version is set ONLY IN THE MAKEFILE! Don't delete this!
RP_VERSION=3.8p
-COPTS=-O2 -g
+COPTS= $(MY_CFLAGS) -O2 -pipe -Wall
CFLAGS=$(COPTS) -I../../../include '-DRP_VERSION="$(RP_VERSION)"'
all: rp-pppoe.so pppoe-discovery
@@ -43,7 +43,7 @@ rp-pppoe.so: plugin.o discovery.o if.o c
install: all
$(INSTALL) -d -m 755 $(LIBDIR)
- $(INSTALL) -s -c -m 4550 rp-pppoe.so $(LIBDIR)
+ $(INSTALL) rp-pppoe.so $(LIBDIR)
$(INSTALL) -d -m 755 $(BINDIR)
$(INSTALL) -s -c -m 555 pppoe-discovery $(BINDIR)
--- pppdump/Makefile.linux.orig
+++ pppdump/Makefile.linux
@@ -2,7 +2,7 @@ DESTDIR = $(INSTROOT)@DESTDIR@
BINDIR = $(DESTDIR)/sbin
MANDIR = $(DESTDIR)/share/man/man8
-CFLAGS= -O -I../include/net
+CFLAGS = $(MY_CFLAGS) -pipe -Wall -O -I../include/net
OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
INSTALL= install
@@ -17,5 +17,5 @@ clean:
install:
mkdir -p $(BINDIR) $(MANDIR)
- $(INSTALL) -s -c pppdump $(BINDIR)
- $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)
+ $(INSTALL) pppdump $(BINDIR)
+ $(INSTALL) -m 444 pppdump.8 $(MANDIR)
--- pppstats/Makefile.linux.orig
+++ pppstats/Makefile.linux
@@ -9,8 +9,8 @@ MANDIR = $(DESTDIR)/share/man/man8
PPPSTATSRCS = pppstats.c
PPPSTATOBJS = pppstats.o
-#CC = gcc
-COPTS = -O
+CC = gcc
+COPTS = $(MY_CFLAGS) -O2 -pipe -Wall
COMPILE_FLAGS = -I../include
LIBS =
@@ -22,8 +22,8 @@ all: pppstats
install: pppstats
-mkdir -p $(MANDIR)
- $(INSTALL) -s -c pppstats $(BINDIR)
- $(INSTALL) -c -m 444 pppstats.8 $(MANDIR)
+ $(INSTALL) pppstats $(BINDIR)
+ $(INSTALL) -m 444 pppstats.8 $(MANDIR)
pppstats: $(PPPSTATSRCS)
$(CC) $(CFLAGS) $(LDFLAGS) -o pppstats pppstats.c $(LIBS)

View File

@ -1,17 +1,7 @@
--- pppd/Makefile.linux.orig diff -Nur ppp-2.4.9/chat/Makefile.linux new/chat/Makefile.linux
+++ pppd/Makefile.linux --- ppp-2.4.9/chat/Makefile.linux 2021-01-05 00:06:37.000000000 +0100
@@ -224,7 +224,7 @@ install: pppd +++ new/chat/Makefile.linux 2022-05-23 17:29:53.108022140 +0200
$(INSTALL) -m 644 pppd.8 $(MANDIR) @@ -19,7 +19,7 @@
pppd: $(PPPDOBJS)
- $(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_PLUGIN) -o pppd $(PPPDOBJS) $(LIBS)
+ $(CC) $(CFLAGS) -pie -fPIC $(LDFLAGS) $(LDFLAGS_PLUGIN) -o pppd $(PPPDOBJS) $(LIBS)
srp-entry: srp-entry.c
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ srp-entry.c $(LIBS)
--- chat/Makefile.linux.orig
+++ chat/Makefile.linux
@@ -18,7 +18,7 @@ INSTALL= install
all: chat all: chat
chat: chat.o chat: chat.o
@ -20,10 +10,23 @@
chat.o: chat.c chat.o: chat.c
$(CC) -c $(CFLAGS) -o chat.o chat.c $(CC) -c $(CFLAGS) -o chat.o chat.c
--- pppstats/Makefile.linux.orig diff -Nur ppp-2.4.9/pppd/Makefile.linux new/pppd/Makefile.linux
+++ pppstats/Makefile.linux --- ppp-2.4.9/pppd/Makefile.linux 2021-01-05 00:06:37.000000000 +0100
@@ -26,7 +26,7 @@ install: pppstats +++ new/pppd/Makefile.linux 2022-05-23 17:29:53.108022140 +0200
$(INSTALL) -m 444 pppstats.8 $(MANDIR) @@ -245,7 +245,7 @@
$(INSTALL) -c -m 444 pppd.8 $(MANDIR)
pppd: $(PPPDOBJS)
- $(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_PLUGIN) -o pppd $(PPPDOBJS) $(LIBS)
+ $(CC) $(CFLAGS) -pie -fPIC $(LDFLAGS) $(LDFLAGS_PLUGIN) -o pppd $(PPPDOBJS) $(LIBS)
srp-entry: srp-entry.c
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ srp-entry.c $(LIBS)
diff -Nur ppp-2.4.9/pppstats/Makefile.linux new/pppstats/Makefile.linux
--- ppp-2.4.9/pppstats/Makefile.linux 2021-01-05 00:06:37.000000000 +0100
+++ new/pppstats/Makefile.linux 2022-05-23 17:29:53.108022140 +0200
@@ -27,7 +27,7 @@
$(INSTALL) -c -m 444 pppstats.8 $(MANDIR)
pppstats: $(PPPSTATSRCS) pppstats: $(PPPSTATSRCS)
- $(CC) $(CFLAGS) $(LDFLAGS) -o pppstats pppstats.c $(LIBS) - $(CC) $(CFLAGS) $(LDFLAGS) -o pppstats pppstats.c $(LIBS)

View File

@ -1,6 +1,12 @@
--- Changes-2.3.orig Tue Jul 22 14:16:29 CEST 2008 - hvogel@suse.de
+++ Changes-2.3
@@ -262,10 +262,10 @@ What was new in ppp-2.3.6. Move the resolv.conf written by pppd to /var/run [bnc#401648]
diff -Nur ppp-2.4.9/Changes-2.3 new/Changes-2.3
--- ppp-2.4.9/Changes-2.3 2021-01-05 00:06:37.000000000 +0100
+++ new/Changes-2.3 2022-05-23 18:30:08.827773633 +0200
@@ -262,10 +262,10 @@
* Added new option `usepeerdns', thanks to Nick Walker * Added new option `usepeerdns', thanks to Nick Walker
<nickwalker@email.com>. If the peer supplies DNS addresses, these <nickwalker@email.com>. If the peer supplies DNS addresses, these
@ -15,10 +21,11 @@
* The Solaris ppp driver should now work correctly on SMP systems. * The Solaris ppp driver should now work correctly on SMP systems.
--- pppd/ipcp.c.orig diff -Nur ppp-2.4.9/pppd/ipcp.c new/pppd/ipcp.c
+++ pppd/ipcp.c --- ppp-2.4.9/pppd/ipcp.c 2021-01-05 00:06:37.000000000 +0100
@@ -2148,10 +2148,13 @@ create_resolv(peerdns1, peerdns2) +++ new/pppd/ipcp.c 2022-05-23 18:30:08.827773633 +0200
u_int32_t peerdns1, peerdns2; @@ -2090,10 +2090,13 @@
create_resolv(u_int32_t peerdns1, u_int32_t peerdns2)
{ {
FILE *f; FILE *f;
+ char rcfilename[MAXIFNAMELEN]; + char rcfilename[MAXIFNAMELEN];
@ -33,7 +40,7 @@
return; return;
} }
@@ -2162,7 +2165,7 @@ create_resolv(peerdns1, peerdns2) @@ -2104,7 +2107,7 @@
fprintf(f, "nameserver %s\n", ip_ntoa(peerdns2)); fprintf(f, "nameserver %s\n", ip_ntoa(peerdns2));
if (ferror(f)) if (ferror(f))
@ -42,9 +49,10 @@
fclose(f); fclose(f);
} }
--- pppd/pathnames.h.orig diff -Nur ppp-2.4.9/pppd/pathnames.h new/pppd/pathnames.h
+++ pppd/pathnames.h --- ppp-2.4.9/pppd/pathnames.h 2021-01-05 00:06:37.000000000 +0100
@@ -30,7 +30,7 @@ +++ new/pppd/pathnames.h 2022-05-23 18:30:08.827773633 +0200
@@ -35,7 +35,7 @@
#define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options." #define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options."
#define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors" #define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors"
#define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/" #define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/"
@ -53,9 +61,10 @@
#define _PATH_USEROPT ".ppprc" #define _PATH_USEROPT ".ppprc"
#define _PATH_PSEUDONYM ".ppp_pseudonym" #define _PATH_PSEUDONYM ".ppp_pseudonym"
--- pppd/pppd.8.orig diff -Nur ppp-2.4.9/pppd/pppd.8 new/pppd/pppd.8
+++ pppd/pppd.8 --- ppp-2.4.9/pppd/pppd.8 2021-01-05 00:06:37.000000000 +0100
@@ -1143,8 +1143,8 @@ Ask the peer for up to 2 DNS server addr +++ new/pppd/pppd.8 2022-05-23 18:30:08.827773633 +0200
@@ -1196,8 +1196,8 @@
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

View File

@ -1,3 +1,45 @@
-------------------------------------------------------------------
Mon May 23 14:07:58 UTC 2022 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 2.4.9
* Support for new EAP (Extensible Authentication Protocol) methods
* Support for EAP-TLS
* Support for EAP-MSCHAPv2
* New pppd options:
* chap-timeout
* chapms-strip-domain
* replacedefaultroute
* noreplacedefaultroute
* ipv6cp-accept-remote
* lcp-echo-adaptive
* ip-up-script
* ip-down-script
* ca
* capath
* cert
* key
* crl-dir
* crl
* max-tls-version
* need-peer-eap
* Fixes for CVE-2020-8597 and CVE-2015-3310.
* The rp-pppoe plugin has been renamed to pppoe, to distinguish it
from the upstream rp-pppoe code. Its options have changed names,
but the old names are kept as aliases.
* Many bug fixes and cleanups.
- Drop upstream fixed patches
* ppp-2.4.3-winbind-setuidfix.patch
* fix-header-conflict.patch
* ppp-CVE-2015-3310.patch
* ppp-CVE-2020-8597.patch
* ppp-cifdefroute.patch
* ppp-higher-speeds.patch
* ppp-2.4.3-strip.diff
* ppp-filter.patch
* ppp-__P.patch
- Drop upstream resolved ppp-make.patch use `--cflags` configure
switch instead
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Mar 10 13:59:07 UTC 2022 - Илья Индиго <ilya@ilya.cf> Thu Mar 10 13:59:07 UTC 2022 - Илья Индиго <ilya@ilya.cf>

View File

@ -1,7 +1,7 @@
# #
# spec file for package ppp # spec file for package ppp
# #
# Copyright (c) 2020 SUSE LLC # Copyright (c) 2022 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,18 +18,19 @@
%define _group dialout %define _group dialout
Name: ppp Name: ppp
Version: 2.4.8 Version: 2.4.9
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
Group: Productivity/Networking/PPP Group: Productivity/Networking/PPP
URL: https://ppp.samba.org URL: https://ppp.samba.org
Source0: https://download.samba.org/pub/%{name}/%{name}-%{version}.tar.gz Source0: https://download.samba.org/pub/ppp/ppp-%{version}.tar.gz
# config for pam Source1: https://download.samba.org/pub/ppp/ppp-%{version}.tar.gz.asc
Source1: ppp.pamd
# templates for secrets # templates for secrets
Source2: pap-secrets.template Source2: pap-secrets.template
Source3: chap-secrets.template Source3: chap-secrets.template
# config for pam
Source4: ppp.pamd
# options and filters files # options and filters files
Source5: options Source5: options
Source6: filters Source6: filters
@ -47,32 +48,22 @@ Source15: modem@.service
Source16: modem.rules Source16: modem.rules
# https://www.kernel.org/doc/wot/paulus.html # https://www.kernel.org/doc/wot/paulus.html
Source17: %{name}.keyring Source17: %{name}.keyring
Source18: https://download.samba.org/pub/%{name}/%{name}-%{version}.tar.gz.asc # PATCH-FEATURE-OPENSUSE ppp-smpppd.patch -- Add more log output for smpppd (move from debug to info log)
# Makefile changes Patch0: ppp-smpppd.patch
Patch0: ppp-make.patch # PATCH-FIX-OPENSUSE ppp-pie.patch -- Build position independent code
# replacedefaultroute option Patch1: ppp-pie.patch
Patch2: ppp-cifdefroute.patch # PATCH-FIX-OPENSUSE ppp-lib64.patch -- Install into lib64 on 64bit systems
Patch2: ppp-lib64.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 # misc tiny stuff
Patch3: ppp-misc.patch Patch6: ppp-misc.patch
# more log output for smpppd # Of cause any other compatible libc would work, like musl, but 2.24 required for SOL_NETLINK
Patch4: ppp-smpppd.patch BuildRequires: glibc-devel >= 2.24
# allow higher serial speeds
Patch5: ppp-higher-speeds.patch
# fixed use of libpcap including dial on demand
Patch6: ppp-filter.patch
# Don't use __P from glibc (pppd uses it wrong)
Patch9: ppp-__P.patch
Patch11: ppp-fix-bashisms.patch
Patch12: ppp-pie.patch
Patch14: ppp-fork-fix.patch
Patch17: ppp-2.4.3-strip.diff
Patch18: ppp-2.4.3-winbind-setuidfix.patch
Patch21: ppp-lib64.patch
Patch22: ppp-var_run_resolv_conf.patch
# PATCH-FIX-UPSTREAM -- Patch for CVE-2015-3310
Patch24: ppp-CVE-2015-3310.patch
Patch25: fix-header-conflict.patch
Patch27: ppp-CVE-2020-8597.patch
BuildRequires: libpcap-devel BuildRequires: libpcap-devel
BuildRequires: linux-atm-devel BuildRequires: linux-atm-devel
BuildRequires: openssl-devel BuildRequires: openssl-devel
@ -100,9 +91,9 @@ plugins for the pppd.
%package modem %package modem
Summary: Automatic redial for any USB modem supported by the kernel Summary: Automatic redial for any USB modem supported by the kernel
Group: System/Kernel Group: System/Kernel
Requires: group(dialout)
Requires: ppp Requires: ppp
Requires: udev Requires: udev
Requires: group(dialout)
BuildArch: noarch BuildArch: noarch
%description modem %description modem
@ -118,24 +109,16 @@ you can disable unnecessary or disable everything.
%prep %prep
%setup -q %setup -q
%patch0 %patch0
%patch2 %patch1 -p1
%patch3 %patch3 -p1
%patch4 %patch4 -p1
%patch5 %patch5
%patch6 %patch6
%patch9
%patch11 -p1
%patch12
%patch14
%patch17
%patch18
%if "%{_lib}" == "lib64" %if "%{_lib}" == "lib64"
%patch21 %patch2 -p1
%endif %endif
%patch22
%patch24
%patch25 -p1
%patch27
sed -i -e '1s/local\///' scripts/secure-card 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
@ -145,8 +128,7 @@ find -type f -name '*.orig' | xargs rm -f
sed -i '/#HAVE_LIBATM/s/#//' pppd/plugins/pppoatm/Makefile.linux sed -i '/#HAVE_LIBATM/s/#//' pppd/plugins/pppoatm/Makefile.linux
%build %build
export MY_CFLAGS="%{optflags} -fno-strict-aliasing -fPIC $SP" %configure --cflags "%{optflags} -fno-strict-aliasing -fPIC $SP"
%configure
%make_build CHAPMS=y CBCP=y HAS_SHADOW=y USE_PAM=y FILTER=y HAVE_INET6=y HAVE_LOGWTMP=y %make_build CHAPMS=y CBCP=y HAS_SHADOW=y USE_PAM=y FILTER=y HAVE_INET6=y HAVE_LOGWTMP=y
%install %install
@ -166,7 +148,7 @@ install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/ppp/peers/pppoatm
install -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/ppp/peers/ppp install -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/ppp/peers/ppp
install -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/ppp/peers/pptp install -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/ppp/peers/pptp
install -d 755 %{buildroot}%{_sysconfdir}/pam.d install -d 755 %{buildroot}%{_sysconfdir}/pam.d
install -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/pam.d/ppp install -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/pam.d/ppp
install -m 644 %{SOURCE13} %{buildroot}%{_mandir}/man8/pppoe-discovery.8.gz install -m 644 %{SOURCE13} %{buildroot}%{_mandir}/man8/pppoe-discovery.8.gz
install -Dm 644 %{SOURCE14} %{buildroot}%{_sysconfdir}/ppp/chatscripts/modem.chat install -Dm 644 %{SOURCE14} %{buildroot}%{_sysconfdir}/ppp/chatscripts/modem.chat
install -Dm 644 %{SOURCE15} %{buildroot}%{_unitdir}/modem@.service install -Dm 644 %{SOURCE15} %{buildroot}%{_unitdir}/modem@.service