SHA256
1
0
forked from pool/ppp
OBS User unknown 2008-09-15 10:22:18 +00:00 committed by Git OBS Bridge
parent 80322fa51e
commit 66ae7d4bf1
11 changed files with 240 additions and 173 deletions

View File

@ -1,28 +0,0 @@
--- ppp-2.4.2/pppd/plugins/pppoatm/pppoatm.c.mtu 2004-10-07 13:32:05.660910432 +0100
+++ ppp-2.4.2/pppd/plugins/pppoatm/pppoatm.c 2004-10-07 13:58:20.096559832 +0100
@@ -175,8 +175,10 @@
{
int sock;
struct ifreq ifr;
- if (mtu > pppoatm_max_mtu)
- error("Couldn't increase MTU to %d", mtu);
+ if (pppoatm_max_mtu && mtu > pppoatm_max_mtu) {
+ warn("Couldn't increase MTU to %d. Using %d", mtu, pppoatm_max_mtu);
+ mtu = pppoatm_max_mtu;
+ }
sock = socket(AF_INET, SOCK_DGRAM, 0);
if (sock < 0)
fatal("Couldn't create IP socket: %m");
@@ -192,8 +194,10 @@
int pcomp,
int accomp)
{
- if (mru > pppoatm_max_mru)
- error("Couldn't increase MRU to %d", mru);
+ if (pppoatm_max_mru && mru > pppoatm_max_mru) {
+ warn("Couldn't increase MRU to %d. Using %d", mru, pppoatm_max_mru);
+ mru = pppoatm_max_mru;
+ }
}
void plugin_init(void)

View File

@ -1,7 +1,6 @@
diff -ur ppp-2.4.3.old/pppd/main.c ppp-2.4.3/pppd/main.c
--- ppp-2.4.3.old/pppd/main.c 2005-06-18 17:48:50.000000000 +0200
+++ ppp-2.4.3/pppd/main.c 2005-06-20 11:03:43.000000000 +0200
@@ -1457,14 +1457,6 @@
--- pppd/main.c
+++ pppd/main.c
@@ -1540,14 +1540,6 @@
int fd, pipefd[2];
char buf[1];
@ -16,7 +15,7 @@ diff -ur ppp-2.4.3.old/pppd/main.c ppp-2.4.3/pppd/main.c
if (pipe(pipefd) == -1)
pipefd[0] = pipefd[1] = -1;
pid = fork();
@@ -1487,24 +1479,30 @@
@@ -1570,25 +1562,31 @@
tdb_close(pppdb);
#endif
@ -27,6 +26,7 @@ diff -ur ppp-2.4.3.old/pppd/main.c ppp-2.4.3/pppd/main.c
- outfd = dup(outfd);
- if (errfd == 0 || errfd == 1)
- errfd = dup(errfd);
-
+ /* make sure fds 0, 1, 2 are occupied, so the duplicated fds always > 2 */
+ while ((fd = dup(fd_devnull)) >= 0) {
+ if (fd > 2) {
@ -34,18 +34,11 @@ diff -ur ppp-2.4.3.old/pppd/main.c ppp-2.4.3/pppd/main.c
+ break;
+ }
+ }
- /* dup the in, out, err fds to 0, 1, 2 */
- if (infd != 0)
- dup2(infd, 0);
- if (outfd != 1)
- dup2(outfd, 1);
- if (errfd != 2)
- dup2(errfd, 2);
+
+ /* always copy fd's to avoid to use a already closed fd later */
+ {
+ int fdi = infd, fdo = outfd;
+
+ infd = dup(infd);
+ outfd = dup(outfd);
+ if (errfd >= 0) {
@ -57,12 +50,21 @@ diff -ur ppp-2.4.3.old/pppd/main.c ppp-2.4.3/pppd/main.c
+ close(fdo);
+ }
closelog();
- /* dup the in, out, err fds to 0, 1, 2 */
- if (infd != 0)
- dup2(infd, 0);
- if (outfd != 1)
- dup2(outfd, 1);
- if (errfd != 2)
- dup2(errfd, 2);
-
- if (log_to_fd > 2)
+ if (log_to_fd >= 0)
+ if (log_to_fd > 0)
close(log_to_fd);
if (the_channel->close)
(*the_channel->close)();
@@ -1512,12 +1510,18 @@
@@ -1596,12 +1594,18 @@
close(devfd); /* some plugins don't have a close function */
close(fd_ppp);
close(fd_devnull);
@ -71,6 +73,7 @@ diff -ur ppp-2.4.3.old/pppd/main.c ppp-2.4.3/pppd/main.c
- if (outfd != 1)
- close(outfd);
- if (errfd != 2)
- close(errfd);
+
+ close(0);
+ dup2(infd, 0);
@ -81,9 +84,8 @@ diff -ur ppp-2.4.3.old/pppd/main.c ppp-2.4.3/pppd/main.c
+ if (errfd >= 0) {
+ close(2);
+ dup2(errfd, 2);
close(errfd);
+ close(errfd);
+ }
notify(fork_notifier, 0);
close(pipefd[0]);

View File

@ -1,16 +1,14 @@
unchanged:
================================================================================
--- ppp-2.4.4/chat/Makefile.linux
+++ ppp-2.4.4/chat/Makefile.linux
@@ -10,7 +10,7 @@
CDEF4= -DFNDELAY=O_NDELAY # Old name value
--- chat/Makefile.linux
+++ chat/Makefile.linux
@@ -11,7 +11,7 @@
CDEFS= $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4)
-COPTS= -O2 -g -pipe
+COPTS = $(MY_CFLAGS) -O2 -pipe -Wall $(CDEFS)
CFLAGS= $(COPTS) $(CDEFS)
COPTS= -O2 -g -pipe
-CFLAGS= $(COPTS) $(CDEFS)
+CFLAGS= $(MY_CFLAGS) $(COPTS) $(CDEFS)
INSTALL= install
@@ -25,8 +25,8 @@
install: chat
@ -22,22 +20,21 @@ unchanged:
clean:
rm -f chat.o chat *~
--- ppp-2.4.4/pppd/Makefile.linux
+++ ppp-2.4.4/pppd/Makefile.linux
@@ -32,8 +32,10 @@
--- pppd/Makefile.linux
+++ pppd/Makefile.linux
@@ -32,8 +32,9 @@
# CC = gcc
#
-COPTS = -O2 -pipe -Wall -g
-LIBS =
+CC = gcc
+COPTS = $(MY_CFLAGS) -O2 -pipe -Wall
+COPTS = $(MY_CFLAGS) -O2 -pipe -Wall -fno-strict-aliasing
+LIBS = -lutil
+
# Uncomment the next 2 lines to include support for Microsoft's
# MS-CHAP authentication protocol. Also, edit plugins/radius/Makefile.linux.
@@ -200,10 +202,8 @@
@@ -200,10 +201,8 @@
install: pppd
mkdir -p $(BINDIR) $(MANDIR)
$(EXTRAINSTALL)
@ -46,31 +43,72 @@ unchanged:
- 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)/
+ $(INSTALL) -m 644 pppd.8 $(MANDIR)
pppd: $(PPPDOBJS)
$(CC) $(CFLAGS) $(LDFLAGS) -o pppd $(PPPDOBJS) $(LIBS)
--- ppp-2.4.4/pppd/plugins/Makefile.linux
+++ ppp-2.4.4/pppd/plugins/Makefile.linux
--- pppd/plugins/Makefile.linux
+++ pppd/plugins/Makefile.linux
@@ -1,5 +1,5 @@
CC = gcc
-#CC = gcc
-COPTS = -O2 -g
+COPTS = $(MY_CFLAGS) -O2 -pipe -Wall
+CC = gcc
+COPTS = $(MY_CFLAGS) -O2 -g -Wall
CFLAGS = $(COPTS) -I.. -I../../include -fPIC
LDFLAGS = -shared
INSTALL = install
--- ppp-2.4.4/pppd/plugins/rp-pppoe/Makefile.linux
+++ ppp-2.4.4/pppd/plugins/rp-pppoe/Makefile.linux
@@ -24,7 +24,7 @@
--- pppd/plugins/pppoatm/Makefile.linux
+++ 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
INSTALL = install
--- pppd/plugins/pppol2tp/Makefile.linux
+++ 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
INSTALL = install
@@ -20,7 +20,7 @@
install: all
$(INSTALL) -d -m 755 $(LIBDIR)
- $(INSTALL) -c -m 4550 $(PLUGINS) $(LIBDIR)
+ $(INSTALL) -m 4550 $(PLUGINS) $(LIBDIR)
clean:
rm -f *.o *.so
--- pppd/plugins/radius/Makefile.linux
+++ pppd/plugins/radius/Makefile.linux
@@ -12,7 +12,8 @@
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
+++ pppd/plugins/rp-pppoe/Makefile.linux
@@ -25,7 +25,7 @@
# Version is set ONLY IN THE MAKEFILE! Don't delete this!
VERSION=3.3
RP_VERSION=3.8p
-COPTS=-O2 -g
+COPTS = $(MY_CFLAGS) -O2 -pipe -Wall
CFLAGS=$(COPTS) -I../../../include/linux
+COPTS= $(MY_CFLAGS) -O2 -pipe -Wall
CFLAGS=$(COPTS) -I../../../include '-DRP_VERSION="$(RP_VERSION)"'
all: rp-pppoe.so pppoe-discovery
@@ -39,7 +39,7 @@
@@ -43,7 +43,7 @@
install: all
$(INSTALL) -d -m 755 $(LIBDIR)
@ -79,14 +117,14 @@ unchanged:
$(INSTALL) -d -m 755 $(BINDIR)
$(INSTALL) -s -c -m 555 pppoe-discovery $(BINDIR)
--- ppp-2.4.4/pppdump/Makefile.linux
+++ ppp-2.4.4/pppdump/Makefile.linux
--- pppdump/Makefile.linux
+++ pppdump/Makefile.linux
@@ -2,7 +2,7 @@
BINDIR = $(DESTDIR)/sbin
MANDIR = $(DESTDIR)/share/man/man8
-CFLAGS= -O -I../include/net
+CFLAGS= -O2 -pipe -Wall -I../include/net
+CFLAGS = $(MY_CFLAGS) -pipe -Wall -O -I../include/net
OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
INSTALL= install
@ -98,8 +136,8 @@ unchanged:
- $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)
+ $(INSTALL) pppdump $(BINDIR)
+ $(INSTALL) -m 444 pppdump.8 $(MANDIR)
--- ppp-2.4.4/pppstats/Makefile.linux
+++ ppp-2.4.4/pppstats/Makefile.linux
--- pppstats/Makefile.linux
+++ pppstats/Makefile.linux
@@ -9,8 +9,8 @@
PPPSTATSRCS = pppstats.c
PPPSTATOBJS = pppstats.o

View File

@ -1,22 +0,0 @@
--- pppd/Makefile.linux
+++ pppd/Makefile.linux
@@ -33,7 +33,7 @@
# CC = gcc
#
CC = gcc
-COPTS = $(MY_CFLAGS) -O2 -pipe -Wall
+COPTS = $(MY_CFLAGS) -O2 -pipe -Wall -fno-strict-aliasing
LIBS = -lutil
--- pppd/plugins/radius/Makefile.linux
+++ pppd/plugins/radius/Makefile.linux
@@ -12,7 +12,7 @@
INSTALL = install
PLUGIN=radius.so radattr.so radrealms.so
-CFLAGS= $(MY_CFLAGS) -I. -I../.. -I../../../include -O2 -fPIC -DRC_LOG_FACILITY=LOG_DAEMON
+CFLAGS= $(MY_CFLAGS) -I. -I../.. -I../../../include -O2 -fPIC -DRC_LOG_FACILITY=LOG_DAEMON -fno-strict-aliasing
# Uncomment the next line to include support for Microsoft's
# MS-CHAP authentication protocol.

View File

@ -1,31 +0,0 @@
--- pppd/plugins/pppoatm/Makefile.linux
+++ 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
INSTALL = install
--- pppd/plugins/radius/Makefile.linux
+++ pppd/plugins/radius/Makefile.linux
@@ -12,7 +12,7 @@
INSTALL = install
PLUGIN=radius.so radattr.so radrealms.so
-CFLAGS=-I. -I../.. -I../../../include -O2 -fPIC -DRC_LOG_FACILITY=LOG_DAEMON
+CFLAGS= $(MY_CFLAGS) -I. -I../.. -I../../../include -O2 -fPIC -DRC_LOG_FACILITY=LOG_DAEMON
# Uncomment the next line to include support for Microsoft's
# MS-CHAP authentication protocol.
--- pppdump/Makefile.linux
+++ pppdump/Makefile.linux
@@ -2,7 +2,7 @@
BINDIR = $(DESTDIR)/sbin
MANDIR = $(DESTDIR)/share/man/man8
-CFLAGS= -O2 -pipe -Wall -I../include/net
+CFLAGS= $(MY_CFLAGS) -O2 -pipe -Wall -I../include/net
OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
INSTALL= install

View File

@ -11,7 +11,7 @@
file or just the base name; if you don't, it may be possible for
--- README
+++ README
@@ -178,8 +178,8 @@
@@ -200,8 +200,8 @@
per-tty options file are parsed correctly, and don't override values
from the command line in most cases.
@ -45,13 +45,24 @@
-LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION)
+LIBDIR = $(DESTDIR)/lib64/pppd/$(VERSION)
SUBDIRS := rp-pppoe pppoatm
SUBDIRS := rp-pppoe pppoatm pppol2tp
# Uncomment the next line to include the radius authentication plugin
--- pppd/plugins/pppoatm/Makefile.linux
+++ pppd/plugins/pppoatm/Makefile.linux
@@ -7,7 +7,7 @@
#***********************************************************************
DESTDIR = $(INSTROOT)@DESTDIR@
-LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION)
+LIBDIR = $(DESTDIR)/lib64/pppd/$(VERSION)
VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
--- pppd/plugins/pppol2tp/Makefile.linux
+++ pppd/plugins/pppol2tp/Makefile.linux
@@ -7,7 +7,7 @@
#***********************************************************************
DESTDIR = @DESTDIR@
-LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION)
+LIBDIR = $(DESTDIR)/lib64/pppd/$(VERSION)
@ -71,7 +82,7 @@
--- pppd/plugins/rp-pppoe/Makefile.linux
+++ pppd/plugins/rp-pppoe/Makefile.linux
@@ -15,7 +15,7 @@
@@ -16,7 +16,7 @@
DESTDIR = $(INSTROOT)@DESTDIR@
BINDIR = $(DESTDIR)/sbin
@ -82,7 +93,7 @@
--- pppd/pppd.8
+++ pppd/pppd.8
@@ -889,7 +889,7 @@
@@ -911,7 +911,7 @@
.B plugin \fIfilename
Load the shared library object file \fIfilename\fR as a plugin. This
is a privileged option. If \fIfilename\fR does not contain a slash

View File

@ -0,0 +1,68 @@
--- Changes-2.3
+++ Changes-2.3
@@ -262,10 +262,10 @@
* Added new option `usepeerdns', thanks to Nick Walker
<nickwalker@email.com>. If the peer supplies DNS addresses, these
- will be written to /etc/ppp/resolv.conf. The ip-up script can then
- be used to add these addresses to /etc/resolv.conf if desired (see
- the ip-up.local.add and ip-down.local.add files in the scripts
- directory).
+ will be written to /var/run/ppp_resolv.conf.$INTERFACE_NAME.
+ The ip-up script can then be used to add these addresses to
+ /etc/resolv.conf if desired (see the ip-up.local.add and
+ ip-down.local.add files in the scripts directory).
* The Solaris ppp driver should now work correctly on SMP systems.
--- pppd/ipcp.c
+++ pppd/ipcp.c
@@ -2041,10 +2041,13 @@
u_int32_t peerdns1, peerdns2;
{
FILE *f;
+ char rcfilename[MAXIFNAMELEN];
- f = fopen(_PATH_RESOLV, "w");
+ slprintf(rcfilename, sizeof(rcfilename), "%s.%s",
+ _PATH_RESOLV, ifname);
+ f = fopen(rcfilename, "w");
if (f == NULL) {
- error("Failed to create %s: %m", _PATH_RESOLV);
+ error("Failed to create %s: %m", rcfilename);
return;
}
@@ -2055,7 +2058,7 @@
fprintf(f, "nameserver %s\n", ip_ntoa(peerdns2));
if (ferror(f))
- error("Write failed to %s: %m", _PATH_RESOLV);
+ error("Write failed to %s: %m", rcfilename);
fclose(f);
}
--- pppd/pathnames.h
+++ pppd/pathnames.h
@@ -30,7 +30,7 @@
#define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options."
#define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors"
#define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/"
-#define _PATH_RESOLV _ROOT_PATH "/etc/ppp/resolv.conf"
+#define _PATH_RESOLV _ROOT_PATH "/var/run/ppp_resolv.conf"
#define _PATH_USEROPT ".ppprc"
#define _PATH_PSEUDONYM ".ppp_pseudonym"
--- pppd/pppd.8
+++ pppd/pppd.8
@@ -1062,8 +1062,8 @@
by the peer (if any) are passed to the /etc/ppp/ip\-up script in the
environment variables DNS1 and DNS2, and the environment variable
USEPEERDNS will be set to 1. In addition, pppd will create an
-/etc/ppp/resolv.conf file containing one or two nameserver lines with
-the address(es) supplied by the peer.
+/var/run/ppp_resolv.conf.$INTERFACE file containing one or two nameserver
+lines with the address(es) supplied by the peer.
.TP
.B user \fIname
Sets the name used for authenticating the local system to the peer to

View File

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

3
ppp-2.4.5.git.tar.bz2 Normal file
View File

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

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Fri Sep 12 13:29:59 CEST 2008 - hvogel@suse.de
- update to 2.4.5 (git:07bcc935f7a10bc5d78325fc53a6ac9bdf2aad6a)
* pppd can now operate in a mode where it doesn't request
the peer's IP address, as some peers refuse to supply an IP
address.
* included PPP over L2TP plugin
* Add L2TP support
* Various bug fixes
-------------------------------------------------------------------
Tue Jul 22 14:16:29 CEST 2008 - hvogel@suse.de
- move the resolv.conf written by pppd to /var/run [bnc#401648]
-------------------------------------------------------------------
Wed May 21 11:48:17 CEST 2008 - hvogel@suse.de

View File

@ -1,10 +1,17 @@
#
# spec file for package ppp (Version 2.4.4)
# spec file for package ppp (Version 2.4.5.git)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@ -14,8 +21,8 @@
Name: ppp
BuildRequires: libpcap-devel linux-atm-devel pam-devel
Url: http://www.samba.org/ppp/
Version: 2.4.4
Release: 110
Version: 2.4.5.git
Release: 1
License: BSD 3-Clause; LGPL v2.1 or later
Group: Productivity/Networking/PPP
AutoReqProv: on
@ -60,13 +67,11 @@ Patch11: ppp-makedevice.patch
Patch12: ppp-2.4.2-pie.patch
Patch13: ppp-2.4.3-demand-fix.diff
Patch14: ppp-2.4.3-fork-fix.diff
Patch15: ppp-2.4.3-optflags.patch
Patch16: ppp-2.4.3-no-strict-aliasing.patch
Patch17: ppp-2.4.3-strip.diff
Patch18: ppp-2.4.3-winbind-setuidfix.patch
Patch19: ppp-2.4.4-strncatfix.patch
Patch20: ppp-2.4.2-pppoatm-mtu.patch
Patch21: ppp-2.4.4-lib64.patch
Patch22: ppp-2.4.4-var_run_resolv_conf.patch
%description
The ppp package contains the PPP (Point-to-Point Protocol) daemon,
@ -110,7 +115,7 @@ Authors:
%prep
%setup -q
%patch0 -p1
%patch0
%patch1
%patch2
%patch3
@ -120,19 +125,17 @@ Authors:
%patch8
%patch9
%patch10 -p1
%patch11
# %patch11
%patch12 -p1
%patch13
%patch14 -p1
%patch15
%patch16
%patch14
%patch17
%patch18
%patch19 -p1
%patch20 -p1
%if %_lib == lib64
%patch21
%endif
%patch22
%build
export MY_CFLAGS="$RPM_OPT_FLAGS -fPIC $SP"
@ -184,6 +187,16 @@ rm -rf %{buildroot}
/usr/include/pppd
%changelog
* Fri Sep 12 2008 hvogel@suse.de
- update to 2.4.5 (git:07bcc935f7a10bc5d78325fc53a6ac9bdf2aad6a)
* pppd can now operate in a mode where it doesn't request
the peer's IP address, as some peers refuse to supply an IP
address.
* included PPP over L2TP plugin
* Add L2TP support
* Various bug fixes
* Tue Jul 22 2008 hvogel@suse.de
- move the resolv.conf written by pppd to /var/run [bnc#401648]
* Wed May 21 2008 hvogel@suse.de
- add man page of pppoe-discovery [bnc#392784]
* Thu Apr 03 2008 hvogel@suse.de