Browse Source

fix some issues

pull/359/head
Max Lv 9 years ago
parent
commit
87fb636545
4 changed files with 7 additions and 7 deletions
  1. 6
      src/android.c
  2. 4
      src/local.c
  3. 2
      src/udprelay.c
  4. 2
      src/udprelay.h

6
src/android.c

@ -182,14 +182,14 @@ int protect_socket(void (*protect_cb)(int ret, void *data), void *data, int fd)
int remotefd;
struct sockaddr_un addr;
// Setup
setnonblocking(remotefd);
if ( (remotefd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1) {
LOGE("[android] socket() failed: %s (socket fd = %d)\n", strerror(errno), remotefd);
return -1;
}
// Setup
setnonblocking(remotefd);
memset(&addr, 0, sizeof(addr));
addr.sun_family = AF_UNIX;
strncpy(addr.sun_path, "/data/data/com.github.shadowsocks/protect_path", sizeof(addr.sun_path)-1);

4
src/local.c

@ -209,11 +209,11 @@ static void protect_cb(int ret, void *data) {
if (ret == -1) {
close_and_free_remote(EV_DEFAULT, remote);
close_and_free_remote(EV_DEFAULT, server);
close_and_free_server(EV_DEFAULT, server);
return;
}
server_recv_cb(EV_DEFAULT, server->recv_ctx, EV_CUSTOM);
server_recv_cb(EV_DEFAULT, &server->recv_ctx->io, EV_CUSTOM);
}
#endif

2
src/udprelay.c

@ -127,7 +127,7 @@ static void protect_cb(int ret, void *data) {
struct protect_ctx *protect_ctx = (struct protect_ctx*)data;
if (ret != -1) {
int s = sendto(protect_ctx->remote_ctx->fd, protect_ctx->buf,
protect_ctx->buf_len, 0, protect_ctx->addr, protect_ctx->addr_len);
protect_ctx->buf_len, 0, &protect_ctx->addr, protect_ctx->addr_len);
if (s == -1) {
ERROR("[udp] sendto_remote");
}

2
src/udprelay.h

@ -89,7 +89,7 @@ struct protect_ctx {
struct sockaddr_storage addr;
int addr_len;
struct remote_ctx *remote_ctx;
}
};
#endif
#endif // _UDPRELAY_H
Loading…
Cancel
Save