gnutls_ext_raw_parse(3)
β¨ gnutls_ext_raw_parse β¨
okay bestie, gather round, because this one is from the gnutls manual and it's literally the API function called gnutls_ext_raw_parse. yes it's a mouthful, no we're not renaming it, it's iconic like that π
πΈ SYNOPSIS πΈ
#include <gnutls/gnutls.h>
int gnutls_ext_raw_parse(void * ctx, gnutls_ext_raw_process_func cb,
const gnutls_datum_t * data, unsigned int flags);
π ARGUMENTS π
void * ctxβ a pointer that gets handed straight to the callback function. just vibes being passed along, no cap π«Άgnutls_ext_raw_process_func cbβ the callback function that processes every extension it finds. this is the main character of the operation, fr frconst gnutls_datum_t * dataβ the TLS extension data. the raw material, the moment, the whole point πunsigned int flagsβ should be zero, orGNUTLS_EXT_RAW_FLAG_TLS_CLIENT_HELLO, orGNUTLS_EXT_RAW_FLAG_DTLS_CLIENT_HELLO
π¦ DESCRIPTION π¦
so what this function does is it iterates through the TLS extensions exactly as they're passed in data, and it hands the individual extension data off to the callback. that's the whole arc, bestie β¨
the data has to conform to the Extension extensions<0..2^16-1> format β like, that's non-negotiable, it's giving structured data or nothing π
now, if flags is GNUTLS_EXT_RAW_TLS_FLAG_CLIENT_HELLO, then this function will parse the extension data from the position, as if the packet in data is a client hello (without record or handshake headers) β exactly as provided by gnutls_handshake_set_hook_function(). so yes, it's got that hook-up energy π
and listen: the return value of the callback will be propagated. whatever your callback says, this function says. it's loyal like that π«Ά
β RETURNS β
GNUTLS_E_SUCCESSon success, or an error code. we love a win, but we also respect a graceful L π- On unknown flags it returns
GNUTLS_E_INVALID_REQUESTβ so like, don't just make up flags, bestie, the vibe check will catch you π
π SINCE π
3.6.3 β an elder, but a legend. it's giving vintage, it's giving classic π
π REPORTING BUGS π
found a bug? not me gatekeeping the feedback loop π
- Report bugs to <bugs@gnutls.org>.
- Home page: https://www.gnutls.org
π COPYRIGHT π
Copyright Β© 2001-2023 Free Software Foundation, Inc., and others.
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. like, share, remix, just keep the receipts, periodt β¨
π§ SEE ALSO π§
The full documentation for gnutls is maintained as a Texinfo manual. If the /usr/share/doc/gnutls/ directory does not contain the HTML form, visit:
https://www.gnutls.org/manual/
go read the whole thing, it's the extended universe, iykyk π
and that's the page, bestie!! π this was gnutls version3.8.13, from thegnutlsmanual, and it's literally calledgnutls_ext_raw_parse(3). slay, ate, no crumbs left. mwah π πΈβ¨
π¦ where this page comes from
- alpine 3.22: gnutls-doc 3.8.13-r0 Β· LGPL-2.1-or-later
- alpine 3.23: gnutls-doc 3.8.13-r0 Β· LGPL-2.1-or-later
- alpine 3.24: gnutls-doc 3.8.13-r0 Β· LGPL-2.1-or-later
- arch rolling: gnutls 3.8.13-3 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- fedora 43: gnutls-devel 3.8.13-1.fc43 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- fedora 43: gnutls-devel 3.8.13-1.fc43 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- fedora 44: gnutls-devel 3.8.13-1.fc44 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- fedora 44: gnutls-devel 3.8.13-1.fc44 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- ubuntu stonking: gnutls-doc 3.8.13-1ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms