On Sep 22, 2009, at 11:29 AM, Dieter Kluenter wrote:
Graham Barr <gb...@pobox.com> writes:
On Sep 22, 2009, at 4:35 AM, Dieter Kluenter wrote:
Hi,
my ldap server is OpenLDAP-2.4.18 with sssvlv overlay configured.
Running my perl script, which is in principle based on
Net::LDAP::Control::VLV, I get following errors:
slapd:
get_ctrls: oid="2.16.840.1.113730.3.4.9" (critical)
<= get_ctrls: n=2 rc=2 err="vlv control value is absent"
send_ldap_result: conn=0 op=2 p=3
can you call $ldap->debug(5); before your call to search and post the
output
OK, here it is:
0087 28: SEQUENCE {
0089 23: STRING = '2.16.840.1.113730.3.4.9'
00A2 1: BOOLEAN = TRUE
00A5 : }
that is weird.
that should be
0000 46: SEQUENCE {
0002 23: STRING = '2.16.840.1.113730.3.4.9'
001B 1: BOOLEAN = TRUE
001E 16: STRING
0020 : 30 0E 02 01 00 02 01 13 A0 06 02 01 01 02 01 00
0...............
0030 : }
which is what I got when I ran this test script
use Net::LDAP::Control::VLV;
use Net::LDAP::ASN qw(Control);
use Convert::ASN1 qw(:debug);
use Data::Dumper;
$vlv = Net::LDAP::Control::VLV->new(
before => 0,
after => 19,
content => 0,
offset => 1,
critical => 'TRUE'
);
print Dumper($vlv);
$vlv->to_asn;
print Dumper($vlv); # should add 'value' element to object hash
$d = $Control->encode($vlv);
asn_dump($d);
Do you have the most up to date perl-ldap installed ?
Graham.