From f93746b1afa4e0d10c23b5a03ea2562b507ef05a Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Thu, 12 Jul 2018 10:35:33 +0000 Subject: [PATCH] - Fix to improve systemd socket activation code file descriptor assignment. git-svn-id: file:///svn/unbound/trunk@4778 be551aaa-1e26-0410-a405-d3ace91eadb9 --- doc/Changelog | 4 ++++ services/listen_dnsport.c | 13 +++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/doc/Changelog b/doc/Changelog index a1c853897..b1e0a1fa0 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,7 @@ +12 July 2018: Wouter + - Fix to improve systemd socket activation code file descriptor + assignment. + 10 July 2018: Wouter - Note in documentation that the cert name match code needs OpenSSL 1.1.0 or later to be enabled. diff --git a/services/listen_dnsport.c b/services/listen_dnsport.c index 248cad366..4638285e1 100644 --- a/services/listen_dnsport.c +++ b/services/listen_dnsport.c @@ -144,8 +144,17 @@ systemd_get_activated(int family, int socktype, int listen, for(i = 0; i < r; i++) { if(sd_is_socket(SD_LISTEN_FDS_START + i, family, socktype, listen)) { - s = SD_LISTEN_FDS_START + i; - break; + if( (family == AF_INET || family == AF_INET6) ) { + if(sd_is_socket_sockaddr( + SD_LISTEN_FDS_START + i, family, + addr, addrlen)) { + s = SD_LISTEN_FDS_START + i; + break; + } + } else { + s = SD_LISTEN_FDS_START + i; + break; + } } } if (s == -1) { -- 2.47.3