Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24971)
/* Determine mode of operation. */
#if !defined(OPENSSL_NO_QUIC_THREAD_ASSIST)
qc->is_thread_assisted
- = (ctx->method == OSSL_QUIC_client_thread_method());
+ = ((ctx->domain_flags & SSL_DOMAIN_FLAG_THREAD_ASSISTED) != 0);
#endif
qc->as_server = 0; /* TODO(QUIC SERVER): add server support */
return 0;
}
+ /*
+ * Note: We treat MULTI_THREAD as a no-op in non-threaded builds, but
+ * not THREAD_ASSISTED.
+ */
+# ifndef OPENSSL_THREADS
+ if ((domain_flags & SSL_DOMAIN_FLAG_THREAD_ASSISTED) != 0) {
+ ERR_raise_data(ERR_LIB_SSL, ERR_R_UNSUPPORTED,
+ "thread assisted mode not available in this build");
+ return 0;
+ }
+# endif
+
ctx->domain_flags = domain_flags;
return 1;
}