gecko-dev/directory/perldap
leif%netscape.com e3d0d00521 *** empty log message *** 1999-03-30 01:35:42 +00:00
..
examples Merged v1.1 development branch to trunk, v1.1 released 1999-01-21 23:52:52 +00:00
t *** empty log message *** 1999-03-22 04:13:25 +00:00
test_api Merged v1.1 development branch to trunk, v1.1 released 1999-01-21 23:52:52 +00:00
API.pm *** empty log message *** 1999-03-22 04:13:25 +00:00
API.xs Merged v1.1 development branch to trunk, v1.1 released 1999-01-21 23:52:52 +00:00
ChangeLog *** empty log message *** 1999-03-22 04:13:25 +00:00
Conn.pm *** empty log message *** 1999-03-30 01:35:42 +00:00
Entry.pm - Added new() method. 1999-03-22 04:04:56 +00:00
INSTALL Merged v1.1 development branch to trunk, v1.1 released 1999-01-21 23:52:52 +00:00
LDIF.pm Merged v1.1 development branch to trunk, v1.1 released 1999-01-21 23:52:52 +00:00
MANIFEST Merged v1.1 development branch to trunk, v1.1 released 1999-01-21 23:52:52 +00:00
MPL-1.0.txt *** empty log message *** 1998-07-21 02:32:13 +00:00
Makefile.PL Merged v1.1 development branch to trunk, v1.1 released 1999-01-21 23:52:52 +00:00
README Merged v1.1 development branch to trunk, v1.1 released 1999-01-21 23:52:52 +00:00
Utils.pm *** empty log message *** 1999-03-22 04:13:25 +00:00
constant.h *** empty log message *** 1998-08-13 09:15:00 +00:00
install-bin Perl script to install the Perl binaries without the Makefile. Platform 1998-08-14 20:32:35 +00:00
test.pl *** empty log message *** 1998-08-13 09:15:00 +00:00
typemap *** empty log message *** 1998-08-13 09:15:00 +00:00

README

#############################################################################
#                                                                           #
#            PerLDAP v1.0 - A Perl Developers' Kit for LDAP                 #
#                                                                           #
#############################################################################


What is PerLDAP?
================

PerLDAP is a set of modules written in Perl and C that allow developers to
leverage their existing Perl knowledge to easily access and manage LDAP-
enabled directories.  PerLDAP makes it very easy to search, add, delete,
and modify directory entries.  For example, Perl developers can easily
build web applications to access information stored in a directory or
create directory sync tools between directories and other services.

PerLDAP is an open source development project, the result of a joint effort
between Netscape and Clayton Donley, an open source developer.  PerLDAP
currently provides the basic functions to allow Perl users to access and
manipulate directories easily.  Based on developer feedback and
involvement, PerLDAP will continue to evolve to include additional
functionality in future releases.


Installing PerLDAP Binaries
===========================

You will first need version 3.0 of the LDAP C SDK from Netscape.  This is
available from the DevEdge page at:

    http://developer.netscape.com/tech/directory/

You will also need Perl v5.004, available at http://www.perl.com/.
Earlier, or later, versions of Perl will NOT work with these binaries. If
you wish to use v5.005, you will need to compile PerLDAP from source.

On Unix (Solaris Only...HPUX, IRIX, AIX to follow):
  1. Be sure that the libraries from the C SDK are installed in locations
     referenced by the environment variable LD_LIBRARY_PATH, or one of the
     default system lib directories (e.g. /usr/lib). Alternatively you can
     later also copy the SDK libraries to the same "site" directory where
     Perl installed the PerLDAP libraries.

  2. Save the file in a temporary location

  3. Unzip the file by entering the command:
      gunzip <filename>.tar.gz

  4. Untar the resulting tar file by entering the command:
      tar xvof <filename>.tar

  5. Change to the extract directory:
      cd PerLDAP-1.1

  6. Execute the following command in as the super-user (root):
      perl install-bin

On Windows NT:
  1. Put the LDAP C SDK DLL in the same directory as the perl.exe
  binary. You can also set your PATH to point to the directory where you
  have the C SDK installed. Alternatively, you can put the DLL in the
  system32 folder, but avoid that if possible.

  2. Save the file in a temporary location

  3. Unzip the file by entering the command:
      I don't have a tool for creating self-extracting archives...

  4. Change to the extract directory:
      cd PerLDAP-1.1

  5. Execute the following command:
      perl install-bin


Compiling the PerLDAP Sources
=============================

The source to PerLDAP is available on the Mozilla site at:

  http://www.mozilla.org/directory/

You can either retrieve the .tar file with the source distribution, or use
CVS to checkout the module directly. The name of the CVS module is
PerLDAP, and it checks out the directory

  mozilla/directory/perldap

Further instructions for using CVS and Mozilla is available at

  http://www.mozilla.org/cvs.html

and an FAQ is at

  http://www.mozilla.org/directory/faq/perldap-faq.html


Instructions for building the source can be found in the INSTALL file
in the source distribution.


Getting Started
===============

Documentation for this module is in standard Perl 'pod' format.  HTML
versions of this documentation can also be found on the Netscape DevEdge
site at:  http://developer.netscape.com/tech/directory/.

Additionally, many good examples can be found in the 'examples' directory.


Modules and Examples Included
=============================

Mozilla::LDAP::API - Low level interface between Perl and the LDAP C API
Mozilla::LDAP::Entry - Perl methods for manipulating entry objects
Mozilla::LDAP::Conn - Perl methods for performing LDAP operations
Mozilla::LDAP::LDIF - Perl methods for utilizing LDIF
Mozilla::LDAP::Utils - Some convenient LDAP related utilities
test_api/search.pl - Tests low level API search calls
test_api/write.pl  - Tests low level API write calls
test_api/api.pl - Tests ALL low level LDAPv2 calls
examples/lfinger.pl - LDAP version of the regular Unix finger command.
examples/qsearch.pl - Simple ldapsearch replacement.
examples/monitor.pl - Retrieve status information from an LDAP server.
examples/ldappasswd.pl - Change the LDAP password for a user.
examples/rmentry.pl - Remove an entire entry from the database.
examples/rename.pl - Rename (modRDN) an entry.
examples/tabdump.pl - Dump LDAP information into a tab separated file.
examples/psoftsync.pl - Synchronize LDAP with a PeopleSoft "dump" file.


All examples support the "standard" LDAP command line options, which are

        -h hostname     LDAP server name
        -p port #       LDAP port, default is 389 (or 636 for SSL)
        -b base DN      LDAP Base-DN
        -D bind DN      LDAP bind DN (connect to server as this "user")
        -w bind pswd    Password to bind to the server
        -P certfile     Use SSL, with the publick keys from this file


Note that the examples currently only support Simple Authentication
(passwords), the Client Authentication features (using certificates) will
be used in the next release. All examples also honors the environment
variable LDAP_BASEDN, set it to your systems base DN, e.g.

        % setenv LDAP_BASEDN 'dc=netscape,dc=com'

or for Bourne shell

        # LDAP_BASEDN='dc=netscape,dc=com'; export LDAP_BASEDN


Reporting problems and bugs
===========================

Address all bug reports and comments to the Mozilla newsgroups at:

   news://news.mozilla.org/netscape.public.mozilla.directory


License/Copyright
=================

Portions by Netscape (c) Copyright 1998 Netscape Communications Corp, Inc.
Portions by Clayton Donley (c) Copyright 1998 Clayton Donley

Please read the MPL-1.0.txt file included for information on the Mozilla
Public License, which covers all files in this distribution.

Known Bugs
==========

There are a number of issues still outstanding at the time of release.  Most
of these are already in the process of being resolved.

 - There is a possible memory leak in the search routines. The OO layer
   is also more memory than it should.
 - The Rebind operation on NT does NOT work properly when set to a Perl
   function.  This is being investigated.
 - Some of the documentation is incomplete.