]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Add a -trace option to quicserver to enable tracing of the communication
authorMatt Caswell <matt@openssl.org>
Thu, 17 Aug 2023 13:32:53 +0000 (14:32 +0100)
committerMatt Caswell <matt@openssl.org>
Thu, 24 Aug 2023 09:33:58 +0000 (10:33 +0100)
Trace output of the communication with the client is dumped to stderr if
the -trace options is supplied

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21800)

util/quicserver.c

index 72f9fd9f57fdb5c554d9a8a2ae313c9630a63a76..25ac21691fbc3198c84d84985caa9b6cde629297 100644 (file)
@@ -132,14 +132,14 @@ static BIO *create_dgram_bio(int family, const char *hostname, const char *port)
 
 static void usage(void)
 {
-    BIO_printf(bio_err, "quicserver [-6] hostname port certfile keyfile\n");
+    BIO_printf(bio_err, "quicserver [-6][-trace] hostname port certfile keyfile\n");
 }
 
 int main(int argc, char *argv[])
 {
     QUIC_TSERVER_ARGS tserver_args = {0};
     QUIC_TSERVER *qtserv = NULL;
-    int ipv6 = 0;
+    int ipv6 = 0, trace = 0;
     int argnext = 1;
     BIO *bio = NULL;
     char *hostname, *port, *certfile, *keyfile;
@@ -162,6 +162,8 @@ int main(int argc, char *argv[])
             break;
         if (strcmp(argv[argnext], "-6") == 0) {
             ipv6 = 1;
+        } else if(strcmp(argv[argnext], "-trace") == 0) {
+            trace = 1;
         } else {
             BIO_printf(bio_err, "Unrecognised argument %s\n", argv[argnext]);
             usage();
@@ -207,6 +209,9 @@ int main(int argc, char *argv[])
     /* Ownership of the BIO is passed to qtserv */
     bio = NULL;
 
+    if (trace)
+        ossl_quic_tserver_set_msg_callback(qtserv, SSL_trace, bio_err);
+
     /* Read the request */
     do {
         if (first)