blob: e79e4c53444e3a4bae1250411d8a3321af3552b0 [file] [log] [blame]
James Kuszmaul4a42b182021-01-17 11:32:46 -08001#include "parameters.h"
2#include "../dtls_fingerprint/fingerprint.h"
3#include <rawrtc/certificate.h>
4#include <rawrtc/dtls_fingerprint.h>
5#include <rawrtc/dtls_transport.h>
6#include <re.h>
7
8/*
9 * Print debug information for DTLS parameters.
10 */
11int rawrtc_dtls_parameters_debug(
12 struct re_printf* const pf, struct rawrtc_dtls_parameters const* const parameters) {
13 int err = 0;
14 struct rawrtc_dtls_fingerprints* fingerprints;
15 size_t i;
16
17 // Check arguments
18 if (!parameters) {
19 return 0;
20 }
21
22 err |= re_hprintf(pf, " DTLS Parameters <%p>:\n", parameters);
23
24 // Role
25 err |= re_hprintf(pf, " role=%s\n", rawrtc_dtls_role_to_str(parameters->role));
26
27 // Fingerprints
28 fingerprints = parameters->fingerprints;
29 err |= re_hprintf(pf, " Fingerprints <%p>:\n", fingerprints);
30 for (i = 0; i < fingerprints->n_fingerprints; ++i) {
31 // Fingerprint
32 err |= re_hprintf(
33 pf, " algorithm=%s value=%s\n",
34 rawrtc_certificate_sign_algorithm_to_str(fingerprints->fingerprints[i]->algorithm),
35 fingerprints->fingerprints[i]->value);
36 }
37
38 // Done
39 return err;
40}