Skip to content

Commit d29542f

Browse files
committed
enable position independent executables(L is checked it)
1 parent 13199fd commit d29542f

File tree

10 files changed

+38
-15
lines changed

10 files changed

+38
-15
lines changed
0 Bytes
Binary file not shown.
-4 KB
Binary file not shown.
0 Bytes
Binary file not shown.

app/src/main/assets/armeabi-v7a/pdnsd

0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
28 KB
Binary file not shown.
24 KB
Binary file not shown.
0 Bytes
Binary file not shown.

app/src/main/java/com/proxy/shadowsocksr/SSRVPNService.java

-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ class SSRService extends ISSRService.Stub
7979
{
8080
}
8181
onRevoke();
82-
stopRunner();
8382
return true;
8483
}
8584
return super.onTransact(code, data, reply, flags);

app/src/main/jni/Android.mk

+38-14
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ SODIUM_SOURCE := $(crypto_aead_src) $(crypto_auth_src) $(crypto_box_src) \
6161
$(crypto_stream_src) $(crypto_verify_src) $(randombytes_src) $(sodium_src)
6262

6363
LOCAL_MODULE := sodium
64-
LOCAL_CFLAGS += -O2 -I$(LOCAL_PATH)/shadowsocks-libev/libsodium/src/libsodium/include \
64+
LOCAL_CFLAGS += -pie -fPIE -O2 -I$(LOCAL_PATH)/shadowsocks-libev/libsodium/src/libsodium/include \
6565
-I$(LOCAL_PATH)/shadowsocks-libev/libsodium/src/libsodium/include/sodium \
6666
-DPACKAGE_NAME=\"libsodium\" -DPACKAGE_TARNAME=\"libsodium\" \
6767
-DPACKAGE_VERSION=\"1.0.1\" -DPACKAGE_STRING=\"libsodium\ 1.0.1\" \
@@ -79,6 +79,8 @@ LOCAL_CFLAGS += -O2 -I$(LOCAL_PATH)/shadowsocks-libev/libsodium/src/libsodium/in
7979
-DHAVE_WEAK_SYMBOLS=1 -DHAVE_ARC4RANDOM=1 -DHAVE_ARC4RANDOM_BUF=1 \
8080
-DHAVE_MLOCK=1 -DHAVE_MPROTECT=1 -DHAVE_POSIX_MEMALIGN=1
8181

82+
LOCAL_LDFLAGS += -pie -fPIE
83+
8284
LOCAL_SRC_FILES := $(addprefix shadowsocks-libev/libsodium/src/libsodium/,$(SODIUM_SOURCE))
8385

8486
include $(BUILD_STATIC_LIBRARY)
@@ -104,10 +106,12 @@ LIBEVENT_SOURCES := \
104106

105107
LOCAL_MODULE := event
106108
LOCAL_SRC_FILES := $(addprefix libevent/, $(LIBEVENT_SOURCES))
107-
LOCAL_CFLAGS := -O2 -I$(LOCAL_PATH)/libevent \
109+
LOCAL_CFLAGS := -pie -fPIE -O2 -I$(LOCAL_PATH)/libevent \
108110
-I$(LOCAL_PATH)/libevent/include \
109111
-I$(LOCAL_PATH)/openssl/include
110112

113+
LOCAL_LDFLAGS += -pie -fPIE
114+
111115
include $(BUILD_STATIC_LIBRARY)
112116

113117
########################################################
@@ -119,7 +123,9 @@ include $(CLEAR_VARS)
119123
ANCILLARY_SOURCE := fd_recv.c fd_send.c
120124

121125
LOCAL_MODULE := libancillary
122-
LOCAL_CFLAGS += -O2 -I$(LOCAL_PATH)/libancillary
126+
LOCAL_CFLAGS += -pie -fPIE -O2 -I$(LOCAL_PATH)/libancillary
127+
128+
LOCAL_LDFLAGS += -pie -fPIE
123129

124130
LOCAL_SRC_FILES := $(addprefix libancillary/, $(ANCILLARY_SOURCE))
125131

@@ -141,9 +147,11 @@ set_src = set/allocation.c set/inspection.c set/ipv4_set.c set/ipv6_set.c \
141147
IPSET_SOURCE := general.c $(bdd_src) $(map_src) $(set_src)
142148

143149
LOCAL_MODULE := libipset
144-
LOCAL_CFLAGS += -O2 -I$(LOCAL_PATH)/shadowsocks-libev/libipset/include \
150+
LOCAL_CFLAGS += -pie -fPIE -O2 -I$(LOCAL_PATH)/shadowsocks-libev/libipset/include \
145151
-I$(LOCAL_PATH)/shadowsocks-libev/libcork/include
146152

153+
LOCAL_LDFLAGS += -pie -fPIE
154+
147155
LOCAL_SRC_FILES := $(addprefix shadowsocks-libev/libipset/,$(IPSET_SOURCE))
148156

149157
include $(BUILD_STATIC_LIBRARY)
@@ -168,9 +176,11 @@ pthreads_src := pthreads/thread.c
168176
CORK_SOURCE := $(cli_src) $(core_src) $(ds_src) $(posix_src) $(pthreads_src)
169177

170178
LOCAL_MODULE := libcork
171-
LOCAL_CFLAGS += -O2 -I$(LOCAL_PATH)/shadowsocks-libev/libcork/include \
179+
LOCAL_CFLAGS += -pie -fPIE -O2 -I$(LOCAL_PATH)/shadowsocks-libev/libcork/include \
172180
-DCORK_API=CORK_LOCAL
173181

182+
LOCAL_LDFLAGS += -pie -fPIE
183+
174184
LOCAL_SRC_FILES := $(addprefix shadowsocks-libev/libcork/,$(CORK_SOURCE))
175185

176186
include $(BUILD_STATIC_LIBRARY)
@@ -187,9 +197,11 @@ UDNS_SOURCES := udns_dn.c udns_dntosp.c udns_parse.c udns_resolver.c udns_init.c
187197
udns_rr_srv.c udns_rr_naptr.c udns_codes.c udns_jran.c
188198

189199
LOCAL_MODULE := libudns
190-
LOCAL_CFLAGS += -O2 -I$(LOCAL_PATH)/shadowsocks-libev/libudns \
200+
LOCAL_CFLAGS += -pie -fPIE -O2 -I$(LOCAL_PATH)/shadowsocks-libev/libudns \
191201
-DHAVE_DECL_INET_NTOP
192202

203+
LOCAL_LDFLAGS += -pie -fPIE
204+
193205
LOCAL_SRC_FILES := $(addprefix shadowsocks-libev/libudns/,$(UDNS_SOURCES))
194206

195207
include $(BUILD_STATIC_LIBRARY)
@@ -201,10 +213,12 @@ include $(BUILD_STATIC_LIBRARY)
201213
include $(CLEAR_VARS)
202214

203215
LOCAL_MODULE := libev
204-
LOCAL_CFLAGS += -O2 -DNDEBUG -DHAVE_CONFIG_H
216+
LOCAL_CFLAGS += -pie -fPIE -O2 -DNDEBUG -DHAVE_CONFIG_H
205217
LOCAL_SRC_FILES := \
206218
libev/ev.c \
207-
libev/event.c
219+
libev/event.c
220+
221+
LOCAL_LDFLAGS += -pie -fPIE
208222

209223
include $(BUILD_STATIC_LIBRARY)
210224

@@ -223,10 +237,12 @@ LOCAL_STATIC_LIBRARIES := libevent
223237

224238
LOCAL_MODULE := redsocks
225239
LOCAL_SRC_FILES := $(addprefix redsocks/, $(REDSOCKS_SOURCES))
226-
LOCAL_CFLAGS := -O2 -std=gnu99 -I$(LOCAL_PATH)/redsocks \
240+
LOCAL_CFLAGS := -pie -fPIE -O2 -std=gnu99 -I$(LOCAL_PATH)/redsocks \
227241
-I$(LOCAL_PATH)/libevent/include \
228242
-I$(LOCAL_PATH)/libevent
229243

244+
LOCAL_LDFLAGS += -pie -fPIE
245+
230246
include $(BUILD_EXECUTABLE)
231247

232248
########################################################
@@ -239,7 +255,9 @@ PDNSD_SOURCES := $(wildcard $(LOCAL_PATH)/pdnsd/src/*.c)
239255

240256
LOCAL_MODULE := pdnsd
241257
LOCAL_SRC_FILES := $(PDNSD_SOURCES:$(LOCAL_PATH)/%=%)
242-
LOCAL_CFLAGS := -Wall -O2 -I$(LOCAL_PATH)/pdnsd
258+
LOCAL_CFLAGS := -pie -fPIE -Wall -O2 -I$(LOCAL_PATH)/pdnsd
259+
260+
LOCAL_LDFLAGS += -pie -fPIE
243261

244262
include $(BUILD_EXECUTABLE)
245263

@@ -253,7 +271,7 @@ SHADOWSOCKS_SOURCES := local.c cache.c udprelay.c encrypt.c utils.c netutils.c j
253271

254272
LOCAL_MODULE := ss-local
255273
LOCAL_SRC_FILES := $(addprefix shadowsocks-libev/src/, $(SHADOWSOCKS_SOURCES))
256-
LOCAL_CFLAGS := -Wall -O2 -fno-strict-aliasing -DUDPRELAY_LOCAL \
274+
LOCAL_CFLAGS := -pie -fPIE -Wall -O2 -fno-strict-aliasing -DUDPRELAY_LOCAL \
257275
-DUSE_CRYPTO_OPENSSL -DANDROID -DHAVE_CONFIG_H \
258276
-I$(LOCAL_PATH)/libev \
259277
-I$(LOCAL_PATH)/libancillary \
@@ -264,6 +282,8 @@ LOCAL_CFLAGS := -Wall -O2 -fno-strict-aliasing -DUDPRELAY_LOCAL \
264282
-I$(LOCAL_PATH)/shadowsocks-libev/libsodium/src/libsodium/include/sodium \
265283
-I$(LOCAL_PATH)/shadowsocks-libev/libipset/include
266284

285+
LOCAL_LDFLAGS += -pie -fPIE
286+
267287
LOCAL_STATIC_LIBRARIES := libev libcrypto libipset libcork libudns libsodium libancillary
268288

269289
LOCAL_LDLIBS := -llog
@@ -280,15 +300,17 @@ SHADOWSOCKS_SOURCES := tunnel.c cache.c udprelay.c encrypt.c utils.c netutils.c
280300

281301
LOCAL_MODULE := ss-tunnel
282302
LOCAL_SRC_FILES := $(addprefix shadowsocks-libev/src/, $(SHADOWSOCKS_SOURCES))
283-
LOCAL_CFLAGS := -Wall -O2 -fno-strict-aliasing -DUDPRELAY_LOCAL -DUDPRELAY_TUNNEL \
303+
LOCAL_CFLAGS := -pie -fPIE -Wall -O2 -fno-strict-aliasing -DUDPRELAY_LOCAL -DUDPRELAY_TUNNEL \
284304
-DUSE_CRYPTO_OPENSSL -DANDROID -DHAVE_CONFIG_H -DSSTUNNEL_JNI \
285305
-I$(LOCAL_PATH)/libev \
286306
-I$(LOCAL_PATH)/libancillary \
287307
-I$(LOCAL_PATH)/shadowsocks-libev/libudns \
288308
-I$(LOCAL_PATH)/shadowsocks-libev/libcork/include \
289309
-I$(LOCAL_PATH)/shadowsocks-libev/libsodium/src/libsodium/include \
290310
-I$(LOCAL_PATH)/shadowsocks-libev/libsodium/src/libsodium/include/sodium \
291-
-I$(LOCAL_PATH)/openssl/include
311+
-I$(LOCAL_PATH)/openssl/include
312+
313+
LOCAL_LDFLAGS += -pie -fPIE
292314

293315
LOCAL_STATIC_LIBRARIES := libev libcrypto libsodium libcork libudns libancillary
294316

@@ -320,13 +342,15 @@ include $(BUILD_SHARED_LIBRARY)
320342

321343
include $(CLEAR_VARS)
322344

323-
LOCAL_CFLAGS := -std=gnu99
345+
LOCAL_CFLAGS := -std=gnu99 -pie -fPIE
324346
LOCAL_CFLAGS += -DBADVPN_THREADWORK_USE_PTHREAD -DBADVPN_LINUX -DBADVPN_BREACTOR_BADVPN -D_GNU_SOURCE
325347
LOCAL_CFLAGS += -DBADVPN_USE_SELFPIPE -DBADVPN_USE_EPOLL
326348
LOCAL_CFLAGS += -DBADVPN_LITTLE_ENDIAN -DBADVPN_THREAD_SAFE
327349
LOCAL_CFLAGS += -DNDEBUG -DANDROID
328350
# LOCAL_CFLAGS += -DTUN2SOCKS_JNI
329351

352+
LOCAL_LDFLAGS += -pie -fPIE
353+
330354
LOCAL_STATIC_LIBRARIES := libancillary
331355

332356
LOCAL_C_INCLUDES:= \

0 commit comments

Comments
 (0)