mirror of
https://github.com/OpenVPN/openvpn.git
synced 2026-05-28 04:03:29 -04:00
management: stop bytecount on client disconnection
When a management interface client requests periodic bytecount notifications, openvpn continues to emit them even after the client has disconnected. Additionally, upon reconnecting, the client starts receiving these notifications without having issued a new bytecount command. Stop the periodic bytecount operation when the management interface client disconnects, preventing unnecessary stats polling when using DCO and ensuring that clients only receive notifications they have explicitly requested. Change-Id: I1474d232278433d097baf85352dfc9a79853bad1 Signed-off-by: Ralf Lici <ralf@mandelbit.com> Acked-by: Gert Doering <gert@greenie.muc.de> Message-Id: <20250902163514.22339-1-gert@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg32765.html Signed-off-by: Gert Doering <gert@greenie.muc.de>
This commit is contained in:
parent
14ced61eef
commit
fccdb21733
1 changed files with 9 additions and 2 deletions
|
|
@ -500,6 +500,13 @@ man_status(struct management *man, const int version, struct status_output *so)
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
man_bytecount_stop(struct management *man)
|
||||
{
|
||||
man->connection.bytecount_update_seconds = 0;
|
||||
event_timeout_clear(&man->connection.bytecount_update_interval);
|
||||
}
|
||||
|
||||
static void
|
||||
man_bytecount(struct management *man, const int update_seconds)
|
||||
{
|
||||
|
|
@ -511,8 +518,7 @@ man_bytecount(struct management *man, const int update_seconds)
|
|||
}
|
||||
else
|
||||
{
|
||||
man->connection.bytecount_update_seconds = 0;
|
||||
event_timeout_clear(&man->connection.bytecount_update_interval);
|
||||
man_bytecount_stop(man);
|
||||
}
|
||||
|
||||
/* The newly received bytecount interval may be sooner than the existing
|
||||
|
|
@ -1992,6 +1998,7 @@ man_reset_client_socket(struct management *man, const bool exiting)
|
|||
{
|
||||
if (socket_defined(man->connection.sd_cli))
|
||||
{
|
||||
man_bytecount_stop(man);
|
||||
#ifdef _WIN32
|
||||
man_stop_ne32(man);
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in a new issue