gsasl_server_step(3)

πŸ“¦ version 1.10.0, in ubuntu jammy

πŸ’… gsasl_server_step β€” the "one step at a time bestie" era

okay so we're in the gsasl manual, section 3, and today's main character is gsasl_server_step. it's an API function, it lives in the gsasl.h universe, and lowkey it's the server-side half of a SASL handshake. she's a little vintage, she's a little deprecated, but she ate and we respect her. πŸŽ€


✨ NAME ✨

gsasl_server_step β€” API function πŸ’–


🌸 SYNOPSIS 🌸

#include <gsasl.h>

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

πŸ¦‹ ARGUMENTS πŸ¦‹

  • Gsasl_session * sctx β€” the libgsasl server handle. this is your girl, your session, your whole situation. keep her close 🫢
  • const char * input β€” input byte array. the bytes the client is sending you.
  • size_t input_len β€” size of input byte array. how many bytes are we talking. be honest.
  • char * output β€” output byte array. where you write your reply back at 'em.
  • size_t * output_len β€” size of output byte array. the receipts, length edition.

πŸ’œ DESCRIPTION πŸ’œ

bestie. listen. this does one step of SASL authentication, on the server side. literally one step. not the whole dance, just one move. πŸ’ƒ

here's the tea: it reads data from the client (that's input and input_len), it processes it β€” and yes, it may potentially invoke callbacks to the application while doing so, so don't be shocked when your callbacks get pinged β€” and then it writes data back to the client, dropping it into the variables output and output_len. ✨

⚠️ no cap, important: the contents of the output buffer is unspecified if this function returns anything other than GSASL_NEEDS_MORE. unspecified!! so please don't go reading it and thinking you know what's in there. πŸ’€

Return value, and this part matters: it returns GSASL_OK if authenticated terminated successfully πŸŽ‰, GSASL_NEEDS_MORE if more data is needed πŸ™ˆ, or an error code 😭.


🚫 DEPRECATED 🚫

use gsasl_step() instead. that's it, that's the whole note. she's been superseded, she's passing the torch, we still love her though. πŸ₯²


πŸ› REPORTING BUGS πŸ›

found a bug? spill. report bugs to <bug-gsasl@gnu.org> πŸ“§


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. (iconic behaviour honestly, no notes πŸ’…)


πŸ”₯ 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, the command

info gsasl

should give you access to the complete manual. as an alternative you may obtain the manual from:

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

iykyk. go read the manual, it's giving ✨knowledge✨.


and that's the whole page, bestie!! this was gsasl 1.10.0, and we're signing off from gsasl_server_step(3) β€” stay authenticated, stay hydrated, and remember: one step at a time. πŸ§šπŸ’–πŸŒ·

πŸ“¦ where this page comes from