Skip to content

Commit

Permalink
Initial revision
Browse files Browse the repository at this point in the history
  • Loading branch information
gbarr committed May 3, 2000
1 parent 5d1f34a commit 455ad0f
Show file tree
Hide file tree
Showing 79 changed files with 14,963 additions and 0 deletions.
99 changes: 99 additions & 0 deletions MANIFEST
@@ -0,0 +1,99 @@
ChangeLog
MANIFEST
Makefile.PL
README
RELEASE_NOTES
TODO
bin/ldapdelete.PL
bin/ldapmodrdn.PL
bin/ldapsearch.PL
contrib/checkauth.pl
contrib/examples
contrib/isMember.pl
contrib/isMember.readme
contrib/printMembers.pl
contrib/printMembers.readme
contrib/schema
contrib/schema.README
contrib/schema.tklkup
contrib/tklkup
contrib/tklkup.README
contrib/tklkup.tklkup
data/00-cmp2.ldif
data/00-in.ldif
data/50-cmp.ldif
data/50-in.ldif
data/51-in.ldif
data/51a-cmp.ldif
data/51b-cmp.ldif
data/51c-cmp.ldif
data/51d-cmp.ldif
data/52-cmp.ldif
data/52-in.ldif
data/52-mod.ldif
data/schema.in
data/slapd-conf.in
data/slapd.at.conf
data/slapd.oc.conf
htdocs/Authen/SASL.html
htdocs/Net/LDAP.html
htdocs/Net/LDAP/Constant.html
htdocs/Net/LDAP/Control.html
htdocs/Net/LDAP/Control/Sort.html
htdocs/Net/LDAP/Control/SortResult.html
htdocs/Net/LDAP/Entry.html
htdocs/Net/LDAP/Examples.html
htdocs/Net/LDAP/FAQ.html
htdocs/Net/LDAP/Filter.html
htdocs/Net/LDAP/LDIF.html
htdocs/Net/LDAP/Message.html
htdocs/Net/LDAP/RFC.html
htdocs/Net/LDAP/Reference.html
htdocs/Net/LDAP/Schema.html
htdocs/Net/LDAP/Search.html
htdocs/Net/LDAP/Util.html
htdocs/index.html
lib/Authen/SASL.pm
lib/Authen/SASL.pod
lib/Authen/SASL/CRAM_MD5.pm
lib/Bundle/Net/LDAP.pm
lib/LWP/Protocol/ldap.pm
lib/Net/LDAP.pm
lib/Net/LDAP.pod
lib/Net/LDAP/ASN.pm
lib/Net/LDAP/Bind.pm
lib/Net/LDAP/Constant.pm
lib/Net/LDAP/Constant.pod
lib/Net/LDAP/Control.pm
lib/Net/LDAP/Control/Paged.pm
lib/Net/LDAP/Control/Sort.pm
lib/Net/LDAP/Control/SortResult.pm
lib/Net/LDAP/Control/VLV.pm
lib/Net/LDAP/Control/VLVResponse.pm
lib/Net/LDAP/Entry.pm
lib/Net/LDAP/Entry.pod
lib/Net/LDAP/Examples.pod
lib/Net/LDAP/Extension.pm
lib/Net/LDAP/FAQ.pod
lib/Net/LDAP/Filter.pm
lib/Net/LDAP/Filter.pod
lib/Net/LDAP/LDIF.pm
lib/Net/LDAP/LDIF.pod
lib/Net/LDAP/Message.pm
lib/Net/LDAP/Message.pod
lib/Net/LDAP/RFC.pod
lib/Net/LDAP/Reference.pod
lib/Net/LDAP/Schema.pm
lib/Net/LDAP/Schema.pod
lib/Net/LDAP/Search.pm
lib/Net/LDAP/Search.pod
lib/Net/LDAP/Util.pm
perl-ldap.ppd
t/00ldif-entry.t
t/01url.t
t/02filter.t
t/50populate.t
t/51search.t
t/52modify.t
t/53schema.t
t/common.pl
122 changes: 122 additions & 0 deletions Makefile.PL
@@ -0,0 +1,122 @@
# The -*- perl -*- script writes the Makefile for perl-ldap
# $Id: Makefile.PL,v 1.1 2000/05/03 12:28:25 gbarr Exp $

use 5.004;
use ExtUtils::MakeMaker;
use Getopt::Std;
use Config;

#--- Configure ---

if (!getopts("hs") || $opt_h) {
die <<"EDQ";
Usage: perl $0 [-h] [-s] [ MAKEMAKER_ARGS ]
-h Display this message
-s Install scripts from bin directory
EDQ
}

#--- Distribution section ---

$DISTNAME = 'perl-ldap';
$VERSION_FROM = 'lib/Net/LDAP.pm';
$AUTHOR = 'Graham Barr <gbarr@pobox.com>';

($ABSTRACT = <<"EDQ") =~ s/\n/\\n/g;
perl-ldap is a library of modules implementing an LDAP client. The aim
of the perl-ldap project is to implement a very portable LDAP client in
perl by relying on as little compiled code as possible.
EDQ

#--- Check for required modules ---

my $missing = 0;
$| = 1;

sub check_module {
my($module,$version) = @_;
print substr("$module ............................",0,30);
my $ok = eval {
my $file = $module;
$file =~ s#::#/#g;
require $file . ".pm";
$module->VERSION($version) if defined $version;
1;
};
$missing++ unless $ok;
print $ok ? "ok\n" : "** FAILED **\n$@\n";
$ok;
}

print "\nChecking for installed modules\n\n";

check_module('Convert::ASN1',0.03) or print <<"EDQ","\n";
Convert::ASN1 version 0.03 or later is essential for perl-ldap
EDQ

check_module('URI',1.02) && check_module('URI::ldap',1.10) or print <<"EDQ","\n";
URI::ldap is needed if you want to parse LDAP URLs
EDQ

check_module('Digest::MD5') or print <<"EDQ","\n";
The Digest::MD5 module is needed if using the CRAM-MD5 SASL authentication
EDQ

print "\n",<<"EDQ","\n" if $missing;
****************************************************************************
You are missing some modules that may be needed for the modules in perl-ldap
to work correctly. Read the above messages and download any required
modules from http://www.perl.com/CPAN
****************************************************************************
EDQ

#--- Write the Makefile ---

my %PL_FILES = map { ($a = $_) =~ s/\.PL// ? ($_,$a) : () } glob('bin/*.PL');

my @ppd;

if ($] >= 5.00503) {
@ppd = (
AUTHOR => 'Graham Barr <gbarr@pobox.com>',
ABSTRACT => 'LDAP Client library'
);
}

WriteMakefile(
VERSION_FROM => $VERSION_FROM,
NAME => $DISTNAME,
EXE_FILES => $opt_s ? [ values %PL_FILES ] : [],
PL_FILES => \%PL_FILES,
AUTHOR => $AUTHOR,
ABSTRACT => $ABSTRACT,
clean => {FILES => 'temp'},
@ppd,
);

sub MY::postamble {

my $ppd = $] >= 5.00503 ? 'ppd' : '';
my $mkhtml = "../bin/mkhtml";
my $html = '';

if ( -x $mkhtml ) {
$mkhtml = <<EDQ;
mkhtml :
$mkhtml
EDQ
$html = 'mkhtml';
}
else { $mkhtml = '' }

return '' unless length($ppd.$html);

<<"EDQ";
distdir : $ppd $html
$mkhtml
EDQ
}

60 changes: 60 additions & 0 deletions README
@@ -0,0 +1,60 @@
perl-ldap - A Client interface to LDAP servers

*******************************************************************************
This release is a development release to obtain feedback. Any part of this
release could be subject to change.

The development of the distribution is discussed on a mailing list at
perl-ldap@mail.med.cornell.edu. to subscribe send a message to
perl-ldap-request@mail.med.cornell.edu. with the word subscribe in the subject
and body.
*******************************************************************************

Copyright (c) 1997-2000 Graham Barr. All rights reserved.
This package is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.

For the latest information see http://www.pobox.com/~gbarr/perl-ldap/

QUICK START GUIDE:

perl-ldap uses the following modules/distributions.

Convert::BER - required
libwww-perl - optional, needed for URL parsing
Digest::MD5 - optional, needed for SASL CRAM-MD5 auth

First ensure the above modules/distributions are installed then
build/test/install Net::LDAP by doing

perl Makefile.PL
make
make test
make install

Several modules in the distribution contain documentation. Once installed
you can use the 'perldoc Net::LDAP' command to obtain the documentation.
This documentation will contain pointers to the other modules.

Many things from the previous release have been depricated in this release.
These are

->ldapbind() is now ->bind()

Error constants now start with LDAP_ instead of ldap, this is for
consistency with other libraries

->read_ldif and ->ldif methods on Net::LDAP::Entry objects has been replaced
by the Net::LDAP::LDIF module

option names to methods are now passed in all lowercase without the leading -

->get_attribute in Net::LDAP::Entry has been replaced by ->get

*******************************************************************************
NOTE: Everything that has been depricated will be removed when V1.00 is
released, but who knows when that will be.
*******************************************************************************

Share and Enjoy!

22 changes: 22 additions & 0 deletions RELEASE_NOTES
@@ -0,0 +1,22 @@
perl-ldap 0.16 April xx 2000
============================

* This is the first release which uses Convert::ASN1 instead of
Convert::BER. This should show an increase in performance.
* Added support for LDAPv3 controls. Controls supported are
- VirtualListView
- Sort
- Paged
* HTML version of the documentation is now included in the
distribution
* Added Bundle::Net::LDAP
* Net::LDAP->schema can now be told where to search for the schema.

KNOWN PROBLEMS
--------------

In a pre-release of 0.16 it has been seen that a search result may
not contain all entries and $mesg->code will be LDAP_DECODING_ERROR.
This has been seen when the client is running on NT or Linux and the
server is an Exchange server.

34 changes: 34 additions & 0 deletions TODO
@@ -0,0 +1,34 @@
Net::LDAP::Simulate
If Net::LDAP dumped a log of all packets in a binary form then
we could simulate a connection. This means a session can be re-run
without being connected to the server. Could be useful with debug

Net::LDAP::Schema
Decide on final implementation

Net::LDAP::LDIF
Still need to add support for moddn

Authen::SASL
Needs completion and documentation

command line utilities
ldapmodify
ldapmodrdn
ldapdelete
ldapadd

complete documentation

more tests

Net::LDAP::Utils
utility functions like explode_dn

User Friendly Names

CLDAP

performance testing/tuning

more LDAPv3 support

0 comments on commit 455ad0f

Please sign in to comment.