[Openvpn-devel,v2] socket: Remove ifdef for SO_{RCV, SND}BUF

Message ID 20260126145432.31249-1-gert@greenie.muc.de
State New
Headers show
Series [Openvpn-devel,v2] socket: Remove ifdef for SO_{RCV, SND}BUF | expand

Commit Message

Gert Doering Jan. 26, 2026, 2:54 p.m. UTC
From: Frank Lichtenheld <frank@lichtenheld.com>

Seems all our platforms define it.

Reported-by: Marc Heuse <marc@srlabs.de>
Github: Fixes OpenVPN/openvpn#965
Change-Id: I87679949bdef6319d7490d561f0136633244c2b9
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1486
---

This change was reviewed on Gerrit and approved by at least one
developer. I request to merge it to master.

Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1486
This mail reflects revision 2 of this Change.

Acked-by according to Gerrit (reflected above):
Gert Doering <gert@greenie.muc.de>

Comments

Gert Doering Jan. 26, 2026, 3:32 p.m. UTC | #1
Kudos to our good friends from SRLabs... if they start staring at the
code, they will actually find stuff :-) - the initial report was "there
is an '#else return false;' missing", but it turned to an opportunity to
get rid of #ifdefs.  All the better.

Checked some of the oldest and weirdest systems we sort-of support 
(FreeBSD 7.4, AIX, Windows) and they all have these defines... out!

Your patch has been applied to the master branch.

commit 57e701129e1178c6e53f593558535ebebe6b2cd5
Author: Frank Lichtenheld
Date:   Mon Jan 26 15:54:26 2026 +0100

     socket: Remove ifdef for SO_{RCV, SND}BUF

     Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
     Acked-by: Gert Doering <gert@greenie.muc.de>
     Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1486
     Message-Id: <20260126145432.31249-1-gert@greenie.muc.de>
     URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg35435.html
     Signed-off-by: Gert Doering <gert@greenie.muc.de>


--
kind regards,

Gert Doering

Patch

diff --git a/src/openvpn/socket.c b/src/openvpn/socket.c
index 331249d..58ccda9 100644
--- a/src/openvpn/socket.c
+++ b/src/openvpn/socket.c
@@ -419,57 +419,45 @@ 
 static int
 socket_get_sndbuf(socket_descriptor_t sd)
 {
-#if defined(SOL_SOCKET) && defined(SO_SNDBUF)
     int val;
-    socklen_t len;
+    socklen_t len = sizeof(val);
 
-    len = sizeof(val);
     if (getsockopt(sd, SOL_SOCKET, SO_SNDBUF, (void *)&val, &len) == 0 && len == sizeof(val))
     {
         return val;
     }
-#endif
     return 0;
 }
 
 static void
 socket_set_sndbuf(socket_descriptor_t sd, int size)
 {
-#if defined(SOL_SOCKET) && defined(SO_SNDBUF)
     if (setsockopt(sd, SOL_SOCKET, SO_SNDBUF, (void *)&size, sizeof(size)) != 0)
     {
         msg(M_WARN, "NOTE: setsockopt SO_SNDBUF=%d failed", size);
     }
-#endif
 }
 
 static int
 socket_get_rcvbuf(socket_descriptor_t sd)
 {
-#if defined(SOL_SOCKET) && defined(SO_RCVBUF)
     int val;
-    socklen_t len;
+    socklen_t len = sizeof(val);
 
-    len = sizeof(val);
     if (getsockopt(sd, SOL_SOCKET, SO_RCVBUF, (void *)&val, &len) == 0 && len == sizeof(val))
     {
         return val;
     }
-#endif
     return 0;
 }
 
-static bool
+static void
 socket_set_rcvbuf(socket_descriptor_t sd, int size)
 {
-#if defined(SOL_SOCKET) && defined(SO_RCVBUF)
     if (setsockopt(sd, SOL_SOCKET, SO_RCVBUF, (void *)&size, sizeof(size)) != 0)
     {
         msg(M_WARN, "NOTE: setsockopt SO_RCVBUF=%d failed", size);
-        return false;
     }
-    return true;
-#endif
 }
 
 void