guowenxue
2020-08-21 8d4408725a415638f94bbfb3c8a8b1146df2fee5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
diff -Nuar ppp-2.4.7/chat/Makefile.linux ppp-2.4.7-fixed/chat/Makefile.linux
--- ppp-2.4.7/chat/Makefile.linux    2014-08-09 20:31:39.000000000 +0800
+++ ppp-2.4.7-fixed/chat/Makefile.linux    2020-08-21 15:40:14.504792847 +0800
@@ -21,7 +21,7 @@
     $(CC) -o chat chat.o
 
 chat.o:    chat.c
-    $(CC) -c $(CFLAGS) -o chat.o chat.c
+    $(CC) -c $(CFLAGS) -static -o chat.o chat.c
 
 install: chat
     mkdir -p $(BINDIR) $(MANDIR)
diff -Nuar ppp-2.4.7/pppd/auth.c ppp-2.4.7-fixed/pppd/auth.c
--- ppp-2.4.7/pppd/auth.c    2014-08-09 20:31:39.000000000 +0800
+++ ppp-2.4.7-fixed/pppd/auth.c    2020-08-21 15:40:14.500792847 +0800
@@ -1322,7 +1322,8 @@
     int hadchap;
 
     hadchap = -1;
-    ao->neg_upap = !refuse_pap && (passwd[0] != 0 || get_pap_passwd(NULL));
+    /* modify by guowenxue, add don't set passwd support */
+    ao->neg_upap = !refuse_pap; // && (passwd[0] != 0 || get_pap_passwd(NULL));
     ao->neg_chap = (!refuse_chap || !refuse_mschap || !refuse_mschap_v2)
     && (passwd[0] != 0 ||
         (hadchap = have_chap_secret(user, (explicit_remote? remote_name:
diff -Nuar ppp-2.4.7/pppd/Makefile.linux ppp-2.4.7-fixed/pppd/Makefile.linux
--- ppp-2.4.7/pppd/Makefile.linux    2014-08-09 20:31:39.000000000 +0800
+++ ppp-2.4.7-fixed/pppd/Makefile.linux    2020-08-21 15:40:14.504792847 +0800
@@ -30,15 +30,15 @@
 include .depend
 endif
 
-# CC = gcc
+CC=/opt/xtools/arm920t/bin/arm-linux-gcc
 #
 COPTS = -O2 -pipe -Wall -g
-LIBS =
+LIBS = -lpthread
 
-# Uncomment the next 2 lines to include support for Microsoft's
+# Uncomment the next line to include support for Microsoft's
 # MS-CHAP authentication protocol.  Also, edit plugins/radius/Makefile.linux.
 CHAPMS=y
-USE_CRYPT=y
+#USE_CRYPT=y
 # Don't use MSLANMAN unless you really know what you're doing.
 #MSLANMAN=y
 # Uncomment the next line to include support for MPPE.  CHAPMS (above) must
@@ -79,6 +79,7 @@
 MAXOCTETS=y
 
 INCLUDE_DIRS= -I../include
+OPENSSL_INCLUDE_DIR=/home/guowenxue/fl2440/3rdparty/pppd/../install/bin/../include
 
 COMPILE_FLAGS= -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MMAP
 
@@ -132,7 +133,8 @@
 
 ifdef NEEDDES
 ifndef USE_CRYPT
-LIBS     += -ldes $(LIBS)
+CFLAGS   += -I$(OPENSSL_INCLUDE_DIR)
+LIBS     += -lcrypto -lpthread
 else
 CFLAGS   += -DUSE_CRYPT=1
 endif
diff -Nuar ppp-2.4.7/pppd/plugins/rp-pppoe/pppoe.h ppp-2.4.7-fixed/pppd/plugins/rp-pppoe/pppoe.h
--- ppp-2.4.7/pppd/plugins/rp-pppoe/pppoe.h    2014-08-09 20:31:39.000000000 +0800
+++ ppp-2.4.7-fixed/pppd/plugins/rp-pppoe/pppoe.h    2020-08-21 15:40:14.500792847 +0800
@@ -47,6 +47,8 @@
 #include <sys/socket.h>
 #endif
 
+#include <netinet/in.h>
+
 /* Ugly header files on some Linux boxes... */
 #if defined(HAVE_LINUX_IF_H)
 #include <linux/if.h>
@@ -84,8 +86,6 @@
 #include <linux/if_ether.h>
 #endif
 
-#include <netinet/in.h>
-
 #ifdef HAVE_NETINET_IF_ETHER_H
 #include <sys/types.h>
 
diff -Nuar ppp-2.4.7/pppd/pppcrypt.c ppp-2.4.7-fixed/pppd/pppcrypt.c
--- ppp-2.4.7/pppd/pppcrypt.c    2014-08-09 20:31:39.000000000 +0800
+++ ppp-2.4.7-fixed/pppd/pppcrypt.c    2020-08-21 15:40:14.500792847 +0800
@@ -64,7 +64,7 @@
     des_key[7] = Get7Bits(key, 49);
 
 #ifndef USE_CRYPT
-    des_set_odd_parity((des_cblock *)des_key);
+    DES_set_odd_parity((DES_cblock *)des_key);
 #endif
 }
 
@@ -158,25 +158,25 @@
 }
 
 #else /* USE_CRYPT */
-static des_key_schedule    key_schedule;
+static DES_key_schedule    key_schedule;
 
 bool
 DesSetkey(key)
 u_char *key;
 {
-    des_cblock des_key;
+    DES_cblock des_key;
     MakeKey(key, des_key);
-    des_set_key(&des_key, key_schedule);
+    DES_set_key(&des_key, &key_schedule);
     return (1);
 }
 
 bool
-DesEncrypt(clear, key, cipher)
+DesEncrypt(clear, cipher)
 u_char *clear;    /* IN  8 octets */
 u_char *cipher;    /* OUT 8 octets */
 {
-    des_ecb_encrypt((des_cblock *)clear, (des_cblock *)cipher,
-        key_schedule, 1);
+    DES_ecb_encrypt((DES_cblock *)clear, (DES_cblock *)cipher,
+        &key_schedule, 1);
     return (1);
 }
 
@@ -185,8 +185,8 @@
 u_char *cipher;    /* IN  8 octets */
 u_char *clear;    /* OUT 8 octets */
 {
-    des_ecb_encrypt((des_cblock *)cipher, (des_cblock *)clear,
-        key_schedule, 0);
+    DES_ecb_encrypt((DES_cblock *)cipher, (DES_cblock *)clear,
+        &key_schedule, 0);
     return (1);
 }
 
diff -Nuar ppp-2.4.7/pppd/pppcrypt.h ppp-2.4.7-fixed/pppd/pppcrypt.h
--- ppp-2.4.7/pppd/pppcrypt.h    2014-08-09 20:31:39.000000000 +0800
+++ ppp-2.4.7-fixed/pppd/pppcrypt.h    2020-08-21 15:42:19.676795248 +0800
@@ -38,7 +38,7 @@
 #endif
 
 #ifndef USE_CRYPT
-#include <des.h>
+#include <openssl/des.h>
 #endif
 
 extern bool    DesSetkey __P((u_char *));