Authen-SASL-XS
view release on metacpan or search on metacpan
* 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).
=item mechanism ( )
C<mechanism> returns the current used authentication mechanism.
=pod
=item need_step ( )
C<need_step> returns true if another step is need by the SASL library. Otherwise
false is returned. You can also use C<code == 1> but it looks smarter I think.
That's why we all using perl, eh?
=pod
=back
=head1 EXAMPLE
=head2 Server-side
RETVAL = sasl->service;
OUTPUT:
RETVAL
=pod
=item need_step ( )
C<need_step> returns true if another step is need by the SASL library. Otherwise
false is returned. You can also use C<code == 1> but it looks smarter I think.
That's why we all using perl, eh?
=cut
int
need_step(sasl)
Authen_SASL_XS sasl;
CODE:
RETVAL = sasl->error_code == SASL_CONTINUE;
OUTPUT:
( run in 0.525 second using v1.01-cache-2.11-cpan-607d282f910 )