Authen:...EST_MD5(3)

πŸ’… NAME πŸ’…

okay bestie, welcome to Authen::SASL::Perl::DIGEST_MD5 β€” it's the (DEPRECATED) Digest MD5 Authentication class. yes, deprecated. we'll get to that. sit down, hydrate, we're doing this 🫢


✨ VERSION ✨

version 2.2100 β€” that's the one, no cap.


πŸŽ€ SYNOPSIS πŸŽ€

like, here's the whole vibe in one shot:

use Authen::SASL qw(Perl);

$sasl = Authen::SASL->new(
  mechanism => 'DIGEST-MD5',
  callback  => {
    user => $user,
    pass => $pass,
    serv => $serv
  },
);

that's it. that's the whole thing. iconic honestly πŸ‘‘


πŸ¦‹ DESCRIPTION πŸ¦‹

so this module implements both the client and the server parts of the DIGEST-MD5 SASL algorithm, exactly as described in RFC 2831. both sides! she does it all πŸ’…

⚠️ but here's the tea, and it's important: this mechanism has been moved to the "OBSOLETE" section of the mechanism registry <https://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml> as per RFC6331 <https://www.rfc-editor.org/rfc/rfc6331.html>. so like. she's retired. she's living her best life in the obsolete section now. 😭

🌸 CALLBACK 🌸

the callbacks in play are these ones, bestie β€” grouped by which side you're on:

client side, we got:

  • authname β€” the authorization id to use after a successful authentication.
  • user β€” the username to be used in the response.
  • pass β€” the password to be used to compute the response.
  • serv β€” the service name, for when you're authenticating to a replicated service.
  • realm β€” the authentication realm, for when you're overriding the server-provided default. if you don't give one, the server-provided value is used, periodt. also: this callback gets passed the list of realms that the server provided in the initial response. so you're not guessing, you're choosing πŸ’…

server side, we got:

  • realm β€” the default realm to provide to the client.
  • getsecret(username, realm, authzid) β€” returns the password associated with username and realm. literally that's the whole job. lowkey the most important one ngl πŸ”₯

πŸ’– PROPERTIES πŸ’–

and these are the properties, bestie, don't skip them, they matter:

  • maxbuf β€” the maximum buffer size for receiving cipher text.
  • minssf β€” the minimum SSF value that should be provided by the SASL security layer. the default is 0.
  • maxssf β€” the maximum SSF value that should be provided by the SASL security layer. the default is 2**31.
  • externalssf β€” the SSF value provided by an underlying external security layer. the default is 0.
  • ssf β€” the actual SSF value provided by the SASL security layer, once the SASL authentication phase has been completed. this one is read-only, and it gets set by the implementation after the SASL authentication phase has been completed. so don't go trying to write to it, she said what she said 🚫
  • maxout β€” the maximum plaintext buffer size for sending data to the peer. this value gets set by the implementation after the SASL authentication phase has been completed and a SASL security layer is in effect.

🌈 SEE ALSO 🌈

go read these next, bestie:

  • Authen::SASL
  • Authen::SASL::Perl

πŸ‘‘ AUTHORS πŸ‘‘

the legends responsible: Graham Barr, Djamel Boudjerda (NEXOR), Paul Connolly, Julian Onions (NEXOR), Yann Kerherve.

also, and I quote: please report any bugs, or post any suggestions, to the perl-ldap mailing list <perl-ldap@perl.org>. they want your feedback fr fr, don't be shy 🫢


Copyright (c) 2003-2009 Graham Barr, Djamel Boudjerda, Paul Connolly, Julian Onions, Nexor, Peter Marschall and Yann Kerherve. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


and that's a wrap, babe πŸ’œ this page came to you from perl v5.42.3, dated 2026-09-07, filed under the manual name Authen:...EST_MD5(3) β€” go forth and authenticate (or don't, she's obsolete, but you know what I mean) βœ¨πŸŽ€πŸ’…

πŸ“¦ where this page comes from