forked from PaperMC/Waterfall
-
Notifications
You must be signed in to change notification settings - Fork 0
/
0050-OSX-native-zlib-and-crypto.patch
333 lines (321 loc) · 19.5 KB
/
0050-OSX-native-zlib-and-crypto.patch
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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
From 707abf979a99dd603a6e6ae3c701734a44c716f7 Mon Sep 17 00:00:00 2001
From: Colin Godsey <[email protected]>
Date: Tue, 16 Apr 2019 07:25:52 -0600
Subject: [PATCH] OSX native zlib and crypto
diff --git a/native/compile-native.sh b/native/compile-native.sh
index 98baf0e2..bdd1cd6b 100755
--- a/native/compile-native.sh
+++ b/native/compile-native.sh
@@ -1,6 +1,17 @@
#!/bin/sh
-CXX="g++ -shared -fPIC -O3 -Wall -Werror -I$JAVA_HOME/include/ -I$JAVA_HOME/include/linux/"
+# Waterfall - rewrite below to extend platform support
-$CXX src/main/c/NativeCipherImpl.cpp -o src/main/resources/native-cipher.so -lcrypto
-$CXX src/main/c/NativeCompressImpl.cpp -o src/main/resources/native-compress.so -lz
+if [[ "$OSTYPE" == "darwin"* ]]; then
+ # brew install mbedtls zlib
+ PREFIX="osx-"
+ CXX_ARGS="/usr/local/lib/libmbedcrypto.a -lz -I$JAVA_HOME/include/ -I$JAVA_HOME/include/darwin/ -I/usr/local/include -L/usr/local/lib"
+else
+ # apt-get install libmbedtls-dev zlib1g-dev
+ CXX_ARGS="-lcrypto -lz -I$JAVA_HOME/include/ -I$JAVA_HOME/include/linux/"
+fi
+
+CXX="g++ -shared -fPIC -O3 -Wall -Werror"
+
+$CXX src/main/c/NativeCipherImpl.cpp -o src/main/resources/${PREFIX}native-cipher.so $CXX_ARGS
+$CXX src/main/c/NativeCompressImpl.cpp -o src/main/resources/${PREFIX}native-compress.so $CXX_ARGS
diff --git a/native/src/main/c/NativeCipherImpl.cpp b/native/src/main/c/NativeCipherImpl.cpp
index aa7a12b4..0cedd7e5 100644
--- a/native/src/main/c/NativeCipherImpl.cpp
+++ b/native/src/main/c/NativeCipherImpl.cpp
@@ -1,5 +1,7 @@
// Support for CentOS 6
+#if __linux__ // Waterfall
__asm__(".symver memcpy,memcpy@GLIBC_2.2.5");
+#endif // Waterfall
#include <stdlib.h>
#include <string.h>
diff --git a/native/src/main/java/net/md_5/bungee/jni/NativeCode.java b/native/src/main/java/net/md_5/bungee/jni/NativeCode.java
index 4e4130bc..a6d7cfb5 100644
--- a/native/src/main/java/net/md_5/bungee/jni/NativeCode.java
+++ b/native/src/main/java/net/md_5/bungee/jni/NativeCode.java
@@ -19,6 +19,7 @@ public final class NativeCode<T>
public NativeCode(String name, Class<? extends T> javaImpl, Class<? extends T> nativeImpl)
{
+ if ("Mac OS X".equals( System.getProperty( "os.name" ))) name = "osx-" + name; // Waterfall
this.name = name;
this.javaImpl = javaImpl;
this.nativeImpl = nativeImpl;
@@ -80,6 +81,6 @@ public final class NativeCode<T>
public static boolean isSupported()
{
- return "Linux".equals( System.getProperty( "os.name" ) ) && "amd64".equals( System.getProperty( "os.arch" ) );
+ return ("Linux".equals( System.getProperty( "os.name" ) ) || "Mac OS X".equals( System.getProperty( "os.name" ) )) && ("amd64".equals( System.getProperty( "os.arch" ) ) || "x86_64".equals( System.getProperty( "os.arch" )) ); // Waterfall
}
}
diff --git a/native/src/main/resources/osx-native-cipher.so b/native/src/main/resources/osx-native-cipher.so
new file mode 100755
index 0000000000000000000000000000000000000000..4d7916066e78333aa659cd4ba491d94f26890893
GIT binary patch
literal 24164
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
WEa4_m=QdHGy<ZGc=>C3tHuv9J&nfo+
literal 0
HcmV?d00001
diff --git a/native/src/main/resources/osx-native-compress.so b/native/src/main/resources/osx-native-compress.so
new file mode 100755
index 0000000000000000000000000000000000000000..02c98d2c48097fdc3312534ee706b3905283eb45
GIT binary patch
literal 9676
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
Bu)Y8Q
literal 0
HcmV?d00001
--
2.26.1