Changeset 15955


Ignore:
Timestamp:
2009-05-21T00:36:38+02:00 (7 years ago)
Author:
jow
Message:

[package] update ppp to v2.4.4 (#5102)

Location:
trunk/package/ppp
Files:
18 added
20 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/ppp/Makefile

    r15245 r15955  
    11#  
    2 # Copyright (C) 2006-2008 OpenWrt.org 
     2# Copyright (C) 2006-2009 OpenWrt.org 
    33# 
    44# This is free software, licensed under the GNU General Public License v2. 
     
    99 
    1010PKG_NAME:=ppp 
    11 PKG_VERSION:=2.4.3 
    12 PKG_RELEASE:=11 
     11PKG_VERSION:=2.4.4 
     12PKG_RELEASE:=1 
    1313 
    1414PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz 
    1515PKG_SOURCE_URL:=ftp://ftp.samba.org/pub/ppp/ 
    16 PKG_MD5SUM:=848f6c3cafeb6074ffeb293c3af79b7c 
     16PKG_MD5SUM:=183800762e266132218b204dfb428d29 
    1717 
    1818PKG_BUILD_DEPENDS:=libpcap 
  • trunk/package/ppp/patches/200-makefile.patch

    r15245 r15955  
    1 Index: ppp-2.4.3/pppd/Makefile.linux 
    2 =================================================================== 
    3 --- ppp-2.4.3.orig/pppd/Makefile.linux  2007-06-04 13:22:08.197609056 +0200 
    4 +++ ppp-2.4.3/pppd/Makefile.linux       2007-06-04 13:22:11.837055776 +0200 
     1diff -Naur ppp-2.4.4.orig/pppd/Makefile.linux ppp-2.4.4/pppd/Makefile.linux 
     2--- ppp-2.4.4.orig/pppd/Makefile.linux  2009-05-08 23:17:17.000000000 -0400 
     3+++ ppp-2.4.4/pppd/Makefile.linux       2009-05-08 23:18:37.000000000 -0400 
    54@@ -48,21 +48,21 @@ 
    65 # Uncomment the next line to include support for PPP packet filtering. 
     
    3736+COMPILE_FLAGS= -DHAVE_PATHS_H -DHAVE_MMAP 
    3837  
    39  CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS) 
     38 CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS) '-DDESTDIR="@DESTDIR@"' 
    4039  
    41 @@ -117,12 +117,12 @@ 
     40@@ -117,10 +117,10 @@ 
    4241 #LIBS     += -lshadow $(LIBS) 
    4342 endif 
     
    4544-ifneq ($(wildcard /usr/include/crypt.h),) 
    4645+#ifneq ($(wildcard /usr/include/crypt.h),) 
    47  CFLAGS   += -DHAVE_CRYPT_H=1 
    48 -endif 
    49 -ifneq ($(wildcard /usr/lib/libcrypt.*),) 
    50 +#endif 
    51 +#ifneq ($(wildcard /usr/lib/libcrypt.*),) 
     46 CFLAGS  += -DHAVE_CRYPT_H=1 
    5247 LIBS   += -lcrypt 
    5348-endif 
  • trunk/package/ppp/patches/201-mppe_mppc_1.1.patch

    r15245 r15955  
    1 Index: ppp-2.4.3/include/linux/ppp-comp.h 
    2 =================================================================== 
    3 --- ppp-2.4.3.orig/include/linux/ppp-comp.h     2007-06-04 13:22:08.143617264 +0200 
    4 +++ ppp-2.4.3/include/linux/ppp-comp.h  2007-06-04 13:22:12.031026288 +0200 
     1diff -Naur ppp-2.4.4.orig/include/linux/ppp-comp.h ppp-2.4.4/include/linux/ppp-comp.h 
     2--- ppp-2.4.4.orig/include/linux/ppp-comp.h     2009-05-09 03:44:09.000000000 -0400 
     3+++ ppp-2.4.4/include/linux/ppp-comp.h  2009-05-09 03:45:52.000000000 -0400 
    54@@ -36,7 +36,7 @@ 
    65  */ 
     
    6463  * Definitions for other, as yet unsupported, compression methods. 
    6564  */ 
    66 Index: ppp-2.4.3/include/net/ppp-comp.h 
    67 =================================================================== 
    68 --- ppp-2.4.3.orig/include/net/ppp-comp.h       2007-06-04 13:22:08.150616200 +0200 
    69 +++ ppp-2.4.3/include/net/ppp-comp.h    2007-06-04 13:22:12.031026288 +0200 
     65diff -Naur ppp-2.4.4.orig/include/net/ppp-comp.h ppp-2.4.4/include/net/ppp-comp.h 
     66--- ppp-2.4.4.orig/include/net/ppp-comp.h       2009-05-09 03:44:09.000000000 -0400 
     67+++ ppp-2.4.4/include/net/ppp-comp.h    2009-05-09 03:45:52.000000000 -0400 
    7068@@ -255,6 +255,33 @@ 
    7169            opts |= MPPE_OPT_UNKNOWN;           \ 
     
    102100  * Definitions for other, as yet unsupported, compression methods. 
    103101  */ 
    104 Index: ppp-2.4.3/pppd/ccp.c 
    105 =================================================================== 
    106 --- ppp-2.4.3.orig/pppd/ccp.c   2007-06-04 13:22:08.157615136 +0200 
    107 +++ ppp-2.4.3/pppd/ccp.c        2007-06-04 13:22:12.033025984 +0200 
     102diff -Naur ppp-2.4.4.orig/pppd/ccp.c ppp-2.4.4/pppd/ccp.c 
     103--- ppp-2.4.4.orig/pppd/ccp.c   2009-05-09 03:44:09.000000000 -0400 
     104+++ ppp-2.4.4/pppd/ccp.c        2009-05-09 03:45:52.000000000 -0400 
    108105@@ -62,12 +62,10 @@ 
    109106 static char bsd_value[8]; 
     
    721718 static int 
    722719 ccp_nakci(f, p, len, treat_as_reject) 
    723 @@ -900,6 +1079,8 @@ 
    724      int len; 
     720@@ -901,6 +1080,8 @@ 
     721     int treat_as_reject; 
    725722 { 
    726723     ccp_options *go = &ccp_gotoptions[f->unit]; 
     
    730727     ccp_options try;           /* options to ask for next time */ 
    731728  
    732 @@ -907,28 +1088,100 @@ 
     729@@ -908,28 +1089,100 @@ 
    733730     try = *go; 
    734731  
     
    849846        && p[0] == (go->deflate_correct? CI_DEFLATE: CI_DEFLATE_DRAFT) 
    850847        && p[1] == CILEN_DEFLATE) { 
    851 @@ -1001,14 +1254,50 @@ 
     848@@ -1002,14 +1255,50 @@ 
    852849        return -1; 
    853850  
     
    904901        && p[0] == CI_DEFLATE && p[1] == CILEN_DEFLATE) { 
    905902        if (p[2] != DEFLATE_MAKE_OPT(go->deflate_size) 
    906 @@ -1072,14 +1361,15 @@ 
     903@@ -1073,14 +1362,15 @@ 
    907904     int dont_nak; 
    908905 { 
     
    924921     ret = CONFACK; 
    925922     retp = p0 = p; 
    926 @@ -1102,103 +1392,305 @@ 
     923@@ -1103,106 +1393,302 @@ 
    927924            switch (type) { 
    928925 #ifdef MPPE 
    929926            case CI_MPPE: 
    930927-               if (!ao->mppe || clen != CILEN_MPPE) { 
    931 +               if ((!ao->mppc && !ao->mppe) || clen != CILEN_MPPE) { 
     928+               if ((!ao->mppc && !ao->mppe) || clen != CILEN_MPPE) { 
    932929                    newret = CONFREJ; 
    933930                    break; 
    934931                } 
    935932-               MPPE_CI_TO_OPTS(&p[2], ho->mppe); 
    936   
     933- 
    937934-               /* Nak if anything unsupported or unknown are set. */ 
    938935-               if (ho->mppe & MPPE_OPT_UNSUPPORTED) { 
    939 -                   newret = CONFNAK; 
     936+               p2 = p[2]; 
     937+               p5 = p[5]; 
     938+               /* not sure what they want, tell 'em what we got */ 
     939+               if (((p[2] & ~MPPE_STATELESS) != 0 || p[3] != 0 || p[4] != 0 || 
     940+                    (p[5] & ~(MPPE_40BIT | MPPE_56BIT | MPPE_128BIT | 
     941+                              MPPE_MPPC)) != 0 || p[5] == 0) || 
     942+                   (p[2] == 0 && p[3] == 0 && p[4] == 0 &&  p[5] == 0)) { 
     943                    newret = CONFNAK; 
    940944-                   ho->mppe &= ~MPPE_OPT_UNSUPPORTED; 
    941945-               } 
    942946-               if (ho->mppe & MPPE_OPT_UNKNOWN) { 
    943 +               p2 = p[2]; 
    944 +               p5 = p[5]; 
    945 +               /* not sure what they want, tell 'em what we got */ 
    946 +               if (((p[2] & ~MPPE_STATELESS) != 0 || p[3] != 0 || p[4] != 0 || 
    947 +                    (p[5] & ~(MPPE_40BIT | MPPE_56BIT | MPPE_128BIT | 
    948 +                              MPPE_MPPC)) != 0 || p[5] == 0) || 
    949 +                   (p[2] == 0 && p[3] == 0 && p[4] == 0 &&  p[5] == 0)) { 
    950                     newret = CONFNAK; 
     947-                   newret = CONFNAK; 
    951948-                   ho->mppe &= ~MPPE_OPT_UNKNOWN; 
    952 +                   p[2] = (wo->mppe_stateless ? MPPE_STATELESS : 0); 
    953 +                   p[3] = 0; 
    954 +                   p[4] = 0; 
    955 +                   p[5] = (wo->mppe_40 ? MPPE_40BIT : 0) | 
    956 +                       (wo->mppe_56 ? MPPE_56BIT : 0) | 
    957 +                       (wo->mppe_128 ? MPPE_128BIT : 0) | 
    958 +                       (wo->mppc ? MPPE_MPPC : 0); 
    959 +                   break; 
    960                 } 
    961   
     949-               } 
     950- 
    962951-               /* Check state opt */ 
    963952-               if (ho->mppe & MPPE_OPT_STATEFUL) { 
     
    970959-                  if (refuse_mppe_stateful) { 
    971960-                       error("Refusing MPPE stateful mode offered by peer"); 
    972 +               if ((p[5] & MPPE_MPPC)) { 
    973 +                   if (ao->mppc) { 
    974 +                       ho->mppc = 1; 
    975 +                       BCOPY(p, opt_buf, CILEN_MPPE); 
    976 +                       opt_buf[2] = opt_buf[3] = opt_buf[4] = 0; 
    977 +                       opt_buf[5] = MPPE_MPPC; 
    978 +                       if (ccp_test(f->unit, opt_buf, CILEN_MPPE, 1) <= 0) { 
    979 +                           ho->mppc = 0; 
    980 +                           p[5] &= ~MPPE_MPPC; 
    981 +                           newret = CONFNAK; 
    982 +                       } 
    983 +                   } else { 
    984                         newret = CONFREJ; 
     961-                       newret = CONFREJ; 
    985962-                       break; 
    986 +                       if (wo->mppe || ao->mppe) { 
    987 +                           p[5] &= ~MPPE_MPPC; 
    988 +                           newret = CONFNAK; 
    989 +                       } 
    990 +                   } 
    991 +               } 
    992 + 
    993 +               if (ao->mppe) 
    994 +                   ho->mppe = 1; 
    995 + 
    996 +               if ((p[2] & MPPE_STATELESS)) { 
    997 +                   if (ao->mppe_stateless) { 
    998 +                       if (wo->mppe_stateless) 
    999 +                           ho->mppe_stateless = 1; 
    1000 +                       else { 
    1001 +                           newret = CONFNAK; 
    1002 +                           if (!dont_nak) 
    1003 +                               p[2] &= ~MPPE_STATELESS; 
    1004 +                       } 
    1005 +                   } else { 
    1006 +                       newret = CONFNAK; 
    1007 +                       if (!dont_nak) 
    1008 +                           p[2] &= ~MPPE_STATELESS; 
    1009 +                   } 
    1010 +               } else { 
    1011 +                   if (wo->mppe_stateless && !dont_nak) { 
    1012 +                       wo->mppe_stateless = 0; 
    1013 +                       newret = CONFNAK; 
    1014 +                       p[2] |= MPPE_STATELESS; 
     963+                   p[2] = (wo->mppe_stateless ? MPPE_STATELESS : 0); 
     964+                   p[3] = 0; 
     965+                   p[4] = 0; 
     966+                   p[5] = (wo->mppe_40 ? MPPE_40BIT : 0) | 
     967+                       (wo->mppe_56 ? MPPE_56BIT : 0) | 
     968+                       (wo->mppe_128 ? MPPE_128BIT : 0) | 
     969+                       (wo->mppc ? MPPE_MPPC : 0); 
     970+                   break; 
     971+               } 
     972+ 
     973+               if ((p[5] & MPPE_MPPC)) { 
     974+                   if (ao->mppc) { 
     975+                       ho->mppc = 1; 
     976+                       BCOPY(p, opt_buf, CILEN_MPPE); 
     977+                       opt_buf[2] = opt_buf[3] = opt_buf[4] = 0; 
     978+                       opt_buf[5] = MPPE_MPPC; 
     979+                       if (ccp_test(f->unit, opt_buf, CILEN_MPPE, 1) <= 0) { 
     980+                           ho->mppc = 0; 
     981+                           p[5] &= ~MPPE_MPPC; 
     982+                           newret = CONFNAK; 
     983+                       } 
     984+                   } else { 
     985+                     newret = CONFREJ; 
     986+                       if (wo->mppe || ao->mppe) { 
     987+                           p[5] &= ~MPPE_MPPC; 
     988+                           newret = CONFNAK; 
     989+                       } 
    1015990                    } 
    1016991                } 
    1017   
     992- 
    1018993-               /* Find out which of {S,L} are set. */ 
    1019994-               if ((ho->mppe & MPPE_OPT_128) 
    1020995-                    && (ho->mppe & MPPE_OPT_40)) { 
    1021996-                   /* Both are set, negotiate the strongest. */ 
    1022 +               if ((p[5] & ~MPPE_MPPC) == (MPPE_40BIT|MPPE_56BIT|MPPE_128BIT)) { 
    1023                     newret = CONFNAK; 
     997-                   newret = CONFNAK; 
    1024998-                   if (ao->mppe & MPPE_OPT_128) 
    1025999-                       ho->mppe &= ~MPPE_OPT_40; 
     
    10291003-                       newret = CONFREJ; 
    10301004-                       break; 
    1031 +                   if (ao->mppe_128) { 
    1032 +                       ho->mppe_128 = 1; 
    1033 +                       p[5] &= ~(MPPE_40BIT|MPPE_56BIT); 
    1034 +                       BCOPY(p, opt_buf, CILEN_MPPE); 
    1035 +                       BCOPY(mppe_send_key, &opt_buf[CILEN_MPPE], 
    1036 +                             MPPE_MAX_KEY_LEN); 
    1037 +                       if (ccp_test(f->unit, opt_buf, CILEN_MPPE + 
    1038 +                                    MPPE_MAX_KEY_LEN, 1) <= 0) { 
    1039 +                           ho->mppe_128 = 0; 
    1040 +                           p[5] |= (MPPE_40BIT|MPPE_56BIT); 
    1041 +                           p[5] &= ~MPPE_128BIT; 
    1042 +                           goto check_mppe_56_40; 
    1043 +                       } 
    1044 +                       goto check_mppe; 
    1045                     } 
     1005-                   } 
    10461006-               } else if (ho->mppe & MPPE_OPT_128) { 
    10471007-                   if (!(ao->mppe & MPPE_OPT_128)) { 
    10481008-                       newret = CONFREJ; 
    10491009-                       break; 
    1050 +                   p[5] &= ~MPPE_128BIT; 
    1051 +                   goto check_mppe_56_40; 
    1052 +               } 
    1053 +               if ((p[5] & ~MPPE_MPPC) == (MPPE_56BIT|MPPE_128BIT)) { 
    1054 +                   newret = CONFNAK; 
    1055 +                   if (ao->mppe_128) { 
    1056 +                       ho->mppe_128 = 1; 
    1057 +                       p[5] &= ~MPPE_56BIT; 
    1058 +                       BCOPY(p, opt_buf, CILEN_MPPE); 
    1059 +                       BCOPY(mppe_send_key, &opt_buf[CILEN_MPPE], 
    1060 +                             MPPE_MAX_KEY_LEN); 
    1061 +                       if (ccp_test(f->unit, opt_buf, CILEN_MPPE + 
    1062 +                                    MPPE_MAX_KEY_LEN, 1) <= 0) { 
    1063 +                           ho->mppe_128 = 0; 
    1064 +                           p[5] |= MPPE_56BIT; 
    1065 +                           p[5] &= ~MPPE_128BIT; 
    1066 +                           goto check_mppe_56; 
    1067 +                       } 
    1068 +                       goto check_mppe; 
    1069                     } 
     1010-                   } 
    10701011-               } else if (ho->mppe & MPPE_OPT_40) { 
    10711012-                   if (!(ao->mppe & MPPE_OPT_40)) { 
    10721013-                       newret = CONFREJ; 
    10731014-                       break; 
     1015-                   } 
     1016+               if (ao->mppe) 
     1017+                   ho->mppe = 1; 
     1018+  
     1019+               if ((p[2] & MPPE_STATELESS)) { 
     1020+                   if (ao->mppe_stateless) { 
     1021+                       if (wo->mppe_stateless) 
     1022+                           ho->mppe_stateless = 1; 
     1023+                       else { 
     1024+                           newret = CONFNAK; 
     1025+                           if (!dont_nak) 
     1026+                               p[2] &= ~MPPE_STATELESS; 
     1027+                       } 
     1028+                   } else { 
     1029+                       newret = CONFNAK; 
     1030+                       if (!dont_nak) 
     1031+                           p[2] &= ~MPPE_STATELESS; 
     1032+                   } 
     1033+               } else { 
     1034+                   if (wo->mppe_stateless && !dont_nak) { 
     1035+                       wo->mppe_stateless = 0; 
     1036+                       newret = CONFNAK; 
     1037+                       p[2] |= MPPE_STATELESS; 
     1038+                   } 
     1039+               } 
     1040 
     1041+               if ((p[5] & ~MPPE_MPPC) == (MPPE_40BIT|MPPE_56BIT|MPPE_128BIT)) { 
     1042+                   newret = CONFNAK; 
     1043+                   if (ao->mppe_128) { 
     1044+                       ho->mppe_128 = 1; 
     1045+                       p[5] &= ~(MPPE_40BIT|MPPE_56BIT); 
     1046+                       BCOPY(p, opt_buf, CILEN_MPPE); 
     1047+                       BCOPY(mppe_send_key, &opt_buf[CILEN_MPPE], 
     1048+                             MPPE_MAX_KEY_LEN); 
     1049+                       if (ccp_test(f->unit, opt_buf, CILEN_MPPE + 
     1050+                                    MPPE_MAX_KEY_LEN, 1) <= 0) { 
     1051+                           ho->mppe_128 = 0; 
     1052+                           p[5] |= (MPPE_40BIT|MPPE_56BIT); 
     1053+                           p[5] &= ~MPPE_128BIT; 
     1054+                           goto check_mppe_56_40; 
     1055+                       } 
     1056+                       goto check_mppe; 
     1057+                   } 
     1058+                   p[5] &= ~MPPE_128BIT; 
     1059+                   goto check_mppe_56_40; 
     1060+               } 
     1061+               if ((p[5] & ~MPPE_MPPC) == (MPPE_56BIT|MPPE_128BIT)) { 
     1062+                   newret = CONFNAK; 
     1063+                   if (ao->mppe_128) { 
     1064+                       ho->mppe_128 = 1; 
     1065+                       p[5] &= ~MPPE_56BIT; 
     1066+                       BCOPY(p, opt_buf, CILEN_MPPE); 
     1067+                       BCOPY(mppe_send_key, &opt_buf[CILEN_MPPE], 
     1068+                             MPPE_MAX_KEY_LEN); 
     1069+                       if (ccp_test(f->unit, opt_buf, CILEN_MPPE + 
     1070+                                    MPPE_MAX_KEY_LEN, 1) <= 0) { 
     1071+                           ho->mppe_128 = 0; 
     1072+                           p[5] |= MPPE_56BIT; 
     1073+                           p[5] &= ~MPPE_128BIT; 
     1074+                           goto check_mppe_56; 
     1075+                       } 
     1076+                       goto check_mppe; 
     1077+                   } 
     1078+                   p[5] &= ~MPPE_128BIT; 
     1079+                   goto check_mppe_56; 
     1080+               } 
     1081+               if ((p[5] & ~MPPE_MPPC) == (MPPE_40BIT|MPPE_128BIT)) { 
     1082+                   newret = CONFNAK; 
     1083+                   if (ao->mppe_128) { 
     1084+                       ho->mppe_128 = 1; 
     1085+                       p[5] &= ~MPPE_40BIT; 
     1086+                       BCOPY(p, opt_buf, CILEN_MPPE); 
     1087+                       BCOPY(mppe_send_key, &opt_buf[CILEN_MPPE], 
     1088+                             MPPE_MAX_KEY_LEN); 
     1089+                       if (ccp_test(f->unit, opt_buf, CILEN_MPPE + 
     1090+                                    MPPE_MAX_KEY_LEN, 1) <= 0) { 
     1091+                           ho->mppe_128 = 0; 
     1092+                           p[5] |= MPPE_40BIT; 
     1093+                           p[5] &= ~MPPE_128BIT; 
     1094+                           goto check_mppe_40; 
     1095+                       } 
     1096+                       goto check_mppe; 
     1097+                   } 
     1098+                   p[5] &= ~MPPE_128BIT; 
     1099+                   goto check_mppe_40; 
     1100+               } 
     1101+               if ((p[5] & ~MPPE_MPPC) == MPPE_128BIT) { 
     1102+                   if (ao->mppe_128) { 
     1103+                       ho->mppe_128 = 1; 
     1104+                       BCOPY(p, opt_buf, CILEN_MPPE); 
     1105+                       BCOPY(mppe_send_key, &opt_buf[CILEN_MPPE], 
     1106+                             MPPE_MAX_KEY_LEN); 
     1107+                       if (ccp_test(f->unit, opt_buf, CILEN_MPPE + 
     1108+                                    MPPE_MAX_KEY_LEN, 1) <= 0) { 
     1109+                           ho->mppe_128 = 0; 
     1110+                           p[5] &= ~MPPE_128BIT; 
     1111+                           newret = CONFNAK; 
     1112+                       } 
     1113+                       goto check_mppe; 
     1114+                   } 
    10741115+                   p[5] &= ~MPPE_128BIT; 
    1075 +                   goto check_mppe_56; 
    1076 +               } 
    1077 +               if ((p[5] & ~MPPE_MPPC) == (MPPE_40BIT|MPPE_128BIT)) { 
    1078 +                   newret = CONFNAK; 
    1079 +                   if (ao->mppe_128) { 
    1080 +                       ho->mppe_128 = 1; 
    1081 +                       p[5] &= ~MPPE_40BIT; 
     1116+                   newret = CONFNAK; 
     1117+                   goto check_mppe; 
     1118+               } 
     1119+           check_mppe_56_40: 
     1120+               if ((p[5] & ~MPPE_MPPC) == (MPPE_40BIT|MPPE_56BIT)) { 
     1121+                   newret = CONFNAK; 
     1122+                   if (ao->mppe_56) { 
     1123+                       ho->mppe_56 = 1; 
     1124+                       p[5] &= ~MPPE_40BIT; 
    10821125+                       BCOPY(p, opt_buf, CILEN_MPPE); 
     1126+                       BCOPY(mppe_send_key, &opt_buf[CILEN_MPPE], 
     1127+                             MPPE_MAX_KEY_LEN); 
     1128+                       if (ccp_test(f->unit, opt_buf, CILEN_MPPE + 
     1129+                                    MPPE_MAX_KEY_LEN, 1) <= 0) { 
     1130+                           ho->mppe_56 = 0; 
     1131+                           p[5] |= MPPE_40BIT; 
     1132+                           p[5] &= ~MPPE_56BIT; 
     1133+                           newret = CONFNAK; 
     1134+                           goto check_mppe_40; 
     1135+                       } 
     1136+                       goto check_mppe; 
     1137+                   } 
     1138+                   p[5] &= ~MPPE_56BIT; 
     1139+                   goto check_mppe_40; 
     1140+               } 
     1141+           check_mppe_56: 
     1142+               if ((p[5] & ~MPPE_MPPC) == MPPE_56BIT) { 
     1143+                   if (ao->mppe_56) { 
     1144+                       ho->mppe_56 = 1; 
     1145+                       BCOPY(p, opt_buf, CILEN_MPPE); 
     1146+                       BCOPY(mppe_send_key, &opt_buf[CILEN_MPPE], 
     1147+                             MPPE_MAX_KEY_LEN); 
     1148+                       if (ccp_test(f->unit, opt_buf, CILEN_MPPE + 
     1149+                                    MPPE_MAX_KEY_LEN, 1) <= 0) { 
     1150+                           ho->mppe_56 = 0; 
     1151+                           p[5] &= ~MPPE_56BIT; 
     1152+                           newret = CONFNAK; 
     1153+                       } 
     1154+                       goto check_mppe; 
     1155+                   } 
     1156+                   p[5] &= ~MPPE_56BIT; 
     1157+                   newret = CONFNAK; 
     1158+                   goto check_mppe; 
     1159+               } 
     1160+           check_mppe_40: 
     1161+               if ((p[5] & ~MPPE_MPPC) == MPPE_40BIT) { 
     1162+                   if (ao->mppe_40) { 
     1163+                       ho->mppe_40 = 1; 
     1164+                       BCOPY(p, opt_buf, CILEN_MPPE); 
    10831165+                       BCOPY(mppe_send_key, &opt_buf[CILEN_MPPE], 
    1084 +                             MPPE_MAX_KEY_LEN); 
    1085 +                       if (ccp_test(f->unit, opt_buf, CILEN_MPPE + 
    1086 +                                    MPPE_MAX_KEY_LEN, 1) <= 0) { 
    1087 +                           ho->mppe_128 = 0; 
    1088 +                           p[5] |= MPPE_40BIT; 
    1089 +                           p[5] &= ~MPPE_128BIT; 
    1090 +                           goto check_mppe_40; 
    1091 +                       } 
    1092 +                       goto check_mppe; 
    1093 +                   } 
    1094 +                   p[5] &= ~MPPE_128BIT; 
    1095 +                   goto check_mppe_40; 
    1096 +               } 
    1097 +               if ((p[5] & ~MPPE_MPPC) == MPPE_128BIT) { 
    1098 +                   if (ao->mppe_128) { 
    1099 +                       ho->mppe_128 = 1; 
    1100 +                       BCOPY(p, opt_buf, CILEN_MPPE); 
    1101 +                       BCOPY(mppe_send_key, &opt_buf[CILEN_MPPE], 
    1102 +                             MPPE_MAX_KEY_LEN); 
    1103 +                       if (ccp_test(f->unit, opt_buf, CILEN_MPPE + 
    1104 +                                    MPPE_MAX_KEY_LEN, 1) <= 0) { 
    1105 +                           ho->mppe_128 = 0; 
    1106 +                           p[5] &= ~MPPE_128BIT; 
    1107 +                           newret = CONFNAK; 
    1108 +                       } 
    1109 +                       goto check_mppe; 
    1110 +                   } 
    1111 +                   p[5] &= ~MPPE_128BIT; 
    1112 +                   newret = CONFNAK; 
    1113 +                   goto check_mppe; 
    1114 +               } 
    1115 +           check_mppe_56_40: 
    1116 +               if ((p[5] & ~MPPE_MPPC) == (MPPE_40BIT|MPPE_56BIT)) { 
    1117 +                   newret = CONFNAK; 
    1118 +                   if (ao->mppe_56) { 
    1119 +                       ho->mppe_56 = 1; 
    1120 +                       p[5] &= ~MPPE_40BIT; 
    1121 +                       BCOPY(p, opt_buf, CILEN_MPPE); 
    1122 +                       BCOPY(mppe_send_key, &opt_buf[CILEN_MPPE], 
    1123 +                             MPPE_MAX_KEY_LEN); 
    1124 +                       if (ccp_test(f->unit, opt_buf, CILEN_MPPE + 
    1125 +                                    MPPE_MAX_KEY_LEN, 1) <= 0) { 
    1126 +                           ho->mppe_56 = 0; 
    1127 +                           p[5] |= MPPE_40BIT; 
    1128 +                           p[5] &= ~MPPE_56BIT; 
    1129 +                           newret = CONFNAK; 
    1130 +                           goto check_mppe_40; 
    1131 +                       } 
    1132 +                       goto check_mppe; 
    1133 +                   } 
    1134 +                   p[5] &= ~MPPE_56BIT; 
    1135 +                   goto check_mppe_40; 
    1136 +               } 
    1137 +           check_mppe_56: 
    1138 +               if ((p[5] & ~MPPE_MPPC) == MPPE_56BIT) { 
    1139 +                   if (ao->mppe_56) { 
    1140 +                       ho->mppe_56 = 1; 
    1141 +                       BCOPY(p, opt_buf, CILEN_MPPE); 
    1142 +                       BCOPY(mppe_send_key, &opt_buf[CILEN_MPPE], 
    1143 +                             MPPE_MAX_KEY_LEN); 
    1144 +                       if (ccp_test(f->unit, opt_buf, CILEN_MPPE + 
    1145 +                                    MPPE_MAX_KEY_LEN, 1) <= 0) { 
    1146 +                           ho->mppe_56 = 0; 
    1147 +                           p[5] &= ~MPPE_56BIT; 
    1148 +                           newret = CONFNAK; 
    1149 +                       } 
    1150 +                       goto check_mppe; 
    1151 +                   } 
    1152 +                   p[5] &= ~MPPE_56BIT; 
    1153 +                   newret = CONFNAK; 
    1154 +                   goto check_mppe; 
    1155 +               } 
    1156 +           check_mppe_40: 
    1157 +               if ((p[5] & ~MPPE_MPPC) == MPPE_40BIT) { 
    1158 +                   if (ao->mppe_40) { 
    1159 +                       ho->mppe_40 = 1; 
    1160 +                       BCOPY(p, opt_buf, CILEN_MPPE); 
    1161 +                       BCOPY(mppe_send_key, &opt_buf[CILEN_MPPE], 
    1162 +                             MPPE_MAX_KEY_LEN); 
    1163 +                       if (ccp_test(f->unit, opt_buf, CILEN_MPPE + 
    1164 +                                    MPPE_MAX_KEY_LEN, 1) <= 0) { 
    1165 +                           ho->mppe_40 = 0; 
     1166+                             MPPE_MAX_KEY_LEN); 
     1167+                       if (ccp_test(f->unit, opt_buf, CILEN_MPPE + 
     1168+                                    MPPE_MAX_KEY_LEN, 1) <= 0) { 
     1169+                           ho->mppe_40 = 0; 
    11661170+                           p[5] &= ~MPPE_40BIT; 
    1167 +                           newret = CONFNAK; 
    1168 +                       } 
    1169 +                       goto check_mppe; 
    1170 +                   } 
    1171 +                   p[5] &= ~MPPE_40BIT; 
    1172 +               } 
    1173 + 
    1174 +           check_mppe: 
    1175 +               if (!ho->mppe_40 && !ho->mppe_56 && !ho->mppe_128) { 
    1176 +                   if (wo->mppe_40 || wo->mppe_56 || wo->mppe_128) { 
    1177 +                       newret = CONFNAK; 
    1178 +                       p[2] |= (wo->mppe_stateless ? MPPE_STATELESS : 0); 
     1171+                           newret = CONFNAK; 
     1172+                       } 
     1173+                       goto check_mppe; 
     1174+                   } 
     1175+                   p[5] &= ~MPPE_40BIT; 
     1176+               } 
     1177+  
     1178+           check_mppe: 
     1179+               if (!ho->mppe_40 && !ho->mppe_56 && !ho->mppe_128) { 
     1180+                   if (wo->mppe_40 || wo->mppe_56 || wo->mppe_128) { 
     1181+                       newret = CONFNAK; 
     1182+                       p[2] |= (wo->mppe_stateless ? MPPE_STATELESS : 0); 
    11791183+                       p[5] |= (wo->mppe_40 ? MPPE_40BIT : 0) | 
    1180 +                           (wo->mppe_56 ? MPPE_56BIT : 0) | 
    1181 +                           (wo->mppe_128 ? MPPE_128BIT : 0) | 
    1182 +                           (wo->mppc ? MPPE_MPPC : 0); 
    1183 +                   } else { 
    1184 +                       ho->mppe = ho->mppe_stateless = 0; 
    1185                     } 
     1184+                           (wo->mppe_56 ? MPPE_56BIT : 0) | 
     1185+                           (wo->mppe_128 ? MPPE_128BIT : 0) | 
     1186+                           (wo->mppc ? MPPE_MPPC : 0); 
     1187+                   } else { 
     1188+                       ho->mppe = ho->mppe_stateless = 0; 
     1189+                   } 
    11861190                } else { 
    11871191-                   /* Neither are set. */ 
    1188 +                   /* MPPE is not compatible with other compression types */ 
    1189 +                   if (wo->mppe) { 
    1190 +                       ao->bsd_compress = 0; 
    1191 +                       ao->predictor_1 = 0; 
    1192 +                       ao->predictor_2 = 0; 
    1193 +                       ao->deflate = 0; 
    1194 +                       ao->lzs = 0; 
    1195 +                   } 
    1196 +               } 
    1197 +               if ((!ho->mppc || !ao->mppc) && !ho->mppe) { 
    1198 +                   p[2] = p2; 
    1199 +                   p[5] = p5; 
    1200                     newret = CONFREJ; 
    1201                     break; 
    1202                 } 
    1203   
     1192-                   /* We cannot accept this.  */ 
     1193-                   newret = CONFNAK; 
     1194-                   /* Give the peer our idea of what can be used, 
     1195-                      so it can choose and confirm */ 
     1196-                   ho->mppe = ao->mppe; 
     1197-               } 
     1198- 
    12041199-               /* rebuild the opts */ 
    12051200-               MPPE_OPTS_TO_CI(ho->mppe, &p[2]); 
     
    12301225-                       newret = CONFREJ; 
    12311226-               } 
    1232 +               /* 
    1233 +                * I have commented the code below because according to RFC1547 
    1234 +                * MTU is only information for higher level protocols about 
    1235 +                * "the maximum allowable length for a packet (q.v.) transmitted 
    1236 +                * over a point-to-point link without incurring network layer 
    1237 +                * fragmentation." Of course a PPP implementation should be able 
    1238 +                * to handle overhead added by MPPE - in our case apropriate code 
    1239 +                * is located in drivers/net/ppp_generic.c in the kernel sources. 
    1240 +                * 
    1241 +                * According to RFC1661: 
    1242 +                * - when negotiated MRU is less than 1500 octets, a PPP 
    1243 +                *   implementation must still be able to receive at least 1500 
    1244 +                *   octets, 
    1245 +                * - when PFC is negotiated, a PPP implementation is still 
    1246 +                *   required to receive frames with uncompressed protocol field. 
    1247 +                * 
    1248 +                * So why not to handle MPPE overhead without changing MTU value? 
    1249 +                * I am sure that RFC3078, unfortunately silently, assumes that. 
    1250 +                */ 
    1251   
    1252                 /* 
     1227- 
     1228-               /* 
    12531229-                * We have accepted MPPE or are willing to negotiate 
    12541230-                * MPPE parameters.  A CONFREJ is due to subsequent 
    12551231-                * (non-MPPE) processing. 
    1256 +                * We need to decrease the interface MTU by MPPE_PAD 
    1257 +                * because MPPE frames **grow**.  The kernel [must] 
    1258 +                * allocate MPPE_PAD extra bytes in xmit buffers. 
    1259                  */ 
     1232-                */ 
    12601233-               rej_for_ci_mppe = 0; 
    1261 +/* 
    1262 +               mtu = netif_get_mtu(f->unit); 
    1263 +               if (mtu) { 
    1264 +                   netif_set_mtu(f->unit, mtu - MPPE_PAD); 
    1265 +               } else { 
     1234-               break; 
     1235-#endif /* MPPE */ 
     1236+                   /* MPPE is not compatible with other compression types */ 
     1237+                   if (wo->mppe) { 
     1238+                       ao->bsd_compress = 0; 
     1239+                       ao->predictor_1 = 0; 
     1240+                       ao->predictor_2 = 0; 
     1241+                       ao->deflate = 0; 
     1242+                       ao->lzs = 0; 
     1243+                   } 
     1244+               } 
     1245+               if ((!ho->mppc || !ao->mppc) && !ho->mppe) { 
     1246+                   p[2] = p2; 
     1247+                   p[5] = p5; 
     1248+                   newret = CONFREJ; 
     1249+                   break; 
     1250+               } 
     1251 
     1252+               /* 
     1253+                * I have commented the code below because according to RFC1547 
     1254+                * MTU is only information for higher level protocols about 
     1255+                * "the maximum allowable length for a packet (q.v.) transmitted 
     1256+                * over a point-to-point link without incurring network layer 
     1257+                * fragmentation." Of course a PPP implementation should be able 
     1258+                * to handle overhead added by MPPE - in our case apropriate code 
     1259+                * is located in drivers/net/ppp_generic.c in the kernel sources. 
     1260+                * 
     1261+                * According to RFC1661: 
     1262+                * - when negotiated MRU is less than 1500 octets, a PPP 
     1263+                *   implementation must still be able to receive at least 1500 
     1264+                *   octets, 
     1265+                * - when PFC is negotiated, a PPP implementation is still 
     1266+                *   required to receive frames with uncompressed protocol field. 
     1267+                * 
     1268+                * So why not to handle MPPE overhead without changing MTU value? 
     1269+                * I am sure that RFC3078, unfortunately silently, assumes that. 
     1270+                */ 
     1271+  
     1272+               /* 
     1273+                * We need to decrease the interface MTU by MPPE_PAD 
     1274+                * because MPPE frames **grow**.  The kernel [must] 
     1275+                * allocate MPPE_PAD extra bytes in xmit buffers. 
     1276+                */ 
     1277+ /* 
     1278+               mtu = netif_get_mtu(f->unit); 
     1279+               if (mtu) { 
     1280+                   netif_set_mtu(f->unit, mtu - MPPE_PAD); 
     1281+               } else { 
    12661282+                   newret = CONFREJ; 
    1267 +                   if (ccp_wantoptions[f->unit].mppe) { 
    1268 +                       error("Cannot adjust MTU needed by MPPE."); 
    1269 +                       lcp_close(f->unit, "Cannot adjust MTU needed by MPPE."); 
    1270 +                   } 
    1271 +               } 
    1272 +*/ 
    1273                 break; 
    1274  #endif /* MPPE */ 
    1275 + 
     1283+                   if (ccp_wantoptions[f->unit].mppe) { 
     1284+                       error("Cannot adjust MTU needed by MPPE."); 
     1285+                       lcp_close(f->unit, "Cannot adjust MTU needed by MPPE."); 
     1286+                   } 
     1287+               } 
     1288+ */ 
     1289+               break; 
     1290+ #endif /* MPPE */ 
     1291+  
    12761292+           case CI_LZS: 
    1277 +               if (!ao->lzs || clen != CILEN_LZS) { 
    1278 +                   newret = CONFREJ; 
    1279 +                   break; 
    1280 +               } 
    1281 + 
    1282 +               ho->lzs = 1; 
     1293+               if (!ao->lzs || clen != CILEN_LZS) { 
     1294+                   newret = CONFREJ; 
     1295+                   break; 
     1296+               } 
     1297+  
     1298+               ho->lzs = 1; 
    12831299+               ho->lzs_hists = (p[2] << 8) | p[3]; 
    1284 +               ho->lzs_mode = p[4]; 
    1285 +               if ((ho->lzs_hists != ao->lzs_hists) || 
     1300+               ho->lzs_mode = p[4]; 
     1301+       if ((ho->lzs_hists != ao->lzs_hists) || 
    12861302+                   (ho->lzs_mode != ao->lzs_mode)) { 
    1287 +                   newret = CONFNAK; 
    1288 +                   if (!dont_nak) { 
    1289 +                       p[2] = ao->lzs_hists >> 8; 
    1290 +                       p[3] = ao->lzs_hists & 0xff; 
    1291 +                       p[4] = ao->lzs_mode; 
    1292 +                   } else 
    1293 +                       break; 
    1294 +               } 
    1295 + 
    1296 +               if (p == p0 && ccp_test(f->unit, p, CILEN_LZS, 1) <= 0) { 
    1297 +                   newret = CONFREJ; 
    1298 +               } 
    1299 +               break; 
    1300 + 
     1303+                   newret = CONFNAK; 
     1304+                   if (!dont_nak) { 
     1305+                       p[2] = ao->lzs_hists >> 8; 
     1306+                       p[3] = ao->lzs_hists & 0xff; 
     1307+                       p[4] = ao->lzs_mode; 
     1308+           } else 
     1309+                       break; 
     1310+               } 
     1311+  
     1312+               if (p == p0 && ccp_test(f->unit, p, CILEN_LZS, 1) <= 0) { 
     1313+                   newret = CONFREJ; 
     1314+               } 
     1315+               break; 
    13011316            case CI_DEFLATE: 
    13021317            case CI_DEFLATE_DRAFT: 
    13031318                if (!ao->deflate || clen != CILEN_DEFLATE 
    1304 @@ -1340,12 +1832,6 @@ 
     1319@@ -1344,12 +1830,6 @@ 
    13051320        else 
    13061321            *lenp = retp - p0; 
     
    13151330 } 
    13161331  
    1317 @@ -1367,24 +1853,35 @@ 
     1332@@ -1371,24 +1851,35 @@ 
    13181333        char *p = result; 
    13191334        char *q = result + sizeof(result); /* 1 past result */ 
     
    13671382     case CI_DEFLATE_DRAFT: 
    13681383        if (opt2 != NULL && opt2->deflate_size != opt->deflate_size) 
    1369 @@ -1440,12 +1937,12 @@ 
     1384@@ -1444,12 +1935,12 @@ 
    13701385     } else if (ANY_COMPRESS(*ho)) 
    13711386        notice("%s transmit compression enabled", method_name(ho, NULL)); 
     
    13821397  
    13831398 /* 
    1384 @@ -1468,7 +1965,7 @@ 
     1399@@ -1472,7 +1963,7 @@ 
    13851400            lcp_close(f->unit, "MPPE disabled"); 
    13861401        } 
     
    13911406  
    13921407 /* 
    1393 @@ -1528,24 +2025,28 @@ 
     1408@@ -1532,24 +2023,28 @@ 
    13941409 #ifdef MPPE 
    13951410            case CI_MPPE: 
     
    14321447            case CI_DEFLATE_DRAFT: 
    14331448                if (optlen >= CILEN_DEFLATE) { 
    1434 @@ -1631,6 +2132,7 @@ 
     1449@@ -1635,6 +2130,7 @@ 
    14351450            error("Lost compression sync: disabling compression"); 
    14361451            ccp_close(unit, "Lost compression sync"); 
     
    14401455             * If we were doing MPPE, we must also take the link down. 
    14411456             */ 
    1442 @@ -1638,9 +2140,18 @@ 
     1457@@ -1642,9 +2138,18 @@ 
    14431458                error("Too many MPPE errors, closing LCP"); 
    14441459                lcp_close(unit, "Too many MPPE errors"); 
     
    14601475             * We don't do that if we are still waiting for an 
    14611476             * acknowledgement to a previous reset-request. 
    1462 @@ -1671,4 +2182,3 @@ 
     1477@@ -1675,4 +2180,3 @@ 
    14631478     } else 
    14641479        ccp_localstate[f->unit] &= ~RACK_PENDING; 
    14651480 } 
    14661481- 
    1467 Index: ppp-2.4.3/pppd/ccp.h 
    1468 =================================================================== 
    1469 --- ppp-2.4.3.orig/pppd/ccp.h   2007-06-04 13:22:08.162614376 +0200 
    1470 +++ ppp-2.4.3/pppd/ccp.h        2007-06-04 13:22:12.033025984 +0200 
     1482diff -Naur ppp-2.4.4.orig/pppd/ccp.h ppp-2.4.4/pppd/ccp.h 
     1483--- ppp-2.4.4.orig/pppd/ccp.h   2009-05-09 03:44:09.000000000 -0400 
     1484+++ ppp-2.4.4/pppd/ccp.h        2009-05-09 03:45:52.000000000 -0400 
    14711485@@ -37,9 +37,17 @@ 
    14721486     bool predictor_2;          /* do Predictor-2? */ 
     
    14871501 } ccp_options; 
    14881502  
    1489 Index: ppp-2.4.3/pppd/chap_ms.c 
    1490 =================================================================== 
    1491 --- ppp-2.4.3.orig/pppd/chap_ms.c       2007-06-04 13:22:08.168613464 +0200 
    1492 +++ ppp-2.4.3/pppd/chap_ms.c    2007-06-04 13:22:12.033025984 +0200 
    1493 @@ -895,13 +895,17 @@ 
     1503diff -Naur ppp-2.4.4.orig/pppd/chap_ms.c ppp-2.4.4/pppd/chap_ms.c 
     1504--- ppp-2.4.4.orig/pppd/chap_ms.c       2009-05-09 03:45:07.000000000 -0400 
     1505+++ ppp-2.4.4/pppd/chap_ms.c    2009-05-09 03:45:52.000000000 -0400 
     1506@@ -897,13 +897,17 @@ 
    14941507     /* 
    14951508      * Disable undesirable encryption types.  Note that we don't ENABLE 
     
    15111524        default: 
    15121525            break; 
    1513 Index: ppp-2.4.3/pppd/pppd.8 
    1514 =================================================================== 
    1515 --- ppp-2.4.3.orig/pppd/pppd.8  2007-06-04 13:22:08.175612400 +0200 
    1516 +++ ppp-2.4.3/pppd/pppd.8       2007-06-04 13:22:12.034025832 +0200 
    1517 @@ -622,9 +622,29 @@ 
    1518  Enables the use of PPP multilink; this is an alias for the `multilink' 
    1519  option.  This option is currently only available under Linux. 
    1520  .TP 
    1521 -.B mppe\-stateful 
    1522 -Allow MPPE to use stateful mode.  Stateless mode is still attempted first. 
    1523 -The default is to disallow stateful mode.   
    1524 +.B mppc 
    1525 +Enables MPPC (Microsoft Point to Point Compression).  This is the default. 
    1526 +.TP 
    1527 +.B mppe \fIsubopt1[,subopt2[,subopt3[..]]] 
    1528 +Modify MPPE (Microsoft Point to Point Encryption) parameters. In order 
    1529 +for MPPE to successfully come up, you must have authenticated with either 
    1530 +MS-CHAP or MS-CHAPv2. By default MPPE is optional, it means that pppd will 
    1531 +not propose MPPE to the peer, but will negotiate MPPE if peer wants that. 
    1532 +You can change this using \fIrequired\fR suboption. 
    1533 +This option is presently only supported under Linux, and only if your 
    1534 +kernel has been configured to include MPPE support. 
    1535 +.IP 
    1536 +MPPE suboptions: 
    1537 +.br 
    1538 +\fIrequired\fR - require MPPE; disconnect if peer doesn't support it, 
    1539 +.br 
    1540 +\fIstateless\fR - try to negotiate stateless mode; default is stateful, 
    1541 +.br 
    1542 +\fIno40\fR - disable 40 bit keys, 
    1543 +.br 
    1544 +\fIno56\fR - disable 56 bit keys, 
    1545 +.br 
    1546 +\fIno128\fR - disable 128 bit keys 
    1547  .TP 
    1548  .B mpshortseq 
    1549  Enables the use of short (12-bit) sequence numbers in multilink 
    1550 @@ -757,17 +777,11 @@ 
    1551  Disables the use of PPP multilink.  This option is currently only 
    1552  available under Linux. 
    1553  .TP 
    1554 -.B nomppe 
    1555 -Disables MPPE (Microsoft Point to Point Encryption).  This is the default. 
    1556 -.TP 
    1557 -.B nomppe\-40 
    1558 -Disable 40-bit encryption with MPPE. 
    1559 +.B nomppc 
    1560 +Disables MPPC (Microsoft Point to Point Compression). 
    1561  .TP 
    1562 -.B nomppe\-128 
    1563 -Disable 128-bit encryption with MPPE. 
    1564 -.TP 
    1565 -.B nomppe\-stateful 
    1566 -Disable MPPE stateful mode.  This is the default. 
    1567 +.B nomppe 
    1568 +Disables MPPE (Microsoft Point to Point Encryption). 
    1569  .TP 
    1570  .B nompshortseq 
    1571  Disables the use of short (12-bit) sequence numbers in the PPP 
    1572 @@ -948,19 +962,6 @@ 
    1573  Require the peer to authenticate itself using CHAP [Challenge 
    1574  Handshake Authentication Protocol] authentication. 
    1575  .TP 
    1576 -.B require\-mppe 
    1577 -Require the use of MPPE (Microsoft Point to Point Encryption).  This 
    1578 -option disables all other compression types.  This option enables 
    1579 -both 40-bit and 128-bit encryption.  In order for MPPE to successfully 
    1580 -come up, you must have authenticated with either MS\-CHAP or MS\-CHAPv2. 
    1581 -This option is presently only supported under Linux, and only if your 
    1582 -kernel has been configured to include MPPE support. 
    1583 -.TP 
    1584 -.B require\-mppe\-40 
    1585 -Require the use of MPPE, with 40-bit encryption. 
    1586 -.TP 
    1587 -.B require\-mppe\-128 
    1588 -Require the use of MPPE, with 128-bit encryption. 
    1589  .TP 
    1590  .B require\-mschap 
    1591  Require the peer to authenticate itself using MS\-CHAP [Microsoft Challenge 
  • trunk/package/ppp/patches/300-filter-pcap-includes-lib.patch

    r7490 r15955  
    1 Index: ppp-2.4.3/pppd/Makefile.linux 
    2 =================================================================== 
    3 --- ppp-2.4.3.orig/pppd/Makefile.linux  2007-06-04 13:22:12.463960472 +0200 
    4 +++ ppp-2.4.3/pppd/Makefile.linux       2007-06-04 13:22:14.133706632 +0200 
    5 @@ -172,8 +172,8 @@ 
     1diff -Naur ppp-2.4.4.orig/pppd/Makefile.linux ppp-2.4.4/pppd/Makefile.linux 
     2--- ppp-2.4.4.orig/pppd/Makefile.linux  2009-05-07 22:25:24.000000000 -0400 
     3+++ ppp-2.4.4/pppd/Makefile.linux       2009-05-07 22:28:44.000000000 -0400 
     4@@ -170,8 +170,8 @@ 
    65  
    76 ifdef FILTER 
Note: See TracChangeset for help on using the changeset viewer.