Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Released perl-ldap 0.54

24 views
Skip to first unread message

Peter Marschall

unread,
Mar 29, 2013, 12:29:47 PM3/29/13
to perl...@perl.org
Hi all,

perl-ldap 0.54 has been released to CPAN
http://search.cpan.org/dist/perl-ldap/

Besides the usual cleanup and bug fixes, it contains some additions
I'd like to mention:
* conversion routines between generalizedTime and UNIX's time
* Net::LDAP::Extra::eDirectory: extensions for use with Novell eDirectory

The detailed changes are listed at the end of this email.

Of course, the GitHub repository https://github.com/perl-ldap/perl-ldap
has been updated accordingly.

Enjoy
Peter

0.54 -- Fri Mar 29 12:07:40 CET 2013

Bug Fixes:
* RT#73202: LDIF.pm: Base64-encode values ending in spaces
* RT#83815: fix typo/bug in example for root_dse

Enhancements:
* FAQ.pod: mention Dancer::Plugin::LDAP, update example
* Extra/eDirectory.pm: new; extensions for eDirectory
* Constant.pm: add constants for Novell eDirectory
* LDIF.pm: clean up handling of mode parameter
* LDIF.pm: partially support controls when reading
* Util.pm: add time conversion functions
* Makefile.PL: update recommends, add comments on core modules
* FAQ.pod: update info on required/optional modules
* LDAP.pod,FAQ.pod: harmonize documentation of scope values

--
Peter Marschall
pe...@adpm.de

Quanah Gibson-Mount

unread,
Mar 29, 2013, 12:39:54 PM3/29/13
to Peter Marschall, perl...@perl.org
--On Friday, March 29, 2013 5:29 PM +0100 Peter Marschall <pe...@adpm.de>
wrote:

> Hi all,
>
> perl-ldap 0.54 has been released to CPAN
> http://search.cpan.org/dist/perl-ldap/
>
> Besides the usual cleanup and bug fixes, it contains some additions
> I'd like to mention:
> * conversion routines between generalizedTime and UNIX's time
> * Net::LDAP::Extra::eDirectory: extensions for use with Novell eDirectory

Hi Peter,

Do you have plans to add the linux TCP keepalive bits I noted in a future
release?

Thanks,
Quanah

--

Quanah Gibson-Mount
Sr. Member of Technical Staff
Zimbra, Inc
A Division of VMware, Inc.
--------------------
Zimbra :: the leader in open source messaging and collaboration

Peter Marschall

unread,
Mar 29, 2013, 2:14:06 PM3/29/13
to Quanah Gibson-Mount, perl...@perl.org
Hi Quanah,

On Friday, 29. March 2013, Quanah Gibson-Mount wrote:
> Do you have plans to add the linux TCP keepalive bits I noted in a future
> release?

I am very much in doubt about the Linux specific TCP keepalive bits.
I'd rather keep perl-ldap independent of specific OS peculiarities.

Net::LDAP exposes the socket it uses via the socket() method.
Can't this be used to implement the things on the application side?

Best
PEter
--
Peter Marschall
pe...@adpm.de

Quanah Gibson-Mount

unread,
Apr 3, 2013, 12:58:36 PM4/3/13
to Peter Marschall, perl...@perl.org
--On Friday, March 29, 2013 7:14 PM +0100 Peter Marschall <pe...@adpm.de>
wrote:

> Hi Quanah,
>
> On Friday, 29. March 2013, Quanah Gibson-Mount wrote:
>> Do you have plans to add the linux TCP keepalive bits I noted in a future
>> release?
>
> I am very much in doubt about the Linux specific TCP keepalive bits.
> I'd rather keep perl-ldap independent of specific OS peculiarities.
>
> Net::LDAP exposes the socket it uses via the socket() method.
> Can't this be used to implement the things on the application side?

Hi Peter,

In doubt about what exactly? If you look at the patch I wrote, it does
nothing unless the related perl module is installed. Any application that
used Net::LDAP (such as Amavis) can then trivially set the parameters in
its setup block for Net::LDAP, and it will work without error on any
system, regardless of whether or not the enhanced keepalive bits are
available. In fact, that's exactly what I patched amavis to do:

my $ldap = Net::LDAP->new($self->{hostname},
localaddr => $self->{localaddr},
port => $self->{port},
scheme => $self->{scheme},
version => $self->{version},
timeout => $self->{timeout},
keepalive => 1,
keepalive_idle => 240,
keepalive_interval => 30,
keepalive_probe => 10,
);

This allows amavis to set keepalive on any platform. If the platform
doesn't support the enhanced directives, Net::LDAP just ignores them. It
allows for future expansion if/when other platforms add support for the
enhanced keepalive directives and someone adds a perl module for it ( OSX
has some but not all last I checked).

I.e., it doesn't in any way make Net::LDAP platform specific, but it allows
enhanced functionality if it is supported on the platform in a way that
application authors can trivially add it to their existing code, keeping it
clearly organized in their Net::LDAP instantiation blocks.

--Quanah

Quanah Gibson-Mount

unread,
Apr 5, 2013, 2:07:22 PM4/5/13
to Graham Barr, Peter Marschall, perl...@perl.org
--On Wednesday, April 03, 2013 12:56 PM -0500 Graham Barr <gb...@pobox.com>
wrote:

> but keepalive is not inherently part of LDAP any more than it is part of
> SMTP or FTP or any other protocol.

OTOH, making long term, *persistent* connections IS a part of the LDAP
protocol, and it is NOT generally something one does with SMTP or FTP. You
are comparing apples to oranges.

I see this as no different than the OpenLDAP C API having already added
support for the extended keepalive parameters ages ago when it is possible,
or otherwise silently ignoring them. It is part of the *nature* of LDAP to
allow, and *encourage* persistent connections, many of which remain idle
for long periods of time.

> But this implementation gives the impression that it is and may surprised
> someone when it silently does not do what is expected because of the host
> they ran it on.

No, this implementation allows the use of it IF it is available. My patch
specifically documents the cases in which it is. This is why documentation
is provided to the end user.

>> I.e., it doesn't in any way make Net::LDAP platform specific,
>
> No, it adds non-ldap specific implementaiton

See above. This is something that is *very* specific to the LDAP protocol.
0 new messages