diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2009-06-05 19:58:50 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2009-06-05 19:58:50 +0200 |
commit | e874f84fdb6eb83d905a72b35d87398374594b97 (patch) | |
tree | 38ecc86989a194756836fa411c4bfb7c4b68913f /package/ppp/patches | |
parent | 68e89ea1a3ec3690ddefbd97c45174f799847a16 (diff) |
more regressions found at runtime on alic1c
Diffstat (limited to 'package/ppp/patches')
21 files changed, 457 insertions, 511 deletions
diff --git a/package/ppp/patches/100-debian_close_dev_ppp.patch b/package/ppp/patches/100-debian_close_dev_ppp.patch deleted file mode 100644 index 4e50118e8..000000000 --- a/package/ppp/patches/100-debian_close_dev_ppp.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Simon Peter <dn.tlp@gmx.net> -Subject: Bug#306261: pppd does not properly close /dev/ppp on persist - -When using the kernel PPPoE driver, pppd never -closes /dev/ppp when the link has come down. - -It opens superfluous fds to the device each time it re-opens the -connection, with the unclosed ones falsely reported always ready for -data by select(). - -This makes pppd eat up 100% CPU time after the first persist because of -the always instantly returning select() on the unclosed fds. - -The problem also occurs with the upstream version, but does not occur -when a pty/tty device is used for the ppp connection. - - -diff -u -r ppp-2.4.3/pppd/sys-linux.c ppp-2.4.3/pppd/sys-linux.c ---- ppp-2.4.3/pppd/sys-linux.c 2005-04-29 20:08:37.000000000 +0200 -+++ ppp-2.4.3/pppd/sys-linux.c 2005-04-29 20:07:03.000000000 +0200 -@@ -455,6 +455,13 @@ - if (new_style_driver) { - int flags; - -+ /* if a ppp_fd is already open, close it first */ -+ if(ppp_fd > 0) { -+ close(ppp_fd); -+ remove_fd(ppp_fd); -+ ppp_fd = -1; -+ } -+ - /* Open an instance of /dev/ppp and connect the channel to it */ - if (ioctl(fd, PPPIOCGCHAN, &chindex) == -1) { - error("Couldn't get channel number: %m"); diff --git a/package/ppp/patches/203-no_strip.patch b/package/ppp/patches/203-no_strip.patch deleted file mode 100644 index 071f3aa3d..000000000 --- a/package/ppp/patches/203-no_strip.patch +++ /dev/null @@ -1,86 +0,0 @@ -diff -Nur ppp-2.4.4.orig/chat/Makefile.linux ppp-2.4.4/chat/Makefile.linux ---- ppp-2.4.4.orig/chat/Makefile.linux 2006-06-04 07:07:46.000000000 +0200 -+++ ppp-2.4.4/chat/Makefile.linux 2006-12-04 14:17:39.000000000 +0100 -@@ -25,7 +25,7 @@ - - install: chat - mkdir -p $(BINDIR) $(MANDIR) -- $(INSTALL) -s -c chat $(BINDIR) -+ $(INSTALL) -c chat $(BINDIR) - $(INSTALL) -c -m 644 chat.8 $(MANDIR) - - clean: -diff -Nur ppp-2.4.4.orig/pppd/Makefile.linux ppp-2.4.4/pppd/Makefile.linux ---- ppp-2.4.4.orig/pppd/Makefile.linux 2006-06-04 07:07:46.000000000 +0200 -+++ ppp-2.4.4/pppd/Makefile.linux 2006-12-04 14:17:39.000000000 +0100 -@@ -99,7 +99,7 @@ - CFLAGS += -DUSE_SRP -DOPENSSL -I/usr/local/ssl/include - LIBS += -lsrp -L/usr/local/ssl/lib -lcrypto - TARGETS += srp-entry --EXTRAINSTALL = $(INSTALL) -s -c -m 555 srp-entry $(BINDIR)/srp-entry -+EXTRAINSTALL = $(INSTALL) -c -m 555 srp-entry $(BINDIR)/srp-entry - MANPAGES += srp-entry.8 - EXTRACLEAN += srp-entry.o - NEEDDES=y -@@ -200,7 +200,7 @@ - install: pppd - mkdir -p $(BINDIR) $(MANDIR) - $(EXTRAINSTALL) -- $(INSTALL) -s -c -m 555 pppd $(BINDIR)/pppd -+ $(INSTALL) -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) -diff -Nur ppp-2.4.4.orig/pppd/plugins/radius/Makefile.linux ppp-2.4.4/pppd/plugins/radius/Makefile.linux ---- ppp-2.4.4.orig/pppd/plugins/radius/Makefile.linux 2006-06-04 07:04:14.000000000 +0200 -+++ ppp-2.4.4/pppd/plugins/radius/Makefile.linux 2006-12-04 14:17:39.000000000 +0100 -@@ -36,9 +36,9 @@ - - 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) - -diff -Nur ppp-2.4.4.orig/pppd/plugins/rp-pppoe/Makefile.linux ppp-2.4.4/pppd/plugins/rp-pppoe/Makefile.linux ---- ppp-2.4.4.orig/pppd/plugins/rp-pppoe/Makefile.linux 2006-06-04 07:07:46.000000000 +0200 -+++ ppp-2.4.4/pppd/plugins/rp-pppoe/Makefile.linux 2006-12-04 14:17:39.000000000 +0100 -@@ -39,9 +39,9 @@ - - install: all - $(INSTALL) -d -m 755 $(LIBDIR) -- $(INSTALL) -s -c -m 4550 rp-pppoe.so $(LIBDIR) -+ $(INSTALL) -c -m 4550 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 -diff -Nur ppp-2.4.4.orig/pppdump/Makefile.linux ppp-2.4.4/pppdump/Makefile.linux ---- ppp-2.4.4.orig/pppdump/Makefile.linux 2006-06-04 07:04:14.000000000 +0200 -+++ ppp-2.4.4/pppdump/Makefile.linux 2006-12-04 14:17:39.000000000 +0100 -@@ -17,5 +17,5 @@ - - install: - mkdir -p $(BINDIR) $(MANDIR) -- $(INSTALL) -s -c pppdump $(BINDIR) -+ $(INSTALL) -c pppdump $(BINDIR) - $(INSTALL) -c -m 444 pppdump.8 $(MANDIR) -diff -Nur ppp-2.4.4.orig/pppstats/Makefile.linux ppp-2.4.4/pppstats/Makefile.linux ---- ppp-2.4.4.orig/pppstats/Makefile.linux 2006-06-04 07:07:46.000000000 +0200 -+++ ppp-2.4.4/pppstats/Makefile.linux 2006-12-04 14:17:39.000000000 +0100 -@@ -22,7 +22,7 @@ - - install: pppstats - -mkdir -p $(MANDIR) -- $(INSTALL) -s -c pppstats $(BINDIR) -+ $(INSTALL) -c pppstats $(BINDIR) - $(INSTALL) -c -m 444 pppstats.8 $(MANDIR) - - pppstats: $(PPPSTATSRCS) diff --git a/package/ppp/patches/204-opt_flags.patch b/package/ppp/patches/204-opt_flags.patch deleted file mode 100644 index 200e76b5b..000000000 --- a/package/ppp/patches/204-opt_flags.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -ruN ppp-2.4.3-orig/pppd/plugins/radius/Makefile.linux ppp-2.4.3-3/pppd/plugins/radius/Makefile.linux ---- ppp-2.4.3-orig/pppd/plugins/radius/Makefile.linux 2004-11-14 08:02:31.000000000 +0100 -+++ ppp-2.4.3-3/pppd/plugins/radius/Makefile.linux 2004-12-05 17:43:17.000000000 +0100 -@@ -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 = -O2 -+CFLAGS=-I. -I../.. -I../../../include $(COPTS) -fPIC -DRC_LOG_FACILITY=LOG_DAEMON - - # Uncomment the next line to include support for Microsoft's - # MS-CHAP authentication protocol. -diff -ruN ppp-2.4.3-orig/pppdump/Makefile.linux ppp-2.4.3-3/pppdump/Makefile.linux ---- ppp-2.4.3-orig/pppdump/Makefile.linux 2004-10-31 02:36:52.000000000 +0200 -+++ ppp-2.4.3-3/pppdump/Makefile.linux 2004-12-05 17:50:34.000000000 +0100 -@@ -2,7 +2,8 @@ - BINDIR = $(DESTDIR)/sbin - MANDIR = $(DESTDIR)/share/man/man8 - --CFLAGS= -O -I../include/net -+COPTS = -O -+CFLAGS= $(COPTS) -I../include/net - OBJS = pppdump.o bsd-comp.o deflate.o zlib.o - - INSTALL= install diff --git a/package/ppp/patches/320-use_target_ar.patch b/package/ppp/patches/320-use_target_ar.patch deleted file mode 100644 index 8601d9d56..000000000 --- a/package/ppp/patches/320-use_target_ar.patch +++ /dev/null @@ -1,24 +0,0 @@ -$Id$ - ---- ppp-2.4.3/pppd/plugins/radius/Makefile.linux.orig Sun Jun 18 23:45:43 2006 -+++ ppp-2.4.3/pppd/plugins/radius/Makefile.linux Sun Jun 18 23:46:01 2006 -@@ -55,7 +55,7 @@ radrealms.so: radrealms.o - CLIENTOBJS = avpair.o buildreq.o config.o dict.o ip_util.o \ - clientid.o sendserver.o lock.o util.o md5.o - libradiusclient.a: $(CLIENTOBJS) -- $(AR) rv $@ $? -+ $(TARGET_AR) rcsv $@ $? - - clean: - rm -f *.o *.so *.a ---- ppp-2.4.3/pppd/plugins/rp-pppoe/Makefile.linux.orig Sun Jun 18 23:45:44 2006 -+++ ppp-2.4.3/pppd/plugins/rp-pppoe/Makefile.linux Sun Jun 18 23:46:09 2006 -@@ -50,7 +50,7 @@ plugin.o: plugin.c - $(CC) '-DRP_VERSION="$(VERSION)"' $(CFLAGS) -I../../.. -c -o plugin.o -fPIC plugin.c - - libplugin.a: discovery.o if.o common.o debug.o -- $(AR) -rc $@ $^ -+ $(TARGET_AR) -rcs $@ $^ - - discovery.o: discovery.c - $(CC) $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o discovery.o -fPIC discovery.c diff --git a/package/ppp/patches/patch-chat_Makefile_linux b/package/ppp/patches/patch-chat_Makefile_linux new file mode 100644 index 000000000..63190f3e3 --- /dev/null +++ b/package/ppp/patches/patch-chat_Makefile_linux @@ -0,0 +1,11 @@ +--- ppp-2.4.4.orig/chat/Makefile.linux 2006-06-04 07:07:46.000000000 +0200 ++++ ppp-2.4.4/chat/Makefile.linux 2009-06-05 19:12:00.000000000 +0200 +@@ -25,7 +25,7 @@ chat.o: chat.c + + install: chat + mkdir -p $(BINDIR) $(MANDIR) +- $(INSTALL) -s -c chat $(BINDIR) ++ $(INSTALL) -c chat $(BINDIR) + $(INSTALL) -c -m 644 chat.8 $(MANDIR) + + clean: diff --git a/package/ppp/patches/010-use_target_for_configuration.patch b/package/ppp/patches/patch-configure index 0b804694b..4ec084e2e 100644 --- a/package/ppp/patches/010-use_target_for_configuration.patch +++ b/package/ppp/patches/patch-configure @@ -1,10 +1,5 @@ -$Id$ - - Use values exported from $(TOPDIR)/rules.mk for determining - the target system instead of the host configuration, d'oh - ---- ppp-2.4.3/configure.orig Sat Nov 6 11:36:32 2004 -+++ ppp-2.4.3/configure Sun Jun 18 23:40:46 2006 +--- ppp-2.4.4.orig/configure 2005-07-09 02:23:05.000000000 +0200 ++++ ppp-2.4.4/configure 2009-06-05 19:12:00.000000000 +0200 @@ -8,9 +8,9 @@ SYSCONF=/etc # if [ -d /NextApps ]; then # system="NeXTStep" diff --git a/package/ppp/patches/patch-include_linux_ppp-comp_h b/package/ppp/patches/patch-include_linux_ppp-comp_h new file mode 100644 index 000000000..4ffaea45c --- /dev/null +++ b/package/ppp/patches/patch-include_linux_ppp-comp_h @@ -0,0 +1,63 @@ +--- ppp-2.4.4.orig/include/linux/ppp-comp.h 2002-12-06 10:49:15.000000000 +0100 ++++ ppp-2.4.4/include/linux/ppp-comp.h 2009-06-05 19:12:00.000000000 +0200 +@@ -36,7 +36,7 @@ + */ + + /* +- * ==FILEVERSION 20020319== ++ * ==FILEVERSION 20020715== + * + * NOTE TO MAINTAINERS: + * If you modify this file at all, please set the above date. +@@ -86,7 +86,7 @@ struct compressor { + + /* Compress a packet */ + int (*compress) (void *state, unsigned char *rptr, +- unsigned char *obuf, int isize, int osize); ++ unsigned char *obuf, int isize, int osize); + + /* Return compression statistics */ + void (*comp_stat) (void *state, struct compstat *stats); +@@ -107,7 +107,7 @@ struct compressor { + + /* Decompress a packet. */ + int (*decompress) (void *state, unsigned char *ibuf, int isize, +- unsigned char *obuf, int osize); ++ unsigned char *obuf, int osize); + + /* Update state for an incompressible packet received */ + void (*incomp) (void *state, unsigned char *ibuf, int icnt); +@@ -288,6 +288,33 @@ struct compressor { + opts |= MPPE_OPT_UNKNOWN; \ + } while (/* CONSTCOND */ 0) + ++/* MPPE/MPPC definitions by J.D.*/ ++#define MPPE_STATELESS MPPE_H_BIT /* configuration bit H */ ++#define MPPE_40BIT MPPE_L_BIT /* configuration bit L */ ++#define MPPE_56BIT MPPE_M_BIT /* configuration bit M */ ++#define MPPE_128BIT MPPE_S_BIT /* configuration bit S */ ++#define MPPE_MPPC MPPE_C_BIT /* configuration bit C */ ++ ++/* ++ * Definitions for Stac LZS. ++ */ ++ ++#define CI_LZS 17 /* config option for Stac LZS */ ++#define CILEN_LZS 5 /* length of config option */ ++ ++#define LZS_OVHD 4 /* max. LZS overhead */ ++#define LZS_HIST_LEN 2048 /* LZS history size */ ++#define LZS_MAX_CCOUNT 0x0FFF /* max. coherency counter value */ ++ ++#define LZS_MODE_NONE 0 ++#define LZS_MODE_LCB 1 ++#define LZS_MODE_CRC 2 ++#define LZS_MODE_SEQ 3 ++#define LZS_MODE_EXT 4 ++ ++#define LZS_EXT_BIT_FLUSHED 0x80 /* bit A */ ++#define LZS_EXT_BIT_COMP 0x20 /* bit C */ ++ + /* + * Definitions for other, as yet unsupported, compression methods. + */ diff --git a/package/ppp/patches/patch-include_net_ppp-comp_h b/package/ppp/patches/patch-include_net_ppp-comp_h new file mode 100644 index 000000000..239cf1443 --- /dev/null +++ b/package/ppp/patches/patch-include_net_ppp-comp_h @@ -0,0 +1,36 @@ +--- ppp-2.4.4.orig/include/net/ppp-comp.h 2002-12-06 10:49:15.000000000 +0100 ++++ ppp-2.4.4/include/net/ppp-comp.h 2009-06-05 19:12:00.000000000 +0200 +@@ -255,6 +255,33 @@ struct compressor { + opts |= MPPE_OPT_UNKNOWN; \ + } while (/* CONSTCOND */ 0) + ++/* MPPE/MPPC definitions by J.D.*/ ++#define MPPE_STATELESS MPPE_H_BIT /* configuration bit H */ ++#define MPPE_40BIT MPPE_L_BIT /* configuration bit L */ ++#define MPPE_56BIT MPPE_M_BIT /* configuration bit M */ ++#define MPPE_128BIT MPPE_S_BIT /* configuration bit S */ ++#define MPPE_MPPC MPPE_C_BIT /* configuration bit C */ ++ ++/* ++ * Definitions for Stac LZS. ++ */ ++ ++#define CI_LZS 17 /* config option for Stac LZS */ ++#define CILEN_LZS 5 /* length of config option */ ++ ++#define LZS_OVHD 4 /* max. LZS overhead */ ++#define LZS_HIST_LEN 2048 /* LZS history size */ ++#define LZS_MAX_CCOUNT 0x0FFF /* max. coherency counter value */ ++ ++#define LZS_MODE_NONE 0 ++#define LZS_MODE_LCB 1 ++#define LZS_MODE_CRC 2 ++#define LZS_MODE_SEQ 3 ++#define LZS_MODE_EXT 4 ++ ++#define LZS_EXT_BIT_FLUSHED 0x80 /* bit A */ ++#define LZS_EXT_BIT_COMP 0x20 /* bit C */ ++ + /* + * Definitions for other, as yet unsupported, compression methods. + */ diff --git a/package/ppp/patches/200-makefile.patch b/package/ppp/patches/patch-pppd_Makefile_linux index df0f08e44..32453b249 100644 --- a/package/ppp/patches/200-makefile.patch +++ b/package/ppp/patches/patch-pppd_Makefile_linux @@ -1,7 +1,6 @@ -diff -Nur ppp-2.4.4.orig/pppd/Makefile.linux ppp-2.4.4/pppd/Makefile.linux --- ppp-2.4.4.orig/pppd/Makefile.linux 2006-06-04 07:07:46.000000000 +0200 -+++ ppp-2.4.4/pppd/Makefile.linux 2007-10-04 08:53:26.000000000 +0200 -@@ -48,7 +48,7 @@ ++++ ppp-2.4.4/pppd/Makefile.linux 2009-06-05 19:12:00.000000000 +0200 +@@ -48,7 +48,7 @@ MPPE=y # Uncomment the next line to include support for PPP packet filtering. # This requires that the libpcap library and headers be installed # and that the kernel driver support PPP packet filtering. @@ -10,7 +9,7 @@ diff -Nur ppp-2.4.4.orig/pppd/Makefile.linux ppp-2.4.4/pppd/Makefile.linux # Uncomment the next line to enable multilink PPP (enabled by default) # Linux distributions: Please leave multilink ENABLED in your builds -@@ -58,9 +58,9 @@ +@@ -58,9 +58,9 @@ HAVE_MULTILINK=y # Uncomment the next line to enable the TDB database (enabled by default.) # If you enable multilink, then TDB is automatically enabled also. # Linux distributions: Please leave TDB ENABLED in your builds. @@ -22,7 +21,7 @@ diff -Nur ppp-2.4.4.orig/pppd/Makefile.linux ppp-2.4.4/pppd/Makefile.linux #USE_PAM=y #HAVE_INET6=y -@@ -77,7 +77,7 @@ +@@ -77,7 +77,7 @@ MAXOCTETS=y INCLUDE_DIRS= -I../include @@ -31,7 +30,16 @@ diff -Nur ppp-2.4.4.orig/pppd/Makefile.linux ppp-2.4.4/pppd/Makefile.linux CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS) '-DDESTDIR="@DESTDIR@"' -@@ -117,10 +117,8 @@ +@@ -99,7 +99,7 @@ ifdef USE_SRP + CFLAGS += -DUSE_SRP -DOPENSSL -I/usr/local/ssl/include + LIBS += -lsrp -L/usr/local/ssl/lib -lcrypto + TARGETS += srp-entry +-EXTRAINSTALL = $(INSTALL) -s -c -m 555 srp-entry $(BINDIR)/srp-entry ++EXTRAINSTALL = $(INSTALL) -c -m 555 srp-entry $(BINDIR)/srp-entry + MANPAGES += srp-entry.8 + EXTRACLEAN += srp-entry.o + NEEDDES=y +@@ -117,10 +117,8 @@ CFLAGS += -DHAS_SHADOW #LIBS += -lshadow $(LIBS) endif @@ -42,3 +50,12 @@ diff -Nur ppp-2.4.4.orig/pppd/Makefile.linux ppp-2.4.4/pppd/Makefile.linux ifdef NEEDDES ifndef USE_CRYPT +@@ -200,7 +198,7 @@ all: $(TARGETS) + install: pppd + mkdir -p $(BINDIR) $(MANDIR) + $(EXTRAINSTALL) +- $(INSTALL) -s -c -m 555 pppd $(BINDIR)/pppd ++ $(INSTALL) -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) diff --git a/package/ppp/patches/201-mppe_mppc_1.1.patch b/package/ppp/patches/patch-pppd_ccp_c index c315656a2..66b76b03d 100644 --- a/package/ppp/patches/201-mppe_mppc_1.1.patch +++ b/package/ppp/patches/patch-pppd_ccp_c @@ -1,107 +1,6 @@ -diff -ruN ppp-2.4.3.orig/include/linux/ppp-comp.h ppp-2.4.3/include/linux/ppp-comp.h ---- ppp-2.4.3.orig/include/linux/ppp-comp.h 2002-12-06 10:49:15.000000000 +0100 -+++ ppp-2.4.3/include/linux/ppp-comp.h 2004-11-21 13:54:09.000000000 +0100 -@@ -36,7 +36,7 @@ - */ - - /* -- * ==FILEVERSION 20020319== -+ * ==FILEVERSION 20020715== - * - * NOTE TO MAINTAINERS: - * If you modify this file at all, please set the above date. -@@ -86,7 +86,7 @@ - - /* Compress a packet */ - int (*compress) (void *state, unsigned char *rptr, -- unsigned char *obuf, int isize, int osize); -+ unsigned char *obuf, int isize, int osize); - - /* Return compression statistics */ - void (*comp_stat) (void *state, struct compstat *stats); -@@ -107,7 +107,7 @@ - - /* Decompress a packet. */ - int (*decompress) (void *state, unsigned char *ibuf, int isize, -- unsigned char *obuf, int osize); -+ unsigned char *obuf, int osize); - - /* Update state for an incompressible packet received */ - void (*incomp) (void *state, unsigned char *ibuf, int icnt); -@@ -288,6 +288,33 @@ - opts |= MPPE_OPT_UNKNOWN; \ - } while (/* CONSTCOND */ 0) - -+/* MPPE/MPPC definitions by J.D.*/ -+#define MPPE_STATELESS MPPE_H_BIT /* configuration bit H */ -+#define MPPE_40BIT MPPE_L_BIT /* configuration bit L */ -+#define MPPE_56BIT MPPE_M_BIT /* configuration bit M */ -+#define MPPE_128BIT MPPE_S_BIT /* configuration bit S */ -+#define MPPE_MPPC MPPE_C_BIT /* configuration bit C */ -+ -+/* -+ * Definitions for Stac LZS. -+ */ -+ -+#define CI_LZS 17 /* config option for Stac LZS */ -+#define CILEN_LZS 5 /* length of config option */ -+ -+#define LZS_OVHD 4 /* max. LZS overhead */ -+#define LZS_HIST_LEN 2048 /* LZS history size */ -+#define LZS_MAX_CCOUNT 0x0FFF /* max. coherency counter value */ -+ -+#define LZS_MODE_NONE 0 -+#define LZS_MODE_LCB 1 -+#define LZS_MODE_CRC 2 -+#define LZS_MODE_SEQ 3 -+#define LZS_MODE_EXT 4 -+ -+#define LZS_EXT_BIT_FLUSHED 0x80 /* bit A */ -+#define LZS_EXT_BIT_COMP 0x20 /* bit C */ -+ - /* - * Definitions for other, as yet unsupported, compression methods. - */ -diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h ---- ppp-2.4.3.orig/include/net/ppp-comp.h 2002-12-06 10:49:15.000000000 +0100 -+++ ppp-2.4.3/include/net/ppp-comp.h 2004-11-21 13:54:09.000000000 +0100 -@@ -255,6 +255,33 @@ - opts |= MPPE_OPT_UNKNOWN; \ - } while (/* CONSTCOND */ 0) - -+/* MPPE/MPPC definitions by J.D.*/ -+#define MPPE_STATELESS MPPE_H_BIT /* configuration bit H */ -+#define MPPE_40BIT MPPE_L_BIT /* configuration bit L */ -+#define MPPE_56BIT MPPE_M_BIT /* configuration bit M */ -+#define MPPE_128BIT MPPE_S_BIT /* configuration bit S */ -+#define MPPE_MPPC MPPE_C_BIT /* configuration bit C */ -+ -+/* -+ * Definitions for Stac LZS. -+ */ -+ -+#define CI_LZS 17 /* config option for Stac LZS */ -+#define CILEN_LZS 5 /* length of config option */ -+ -+#define LZS_OVHD 4 /* max. LZS overhead */ -+#define LZS_HIST_LEN 2048 /* LZS history size */ -+#define LZS_MAX_CCOUNT 0x0FFF /* max. coherency counter value */ -+ -+#define LZS_MODE_NONE 0 -+#define LZS_MODE_LCB 1 -+#define LZS_MODE_CRC 2 -+#define LZS_MODE_SEQ 3 -+#define LZS_MODE_EXT 4 -+ -+#define LZS_EXT_BIT_FLUSHED 0x80 /* bit A */ -+#define LZS_EXT_BIT_COMP 0x20 /* bit C */ -+ - /* - * Definitions for other, as yet unsupported, compression methods. - */ ---- ppp-2.4.4/pppd/ccp.c.orig 2005-07-09 02:23:05.000000000 +0200 -+++ ppp-2.4.4/pppd/ccp.c 2006-07-21 23:34:12.121546000 +0200 -@@ -62,12 +62,10 @@ +--- ppp-2.4.4.orig/pppd/ccp.c 2005-07-09 02:23:05.000000000 +0200 ++++ ppp-2.4.4/pppd/ccp.c 2009-06-05 19:12:00.000000000 +0200 +@@ -62,12 +62,10 @@ static int setdeflate __P((char **)); static char bsd_value[8]; static char deflate_value[8]; @@ -117,22 +16,11 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h static option_t ccp_option_list[] = { { "noccp", o_bool, &ccp_protent.enabled_flag, -@@ -108,54 +106,36 @@ +@@ -108,54 +106,36 @@ static option_t ccp_option_list[] = { "don't allow Predictor-1", OPT_ALIAS | OPT_PRIOSUB | OPT_A2CLR, &ccp_allowoptions[0].predictor_1 }, -+ { "lzs", o_bool, &ccp_wantoptions[0].lzs, -+ "request Stac LZS", 1, &ccp_allowoptions[0].lzs, OPT_PRIO }, -+ { "+lzs", o_bool, &ccp_wantoptions[0].lzs, -+ "request Stac LZS", 1, &ccp_allowoptions[0].lzs, OPT_ALIAS | OPT_PRIO }, -+ { "nolzs", o_bool, &ccp_wantoptions[0].lzs, -+ "don't allow Stac LZS", OPT_PRIOSUB | OPT_A2CLR, -+ &ccp_allowoptions[0].lzs }, -+ { "-lzs", o_bool, &ccp_wantoptions[0].lzs, -+ "don't allow Stac LZS", OPT_ALIAS | OPT_PRIOSUB | OPT_A2CLR, -+ &ccp_allowoptions[0].lzs }, -+ - #ifdef MPPE +-#ifdef MPPE - /* MPPE options are symmetrical ... we only set wantoptions here */ - { "require-mppe", o_bool, &ccp_wantoptions[0].mppe, - "require MPPE encryption", @@ -174,12 +62,23 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h - "don't allow MPPE 128-bit encryption", - OPT_ALIAS | OPT_PRIOSUB | OPT_A2CLRB | MPPE_OPT_128, - &ccp_wantoptions[0].mppe }, -- ++ { "lzs", o_bool, &ccp_wantoptions[0].lzs, ++ "request Stac LZS", 1, &ccp_allowoptions[0].lzs, OPT_PRIO }, ++ { "+lzs", o_bool, &ccp_wantoptions[0].lzs, ++ "request Stac LZS", 1, &ccp_allowoptions[0].lzs, OPT_ALIAS | OPT_PRIO }, ++ { "nolzs", o_bool, &ccp_wantoptions[0].lzs, ++ "don't allow Stac LZS", OPT_PRIOSUB | OPT_A2CLR, ++ &ccp_allowoptions[0].lzs }, ++ { "-lzs", o_bool, &ccp_wantoptions[0].lzs, ++ "don't allow Stac LZS", OPT_ALIAS | OPT_PRIOSUB | OPT_A2CLR, ++ &ccp_allowoptions[0].lzs }, + - /* strange one; we always request stateless, but will we allow stateful? */ - { "mppe-stateful", o_bool, &refuse_mppe_stateful, - "allow MPPE stateful mode", OPT_PRIO }, - { "nomppe-stateful", o_bool, &refuse_mppe_stateful, - "disallow MPPE stateful mode", OPT_PRIO | 1 }, ++#ifdef MPPE + { "mppc", o_bool, &ccp_wantoptions[0].mppc, + "request MPPC compression", 1, &ccp_allowoptions[0].mppc }, + { "+mppc", o_bool, &ccp_wantoptions[0].mppc, @@ -201,7 +100,7 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h #endif /* MPPE */ { NULL } -@@ -241,7 +221,7 @@ +@@ -241,7 +221,7 @@ static fsm_callbacks ccp_callbacks = { */ #define ANY_COMPRESS(opt) ((opt).deflate || (opt).bsd_compress \ || (opt).predictor_1 || (opt).predictor_2 \ @@ -210,7 +109,7 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h /* * Local state (mainly for handling reset-reqs and reset-acks). -@@ -344,6 +324,100 @@ +@@ -344,6 +324,100 @@ setdeflate(argv) return 1; } @@ -311,7 +210,7 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h /* * ccp_init - initialize CCP. */ -@@ -378,6 +452,30 @@ +@@ -378,6 +452,30 @@ ccp_init(unit) ccp_allowoptions[0].bsd_bits = BSD_MAX_BITS; ccp_allowoptions[0].predictor_1 = 1; @@ -342,7 +241,7 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h } /* -@@ -455,11 +553,11 @@ +@@ -455,11 +553,11 @@ ccp_input(unit, p, len) if (oldstate == OPENED && p[0] == TERMREQ && f->state != OPENED) { notice("Compression disabled by peer."); #ifdef MPPE @@ -356,7 +255,7 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h } /* -@@ -487,6 +585,15 @@ +@@ -487,6 +585,15 @@ ccp_extcode(f, code, id, p, len) break; /* send a reset-ack, which the transmitter will see and reset its compression state. */ @@ -372,7 +271,7 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h fsm_sdata(f, CCP_RESETACK, id, NULL, 0); break; -@@ -515,12 +622,11 @@ +@@ -515,12 +622,11 @@ ccp_protrej(unit) fsm_lowerdown(&ccp_fsm[unit]); #ifdef MPPE @@ -387,7 +286,7 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h } /* -@@ -537,7 +643,7 @@ +@@ -537,7 +643,7 @@ ccp_resetci(f) all_rejected[f->unit] = 0; #ifdef MPPE @@ -396,7 +295,7 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h ccp_options *ao = &ccp_allowoptions[f->unit]; int auth_mschap_bits = auth_done[f->unit]; int numbits; -@@ -551,80 +657,109 @@ +@@ -551,80 +657,109 @@ ccp_resetci(f) * NB: If MPPE is required, all other compression opts are invalid. * So, we return right away if we can't do it. */ @@ -441,36 +340,19 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h - error("MPPE required, but MS-CHAP[v2] auth not performed."); - lcp_close(f->unit, "MPPE required but not available"); - return; -- } -- -- /* A plugin (eg radius) may not have obtained key material. */ -- if (!mppe_keys_set) { -- error("MPPE required, but keys are not available. " -- "Possible plugin problem?"); -- lcp_close(f->unit, "MPPE required but not available"); -- return; -- } -- -- /* LM auth not supported for MPPE */ -- if (auth_done[f->unit] & (CHAP_MS_WITHPEER | CHAP_MS_PEER)) { -- /* This might be noise */ -- if (go->mppe & MPPE_OPT_40) { -- notice("Disabling 40-bit MPPE; MS-CHAP LM not supported"); -- go->mppe &= ~MPPE_OPT_40; -- ccp_wantoptions[f->unit].mppe &= ~MPPE_OPT_40; + /* A plugin (eg radius) may not have obtained key material. */ + if (!mppe_keys_set) { + error("MPPE required, but keys are not available. " + "Possible plugin problem?"); + lcp_close(f->unit, "MPPE required but not available"); + return; - } ++ } } -- /* Last check: can we actually negotiate something? */ -- if (!(go->mppe & (MPPE_OPT_40 | MPPE_OPT_128))) { -- /* Could be misconfig, could be 40-bit disabled above. */ -- error("MPPE required, but both 40-bit and 128-bit disabled."); +- /* A plugin (eg radius) may not have obtained key material. */ +- if (!mppe_keys_set) { +- error("MPPE required, but keys are not available. " +- "Possible plugin problem?"); - lcp_close(f->unit, "MPPE required but not available"); - return; + /* @@ -487,7 +369,16 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h + opt_buf[5] = MPPE_MPPC; + if (ccp_test(f->unit, opt_buf, CILEN_MPPE, 0) <= 0) + go->mppc = 0; -+ } + } +- +- /* LM auth not supported for MPPE */ +- if (auth_done[f->unit] & (CHAP_MS_WITHPEER | CHAP_MS_PEER)) { +- /* This might be noise */ +- if (go->mppe & MPPE_OPT_40) { +- notice("Disabling 40-bit MPPE; MS-CHAP LM not supported"); +- go->mppe &= ~MPPE_OPT_40; +- ccp_wantoptions[f->unit].mppe &= ~MPPE_OPT_40; +- } + if (go->mppe_40) { + opt_buf[0] = CI_MPPE; + opt_buf[1] = CILEN_MPPE; @@ -497,7 +388,14 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h + opt_buf[5] = MPPE_40BIT; + if (ccp_test(f->unit, opt_buf, CILEN_MPPE + MPPE_MAX_KEY_LEN, 0) <= 0) + go->mppe_40 = 0; -+ } + } +- +- /* Last check: can we actually negotiate something? */ +- if (!(go->mppe & (MPPE_OPT_40 | MPPE_OPT_128))) { +- /* Could be misconfig, could be 40-bit disabled above. */ +- error("MPPE required, but both 40-bit and 128-bit disabled."); +- lcp_close(f->unit, "MPPE required but not available"); +- return; + if (go->mppe_56) { + opt_buf[0] = CI_MPPE; + opt_buf[1] = CILEN_MPPE; @@ -572,7 +470,7 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h if (go->bsd_compress) { opt_buf[0] = CI_BSD_COMPRESS; opt_buf[1] = CILEN_BSD_COMPRESS; -@@ -679,7 +814,8 @@ +@@ -679,7 +814,8 @@ ccp_cilen(f) + (go->deflate? CILEN_DEFLATE: 0) + (go->predictor_1? CILEN_PREDICTOR_1: 0) + (go->predictor_2? CILEN_PREDICTOR_2: 0) @@ -582,7 +480,7 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h } /* -@@ -693,6 +829,8 @@ +@@ -693,6 +829,8 @@ ccp_addci(f, p, lenp) { int res; ccp_options *go = &ccp_gotoptions[f->unit]; @@ -591,7 +489,7 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h u_char *p0 = p; /* -@@ -701,22 +839,43 @@ +@@ -701,22 +839,43 @@ ccp_addci(f, p, lenp) * in case it gets Acked. */ #ifdef MPPE @@ -644,7 +542,7 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h if (go->deflate) { p[0] = go->deflate_correct? CI_DEFLATE: CI_DEFLATE_DRAFT; p[1] = CILEN_DEFLATE; -@@ -802,7 +961,7 @@ +@@ -802,7 +961,7 @@ ccp_addci(f, p, lenp) /* * ccp_ackci - process a received configure-ack, and return @@ -653,7 +551,7 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h */ static int ccp_ackci(f, p, len) -@@ -811,24 +970,44 @@ +@@ -811,24 +970,44 @@ ccp_ackci(f, p, len) int len; { ccp_options *go = &ccp_gotoptions[f->unit]; @@ -707,7 +605,7 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h if (go->deflate) { if (len < CILEN_DEFLATE || p[0] != (go->deflate_correct? CI_DEFLATE: CI_DEFLATE_DRAFT) -@@ -891,7 +1070,7 @@ +@@ -891,7 +1070,7 @@ ccp_ackci(f, p, len) /* * ccp_nakci - process received configure-nak. @@ -716,7 +614,7 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h */ static int ccp_nakci(f, p, len, treat_as_reject) -@@ -901,6 +1080,8 @@ +@@ -901,6 +1080,8 @@ ccp_nakci(f, p, len, treat_as_reject) int treat_as_reject; { ccp_options *go = &ccp_gotoptions[f->unit]; @@ -725,7 +623,7 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h ccp_options no; /* options we've seen already */ ccp_options try; /* options to ask for next time */ -@@ -908,28 +1089,100 @@ +@@ -908,28 +1089,100 @@ ccp_nakci(f, p, len, treat_as_reject) try = *go; #ifdef MPPE @@ -743,19 +641,18 @@ diff -ruN ppp-2.4.3.orig/include/net/ppp-comp.h ppp-2.4.3/include/net/ppp-comp.h - } else if (((go->mppe | MPPE_OPT_STATEFUL) & try.mppe) != try.mppe) { - /* Peer must have set options we didn't request (suggest) */ - try.mppe = 0; -- } + if (( |