This helps debugging what information a client is sending without having to
use a debugger or to look at the server log.

Signed-off-by: Arne Schwabe <a...@rfc2549.org>
---
 src/openvpn/ssl.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/src/openvpn/ssl.c b/src/openvpn/ssl.c
index 016bdc57f..1138dc4e7 100644
--- a/src/openvpn/ssl.c
+++ b/src/openvpn/ssl.c
@@ -1970,6 +1970,20 @@ read_string_alloc(struct buffer *buf)
     return str;
 }
 
+static void
+print_client_peer_info(struct buffer *out, struct gc_arena *gc)
+{
+    struct buffer buf = alloc_buf_gc(buf_len(out), gc);
+    buf_copy(&buf, out);
+
+    char line[256];
+
+    while (buf_parse(&buf, '\n', line, sizeof(line)))
+    {
+        chomp(line);
+        msg(D_PUSH_DEBUG, "sending peer info: %s", line);
+    }
+}
 /**
  * Prepares the IV_ and UV_ variables that are part of the
  * exchange to signal the peer's capabilities. The amount
@@ -2119,6 +2133,11 @@ push_peer_info(struct buffer *buf, struct tls_session 
*session)
             }
         }
 
+        if (check_debug_level(D_PUSH_DEBUG))
+        {
+            print_client_peer_info(&out, &gc);
+        }
+
         if (!write_string(buf, BSTR(&out), -1))
         {
             goto error;
-- 
2.37.1 (Apple Git-137.1)



_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to