X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fclient.c;h=d79fa78206bb2591f716aee2b97f30658d030db3;hb=1331f027db4be1f817027d855476fe56e26f14db;hp=1c83de0018f6c6e36cf3dd738e96b7b0b8153998;hpb=a0e46b6337ab6736bb391703338d2ad3b5ee514f;p=umurmur.git diff --git a/src/client.c b/src/client.c index 1c83de0..d79fa78 100644 --- a/src/client.c +++ b/src/client.c @@ -1046,11 +1046,11 @@ static int Client_send_udp(client_t *client, uint8_t *data, int len) CryptState_encrypt(&client->cryptState, data, buf, len); - // Maybe an OS X loopback quirk - if (client->remote_udp.ss_family == AF_INET) - sendto(udpsock, buf, len + 4, 0, (struct sockaddr *)&client->remote_udp, sizeof(struct sockaddr_in)); - else - sendto(udpsock, buf, len + 4, 0, (struct sockaddr *)&client->remote_udp, sizeof(struct sockaddr_in6)); +#if defined(NETBSD) || defined(FREEBSD) || defined(OPENBSD) || defined(__APPLE__) + sendto(udpsock, buf, len + 4, 0, (struct sockaddr *)&client->remote_udp, client->remote_tcp.ss_len); +#else + sendto(udpsock, buf, len + 4, 0, (struct sockaddr *)&client->remote_udp, sizeof(struct sockaddr_storage)); +#endif free(mbuf); } else {