Browse Source

Specify stat_path on Android

pull/2264/head
Mygod 6 years ago
parent
commit
7fc05dcd9d
2 changed files with 10 additions and 2 deletions
  1. 6
      src/android.c
  2. 6
      src/local.c

6
src/android.c

@ -92,9 +92,12 @@ protect_socket(int fd)
return ret; return ret;
} }
extern char *stat_path;
int int
send_traffic_stat(uint64_t tx, uint64_t rx) send_traffic_stat(uint64_t tx, uint64_t rx)
{ {
if (!stat_path) return 0;
int sock; int sock;
struct sockaddr_un addr; struct sockaddr_un addr;
@ -112,7 +115,7 @@ send_traffic_stat(uint64_t tx, uint64_t rx)
memset(&addr, 0, sizeof(addr)); memset(&addr, 0, sizeof(addr));
addr.sun_family = AF_UNIX; addr.sun_family = AF_UNIX;
strncpy(addr.sun_path, "stat_path", sizeof(addr.sun_path) - 1);
strncpy(addr.sun_path, stat_path, sizeof(addr.sun_path) - 1);
if (connect(sock, (struct sockaddr *)&addr, sizeof(addr)) == -1) { if (connect(sock, (struct sockaddr *)&addr, sizeof(addr)) == -1) {
LOGE("[android] connect() failed for stat_path: %s (socket fd = %d)\n", LOGE("[android] connect() failed for stat_path: %s (socket fd = %d)\n",
@ -130,4 +133,5 @@ send_traffic_stat(uint64_t tx, uint64_t rx)
} }
close(sock); close(sock);
return 0;
} }

6
src/local.c

@ -93,6 +93,7 @@ uint64_t rx = 0;
ev_tstamp last = 0; ev_tstamp last = 0;
int is_remote_dns = 0; int is_remote_dns = 0;
char *stat_path = NULL;
#endif #endif
static crypto_t *crypto; static crypto_t *crypto;
@ -1498,7 +1499,7 @@ main(int argc, char **argv)
USE_TTY(); USE_TTY();
#ifdef __ANDROID__ #ifdef __ANDROID__
while ((c = getopt_long(argc, argv, "f:s:p:l:k:t:m:i:c:b:a:n:huUvV6AD",
while ((c = getopt_long(argc, argv, "f:s:p:l:k:t:m:i:c:b:a:n:S:huUvV6AD",
long_options, NULL)) != -1) { long_options, NULL)) != -1) {
#else #else
while ((c = getopt_long(argc, argv, "f:s:p:l:k:t:m:i:c:b:a:n:huUv6A", while ((c = getopt_long(argc, argv, "f:s:p:l:k:t:m:i:c:b:a:n:huUv6A",
@ -1596,6 +1597,9 @@ main(int argc, char **argv)
ipv6first = 1; ipv6first = 1;
break; break;
#ifdef __ANDROID__ #ifdef __ANDROID__
case 'S':
stat_path = optarg;
break;
case 'D': case 'D':
is_remote_dns = 1; is_remote_dns = 1;
break; break;

Loading…
Cancel
Save