]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
libsystemd-network: set SOCK_CLOEXEC and SOCK_NONBLOCK
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 11 Nov 2018 17:03:22 +0000 (02:03 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 11 Nov 2018 17:03:22 +0000 (02:03 +0900)
src/libsystemd-network/sd-dhcp-server.c
src/libsystemd-network/test-dhcp-client.c
src/libsystemd-network/test-dhcp6-client.c
src/libsystemd-network/test-ipv4ll.c
src/libsystemd-network/test-lldp.c
src/libsystemd-network/test-ndisc-ra.c
src/libsystemd-network/test-ndisc-rs.c

index 1a1aba90c13b8dcb9e262829204f7d5ee102d1f3..2458d556284555b97efbaf9ed5a27414c17f9ec8 100644 (file)
@@ -988,7 +988,7 @@ int sd_dhcp_server_start(sd_dhcp_server *server) {
         assert_return(server->fd < 0, -EBUSY);
         assert_return(server->address != htobe32(INADDR_ANY), -EUNATCH);
 
-        r = socket(AF_PACKET, SOCK_DGRAM | SOCK_NONBLOCK, 0);
+        r = socket(AF_PACKET, SOCK_DGRAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0);
         if (r < 0) {
                 r = -errno;
                 sd_dhcp_server_stop(server);
index 30dc36140f6abdc0da605f5e936e8d679b61082b..8770d9d7e7a3755000e880fd93c091281e8d627e 100644 (file)
@@ -232,7 +232,7 @@ int dhcp_network_bind_raw_socket(
                 const uint8_t *addr, size_t addr_len,
                 uint16_t arp_type, uint16_t port) {
 
-        if (socketpair(AF_UNIX, SOCK_STREAM, 0, test_fd) < 0)
+        if (socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0, test_fd) < 0)
                 return -errno;
 
         return test_fd[0];
@@ -241,7 +241,7 @@ int dhcp_network_bind_raw_socket(
 int dhcp_network_bind_udp_socket(int ifindex, be32_t address, uint16_t port) {
         int fd;
 
-        fd = socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC, 0);
+        fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0);
         if (fd < 0)
                 return -errno;
 
index 0a93f8786caf5c3c21ef728d3eaf716066883658..d88b018dc9432d073e22ca397875f7bb89e31469 100644 (file)
@@ -878,7 +878,7 @@ int dhcp6_network_send_udp_socket(int s, struct in6_addr *server_address,
 int dhcp6_network_bind_udp_socket(int index, struct in6_addr *local_address) {
         assert_se(index == test_index);
 
-        if (socketpair(AF_UNIX, SOCK_STREAM, 0, test_dhcp_fd) < 0)
+        if (socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0, test_dhcp_fd) < 0)
                 return -errno;
 
         return test_dhcp_fd[0];
index d9c803f899dc00efc46a5ffadb178017fe3a3b42..2e1488cb0ab6d2378321ddc1b25f7ad25f9c38a9 100644 (file)
@@ -79,7 +79,7 @@ int arp_send_announcement(int fd, int ifindex,
 }
 
 int arp_network_bind_raw_socket(int index, be32_t address, const struct ether_addr *eth_mac) {
-        if (socketpair(AF_UNIX, SOCK_DGRAM | SOCK_NONBLOCK, 0, test_fd) < 0)
+        if (socketpair(AF_UNIX, SOCK_DGRAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0, test_fd) < 0)
                 return -errno;
 
         return test_fd[0];
index ac8ba2b7075e5f12afc7f95294a3bbf3e38a5103..e0d4d9a8586c8ecf92c23269c829dacf967ea65f 100644 (file)
@@ -24,7 +24,7 @@ static int test_fd[2] = { -1, -1 };
 static int lldp_handler_calls;
 
 int lldp_network_bind_raw_socket(int ifindex) {
-        if (socketpair(AF_UNIX, SOCK_DGRAM | SOCK_NONBLOCK, 0, test_fd) < 0)
+        if (socketpair(AF_UNIX, SOCK_DGRAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0, test_fd) < 0)
                 return -errno;
 
         return test_fd[0];
index 43f1be26f26db83061c33298f49ad0dc1a0500ac..c4c1c811407d5269b56f2b180d7c2c1d9e7ddb45 100644 (file)
@@ -297,7 +297,7 @@ static void test_ra(void) {
 
         printf("* %s\n", __FUNCTION__);
 
-        assert_se(socketpair(AF_UNIX, SOCK_SEQPACKET, 0, test_fd) >= 0);
+        assert_se(socketpair(AF_UNIX, SOCK_SEQPACKET | SOCK_CLOEXEC | SOCK_NONBLOCK, 0, test_fd) >= 0);
 
         assert_se(sd_event_new(&e) >= 0);
 
index 70f289bcb560f2d5f397c67b63131d269d346c75..caf94d10f8799f0019ec93118ed7ba1e4d3e3ae9 100644 (file)
@@ -176,7 +176,7 @@ static int test_rs_hangcheck(sd_event_source *s, uint64_t usec,
 int icmp6_bind_router_solicitation(int index) {
         assert_se(index == 42);
 
-        if (socketpair(AF_UNIX, SOCK_DGRAM, 0, test_fd) < 0)
+        if (socketpair(AF_UNIX, SOCK_DGRAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0, test_fd) < 0)
                 return -errno;
 
         return test_fd[0];