LingYun Studio embeded system framwork software, such as thirdparty build shell and lingyun library
guowenxu
2021-04-26 2f244b2db28084ce0ecc4bacb25c65b935a0feae
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
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    2019-08-11 16:34:20.884222551 +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    2019-08-11 16:34:20.884222551 +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    2019-08-11 16:35:13.888223567 +0800
@@ -33,12 +33,12 @@
 # CC = 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= /usr/include/openssl
 
 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    2019-08-11 16:34:20.884222551 +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    2019-08-11 16:34:20.888222551 +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);
 }