Skip to content

Commit c31a5c1

Browse files
committed
use abstract namespace
1 parent 6c47c36 commit c31a5c1

File tree

5 files changed

+12
-16
lines changed

5 files changed

+12
-16
lines changed

project/plugins.sbt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
resolvers += Resolver.url("scalasbt releases", new URL("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-snapshots"))(Resolver.ivyStylePatterns)
22

3-
addSbtPlugin("com.hanhuy.sbt" % "android-sdk-plugin" % "1.4.7")
3+
addSbtPlugin("com.hanhuy.sbt" % "android-sdk-plugin" % "1.4.8")
44

55
resolvers += "Sonatype snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"
66

src/main/jni/badvpn/tun2socks/tun2socks.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -502,11 +502,11 @@ int main (int argc, char **argv)
502502
goto fail2;
503503
}
504504

505-
char *path = "/data/data/com.github.shadowsocks/sock_path";
506-
unlink(path);
505+
char *path = "#shadowsocks_tunfd";
507506
memset(&addr, 0, sizeof(addr));
508507
addr.sun_family = AF_UNIX;
509508
strncpy(addr.sun_path, path, sizeof(addr.sun_path)-1);
509+
addr.sun_path[0] = 0;
510510

511511
if (bind(sock, (struct sockaddr*)&addr, sizeof(addr)) == -1) {
512512
BLog(BLOG_ERROR, "bind() failed: %s (sock = %d)\n", strerror(errno), sock);

src/main/jni/system.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ jint Java_com_github_shadowsocks_system_sendfd(JNIEnv *env, jobject thiz, jint t
5858

5959
memset(&addr, 0, sizeof(addr));
6060
addr.sun_family = AF_UNIX;
61-
strncpy(addr.sun_path, "/data/data/com.github.shadowsocks/sock_path", sizeof(addr.sun_path)-1);
61+
strncpy(addr.sun_path, "#shadowsocks_tunfd", sizeof(addr.sun_path)-1);
62+
addr.sun_path[0] = 0;
6263

6364
if (connect(fd, (struct sockaddr*)&addr, sizeof(addr)) == -1) {
6465
LOGE("connect() failed: %s (fd = %d)\n", strerror(errno), fd);

src/main/scala/com/github/shadowsocks/ShadowsocksVpnThread.scala

+6-11
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ import android.util.Log
4848
class ShadowsocksVpnThread(vpnService: ShadowsocksVpnService) extends Thread {
4949

5050
val TAG = "ShadowsocksVpnService"
51-
val PATH = "/data/data/com.github.shadowsocks/protect_path"
51+
val PATH = "shadowsocks_protect"
5252

5353
var isRunning: Boolean = true
5454
var serverSocket: LocalServerSocket = null
@@ -64,16 +64,11 @@ class ShadowsocksVpnThread(vpnService: ShadowsocksVpnService) extends Thread {
6464
override def run(): Unit = {
6565

6666
try {
67-
new File(PATH).delete()
68-
} catch {
69-
case _: Exception => // ignore
70-
}
71-
72-
try {
73-
val localSocket = new LocalSocket
74-
75-
localSocket.bind(new LocalSocketAddress(PATH, LocalSocketAddress.Namespace.FILESYSTEM))
76-
serverSocket = new LocalServerSocket(localSocket.getFileDescriptor)
67+
if (serverSocket != null) {
68+
serverSocket.close()
69+
serverSocket = null
70+
}
71+
serverSocket = new LocalServerSocket(PATH)
7772
} catch {
7873
case e: IOException =>
7974
Log.e(TAG, "unable to bind", e)

0 commit comments

Comments
 (0)