# define IS_QUIC_METHOD(m) \
((m) == OSSL_QUIC_client_method() || \
(m) == OSSL_QUIC_client_thread_method() || \
- (m) == OSSL_QUIC_server_method())
+ (m) == OSSL_QUIC_server_method() || \
+ (m) == OSSL_QUIC_method())
# define IS_QUIC_CTX(ctx) IS_QUIC_METHOD((ctx)->method)
*/
__owur const SSL_METHOD *OSSL_QUIC_server_method(void);
+/*
+ * Method used for QUIC client/server connection
+ */
+__owur const SSL_METHOD *OSSL_QUIC_method(void);
+
# ifdef __cplusplus
}
# endif
#include <openssl/objects.h>
#include "quic_local.h"
+/*
+ * NOTE: An endpoint method can be used to create a quic connection
+ * for use as a client or server, based on a subsequent call to
+ * SSL_set_[accept|connect]_state
+ */
+IMPLEMENT_quic_meth_func(OSSL_QUIC_ANY_VERSION,
+ OSSL_QUIC_method,
+ ssl_undefined_function,
+ ossl_quic_connect, ssl3_undef_enc_method)
+
IMPLEMENT_quic_meth_func(OSSL_QUIC_ANY_VERSION,
OSSL_QUIC_client_method,
ssl_undefined_function,