SSL_RSTATE_STRING(3ossl)
π SSL_RSTATE_STRING(3ossl)
okay so bestie, this is the 3ossl manual page, and it's literally all about peeking at what an SSL object is doing mid-read. it's a tiny little page, a real snacc, so let's go π
β¨ NAME β¨
SSL_rstate_string, SSL_rstate_string_long β get a textual description of the state of an SSL object during a read operation π¦
πΈ SYNOPSIS πΈ
#include <openssl/ssl.h>
const char *SSL_rstate_string(SSL *ssl);
const char *SSL_rstate_string_long(SSL *ssl);
π DESCRIPTION π
SSL_rstate_string() returns a 2 letter string indicating the current read state of the SSL object ssl. short and sweet, two characters, that's it π
SSL_rstate_string_long() returns a string indicating the current read state of the SSL object ssl. same vibe, but the long version, iykyk.
π«Ά NOTES π«Ά
so when it's doing a read operation, the SSL/TLS engine has to parse the record β and a record is made of a header and a body, bestie. two parts. iconic structure honestly.
when you're working in a blocking environment, SSL_rstate_string[_long]() should always return "RD"/"read done". always. no cap. π
ngl, this function should only seldom be needed in applications. like, it's not the main character here, it's a guest star. don't build your whole personality around calling it π
π RETURN VALUES π
SSL_rstate_string() and SSL_rstate_string_long() can return the following values:
"RH"/"read header"β the header of the record is being evaluated. header era β¨"RB"/"read body"β the body of the record is being evaluated. body era β¨"unknown"/"unknown"β the read state is unknown. this should never happen. like literally never, if you see this something is deeply wrong π
when used with QUIC SSL objects, these functions always return "RH"/"read header" in normal conditions. QUIC stays in its header lane fr fr π
β SEE ALSO β
π COPYRIGHT π
Copyright 2001-2023 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>.
and that's the whole page, bestie π mwah π this was version 3.5.6, dated 2026-04-07, and the manual is SSL_RSTATE_STRING(3ossl) β go read ssl(7) next, slay π§ββοΈβ¨
π¦ where this page comes from
- freebsd 15.1: base 15.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms