aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLev Stipakov2023-09-22 12:50:55 +0200
committerGert Doering2023-09-22 14:03:15 +0200
commit785b50127ecf0c440c016f85cef0c59f56894fc4 (patch)
tree09ab69fca0f3c00b1c5fba4b8c1130f626461a2c
parent70ef43f2b9b938256e0f689f4ddba0d6fbb3a371 (diff)
downloadopenvpn-785b50127ecf0c440c016f85cef0c59f56894fc4.zip
openvpn-785b50127ecf0c440c016f85cef0c59f56894fc4.tar.gz
Warn user if INFO control command is too long
"INFO_PRE,..." command length is limited to 256 bytes. If the server implementation pushes command which is too long, warn the user and don't send the truncated command to a management client. Change-Id: If3c27a2a2ba24f2af0e3e3c95eea57ed420b2542 Signed-off-by: Lev Stipakov <lev@openvpn.net> Acked-by: Frank Lichtenheld <frank@lichtenheld.com> Message-Id: <20230922105055.37969-1-frank@lichtenheld.com> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg27062.html Signed-off-by: Gert Doering <gert@greenie.muc.de> (cherry picked from commit df624fb6d63db6b2a3b0c40597cee74c61b8ab2c)
-rw-r--r--src/openvpn/push.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/openvpn/push.c b/src/openvpn/push.c
index d468211..19849c5 100644
--- a/src/openvpn/push.c
+++ b/src/openvpn/push.c
@@ -244,8 +244,14 @@ server_pushed_info(struct context *c, const struct buffer *buffer,
* for management greeting and we don't want to confuse the client
*/
struct buffer out = alloc_buf_gc(256, &gc);
- buf_printf(&out, ">%s:%s", "INFOMSG", m);
- management_notify_generic(management, BSTR(&out));
+ if (buf_printf(&out, ">%s:%s", "INFOMSG", m))
+ {
+ management_notify_generic(management, BSTR(&out));
+ }
+ else
+ {
+ msg(D_PUSH_ERRORS, "WARNING: Received INFO command is too long, won't notify management client.");
+ }
gc_free(&gc);
}