Browse code

Do not set the buffer size by default but rely on the operation system default.

Also remove SOCKET_SND_RCV_BUF_MAX since limiting the buffer to 1000k is
arbitrary and all OSes impose a maximum that can be set anyway.

closes trac ticket #461

V2: SOCKET_SND_RCV_BUF_MAX removal

Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <1444919918-4525-1-git-send-email-arne@rfc2549.org>
URL: http://article.gmane.org/gmane.network.openvpn.devel/10280

Signed-off-by: Gert Doering <gert@greenie.muc.de>

Arne Schwabe authored on 2015/10/15 23:38:38
Showing 4 changed files
... ...
@@ -1433,12 +1433,12 @@ connection problems) with the following options:
1433 1433
 .TP
1434 1434
 .B \-\-sndbuf size
1435 1435
 Set the TCP/UDP socket send buffer size.
1436
-Currently defaults to 65536 bytes.
1436
+Defaults to operation system default.
1437 1437
 .\"*********************************************************
1438 1438
 .TP
1439 1439
 .B \-\-rcvbuf size
1440 1440
 Set the TCP/UDP socket receive buffer size.
1441
-Currently defaults to 65536 bytes.
1441
+Defaults to operation system default.
1442 1442
 .\"*********************************************************
1443 1443
 .TP
1444 1444
 .B \-\-mark value
... ...
@@ -785,10 +785,6 @@ init_options (struct options *o, const bool init_gc)
785 785
 #ifdef ENABLE_FEATURE_TUN_PERSIST
786 786
   o->persist_mode = 1;
787 787
 #endif
788
-#ifndef WIN32
789
-  o->rcvbuf = 65536;
790
-  o->sndbuf = 65536;
791
-#endif
792 788
 #ifdef TARGET_LINUX
793 789
   o->tuntap_options.txqueuelen = 100;
794 790
 #endif
... ...
@@ -623,12 +623,9 @@ static void
623 623
 socket_set_sndbuf (int sd, int size)
624 624
 {
625 625
 #if defined(HAVE_SETSOCKOPT) && defined(SOL_SOCKET) && defined(SO_SNDBUF)
626
-  if (size > 0 && size < SOCKET_SND_RCV_BUF_MAX)
626
+  if (setsockopt (sd, SOL_SOCKET, SO_SNDBUF, (void *) &size, sizeof (size)) != 0)
627 627
     {
628
-      if (setsockopt (sd, SOL_SOCKET, SO_SNDBUF, (void *) &size, sizeof (size)) != 0)
629
-	{
630
-	  msg (M_WARN, "NOTE: setsockopt SO_SNDBUF=%d failed", size);
631
-	}
628
+      msg (M_WARN, "NOTE: setsockopt SO_SNDBUF=%d failed", size);
632 629
     }
633 630
 #endif
634 631
 }
... ...
@@ -652,13 +649,10 @@ static bool
652 652
 socket_set_rcvbuf (int sd, int size)
653 653
 {
654 654
 #if defined(HAVE_SETSOCKOPT) && defined(SOL_SOCKET) && defined(SO_RCVBUF)
655
-  if (size > 0 && size < SOCKET_SND_RCV_BUF_MAX)
655
+  if (setsockopt (sd, SOL_SOCKET, SO_RCVBUF, (void *) &size, sizeof (size)) != 0)
656 656
     {
657
-      if (setsockopt (sd, SOL_SOCKET, SO_RCVBUF, (void *) &size, sizeof (size)) != 0)
658
-	{
659
-	  msg (M_WARN, "NOTE: setsockopt SO_RCVBUF=%d failed", size);
660
-	  return false;
661
-	}
657
+      msg (M_WARN, "NOTE: setsockopt SO_RCVBUF=%d failed", size);
658
+      return false;
662 659
     }
663 660
   return true;
664 661
 #endif
... ...
@@ -42,11 +42,6 @@
42 42
 #define OPENVPN_PORT "1194"
43 43
 
44 44
 /*
45
- * Maximum size passed passed to setsockopt SNDBUF/RCVBUF
46
- */
47
-#define SOCKET_SND_RCV_BUF_MAX 1000000
48
-
49
-/*
50 45
  * Number of seconds that "resolv-retry infinite"
51 46
  * represents.
52 47
  */