]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix to improve systemd socket activation code file descriptor
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Thu, 12 Jul 2018 10:35:33 +0000 (10:35 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Thu, 12 Jul 2018 10:35:33 +0000 (10:35 +0000)
  assignment.

git-svn-id: file:///svn/unbound/trunk@4778 be551aaa-1e26-0410-a405-d3ace91eadb9

doc/Changelog
services/listen_dnsport.c

index a1c853897a1c20f98e4ad99ebe9868fd1fc6416e..b1e0a1fa0c66ee86d22b0134c26940a324850fd5 100644 (file)
@@ -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.
index 248cad3665b0fbf4103a5fcf79a07c6c9107c44f..4638285e166eba6fd00c5231db0c7fbba614bc36 100644 (file)
@@ -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) {