From 72290734be81e83e6ef9520c07692f68095eb5b2 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Sat, 25 Jul 2015 05:11:34 +0200 Subject: resolved: scope - write() unicast DNS packets As we have connect()ed to the desired DNS server, we no longer need to pass control messages manually when sending packets. Simplify the logic accordingly. --- src/resolve/resolved-dns-scope.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/resolve/resolved-dns-scope.c') diff --git a/src/resolve/resolved-dns-scope.c b/src/resolve/resolved-dns-scope.c index e8c6108924..927a1ddc26 100644 --- a/src/resolve/resolved-dns-scope.c +++ b/src/resolve/resolved-dns-scope.c @@ -153,6 +153,10 @@ int dns_scope_emit(DnsScope *s, int fd, DnsPacket *p) { if (p->size + UDP_PACKET_HEADER_SIZE > mtu) return -EMSGSIZE; + r = manager_write(s->manager, fd, p); + if (r < 0) + return r; + } else if (s->protocol == DNS_PROTOCOL_LLMNR) { if (DNS_PACKET_QDCOUNT(p) > 1) @@ -174,13 +178,13 @@ int dns_scope_emit(DnsScope *s, int fd, DnsPacket *p) { return -EAFNOSUPPORT; if (fd < 0) return fd; + + r = manager_send(s->manager, fd, ifindex, family, &addr, port, p); + if (r < 0) + return r; } else return -EAFNOSUPPORT; - r = manager_send(s->manager, fd, ifindex, family, &addr, port, p); - if (r < 0) - return r; - return 1; } -- cgit v1.2.3-54-g00ecf