OSSL_QUIC_CLIENT_METHOD(3ossl)

πŸ“¦
version 15.1 Β· 2 versions
, in freebsd 15.1

πŸ’… OSSL_QUIC_CLIENT_METHOD πŸ’…

okay bestie, so this is the 3ossl manual page for OSSL_QUIC_CLIENT_METHOD, and it's literally the glow-up you need if you're trying to make QUIC happen in OpenSSL. pull up a chair, we're getting into it 🫢


✨ NAME ✨

OSSL_QUIC_client_method, OSSL_QUIC_client_thread_method, OSSL_QUIC_server_method β€” these three iconic little functions hand you SSL_METHOD objects so you can use QUIC-enabled functions. that's the whole vibe.


🌸 SYNOPSIS 🌸

#include <openssl/quic.h>

const SSL_METHOD *OSSL_QUIC_client_method(void);
const SSL_METHOD *OSSL_QUIC_client_thread_method(void);
const SSL_METHOD *OSSL_QUIC_server_method(void);

look at that. three lines, zero drama, all const, we love to see it πŸŽ€


πŸ’– DESCRIPTION πŸ’–

so here's the tea: OSSL_QUIC_client_method(), OSSL_QUIC_client_thread_method(), and OSSL_QUIC_server_method() all provide methods for the SSL_CTX_new_ex(3) function, and the whole point is that they give you QUIC protocol support. that's it, that's the job. QUIC protocol support ✨

now let's talk about the two client girlies, because they are not the same:

  • OSSL_QUIC_client_thread_method() uses threads so you can have a blocking mode of operation, and it avoids the need to return control to the OpenSSL library just to process time based events. it handles the clock stuff for you, main character energy fr πŸ”₯
  • OSSL_QUIC_client_method() does not use threads. it depends on nonblocking mode of operation, and it depends on the application periodically calling SSL functions. so like, you have to keep checking in on it. high maintenance, but valid πŸ’…

and then there's OSSL_QUIC_server_method(), which provides server-side QUIC protocol support, and β€” important β€” it must be used with the SSL_new_listener(3) API.

🚨 okay this is the part where you listen: attempting to use OSSL_QUIC_server_method() with SSL_new(3) will result in an error. not a vibe check fail, an actual error. don't do it. periodt. πŸ’€

⭐ RETURN VALUES ⭐

these functions return pointers to the constant method objects. simple. clean. no cap πŸ’–


πŸ¦‹ SEE ALSO πŸ¦‹

go read those too, iykyk 🌈


πŸ‘‘ HISTORY πŸ‘‘

  • OSSL_QUIC_client_method() and OSSL_QUIC_client_thread_method() were added in OpenSSL 3.2.
  • OSSL_QUIC_server_method() was added in OpenSSL 3.5.

so yeah, if you're on something ancient, that's why it's giving nothing 🧚


Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.


okay and that's the page!! version 3.5.6, dated 2026-04-07, filed under OSSL_QUIC_CLIENT_METHOD(3ossl) β€” mwah, go build something slay πŸ’œβœ¨

πŸ“¦ where this page comes from