Re: Authen::SASL 2.13 infinite loop bug (resend?)

Forrest Cahoon <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.ldap
Message-ID <[email protected]>
On Thu, Feb 11, 2010 at 9:43 AM, Graham Barr <[email protected]> wrote:
> On Feb 11, 2010, at 9:10 AM, Forrest Cahoon wrote:

>
>> I'm porting some code from our old system to a new one, and I
>> encountered this bug with Authen::SASL 2.13 which was resolved by
>> downgrading to 2.12.
>
> I suspect this was caused by this change
>
> http://github.com/gbarr/perl-authen-sasl/commit/c636a0603732b031d9274e123dd4900749d8d5d9
>
> I do not know much about EXTERNAL, but what happens if we revert client_step to what it was ?

Reinstalling 2.13 from CPAN and uncommenting the client_step sub
worked, giving me the same results as I got with 2.12.

I also happened to notice there are some patch output files that get
installed in Authen/SASL/Perl -- a couple of .orig files and (somewhat
disconcertingly) a *.rej file.  They don't hurt anything, of course,
but should probably be cleaned up.

>> When I downgraded to Authen::SASL 2.12, I got a "success!" message
>> (yay!) but I also got an interesting stack trace from
>> Devel::Simpletrace:
>>
>> Use of uninitialized value in numeric gt (>)
>>       at Authen::SASL::Perl::securesocket(/usr/local/lib/perl5/site_perl/5.10.1/Authen/SASL/Perl.pm
>> line 130, <DATA>:275)

I eliminated this warning by adding a check for definedness. Even
though I don't really understand what the code does, this seems like a
pretty safe fix (since that's what its doing anyway after the
warning);

--- Authen/SASL/Perl.pm~	2009-09-23 23:38:17.000000000 -0500
+++ Authen/SASL/Perl.pm	2010-02-11 10:15:48.030213720 -0600
@@ -127,7 +127,7 @@

 sub securesocket {
   my $self = shift;
-  return $_[0] unless ($self->property('ssf') > 0);
+  return $_[0] unless (defined $self->property('ssf') &&
$self->property('ssf') > 0);

   local *GLOB; # avoid used only once warning
   my $glob = \do { local *GLOB; };
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.