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

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

> 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 do not understand why you are getting asked for the extra step though, as it should not happen.

Thats why the debug trace from Net::LDAP would be useful.

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

Eek! how did they get into the release. They will be gone next time :)

Graham.

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