X-Git-Url: https://git.distorted.org.uk/~mdw/tripe/blobdiff_plain/4a3882945f605704ede113a9fe98cd19a92363a7..56c76774f4077c83e975d51c3488f43e54390b5c:/server/peer.c diff --git a/server/peer.c b/server/peer.c index a8099e41..341ea38b 100644 --- a/server/peer.c +++ b/server/peer.c @@ -527,9 +527,14 @@ buf *p_txstart(peer *p, unsigned msg) int p_txaddr(const addr *a, const void *p, size_t sz) { socklen_t sasz = addrsz(a); + int i; + if ((i = afix(a->sa.sa_family)) < 0) { + a_warn("PEER", "?ADDR", a, "disabled-address-family", A_END); + return (-1); + } IF_TRACING(T_PEER, trace_block(T_PACKET, "peer: sending packet", p, sz); ) - if (sendto(sock.fd, p, sz, 0, &a->sa, sasz) < 0) { + if (sendto(udpsock[i].fd, p, sz, 0, &a->sa, sasz) < 0) { a_warn("PEER", "?ADDR", a, "socket-write-error", "?ERRNO", A_END); return (-1); }