diff options
author | Xin LI <delphij@FreeBSD.org> | 2020-12-18 04:23:20 +0000 |
---|---|---|
committer | Xin LI <delphij@FreeBSD.org> | 2020-12-18 04:23:20 +0000 |
commit | 7341cb0cd1cb6a5bf03c955ce04107b86b186613 (patch) | |
tree | f2f213e911ed462a2ccca38cfa45cb13c4b46531 /contrib/unbound/services | |
parent | 43835d120fe2fc8d42d1b5d34db69af9360bf039 (diff) | |
parent | 072fbfa38b24d202f4eac875ad2f93531dad7f7e (diff) | |
download | src-7341cb0cd1cb6a5bf03c955ce04107b86b186613.tar.gz src-7341cb0cd1cb6a5bf03c955ce04107b86b186613.zip |
MFV r368746:
Apply upstream fix 08968baec1122a58bb90d8f97ad948a75f8a5d69:
Fix error cases when udp-connect is set and send() returns an error
Obtained from: unbound git
MFC after: 3 days
Notes
Notes:
svn path=/head/; revision=368751
Diffstat (limited to 'contrib/unbound/services')
-rw-r--r-- | contrib/unbound/services/authzone.c | 2 | ||||
-rw-r--r-- | contrib/unbound/services/outside_network.c | 15 |
2 files changed, 5 insertions, 12 deletions
diff --git a/contrib/unbound/services/authzone.c b/contrib/unbound/services/authzone.c index 8fa69d27aa21..a43a25def993 100644 --- a/contrib/unbound/services/authzone.c +++ b/contrib/unbound/services/authzone.c @@ -6093,7 +6093,7 @@ xfr_probe_send_probe(struct auth_xfer* xfr, struct module_env* env, /* send udp packet */ if(!comm_point_send_udp_msg(xfr->task_probe->cp, env->scratch_buffer, - (struct sockaddr*)&addr, addrlen)) { + (struct sockaddr*)&addr, addrlen, 0)) { char zname[255+1], as[256]; dname_str(xfr->name, zname); addr_to_str(&addr, addrlen, as, sizeof(as)); diff --git a/contrib/unbound/services/outside_network.c b/contrib/unbound/services/outside_network.c index 11951adea7bc..e87aba893d98 100644 --- a/contrib/unbound/services/outside_network.c +++ b/contrib/unbound/services/outside_network.c @@ -1870,17 +1870,10 @@ randomize_and_send_udp(struct pending* pend, sldns_buffer* packet, int timeout) log_assert(pend->pc && pend->pc->cp); /* send it over the commlink */ - if(outnet->udp_connect) { - if(!comm_point_send_udp_msg(pend->pc->cp, packet, NULL, 0)) { - portcomm_loweruse(outnet, pend->pc); - return 0; - } - } else { - if(!comm_point_send_udp_msg(pend->pc->cp, packet, - (struct sockaddr*)&pend->addr, pend->addrlen)) { - portcomm_loweruse(outnet, pend->pc); - return 0; - } + if(!comm_point_send_udp_msg(pend->pc->cp, packet, + (struct sockaddr*)&pend->addr, pend->addrlen, outnet->udp_connect)) { + portcomm_loweruse(outnet, pend->pc); + return 0; } /* system calls to set timeout after sending UDP to make roundtrip |