Compare commits
10 Commits
b2c7afcc82
...
2ee97dccd0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2ee97dccd0 | ||
|
|
74436ba68e | ||
|
|
281aec0375 | ||
|
|
d23df77505 | ||
|
|
3d59603852 | ||
|
|
408b8f5a39 | ||
|
|
14bad8deac | ||
|
|
572ac58d96 | ||
|
|
0174ae263c | ||
|
|
1082210538 |
@ -10,92 +10,101 @@ an RISC-V host.
|
|||||||
|
|
||||||
Signed-off-by: whoisxxx <zhangxuzhou4@huawei.com>
|
Signed-off-by: whoisxxx <zhangxuzhou4@huawei.com>
|
||||||
---
|
---
|
||||||
pppd/Makefile.linux | 2 +-
|
rebased-by: laokz <zhangkai@iscas.ac.cn>
|
||||||
pppd/plugins/Makefile.linux | 2 +-
|
|
||||||
pppd/plugins/pppoatm/Makefile.linux | 2 +-
|
|
||||||
pppd/plugins/pppol2tp/Makefile.linux | 2 +-
|
|
||||||
pppd/plugins/radius/Makefile.linux | 2 +-
|
|
||||||
pppd/plugins/rp-pppoe/Makefile.linux | 2 +-
|
|
||||||
6 files changed, 6 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
|
diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
|
||||||
index c1cf794..da8718d 100644
|
index 07df6a7..7dd3a1b 100644
|
||||||
--- a/pppd/Makefile.linux
|
--- a/pppd/Makefile.linux
|
||||||
+++ b/pppd/Makefile.linux
|
+++ b/pppd/Makefile.linux
|
||||||
@@ -8,7 +8,7 @@ DESTDIR = $(INSTROOT)@DESTDIR@
|
@@ -12,7 +12,11 @@ DESTDIR = $(INSTROOT)@DESTDIR@
|
||||||
BINDIR = $(DESTDIR)/sbin
|
BINDIR = $(DESTDIR)/sbin
|
||||||
MANDIR = $(DESTDIR)/share/man/man8
|
MANDIR = $(DESTDIR)/share/man/man8
|
||||||
INCDIR = $(DESTDIR)/include
|
INCDIR = $(DESTDIR)/include
|
||||||
-LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)
|
+ifeq ($(filter riscv64%,$(MAKE_HOST)),)
|
||||||
|
LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)
|
||||||
|
+else
|
||||||
+LIBDIR = $(DESTDIR)/lib64
|
+LIBDIR = $(DESTDIR)/lib64
|
||||||
|
+endif
|
||||||
|
|
||||||
TARGETS = pppd
|
TARGETS = pppd
|
||||||
|
|
||||||
diff --git a/pppd/plugins/Makefile.linux b/pppd/plugins/Makefile.linux
|
diff --git a/pppd/plugins/Makefile.linux b/pppd/plugins/Makefile.linux
|
||||||
index cf73fa9..0ed5168 100644
|
index f42d18c..958923f 100644
|
||||||
--- a/pppd/plugins/Makefile.linux
|
--- a/pppd/plugins/Makefile.linux
|
||||||
+++ b/pppd/plugins/Makefile.linux
|
+++ b/pppd/plugins/Makefile.linux
|
||||||
@@ -10,7 +10,7 @@ CFLAGS += -DUSE_EAPTLS=1
|
@@ -5,7 +5,11 @@ COPTS=@CFLAGS@
|
||||||
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/$(shell $(CC) -print-multi-os-directory 2> /dev/null)/pppd/$(VERSION)
|
+ifeq ($(filter riscv64%,$(MAKE_HOST)),)
|
||||||
|
LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(VERSION)
|
||||||
|
+else
|
||||||
+LIBDIR = $(DESTDIR)/lib64/pppd/$(VERSION)
|
+LIBDIR = $(DESTDIR)/lib64/pppd/$(VERSION)
|
||||||
|
+endif
|
||||||
|
|
||||||
SUBDIRS := rp-pppoe pppoatm pppol2tp
|
CFLAGS = $(COPTS) -I.. -I../../include -fPIC
|
||||||
# Uncomment the next line to include the radius authentication plugin
|
LDFLAGS_SHARED = -shared
|
||||||
diff --git a/pppd/plugins/pppoatm/Makefile.linux b/pppd/plugins/pppoatm/Makefile.linux
|
diff --git a/pppd/plugins/pppoatm/Makefile.linux b/pppd/plugins/pppoatm/Makefile.linux
|
||||||
index 1961e0e..a538eef 100644
|
index 6387970..daaaa4e 100644
|
||||||
--- a/pppd/plugins/pppoatm/Makefile.linux
|
--- a/pppd/plugins/pppoatm/Makefile.linux
|
||||||
+++ b/pppd/plugins/pppoatm/Makefile.linux
|
+++ b/pppd/plugins/pppoatm/Makefile.linux
|
||||||
@@ -7,7 +7,7 @@ INSTALL = install
|
@@ -4,7 +4,11 @@ CC=$(CROSS_COMPILE)@CC@
|
||||||
#***********************************************************************
|
COPTS=@CFLAGS@
|
||||||
|
|
||||||
DESTDIR = $(INSTROOT)@DESTDIR@
|
DESTDIR = $(INSTROOT)@DESTDIR@
|
||||||
-LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(VERSION)
|
+ifeq ($(filter riscv64%,$(MAKE_HOST)),)
|
||||||
|
LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(VERSION)
|
||||||
|
+else
|
||||||
+LIBDIR = $(DESTDIR)/lib64/pppd/$(VERSION)
|
+LIBDIR = $(DESTDIR)/lib64/pppd/$(VERSION)
|
||||||
|
+endif
|
||||||
|
|
||||||
VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
|
VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
|
||||||
|
|
||||||
|
diff --git a/pppd/plugins/pppoe/Makefile.linux b/pppd/plugins/pppoe/Makefile.linux
|
||||||
|
index 6cb8397..af5f9fb 100644
|
||||||
|
--- a/pppd/plugins/pppoe/Makefile.linux
|
||||||
|
+++ b/pppd/plugins/pppoe/Makefile.linux
|
||||||
|
@@ -19,7 +19,11 @@ COPTS=@CFLAGS@
|
||||||
|
DESTDIR = $(INSTROOT)@DESTDIR@
|
||||||
|
BINDIR = $(DESTDIR)/sbin
|
||||||
|
MANDIR = $(DESTDIR)/share/man/man8
|
||||||
|
+ifeq ($(filter riscv64%,$(MAKE_HOST)),)
|
||||||
|
LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(PPPDVERSION)
|
||||||
|
+else
|
||||||
|
+LIBDIR = $(DESTDIR)/lib64/pppd/$(PPPDVERSION)
|
||||||
|
+endif
|
||||||
|
|
||||||
|
PPPDVERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
|
||||||
|
|
||||||
diff --git a/pppd/plugins/pppol2tp/Makefile.linux b/pppd/plugins/pppol2tp/Makefile.linux
|
diff --git a/pppd/plugins/pppol2tp/Makefile.linux b/pppd/plugins/pppol2tp/Makefile.linux
|
||||||
index 7b23b25..225a4a9 100644
|
index e4442f9..d9ae2ca 100644
|
||||||
--- a/pppd/plugins/pppol2tp/Makefile.linux
|
--- a/pppd/plugins/pppol2tp/Makefile.linux
|
||||||
+++ b/pppd/plugins/pppol2tp/Makefile.linux
|
+++ b/pppd/plugins/pppol2tp/Makefile.linux
|
||||||
@@ -7,7 +7,7 @@ INSTALL = install
|
@@ -4,7 +4,11 @@ CC=$(CROSS_COMPILE)@CC@
|
||||||
#***********************************************************************
|
COPTS=@CFLAGS@
|
||||||
|
|
||||||
DESTDIR = $(INSTROOT)@DESTDIR@
|
DESTDIR = $(INSTROOT)/@DESTDIR@
|
||||||
-LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(VERSION)
|
+ifeq ($(filter riscv64%,$(MAKE_HOST)),)
|
||||||
|
LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(VERSION)
|
||||||
|
+else
|
||||||
+LIBDIR = $(DESTDIR)/lib64/pppd/$(VERSION)
|
+LIBDIR = $(DESTDIR)/lib64/pppd/$(VERSION)
|
||||||
|
+endif
|
||||||
|
|
||||||
VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
|
VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
|
||||||
|
|
||||||
diff --git a/pppd/plugins/radius/Makefile.linux b/pppd/plugins/radius/Makefile.linux
|
diff --git a/pppd/plugins/radius/Makefile.linux b/pppd/plugins/radius/Makefile.linux
|
||||||
index 2150332..ff0e8f3 100644
|
index d2ef044..1ccc171 100644
|
||||||
--- a/pppd/plugins/radius/Makefile.linux
|
--- a/pppd/plugins/radius/Makefile.linux
|
||||||
+++ b/pppd/plugins/radius/Makefile.linux
|
+++ b/pppd/plugins/radius/Makefile.linux
|
||||||
@@ -5,7 +5,7 @@
|
@@ -9,7 +9,11 @@ COPTS=@CFLAGS@
|
||||||
|
|
||||||
DESTDIR = $(INSTROOT)@DESTDIR@
|
DESTDIR = $(INSTROOT)@DESTDIR@
|
||||||
MANDIR = $(DESTDIR)/share/man/man8
|
MANDIR = $(DESTDIR)/share/man/man8
|
||||||
-LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(VERSION)
|
+ifeq ($(filter riscv64%,$(MAKE_HOST)),)
|
||||||
|
LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(VERSION)
|
||||||
|
+else
|
||||||
+LIBDIR = $(DESTDIR)/lib64/pppd/$(VERSION)
|
+LIBDIR = $(DESTDIR)/lib64/pppd/$(VERSION)
|
||||||
|
+endif
|
||||||
|
|
||||||
VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
|
VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
|
||||||
|
|
||||||
diff --git a/pppd/plugins/rp-pppoe/Makefile.linux b/pppd/plugins/rp-pppoe/Makefile.linux
|
|
||||||
index 5f79284..bd95832 100644
|
|
||||||
--- a/pppd/plugins/rp-pppoe/Makefile.linux
|
|
||||||
+++ b/pppd/plugins/rp-pppoe/Makefile.linux
|
|
||||||
@@ -17,7 +17,7 @@
|
|
||||||
DESTDIR = $(INSTROOT)@DESTDIR@
|
|
||||||
BINDIR = $(DESTDIR)/sbin
|
|
||||||
MANDIR = $(DESTDIR)/share/man/man8
|
|
||||||
-LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(PPPDVERSION)
|
|
||||||
+LIBDIR = $(DESTDIR)/lib64/pppd/$(PPPDVERSION)
|
|
||||||
|
|
||||||
PPPDVERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
|
|
||||||
|
|
||||||
--
|
|
||||||
2.23.0
|
|
||||||
|
|
||||||
|
|||||||
45
backport-CVE-2022-4603.patch
Normal file
45
backport-CVE-2022-4603.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
From a75fb7b198eed50d769c80c36629f38346882cbf Mon Sep 17 00:00:00 2001
|
||||||
|
From: Paul Mackerras <paulus@ozlabs.org>
|
||||||
|
Date: Thu, 4 Aug 2022 12:23:08 +1000
|
||||||
|
Subject: [PATCH] pppdump: Avoid out-of-range access to packet buffer
|
||||||
|
|
||||||
|
This fixes a potential vulnerability where data is written to spkt.buf
|
||||||
|
and rpkt.buf without a check on the array index. To fix this, we
|
||||||
|
check the array index (pkt->cnt) before storing the byte or
|
||||||
|
incrementing the count. This also means we no longer have a potential
|
||||||
|
signed integer overflow on the increment of pkt->cnt.
|
||||||
|
|
||||||
|
Fortunately, pppdump is not used in the normal process of setting up a
|
||||||
|
PPP connection, is not installed setuid-root, and is not invoked
|
||||||
|
automatically in any scenario that I am aware of.
|
||||||
|
|
||||||
|
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
|
||||||
|
---
|
||||||
|
pppdump/pppdump.c | 7 ++++++-
|
||||||
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/pppdump/pppdump.c b/pppdump/pppdump.c
|
||||||
|
index 2b815fc9..b85a8627 100644
|
||||||
|
--- a/pppdump/pppdump.c
|
||||||
|
+++ b/pppdump/pppdump.c
|
||||||
|
@@ -297,6 +297,10 @@ dumpppp(f)
|
||||||
|
printf("%s aborted packet:\n ", dir);
|
||||||
|
q = " ";
|
||||||
|
}
|
||||||
|
+ if (pkt->cnt >= sizeof(pkt->buf)) {
|
||||||
|
+ printf("%s over-long packet truncated:\n ", dir);
|
||||||
|
+ q = " ";
|
||||||
|
+ }
|
||||||
|
nb = pkt->cnt;
|
||||||
|
p = pkt->buf;
|
||||||
|
pkt->cnt = 0;
|
||||||
|
@@ -400,7 +404,8 @@ dumpppp(f)
|
||||||
|
c ^= 0x20;
|
||||||
|
pkt->esc = 0;
|
||||||
|
}
|
||||||
|
- pkt->buf[pkt->cnt++] = c;
|
||||||
|
+ if (pkt->cnt < sizeof(pkt->buf))
|
||||||
|
+ pkt->buf[pkt->cnt++] = c;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,84 @@
|
|||||||
|
From 883a65eee0ea9de6aa843614bc2a97bc1dd3ccd2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bmo <35866749+XWwalker@users.noreply.github.com>
|
||||||
|
Date: Sat, 18 Mar 2023 06:20:43 +0800
|
||||||
|
Subject: [PATCH] radius plugin: add fclose operation to fix file pointer not
|
||||||
|
closed after use (#401)
|
||||||
|
|
||||||
|
Signed-off-by: Wei Xing <skyxwwalker@gmail.com>
|
||||||
|
|
||||||
|
Co-authored-by: Wei Xing <skyxwwalker@gmail.com>
|
||||||
|
|
||||||
|
Conflict: NA
|
||||||
|
Reference: https://github.com/ppp-project/ppp/commit/883a65eee0ea9de6aa843614bc2a97bc1dd3ccd2
|
||||||
|
|
||||||
|
---
|
||||||
|
pppd/plugins/radius/clientid.c | 2 ++
|
||||||
|
pppd/plugins/radius/config.c | 6 ++++++
|
||||||
|
2 files changed, 8 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/pppd/plugins/radius/clientid.c b/pppd/plugins/radius/clientid.c
|
||||||
|
index b1bbc474..eea51650 100644
|
||||||
|
--- a/pppd/plugins/radius/clientid.c
|
||||||
|
+++ b/pppd/plugins/radius/clientid.c
|
||||||
|
@@ -68,6 +68,7 @@ int rc_read_mapfile(char *filename)
|
||||||
|
|
||||||
|
if ((p = (struct map2id_s *)malloc(sizeof(*p))) == NULL) {
|
||||||
|
novm("rc_read_mapfile");
|
||||||
|
+ fclose(mapfd);
|
||||||
|
return (-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -79,6 +80,7 @@ int rc_read_mapfile(char *filename)
|
||||||
|
} else {
|
||||||
|
|
||||||
|
error("rc_read_mapfile: malformed line in %s, line %d", filename, lnr);
|
||||||
|
+ fclose(mapfd);
|
||||||
|
return (-1);
|
||||||
|
|
||||||
|
}
|
||||||
|
diff --git a/pppd/plugins/radius/config.c b/pppd/plugins/radius/config.c
|
||||||
|
index 47c172cc..39744fca 100644
|
||||||
|
--- a/pppd/plugins/radius/config.c
|
||||||
|
+++ b/pppd/plugins/radius/config.c
|
||||||
|
@@ -212,6 +212,7 @@ int rc_read_config(char *filename)
|
||||||
|
|
||||||
|
if ((pos = strcspn(p, "\t ")) == 0) {
|
||||||
|
error("%s: line %d: bogus format: %s", filename, line, p);
|
||||||
|
+ fclose(configfd);
|
||||||
|
return (-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -224,6 +225,7 @@ int rc_read_config(char *filename)
|
||||||
|
|
||||||
|
if (option->status != ST_UNDEF) {
|
||||||
|
error("%s: line %d: duplicate option line: %s", filename, line, p);
|
||||||
|
+ fclose(configfd);
|
||||||
|
return (-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -234,18 +236,22 @@ int rc_read_config(char *filename)
|
||||||
|
switch (option->type) {
|
||||||
|
case OT_STR:
|
||||||
|
if (set_option_str(filename, line, option, p) < 0)
|
||||||
|
+ fclose(configfd);
|
||||||
|
return (-1);
|
||||||
|
break;
|
||||||
|
case OT_INT:
|
||||||
|
if (set_option_int(filename, line, option, p) < 0)
|
||||||
|
+ fclose(configfd);
|
||||||
|
return (-1);
|
||||||
|
break;
|
||||||
|
case OT_SRV:
|
||||||
|
if (set_option_srv(filename, line, option, p) < 0)
|
||||||
|
+ fclose(configfd);
|
||||||
|
return (-1);
|
||||||
|
break;
|
||||||
|
case OT_AUO:
|
||||||
|
if (set_option_auo(filename, line, option, p) < 0)
|
||||||
|
+ fclose(configfd);
|
||||||
|
return (-1);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -0,0 +1,86 @@
|
|||||||
|
From a2094eba2406392a7bb69b436155e2d08ea555e8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: pali <7141871+pali@users.noreply.github.com>
|
||||||
|
Date: Tue, 26 Jan 2021 03:55:25 +0100
|
||||||
|
Subject: [PATCH] pppd: Negotiate IP address when only peer addresses are
|
||||||
|
provided (#236)
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
This fixes special case when both ppp ends are configured to send only IP
|
||||||
|
address of other side and do not send its own IP address. Such setup is
|
||||||
|
correct because both ends can exchange its IP addresses and therefore they
|
||||||
|
have full information, they known both local and remote address.
|
||||||
|
|
||||||
|
This issue can be triggered by calling pppd with arguments:
|
||||||
|
|
||||||
|
./pppd debug local noauth nolock nodetach asyncmap 0 default-asyncmap novj noaccomp nopcomp nodeflate nobsdcomp nomagic noipv6 noipdefault nosendip :10.0.0.1 pty "./pppd debug local noauth nolock nodetach asyncmap 0 default-asyncmap novj noaccomp nopcomp nodeflate nobsdcomp nomagic noipv6 nosendip nodefaultroute :10.0.0.2 notty"
|
||||||
|
|
||||||
|
Without this patch IP addresses are not exchanges at all and pppd fails:
|
||||||
|
|
||||||
|
rcvd [LCP ConfReq id=0x1]
|
||||||
|
sent [LCP ConfReq id=0x1]
|
||||||
|
sent [LCP ConfAck id=0x1]
|
||||||
|
rcvd [LCP ConfAck id=0x1]
|
||||||
|
sent [LCP EchoReq id=0x0 magic=0x0]
|
||||||
|
sent [IPCP ConfReq id=0x1]
|
||||||
|
rcvd [LCP EchoReq id=0x0 magic=0x0]
|
||||||
|
sent [LCP EchoRep id=0x0 magic=0x0]
|
||||||
|
rcvd [IPCP ConfReq id=0x1]
|
||||||
|
sent [IPCP ConfAck id=0x1]
|
||||||
|
rcvd [LCP EchoRep id=0x0 magic=0x0]
|
||||||
|
rcvd [IPCP ConfAck id=0x1]
|
||||||
|
Could not determine local IP address
|
||||||
|
|
||||||
|
After applying this patch exchanging of IP addresses is working fine:
|
||||||
|
|
||||||
|
rcvd [LCP ConfReq id=0x1]
|
||||||
|
sent [LCP ConfReq id=0x1]
|
||||||
|
sent [LCP ConfAck id=0x1]
|
||||||
|
rcvd [LCP ConfAck id=0x1]
|
||||||
|
sent [LCP EchoReq id=0x0 magic=0x0]
|
||||||
|
sent [IPCP ConfReq id=0x1]
|
||||||
|
rcvd [LCP EchoReq id=0x0 magic=0x0]
|
||||||
|
sent [LCP EchoRep id=0x0 magic=0x0]
|
||||||
|
rcvd [IPCP ConfReq id=0x1]
|
||||||
|
sent [IPCP ConfNak id=0x1 <addr 10.0.0.1>]
|
||||||
|
rcvd [LCP EchoRep id=0x0 magic=0x0]
|
||||||
|
rcvd [IPCP ConfNak id=0x1 <addr 10.0.0.2>]
|
||||||
|
sent [IPCP ConfReq id=0x2 <addr 10.0.0.2>]
|
||||||
|
rcvd [IPCP ConfReq id=0x2 <addr 10.0.0.1>]
|
||||||
|
sent [IPCP ConfAck id=0x2 <addr 10.0.0.1>]
|
||||||
|
rcvd [IPCP ConfAck id=0x2 <addr 10.0.0.2>]
|
||||||
|
local IP address 10.0.0.2
|
||||||
|
remote IP address 10.0.0.1
|
||||||
|
|
||||||
|
Signed-off-by: Pali Rohár <pali@kernel.org>
|
||||||
|
---
|
||||||
|
pppd/ipcp.c | 8 +++++---
|
||||||
|
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/pppd/ipcp.c b/pppd/ipcp.c
|
||||||
|
index fcf17b1e..d17dbd28 100644
|
||||||
|
--- a/pppd/ipcp.c
|
||||||
|
+++ b/pppd/ipcp.c
|
||||||
|
@@ -678,8 +678,9 @@ ipcp_resetci(fsm *f)
|
||||||
|
ipcp_options *go = &ipcp_gotoptions[f->unit];
|
||||||
|
ipcp_options *ao = &ipcp_allowoptions[f->unit];
|
||||||
|
|
||||||
|
- wo->req_addr = (wo->neg_addr || wo->old_addrs) &&
|
||||||
|
- (ao->neg_addr || ao->old_addrs);
|
||||||
|
+ wo->req_addr = ((wo->neg_addr || wo->old_addrs) &&
|
||||||
|
+ (ao->neg_addr || ao->old_addrs)) ||
|
||||||
|
+ (wo->hisaddr && !wo->accept_remote);
|
||||||
|
if (wo->ouraddr == 0)
|
||||||
|
wo->accept_local = 1;
|
||||||
|
if (wo->hisaddr == 0)
|
||||||
|
@@ -1648,7 +1649,8 @@ ipcp_reqci(fsm *f, u_char *inp, int *len, int reject_if_disagree)
|
||||||
|
* option safely.
|
||||||
|
*/
|
||||||
|
if (rc != CONFREJ && !ho->neg_addr && !ho->old_addrs &&
|
||||||
|
- wo->req_addr && !reject_if_disagree && !noremoteip) {
|
||||||
|
+ wo->req_addr && !reject_if_disagree &&
|
||||||
|
+ ((wo->hisaddr && !wo->accept_remote) || !noremoteip)) {
|
||||||
|
if (rc == CONFACK) {
|
||||||
|
rc = CONFNAK;
|
||||||
|
ucp = inp; /* reset pointer */
|
||||||
39
ppp.spec
39
ppp.spec
@ -1,6 +1,6 @@
|
|||||||
Name: ppp
|
Name: ppp
|
||||||
Version: 2.4.9
|
Version: 2.4.9
|
||||||
Release: 1
|
Release: 6
|
||||||
Summary: The Point-to-Point Protocol
|
Summary: The Point-to-Point Protocol
|
||||||
|
|
||||||
License: BSD and LGPLv2+ and GPLv2+ and Public Domain
|
License: BSD and LGPLv2+ and GPLv2+ and Public Domain
|
||||||
@ -43,9 +43,10 @@ Patch0013: backport-0023-build-sys-install-rp-pppoe-plugin-files-with-stand
|
|||||||
Patch0014: backport-0024-build-sys-install-pppoatm-plugin-files-with-standard.patch
|
Patch0014: backport-0024-build-sys-install-pppoatm-plugin-files-with-standard.patch
|
||||||
Patch0015: backport-ppp-2.4.8-pppd-install-pppd-binary-using-standard-perms-755.patch
|
Patch0015: backport-ppp-2.4.8-pppd-install-pppd-binary-using-standard-perms-755.patch
|
||||||
Patch0016: backport-ppp-2.4.9-configure-cflags-allow-commas.patch
|
Patch0016: backport-ppp-2.4.9-configure-cflags-allow-commas.patch
|
||||||
%ifarch riscv64
|
Patch0017: backport-0027-Set-LIBDIR-for-RISCV.patch
|
||||||
Patch0017: 0027-Set-LIBDIR-for-RISCV.patch
|
Patch0018: backport-pppd-Negotiate-IP-address-when-only-peer-addresses-are-provided.patch
|
||||||
%endif
|
Patch0019: backport-CVE-2022-4603.patch
|
||||||
|
Patch0020: backport-add-fclose-operation-to-fix-file-pointer-not-closed.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The Point-to-Point Protocol (PPP) provides a standard way to establish
|
The Point-to-Point Protocol (PPP) provides a standard way to establish
|
||||||
@ -141,6 +142,36 @@ mkdir -p %{buildroot}%{_rundir}/lock/ppp
|
|||||||
%{_mandir}/man8/*.8.gz
|
%{_mandir}/man8/*.8.gz
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Sep 11 2023 xingwei <xingwei14@h-partners.com> - 2.4.9-6
|
||||||
|
- Type:bugfix
|
||||||
|
- ID:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:correct patch names and commit messages
|
||||||
|
|
||||||
|
* Fri Mar 10 2023 xingwei <xingwei14@h-partners.com> - 2.4.9-5
|
||||||
|
- Type:bugfix
|
||||||
|
- ID:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:add fclose operation to fix file pointer not closed after use
|
||||||
|
|
||||||
|
* Tue Feb 28 2023 laokz <zhangkai@iscas.ac.cn> - 2.4.9-4
|
||||||
|
- Type:bugfix
|
||||||
|
- ID:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:fix patch0017 for riscv64
|
||||||
|
|
||||||
|
* Thu Dec 29 2022 gaihuiying <eaglegai@163.com> - 2.4.9-3
|
||||||
|
- Type:cves
|
||||||
|
- ID:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:fix CVE-2022-4603
|
||||||
|
|
||||||
|
* Wed Oct 19 2022 gaihuiying <eaglegai@163.com> - 2.4.9-2
|
||||||
|
- Type:bugfix
|
||||||
|
- ID:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:pppd: Negotiate IP address when only peer addresses are provided
|
||||||
|
|
||||||
* Tue Dec 07 2021 yanglu <yanglu72@huawei.com> - 2.4.9-1
|
* Tue Dec 07 2021 yanglu <yanglu72@huawei.com> - 2.4.9-1
|
||||||
- Type:requirement
|
- Type:requirement
|
||||||
- ID:NA
|
- ID:NA
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user