The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version v1

  • Many changes in the internal handling of sasl variables. Documentation inside the XS-file, do motivate myself to write docs

Changes for version 1.00 - 2009-09-23

  • Initial release as Authen::SASL::XS
  • Fix return value for WRITE (Authen::SASL::XS::Security)
  • Avoid exceeding SASL buffer size (Authen::SASL::XS::Security)
  • Use Devel::CheckLib during build to find sasl libraries
  • History of updates to Authen::SASL::Cyrus
  • 0.13-server
  • Russ Allbery: the 0.12-server distribution of this module has a typemap that ends up casting the pointer return from server_new and client_new through an int. This looks like it's causing pointer truncation and various problems on some 64-bit platforms (particularly Debian alpha and Debian ia64).
  • There is a simpler fix than the patch below (just replacing int with long will work on most platforms, probably), but reading through the perlxs man page, there's apparently a specific way in which one is supposed to handle module data T_PTROBJ_SPECIAL. I went ahead and implemented that, which also improves error reporting a bit. After applying the following patch, the resulting C code no longer casts through an int (it casts through an IV instead, but that's sufficient on all Unix platforms at least).
  • typedef for struct authensasl to Authen_SASL_Cyrus.
  • 0.12-server merged some of the changes from Authen::SASL::Cyrus 0.12 changed version named in order to distinguish from the Authen::SASL::Cyrus by Mark Adamson.


XS code to glue Perl SASL to Cyrus SASL


in lib/Authen/SASL/XS/