aboutsummaryrefslogtreecommitdiff
path: root/contrib/unbound/services
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2020-12-18 04:23:20 +0000
committerXin LI <delphij@FreeBSD.org>2020-12-18 04:23:20 +0000
commit7341cb0cd1cb6a5bf03c955ce04107b86b186613 (patch)
treef2f213e911ed462a2ccca38cfa45cb13c4b46531 /contrib/unbound/services
parent43835d120fe2fc8d42d1b5d34db69af9360bf039 (diff)
parent072fbfa38b24d202f4eac875ad2f93531dad7f7e (diff)
downloadsrc-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.c2
-rw-r--r--contrib/unbound/services/outside_network.c15
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