gsasl_step64(3)

✨ gsasl_step64 πŸ’…

okay bestie, welcome to the gsasl manual, page three of the gsasl_step64 saga πŸŽ€ β€” this is the little base64-glow-up wrapper and she is lowkey iconic.


🌸 NAME 🌸

gsasl_step64 β€” it's an API function, fr fr. that's the whole name, no notes.


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <gsasl.h>

int gsasl_step64(Gsasl_session * sctx, const char * b64input, char **
b64output);

like. look at her. three args, one int back. she's giving minimalism πŸ’œ


πŸŽ€ ARGUMENTS πŸŽ€

  • Gsasl_session * sctx β€” the libgsasl client handle. your session bestie. the main character of this whole situation πŸ‘‘
  • const char * b64input β€” the input, which is a base64 encoded byte array. yes she's encoded on the way in, that's the whole bit ✨
  • char ** b64output β€” the output, freshly allocated, also base64 encoded byte array. brand new, never worn πŸ›οΈ

πŸ’– DESCRIPTION πŸ’–

so basically? gsasl_step64 is a simple wrapper around gsasl_step(). that's it. that's the function. she takes your input, base64 decodes it, does the step thing, and base64 encodes the output. a little encode-decode sandwich, a little transformation moment, we love a middleman who actually does something 🫢

⚠️ now listen, this part is important and I need you paying attention: the contents of the b64output buffer are unspecified if this function returns anything other than GSASL_OK or GSASL_NEEDS_MORE. unspecified!! don't look at it, don't touch it, don't build a personality around it πŸ’€

but IF the function returns GSASL_OK or GSASL_NEEDS_MORE, then the b64output buffer is allocated by this function β€” and it is the responsibility of the caller (that's you, babe) to deallocate it by calling gsasl_free( b64output ). yes you. you gotta free it. nobody else is gonna do it. this is your moment, take accountability ✨🧚

Return value: returns GSASL_OK if authenticated terminated successfully πŸ”₯, GSASL_NEEDS_MORE if more data is needed πŸ₯Ί, or an error code (the vibe check failed, sorry).


🌈 REPORTING BUGS 🌈

found a bug? spill, but to the right place:


Copyright Β© 2002-2026 Simon Josefsson.

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. periodt. free to share, just keep the receipts 🧾✨


πŸ”₯ SEE ALSO πŸ”₯

the full documentation for gsasl is maintained as a Texinfo manual. if the info and gsasl programs are properly installed at your site, this command:

info gsasl

should give you access to the complete manual β€” the entire lore, the whole extended universe πŸ“šπŸ’œ

as an alternative you may obtain the manual from:

https://www.gnu.org/software/libidn/gsasl/manual/

(that's a URL not a command, but you knew that, you're smart, iykyk 🌟)


and that's the page, bestie!! πŸŽ€ gsasl_step64 is from gsasl version 2.2.4 β€” date and all, straight from the source, no cap. go forth, decode, encode, and free your buffers. mwah πŸ’–

πŸ“¦ where this page comes from