X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=secnet.git;a=blobdiff_plain;f=udp.c;h=d1ada01f6f1d83eb56dce10336a1b33a552bc927;hp=1535f290c587a9efaa261d1ad2da740283ad024e;hb=HEAD;hpb=2d80199d7bc25b4c6e4a5ac986f8902770e82d96 diff --git a/udp.c b/udp.c index 1535f29..d1ada01 100644 --- a/udp.c +++ b/udp.c @@ -6,7 +6,7 @@ * * secnet is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version d of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * secnet is distributed in the hope that it will be useful, but @@ -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 (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: