mirror of
https://github.com/OpenVPN/openvpn.git
synced 2026-06-11 09:50:26 -04:00
Added SOCKET_SND_RCV_BUF_MAX constant (set to 1000000) to limit the
maximum size passed to setsockopt SNDBUF/RCVBUF. git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@3062 e7ae566f-a301-0410-adde-c780ea21d3b5
This commit is contained in:
parent
4fb01ce0ba
commit
e2e10f8d7a
2 changed files with 16 additions and 5 deletions
16
socket.c
16
socket.c
|
|
@ -292,9 +292,12 @@ static void
|
|||
socket_set_sndbuf (int sd, int size)
|
||||
{
|
||||
#if defined(HAVE_SETSOCKOPT) && defined(SOL_SOCKET) && defined(SO_SNDBUF)
|
||||
if (setsockopt (sd, SOL_SOCKET, SO_SNDBUF, (void *) &size, sizeof (size)) != 0)
|
||||
if (size > 0 && size < SOCKET_SND_RCV_BUF_MAX)
|
||||
{
|
||||
msg (M_WARN, "NOTE: setsockopt SO_SNDBUF=%d failed", size);
|
||||
if (setsockopt (sd, SOL_SOCKET, SO_SNDBUF, (void *) &size, sizeof (size)) != 0)
|
||||
{
|
||||
msg (M_WARN, "NOTE: setsockopt SO_SNDBUF=%d failed", size);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
@ -318,10 +321,13 @@ static bool
|
|||
socket_set_rcvbuf (int sd, int size)
|
||||
{
|
||||
#if defined(HAVE_SETSOCKOPT) && defined(SOL_SOCKET) && defined(SO_RCVBUF)
|
||||
if (setsockopt (sd, SOL_SOCKET, SO_RCVBUF, (void *) &size, sizeof (size)) != 0)
|
||||
if (size > 0 && size < SOCKET_SND_RCV_BUF_MAX)
|
||||
{
|
||||
msg (M_WARN, "NOTE: setsockopt SO_RCVBUF=%d failed", size);
|
||||
return false;
|
||||
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
|
||||
|
|
|
|||
5
socket.h
5
socket.h
|
|
@ -41,6 +41,11 @@
|
|||
*/
|
||||
#define OPENVPN_PORT 1194
|
||||
|
||||
/*
|
||||
* Maximum size passed passed to setsockopt SNDBUF/RCVBUF
|
||||
*/
|
||||
#define SOCKET_SND_RCV_BUF_MAX 1000000
|
||||
|
||||
/*
|
||||
* Number of seconds that "resolv-retry infinite"
|
||||
* represents.
|
||||
|
|
|
|||
Loading…
Reference in a new issue