From 3e29b8895a910314aaea4a251fc959cde427c241 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 12 Nov 2018 02:03:22 +0900 Subject: [PATCH] libsystemd-network: set SOCK_CLOEXEC and SOCK_NONBLOCK --- src/libsystemd-network/sd-dhcp-server.c | 2 +- src/libsystemd-network/test-dhcp-client.c | 4 ++-- src/libsystemd-network/test-dhcp6-client.c | 2 +- src/libsystemd-network/test-ipv4ll.c | 2 +- src/libsystemd-network/test-lldp.c | 2 +- src/libsystemd-network/test-ndisc-ra.c | 2 +- src/libsystemd-network/test-ndisc-rs.c | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/libsystemd-network/sd-dhcp-server.c b/src/libsystemd-network/sd-dhcp-server.c index 1a1aba9..2458d55 100644 --- a/src/libsystemd-network/sd-dhcp-server.c +++ b/src/libsystemd-network/sd-dhcp-server.c @@ -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); diff --git a/src/libsystemd-network/test-dhcp-client.c b/src/libsystemd-network/test-dhcp-client.c index 30dc361..8770d9d 100644 --- a/src/libsystemd-network/test-dhcp-client.c +++ b/src/libsystemd-network/test-dhcp-client.c @@ -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; diff --git a/src/libsystemd-network/test-dhcp6-client.c b/src/libsystemd-network/test-dhcp6-client.c index 0a93f87..d88b018 100644 --- a/src/libsystemd-network/test-dhcp6-client.c +++ b/src/libsystemd-network/test-dhcp6-client.c @@ -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]; diff --git a/src/libsystemd-network/test-ipv4ll.c b/src/libsystemd-network/test-ipv4ll.c index d9c803f..2e1488c 100644 --- a/src/libsystemd-network/test-ipv4ll.c +++ b/src/libsystemd-network/test-ipv4ll.c @@ -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]; diff --git a/src/libsystemd-network/test-lldp.c b/src/libsystemd-network/test-lldp.c index ac8ba2b..e0d4d9a 100644 --- a/src/libsystemd-network/test-lldp.c +++ b/src/libsystemd-network/test-lldp.c @@ -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]; diff --git a/src/libsystemd-network/test-ndisc-ra.c b/src/libsystemd-network/test-ndisc-ra.c index 43f1be2..c4c1c81 100644 --- a/src/libsystemd-network/test-ndisc-ra.c +++ b/src/libsystemd-network/test-ndisc-ra.c @@ -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); diff --git a/src/libsystemd-network/test-ndisc-rs.c b/src/libsystemd-network/test-ndisc-rs.c index 70f289b..caf94d1 100644 --- a/src/libsystemd-network/test-ndisc-rs.c +++ b/src/libsystemd-network/test-ndisc-rs.c @@ -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]; -- 2.7.4