aboutsummaryrefslogtreecommitdiffstats
path: root/src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2014-07-09 16:04:16 +0200
committerMartin Willi <martin@revosec.ch>2014-09-24 11:19:59 +0200
commitde11d34abb49a6ca64b98f586821d98312162a64 (patch)
treed950d7f882b340321f825172ffcb7c79f80340f6 /src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c
parent4c438cf0992ff20b02e2f5ef0c656fcb18fac02b (diff)
downloadstrongswan-de11d34abb49a6ca64b98f586821d98312162a64.tar.bz2
strongswan-de11d34abb49a6ca64b98f586821d98312162a64.tar.xz
kernel-netlink: Use recv() instead of recvfrom()
As we are not interested in the returned address, there is really no need in passing that argument.
Diffstat (limited to 'src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c')
-rw-r--r--src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c b/src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c
index 30d5aaabd..427499108 100644
--- a/src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c
+++ b/src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c
@@ -65,7 +65,7 @@ METHOD(netlink_socket_t, netlink_send, status_t,
private_netlink_socket_t *this, struct nlmsghdr *in, struct nlmsghdr **out,
size_t *out_len)
{
- int len, addr_len;
+ int len;
struct sockaddr_nl addr;
chunk_t result = chunk_empty, tmp;
struct nlmsghdr *msg, peek;
@@ -113,14 +113,7 @@ METHOD(netlink_socket_t, netlink_send, status_t,
tmp.ptr = buf;
msg = (struct nlmsghdr*)tmp.ptr;
- memset(&addr, 0, sizeof(addr));
- addr.nl_family = AF_NETLINK;
- addr.nl_pid = getpid();
- addr.nl_groups = 0;
- addr_len = sizeof(addr);
-
- len = recvfrom(this->socket, tmp.ptr, tmp.len, 0,
- (struct sockaddr*)&addr, &addr_len);
+ len = recv(this->socket, tmp.ptr, tmp.len, 0);
if (len < 0)
{
@@ -161,8 +154,7 @@ METHOD(netlink_socket_t, netlink_send, status_t,
/* NLM_F_MULTI flag does not seem to be set correctly, we use sequence
* numbers to detect multi header messages */
- len = recvfrom(this->socket, &peek, sizeof(peek), MSG_PEEK | MSG_DONTWAIT,
- (struct sockaddr*)&addr, &addr_len);
+ len = recv(this->socket, &peek, sizeof(peek), MSG_PEEK | MSG_DONTWAIT);
if (len == sizeof(peek) && peek.nlmsg_seq == this->seq)
{