vcl session: switch to generic cert key apis
[vpp.git] / src / plugins / hs_apps / vcl / vcl_test_server.c
index d55fef3..a2a4d6a 100644 (file)
@@ -255,12 +255,13 @@ vts_server_rx (vcl_test_server_conn_t * conn, int rx_bytes)
 static void
 vts_copy_ds (void *buf, vppcom_data_segment_t * ds, u32 max_bytes)
 {
-  uint32_t n_bytes = 0, ds_idx = 0;
+  uint32_t n_bytes = 0, ds_idx = 0, to_copy;
 
   while (n_bytes < max_bytes)
     {
-      clib_memcpy_fast (buf + n_bytes, ds[ds_idx].data,
-                       clib_min (ds[ds_idx].len, max_bytes - n_bytes));
+      to_copy = clib_min (ds[ds_idx].len, max_bytes - n_bytes);
+      clib_memcpy_fast (buf + n_bytes, ds[ds_idx].data, to_copy);
+      n_bytes += to_copy;
       ds_idx += 1;
     }
 }
@@ -386,7 +387,7 @@ vcl_test_server_process_opts (vcl_test_server_main_t * vsm, int argc,
   vsm->cfg.proto = VPPCOM_PROTO_TCP;
 
   opterr = 0;
-  while ((c = getopt (argc, argv, "6DLsw:p:")) != -1)
+  while ((c = getopt (argc, argv, "6DLsw:hp:")) != -1)
     switch (c)
       {
       case '6':
@@ -552,10 +553,22 @@ vts_worker_init (vcl_test_server_worker_t * wrk)
   if (vsm->cfg.proto == VPPCOM_PROTO_TLS
       || vsm->cfg.proto == VPPCOM_PROTO_QUIC)
     {
-      vppcom_session_tls_add_cert (wrk->listen_fd, vcl_test_crt_rsa,
-                                  vcl_test_crt_rsa_len);
-      vppcom_session_tls_add_key (wrk->listen_fd, vcl_test_key_rsa,
-                                 vcl_test_key_rsa_len);
+      vppcom_cert_key_pair_t ckpair;
+      uint32_t ckp_len;
+      int ckp_index;
+
+      vtinf ("Adding tls certs ...");
+      ckpair.cert = vcl_test_crt_rsa;
+      ckpair.key = vcl_test_key_rsa;
+      ckpair.cert_len = vcl_test_crt_rsa_len;
+      ckpair.key_len = vcl_test_key_rsa_len;
+      ckp_index = vppcom_add_cert_key_pair (&ckpair);
+      if (ckp_index < 0)
+       vtfail ("vppcom_add_cert_key_pair()", ckp_index);
+
+      ckp_len = sizeof (ckp_index);
+      vppcom_session_attr (wrk->listen_fd, VPPCOM_ATTR_SET_CKPAIR, &ckp_index,
+                          &ckp_len);
     }
 
   rv = vppcom_session_bind (wrk->listen_fd, &vsm->cfg.endpt);