+
+static int SSL_TEST_CLIENT_CONF_equal(SSL_TEST_CLIENT_CONF *client,
+ SSL_TEST_CLIENT_CONF *client2)
+{
+ if (!TEST_int_eq(client->verify_callback, client2->verify_callback)) {
+ TEST_info("ClientVerifyCallback mismatch: %s vs %s.",
+ ssl_verify_callback_name(client->verify_callback),
+ ssl_verify_callback_name(client2->verify_callback));
+ return 0;
+ }
+ if (!TEST_int_eq(client->servername, client2->servername)) {
+ TEST_info("ServerName mismatch: %s vs %s.",
+ ssl_servername_name(client->servername),
+ ssl_servername_name(client2->servername));
+ return 0;
+ }
+ if (!TEST_str_eq(client->npn_protocols, client2->npn_protocols))
+ return 0;
+ if (!TEST_str_eq(client->alpn_protocols, client2->alpn_protocols))
+ return 0;
+ if (!TEST_int_eq(client->ct_validation, client2->ct_validation)) {
+ TEST_info("CTValidation mismatch: %s vs %s.",
+ ssl_ct_validation_name(client->ct_validation),
+ ssl_ct_validation_name(client2->ct_validation));
+ return 0;
+ }
+ return 1;
+}
+
+static int SSL_TEST_SERVER_CONF_equal(SSL_TEST_SERVER_CONF *server,
+ SSL_TEST_SERVER_CONF *server2)
+{
+ if (!TEST_int_eq(server->servername_callback,
+ server2->servername_callback)) {
+ TEST_info("ServerNameCallback mismatch: %s vs %s.",
+ ssl_servername_callback_name(server->servername_callback),
+ ssl_servername_callback_name(server2->servername_callback));
+ return 0;
+ }
+ if (!TEST_str_eq(server->npn_protocols, server2->npn_protocols))
+ return 0;
+ if (!TEST_str_eq(server->alpn_protocols, server2->alpn_protocols))
+ return 0;
+ if (!TEST_int_eq(server->broken_session_ticket,
+ server2->broken_session_ticket))
+ return 0;
+ if (!TEST_int_eq(server->cert_status, server2->cert_status)) {
+ TEST_info("CertStatus mismatch: %s vs %s.",
+ ssl_certstatus_name(server->cert_status),
+ ssl_certstatus_name(server2->cert_status));
+ return 0;
+ }
+ return 1;
+}
+
+static int SSL_TEST_EXTRA_CONF_equal(SSL_TEST_EXTRA_CONF *extra,
+ SSL_TEST_EXTRA_CONF *extra2)
+{
+ return SSL_TEST_CLIENT_CONF_equal(&extra->client, &extra2->client)
+ && SSL_TEST_SERVER_CONF_equal(&extra->server, &extra2->server)
+ && SSL_TEST_SERVER_CONF_equal(&extra->server2, &extra2->server2);
+}
+