diff options
author | rofl0r <rofl0r@users.noreply.github.com> | 2019-05-25 04:23:38 +0300 |
---|---|---|
committer | rofl0r <rofl0r@users.noreply.github.com> | 2019-05-25 04:23:38 +0300 |
commit | de4460fbd17e303996c79fc68879dc1918b695f1 (patch) | |
tree | aeacf329cb28a538b56a7e03d70dce198faa994c | |
parent | 5ad7c2a1839b960ec96cb19a4923ae289315dc72 (diff) |
proxy_getaddrinfo: don't use sizeof(struct sockaddr_storage) for addr_len
this should fix an issue which seems to be mac's bind() only accepting
sizeof(struct sockaddr_in) for AF_INET.
ref: https://github.com/rofl0r/microsocks/issues/19
-rw-r--r-- | src/core.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -897,7 +897,7 @@ int proxy_getaddrinfo(const char *node, const char *service, const struct addrin p->ai_canonname = space->addr_name; p->ai_next = NULL; p->ai_family = space->sockaddr_space.ss_family = af; - p->ai_addrlen = sizeof(space->sockaddr_space); + p->ai_addrlen = af == AF_INET ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6); if(hints) { p->ai_socktype = hints->ai_socktype; |