gsasl_client_step(3)

πŸ“¦ version 1.10.0, in ubuntu jammy

πŸ’– gsasl_client_step(3) β€” the gsasl girlies' guide πŸ’–

okay bestie, sit down, grab a strawberry πŸ“, because we're about to talk about gsasl_client_step β€” a little API function from the gsasl manual and honestly? she's iconic but she's also, like, retired. we'll get to that. 🫢


✨ NAME ✨

gsasl_client_step β€” it's an API function, no cap πŸ’…


🌸 SYNOPSIS 🌸

#include <gsasl.h>

int gsasl_client_step(Gsasl_session * sctx, const char * input, size_t
input_len, char * output, size_t * output_len);

like. look at her. five whole parameters. main character energy fr fr πŸ‘‘


πŸŽ€ ARGUMENTS πŸŽ€

  • Gsasl_session * sctx β€” your libgsasl client handle, aka the girl holding the whole session together πŸ’–
  • const char * input β€” the input byte array. raw bytes, no vibes, just data.
  • size_t input_len β€” how big that input byte array is. she's the input's plus-one, they come as a set πŸ¦‹
  • char * output β€” the output byte array. this is where you write back.
  • size_t * output_len β€” the size of the output byte array. pointer, because she updates. lowkey important.

πŸ’« DESCRIPTION πŸ’«

so what does she do? she performs one step of SASL authentication in client. one step. like one dance move at a time, bestie 🧚

here's the tea: she reads data from server (that's what input and input_len are for), processes it (and ooooh, she might invoke callbacks to the application while she's at it β€” so if your app has opinions, she's asking), and then she writes data to server (into output and output_len, obviously πŸ’…).

⚠️ okay real talk for a sec because this one matters: the contents of the output buffer are unspecified if this function returns anything other than GSASL_NEEDS_MORE. unspecified!! do not read it, do not trust it, do not make it your personality. it's giving undefined, and not in a cute way 😭

Return value: she returns GSASL_OK if authenticated terminated successfully ✨, GSASL_NEEDS_MORE if more data is needed (relatable, we've all been there πŸ™ˆ), or an error code.


πŸ’€ DEPRECATED πŸ’€

bestie. she's deprecated. use gsasl_step() instead. that's it, that's the whole note. still love her, but move on πŸŽ€


πŸ“’ REPORTING BUGS πŸ“’

found a bug? tell the girlies at <bug-gsasl@gnu.org> πŸ’Œ

general guidelines for reporting bugs live at: http://www.gnu.org/gethelp/

and the GNU SASL home page is right here: http://www.gnu.org/software/gsasl/


Copyright Β© 2002-2021 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.

(no royalties, no drama, just respect the notice and we're good 🫢)


🌈 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. slay. πŸ“š

as an alternative you may obtain the manual from:

http://www.gnu.org/software/gsasl/manual/

and that's the whole page, bestie!! πŸ’– this was gsasl_client_step(3) from the gsasl manual, version 1.10.0, brought to you by the gsasl gang. go call gsasl_step() instead, ily, bye!! βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from