On Feb 11, 2010, at 10:59 AM, Forrest Cahoon wrote:

> On Thu, Feb 11, 2010 at 9:43 AM, Graham Barr <gb...@pobox.com> 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; };
> 

Reply via email to