1History of updates to Authen::SASL::Cyrus 2 30.13 4Updated the WRITE() method to use syswrite() and account for 5variable buffer sizes in SASL. 6 70.12 8Made Cyrus.xs more compatible with Perl API by changing function calls 9like Perl_warn() to just warn(), and defining PERL_NO_GET_CONTEXT. 10Made SASL properties which take an IP address and load it into the SASL 11library more robust by determining if the passed address is in 12"struct sockaddr" format or in "IP1.IP2.IP3.IP4;PORT" format. 13Fixed passing of "function + params" as a callback. 14 150.11 16Fixed t/callback.t to NOT try connecting to the LDAP server 17on localhost since that, well, doesn't work at Pause. 18 190.10 20Added better callback management, Perl memory management, 21and three test scripts, as written by Ulrich Pfeifer. 22 230.09 24Changed securesocket GLOB, as suggested by Marius Tomaschewski. 25Extended SASL2 support. 26 270.08 28Changed the "code" routine to return the result code of the 29last SASL library call. This allows differentiation of the 30result of the client_step returning a zero byte string vs. 31it saying authentication is complete. 32 330.07 34Memcpy fix provided by Maurice Massar 35 360.06 37Added SASL V2 support patch provided by Leif Johansson. 38 390.05 40Added the SASL_CB_PASS callback. This callback, unfortunately, does 41not put the caller's "context" as the first parameter to the callback 42function. This means that the PerlCallback() function has to be able 43to determine if the _perlcontext is the first parameter or the second. 44Added a magic number as the first field of the _perlcontext struct 45to help PerlCallback() decide which parameter is the perl context. 46 470.04 48Added a method "securesocket" that takes a file handle and returns a 49new file handle that is tied to the Security subclass added in 0.03. 50In this way, a client program can take the object returned from 51client_new() and call the securesocket() method on it, passing in the 52client's file handle, without ever having to know about the Security 53subclass. Also added a "tiehandle" method which will take the same 54file handle as "securesocket", and tie it directly to the Security 55subclass. The difference being "securesocket" returns a new file handle, 56and "tiehandle" ties the handle passed in. 57 580.03 59Added encryption layer. Cyrus.xs now has encode() and decode() 60methods. Added a "Security" subclass that can be used to tie a 61filehandle to perform encryption on write() and decryption on read(). 62The new() method ties a passed in glob to the class. 63 640.02 65Encryption layer not ready yet, so changed the "secflag" param in the 66call to sasl_client_new() from 1 to 0. Otherwise, the server will 67start expecting encrypted requests and sending encrypted responses 68after the authentication, and the client cannot encrypt/decrypt. 69 700.01 71Initial release 72