summaryrefslogtreecommitdiffstats
path: root/main/ipsec-tools/75-racoonctl-rcvbuf.patch
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2010-10-14 15:55:53 +0300
committerNatanael Copa <ncopa@alpinelinux.org>2010-10-18 14:48:30 +0000
commitdd997098dca16b16a30a5711e5b71feba630889f (patch)
treedae0735c12a6d6a403856b0c906592e5c9cd6280 /main/ipsec-tools/75-racoonctl-rcvbuf.patch
parentad7605847f191d5ca185291d29e6d50d916e9d64 (diff)
downloadaports-2.0.3.tar.bz2
aports-2.0.3.tar.xz
main/ipsec-tools: racoonctl socket buffer size patchv2.0.3
will fix certain racoonctl errors if there are multiple simultaneous connections and the system socket buffer size is set low. (cherry picked from commit aa248c9684ebf2799649358e284acd19fe7192b7)
Diffstat (limited to 'main/ipsec-tools/75-racoonctl-rcvbuf.patch')
-rw-r--r--main/ipsec-tools/75-racoonctl-rcvbuf.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/main/ipsec-tools/75-racoonctl-rcvbuf.patch b/main/ipsec-tools/75-racoonctl-rcvbuf.patch
new file mode 100644
index 000000000..3a68bfc2a
--- /dev/null
+++ b/main/ipsec-tools/75-racoonctl-rcvbuf.patch
@@ -0,0 +1,33 @@
+Index: src/racoon/kmpstat.c
+===================================================================
+RCS file: /cvsroot/src/crypto/dist/ipsec-tools/src/racoon/kmpstat.c,v
+retrieving revision 1.6
+diff -u -r1.6 kmpstat.c
+--- a/src/racoon/kmpstat.c 2 Oct 2007 09:47:45 -0000 1.6
++++ b/src/racoon/kmpstat.c 14 Oct 2010 12:48:22 -0000
+@@ -99,6 +99,7 @@
+ com_init()
+ {
+ struct sockaddr_un name;
++ int rcvSize;
+
+ memset(&name, 0, sizeof(name));
+ name.sun_family = AF_UNIX;
+@@ -114,6 +115,17 @@
+ return -1;
+ }
+
++ /* set receive buffer size - should be relative large:
++ * racoon daemon will try to send all info in one go, if
++ * it does not fit we'll miss stuff */
++ rcvSize = 1024 * 1024;
++ if (setsockopt(so, SOL_SOCKET, SO_RCVBUF,
++ (void*) &rcvSize, sizeof(rcvSize)) < 0) {
++ rcvSize = 512 * 1024;
++ (void) setsockopt(so, SOL_SOCKET, SO_RCVBUF,
++ (void*) &rcvSize, sizeof(rcvSize));
++ }
++
+ return 0;
+ }
+