X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=udp.c;h=d1ada01f6f1d83eb56dce10336a1b33a552bc927;hb=79b8d68a8b64c76d929d776570afba963ae44647;hp=ee38d51587eb02f56ec47ea98cb5ec0db3982173;hpb=f3b9bc33b5e1b1549da6b80c3a5952462afe8c1e;p=secnet.git diff --git a/udp.c b/udp.c index ee38d51..d1ada01 100644 --- a/udp.c +++ b/udp.c @@ -173,7 +173,7 @@ static void udp_socks_afterpoll(void *state, struct pollfd *fds, int nfds) ca.comm=&cc->ops; ca.ia=from; ca.ix=i; - done=comm_notify(&cc->notify, cc->rbuf, &ca); + done=comm_notify(cc, cc->rbuf, &ca); if (done) { udp_sock_experienced(0,uc,socks,us,0, from.sa.sa_family,0,0); @@ -186,7 +186,9 @@ static void udp_socks_afterpoll(void *state, struct pollfd *fds, int nfds) /* Manufacture and send NAK packet */ source=get_uint32(cc->rbuf->start); /* Us */ dest=get_uint32(cc->rbuf->start+4); /* Them */ - send_nak(&ca,source,dest,msgtype,cc->rbuf,"unwanted"); + send_nak(&ca,source,dest,msgtype,cc->rbuf, + priomsg_getmessage(&cc->why_unwanted, + "unwanted")); } BUF_FREE(cc->rbuf); } @@ -269,7 +271,8 @@ static bool_t record_socket_gotaddr(struct udpcommon *uc, struct udpsock *us, socklen_t salen=sizeof(us->addr); int r=getsockname(us->fd,&us->addr.sa,&salen); if (r) FAIL("getsockname()"); - if ((size_t)salen>sizeof(us->addr)) { errno=0; FAIL("getsockname() length"); } + if ((size_t)salen>sizeof(us->addr)) /* cast squashes clang warning */ + { errno=0; FAIL("getsockname() length"); } return True; failed: