Authen-SASL-XS

 view release on metacpan or  search on metacpan

CHANGES  view on Meta::CPAN

  * 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).

XS.pod  view on Meta::CPAN


=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

XS.xs  view on Meta::CPAN

    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 )