Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

file 100 lines (61 sloc) 2.299 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
# Copyright (c) 2003-2004 Chris Ridd <chris.ridd@isode.com> and
# Graham Barr <gbarr@pobox.com>. All rights reserved. This program is
# free software; you can redistribute it and/or modify it under the
# same terms as Perl itself.

package Net::LDAP::RootDSE;

use Net::LDAP::Entry;

@ISA = qw(Net::LDAP::Entry);
$VERSION = "0.01";

use strict;

sub supported_feature { _supported_feature( @_, 'supportedFeatures' ) }
sub supported_extension { _supported_feature( @_, 'supportedExtension' ) }
sub supported_version { _supported_feature( @_, 'supportedLDAPVersion' ) }
sub supported_control { _supported_feature( @_, 'supportedControl' ) }
sub supported_sasl_mechanism { _supported_feature( @_, 'supportedSASLMechanisms' ) }

sub _supported_feature {
  my $root = shift;
  my $attr = pop;

  my %ext; @ext{ $root->get_value( $attr ) } = ();

  @_ == grep exists $ext{$_}, @_;
}

1;

__END__

=head1 NAME

Net::LDAP::RootDSE - An LDAP RootDSE object

=head1 SYNOPSIS

my $dse = $ldap->root_dse();

# get naming Contexts
my @contexts = $dse->get_value('namingContext');

# get supported LDAP versions as an array reference
my $versions = $dse->get_value('supportedLDAPVersion', asref => 1);

=head1 DESCRIPTION

=head2 Methods

=over 4

=item get_value

C<get_value> is identical to L<Net::LDAP::Entry/get_value>

=item supported_extension ( OID_LIST )

Returns true if the server supports all of the specified
extension OIDs

=item supported_feature ( OID_LIST )

Returns true if the server supports all of the specified
feature OIDs

=item supported_version ( VERSION_LIST )

Returns true if the server supports all of the specified
versions

=item supported_control ( OID_LIST )

Returns true if the server supports all of the specified
control OIDs

=item supported_sasl_mechanism ( SASL_MECH_LIST )

Returns true if the server supports all of the specified
SASL mechanism names

=back

=head1 SEE ALSO

L<Net::LDAP>, L<Net::LDAP::Entry>

=head1 AUTHOR

Chris Ridd E<lt>chris.ridd@isode.comE<gt>,
Graham Barr E<lt>gbarr@pobox.comE<gt>.

=head1 COPYRIGHT

Copyright (c) 2003-2004, Chris Ridd and Graham Barr. All rights reserved. This
library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.

=cut
Something went wrong with that request. Please try again.