summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Mauderer <christian.mauderer@embedded-brains.de>2021-05-10 08:50:52 +0200
committerChristian Mauderer <christian.mauderer@embedded-brains.de>2021-05-11 08:42:44 +0200
commite474ada48a2bb7ec4672622b279281560913e43d (patch)
treea2e565abdb475747f93e3048f5f523e1cba9e649
parent5251e0c8164c5fbd01a5c6b4133373926f354eea (diff)
ipsec-tools/pfkey: Fix socket leak
setkey uses pfkey_open to open a socket. But setkey doesn't close the socket. The libipsec functions are used only by user space applications (setkey and racoon). Adding the wrapper for socket makes sure that the opened socket is registered and closes if the application exits. Fixes #4405
-rw-r--r--ipsec-tools/src/libipsec/pfkey.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ipsec-tools/src/libipsec/pfkey.c b/ipsec-tools/src/libipsec/pfkey.c
index a621be12..385a21a9 100644
--- a/ipsec-tools/src/libipsec/pfkey.c
+++ b/ipsec-tools/src/libipsec/pfkey.c
@@ -1,5 +1,12 @@
#include <machine/rtems-bsd-user-space.h>
+#ifdef __rtems__
+/* Only need socket from rtems-bsd-program wrappers! */
+int
+rtems_bsd_program_socket(int domain, int type, int protocol);
+#define socket(domain, type, protocol) \
+ rtems_bsd_program_socket(domain, type, protocol)
+#endif /* __rtems__ */
/* $NetBSD: pfkey.c,v 1.21.2.1 2011/11/14 13:25:06 tteras Exp $ */
/* $KAME: pfkey.c,v 1.47 2003/10/02 19:52:12 itojun Exp $ */