Commit 42c32371 authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

Initial revision

#!wml -oindex.html
#use wml::openldap::openldap area=find subarea=main page=main
<page_title name="Find"
keywords="find, search, site map, site map"
description="Search OpenLDAP site by keyword or phrase"
Search the OpenLDAP site by keyword or phrase.
The operators AND, OR, and NOT are supported. If you enter
multiple words <i>without</i> an operator, the AND operator
is implied. The search is not case sensitive.
<form method=GET action="results.phtml">
<td align=right><face>Search String:</face></td>
<td rowspan=3><space width=5 heigth=1></td>
<td><input type=txt name=query size=32 maxlength=80></td>
<td align=right><face>Limit Results:</face></td>
<td><input type=txt name=results value=20 size=2 maxlength=2></td>
<td><input type=submit><space width=10 height=1><input type=reset></td>
#!wml -oresults.phtml
#use wml::openldap::openldap area=find subarea=search page=results
<page_title name="Search Results"
keywords="search results, results"
description="Search Results"
# ePerl!
#- Configurable Variables ---------------------------------------------------#
#Our host
$host = "";
#Path to SWISH-E executable
$swish = "/usr/local/bin/swish-e";
#Path to this CGI script
$swishcgi = "/find/";
#Path to the SWISH-E index
$index = "/data/www/sites/$host/find/swish-e.idx";
#Path to the SWISH-E configuration file
$config = "/usr/local/etc/apache/swish-e/${host}.cf";
#- Main Program -------------------------------------------------------------#
#Parse the form data
&parse_form_data (*FORM);
#Construct a simple query
$query = $FORM{'query'};
$results = $FORM{'results'};
$results = "10" unless ($results);
if ($query) {
&search_error("You must enter a keyword or phrase in one or more of the text boxes");
#- Subroutines ---------------------------------------------------------------#
#Subroutine for checking and parsing the incoming form data.
sub parse_form_data {
local (*FORM_DATA) = @_;
local ($request_method, $query_string, @key_value_pairs, $key_value, $key, $value);
$request_method = $ENV{'REQUEST_METHOD'};
if ($request_method eq "GET") {
$query_string = $ENV{'QUERY_STRING'};
} elsif ($request_method eq "POST") {
read (STDIN, $query_string, $ENV{'CONTENT_LENGTH'});
} else {
&search_error ("Forms must use either GET or POST.");
@key_value_pairs = split (/&/, $query_string);
foreach $key_value (@key_value_pairs) {
($key, $value) = split (/=/, $key_value);
$value =~ tr/+/ /;
$value =~ s/%([\dA-Fa-f][\dA-Fa-f])/pack ("C", hex ($1))/eg;
if (defined ($FORM_DATA{$key})) {
$FORM_DATA{$key} = join ("\0", $FORM_DATA{$key}, $value);
} else {
$FORM_DATA{$key} = $value;
#Subroutine for constructing the Swish-E search request and formating the results.
sub search_parse {
#Create your SWISH-E query command
$cmd ="$swish -w '$query' -m '$results' -f '$index' |";
open(SWISH, $cmd) or
return &search_error("open failed: $cmd");
while (<SWISH>) {
# Check for errors
if ($_ eq "err: no results") {
&search_error("There were no items that matched your search request");
if ($_ eq "err: could not open index file") {
&search_error("Could not open SWISH Index File $index");
if ($_ eq "err: no search words specified") {
&search_error("Please Enter at least one Search Word");
if ($_ eq "err: a word is too common") {
"One of your search terms is too common, please try again");
next if /^\D/;
push(@results, $_);
#Print the results page
&html_header("Search Results");
print <<Search_Results;
Your search for <strong>$query</strong> returned
<tt>$count</tt> items of <tt>$results</tt> requested.
In order of computed relevance, they are:<br>
foreach (@results) {
($stringone, $title, $filesize) = split(/\"/, $_);
($rank, $url) = split(/ /, $stringone);
print "<li><a href=\"$url\">$title</a>\n";
print "</ul>\n";
#Subroutine for printing a generic HTML header.
sub html_header {
my $h = $_[0];
print <<HTML_Header;
#Subroutine for printing a generic HTML trailer.
sub html_trailer {
#Subroutine for printing error messages.
sub search_error {
&html_header("Search Error");
$error_message = $_[0];
print "<P>\n$error_message</P>\n";
#!wml -ositemap.html
#use wml::openldap::openldap area=find subarea=sitemap
<page_title name="Site Map"
keywords="find, site map, pages, index, toc, table of contents, index"
description="A map of the <openldap> site"
<h1><sc>Site Map</sc></h1>
<a href=../>Main Page</a>
<li><a href=../project/>Project</a>
<li><a href=../foundation/>Foundation</a>
<li><a href=../software/>Software</a>
<li><a href=../devel/>Development</a>
#!wml -oindex.html
#use wml::openldap::openldap area=foundation subarea=main logo=fnd
<page_title name="The OpenLDAP Foundation"
keywords="OpenLDAP Foundation, Foundation"
description="Overivew of the OpenLDAP Foundation">
<h1>The OpenLDAP Foundation Overview</h1>
The OpenLDAP Foundation is a non-profit corporation with a charter
to promote <a href="">Open Source</a> LDAP
The OpenLDAP Foundation coordinates the activities of the
<a href="/project/">OpenLDAP Project</a> that it established in
August 1998.
The OpenLDAP Foundation is currently seeking corporate sponsorship
to enable development and interoperability testing of the
<a href="/software/">OpenLDAP</a> Suite.
Interested parties are encouraged to contact the foundation.
The OpenLDAP Foundation also accepts individual donations.
These funds are used to promote and support
<a href="/project/">OpenLDAP Project</a>.
Your personal check or money order can be sent directly to
the foundation.
<a href=""></a>
The OpenLDAP Foundation<br>
270 Redwood Shores Pwy, #107<br>
Redwood City, California 94065<br>
<a href=""><img alt="Sponsored by Net Boolean"
src="/images/boolean-sp.gif" border="0"></a>
#!wml -oindex.html
#use wml::openldap::openldap area=main logo=off
<page_title name="Title"
keywords="home, homepage, home page, main"
The Open Source for LDAP software and information. Home of OpenLDAP.
<div align="center">
<img alt="OpenLDAP" src="images/headers/LDAPworm.gif"><br>
<small><i>the Open Source for LDAP software and information</i></small>
<td valign=top>
<li><a href="project/">The Project</a>
<li><a href="foundation/">The Foundation</a>
<li><a href="info/">LDAP Information</a>
<li><a href="info/related.html">Related Sites</a>
<li><i><a href="lists/">Mailing Lists</a></i>
</td><td valign=top>
<li><b><a href="software/">Software</a></b>
<li><a href="software/repo.html">AnonCVS</a>
<li><b><i><a href="software/download.html">Download!</a></i></b>
<li><a href="software/roadmap.html">Roadmap</a>
<li><b><a href="devel/">Development</a></b>
<li><a href="devel/tools.html">Tools</a>
<b>The OpenLDAP Project needs your help!</b><br>
<a href="project/#join">Join the OpenLDAP Project</a> today!
<a href="project/">The OpenLDAP Project</a> is pleased to announce the
immediate <a href="software/download.html">availability</a> of
<nobr><em>OpenLDAP 1.1</em></nobr>.
OpenLDAP is an <a href="">open source</a>
suite of LDAP applications and development tools. The suite includes:
<li>stand-alone LDAP server (slapd)
<li>stand-alone LDAP replication server (slurpd)
<li>LDAP-to-X.500 gateway server (ldapd)
<li>libraries implementing the LDAP protocol, and
<li>utilities, tools, and sample clients.
<a href=""><img border=0
alt="Sponsored by Net Boolean"
#!wml -orelated.html
#use wml::openldap::openldap area=info subarea=related
<page_title name="Related Projects and Sites"
keywords="related projects, related sites, sites and projects, links, urls"
description="A list of related sites and projects.">
<h1>Related Projects and Sites</h1>
We hope you will find this list of related projects and sites useful.
<li><a href="#info">Information</a>
<li><a href="#wg">Working Groups</a>
<li><a href="#dev">Developer Tools</a>
<li><a href="#gw">Gateways</a>
<li><a hreF="#int">Integration</a>
<h3><a name="info">LDAP Information</a></h3>
<dt><a href="">University
of Michigan LDAP</a>
<dd>Though the LDAP project is now defunct, this site still provides
a great deal of useful information. OpenLDAP is derived from
their 3.3 release.
<dt><a href="">An LDAP Roadmap
and FAQ</a>
<dd>Jeff Hodges provides a "tutorial aid to navigating various LDAP
and X.500 resources."
<dt><a href="">Innosoft's
LDAP World</a>
<dd>Mark Wahl provides details about LDAP's specification and
availability of commercial products.
<h3><a name="wg">Directory Working Groups</A></h3>
<dt>IETF <a href="">Access,
Searching and Indexing of Directories</a> Working Group
<dd>This IETF working group chartered to "define, evolve, and standarize
protocols, algorithms and access methods for a White Pages Directory Service
on the Internet."
<dt>IETF <a href="">Integrated
Directory Services</a> Working Group
<dd>This IETF working group chartered to "facilitate the
integration and interoperability of current and future directories into
a unified Internet directory service."
<dt>IETF <a href="">LDAP
Extensions</a> Working Group
<dd>This IETF working group chartered to
"define and standardize extensions to the
LDAP version 3 protocol and extensions to the use of LDAP on the Internet."
<dt><a href="">Internet Directory
<dd><a href=">The OpenGroup</a> is forming this
group to promote interoperability of directory products.
<h3><a name="dev">LDAP Developer Tools</a></h3>
<dt><a href="">Netscape
Directory SDK</a>
<dd>Netscape Directory SDK provides a LDAPv3 API for C and Java developers.
The source is <a href="">publicially
available</a> as part of <a href="">The
Mozilla Project</a>.
<dt><a href="">PerLDAP</a>
<dd>PerLDAP, developed Netscape and Clayton Donley, is a set of
<a href="">perl</a> modules to allow Perl programmers
to develop LDAP applications.
The source is <a href="">publicially
available</a> as part of <a href="">The
Mozilla Project</a>.
<dt><a href="">Net::LDAP</a>
<dd>Graham Barr's Perl LDAP is a collection of
<a href="">perl</a> modules that
can be used to develop LDAP applications. Perl-LDAP is
entirely in Perl.
<dt><a href="">PHP: Hypertext Preprocessor</a>
<dd>PHP3 is a server-side HTML embedded scripting language with
<a href="">integrated LDAP
<h3><a name="gw">LDAP Gateways</a></h3>
<dt><a href="">web500gw: A HTTP LDAP Gateway</a>
<dd>Web500gw connects WWW browsers to LDAP based directories.
<h3><a name="int">LDAP Integration</a></h3>
<dt><a href="">Using
LDAP as a Network Information Service</a>
<dd><a href=//>Luke Howard</a> provides
a wealth of information (and software) about how to use an LDAP
directory as a network information service.
<dt><A HREF="">Linux Directory Services</A>
<dd>Developing the next-generating of Linux directory services
using LDAP.
#!wml -oindex.html
#use wml::openldap::openldap area=lists subarea=main
<page_title name="Mailing Lists"
keywords="mailing lists, lists, post, subscribe, mail, archives"
description="Information about OpenLDAP mailing lists">
<h1>Mailing Lists</h1>
Mailing lists serve as the primary forum for OpenLDAP discussions.
OpenLDAP mailing lists include:
<li><a href=#announce>OpenLDAP-Announce</a>
<li><a href=#bugs>OpenLDAP-Bugs</a>
<li><a href=#commit>OpenLDAP-Commit</a>
<li><a href=#devel>OpenLDAP-Devel</a>
<li><a href=#general>OpenLDAP-General</a>
<li><a href=#stable>OpenLDAP-Stable</a>
<h3><a name=subscribe>Subscribing to a List</a></h3>
To subscribe to a list send e-mail to the <i>-request</i> address
of the list with the command <tt>subscribe</tt> contained within the body
of the message. Our mailing list management program will contact
you with additional instructions.
<h3><a name=post>Posting a Message</a></h3>
Follow these steps:
<li>Select the <a href=#charter>most appropriate</a> forum for the message,
<li><a href=#subscribe>Subscribe</a> to that forum,
<li>Check the <a href=#archives>archives</a> for similiar postings,
<li>Post your message.
Please familiarize yourself with the
<a href=>Netiquette
Guidelines</a> before posting. Even seasoned Internet users
should reread this document from time to time.
<h3><a name=archives>List Archives</a></h3>
Each OpenLDAP list is archived. Archives can be retrieved by sending
the index/get commands to our mailing list manager. For instructions, please
a message to <a>Lists@OpenLDAP.Org</a> with
the command "help" in the body of the message.
<when "">
The archives can browsed and searched via the web.
<h3><a name=charter>List Charters</a></h3>
<dt><a name=announce>OpenLDAP Announcements</a> (OpenLDAP-announce)
<dd>This mailing list is for people interested only in occasional
announcements of significant OpenLDAP events. This includes
announcements about software releases and other major developments.
This list has low volume and is strictly moderated. Anyone
interested in OpenLDAP announcements should
to the list.
<dt><a name=general>OpenLDAP General</a> (OpenLDAP-general)
<dd>This mailing list is for general discussions of interested to
the OpenLDAP community.
Members of the OpenLDAP community should
to this list.
<dt><a name=bugs>OpenLDAP Bugs</a> (OpenLDAP-bugs)
<dd>This mailing list is for reporting of bugs in OpenLDAP releases.
OpenLDAP users and developers should
to this list.
<dt><a name=devel>OpenLDAP Commit</a> (OpenLDAP-commit)
<dd>This mailing list is for monitoring of changes to the OpenLDAP
<a href=repo.html>source repository</a>. This list is not a
discussion forum. Copies of CVS log entries are forwarded on
to this list. Volume of messages can be high at times.
OpenLDAP developers tracking -devel sources should
<A HREF="">subscribe</A>
to this list.
<dt><a name=devel>OpenLDAP Development</a> (OpenLDAP-devel)
<dd>This mailing list is for users of OpenLDAP<i>-devel</i>. The list
is to be used solely for technical discussions related to use and/or
development of <i>-devel</i>. All users of <i>-devel</i> should
to the list.
<dt><a name=stable>OpenLDAP Stable</a> (OpenLDAP-stable)
<dd>This mailing list is for users of OpenLDAP<i>-stable</i>. The list is
to be used solely for technical discussions related to use and/or
development of the OpenLDAP<i>-stable</i>. All users of <i>-stable</i> should
to this list.
#!wml -oindex.html
#use wml::openldap::openldap area=project subarea=main logo=prj
<page_title name="Project"
keywords="OpenLDAP Project, project"
description="Information about the OpenLDAP Project">
<h1>The OpenLDAP Project Overview</h1>
The OpenLDAP Project is a collaborative effort to provide a robust,
commercial-grade, fully featured, and
<a href="">open source</a>
LDAP suite of applications and development tools. The project is
managed by a worldwide community of volunteers that use the Internet to
communicate, plan, and develop the <a href="/software/">OpenLDAP Suite</A>
and its related documentation.
Our <a href="roadmap.html">roadmap</a> details the project goals
and objectives.
<h3><a name="join">Join the OpenLDAP Project</a></h3>
The OpenLDAP Project is volunteer-driven. We do not have any
specific requirement for volunteers other than a willingness
to contribute. Start today by subscribing to one (or more) of
our <a href="/lists/">mailing lists</a>!
<h3><a name="core">OpenLDAP Core Team</a></h3>
The OpenLDAP Core Team (informally called the "core")
manages the software development process. The core consists
of the project's founders and primary developers. The core is
augmented from time to time with outstanding contributors.
The current core team consists of:
Kurt Zeilenga (founder)
Richard Krukar (founder)
Gary Williams
Hallvard Furuseth
Julio S&aacute;nchez Fern&aacute;ndez
Kurt Spanier
Predrag "Pele" Balorda
Stuart Lynne
<h3>OpenLDAP Foundation</h3>
The project is coordinated by the
<a href="/foundation/">OpenLDAP Foundation</A>, a non-profit
corporation whose sole charter is to promote and support the
development of Open Source LDAP software and information.
Donations to the project can be made through the foundation.
<a href="">Net Boolean Incorporated</a> is
a corporate sponsor of the OpenLDAP Project.
<h3>Contacting the Project</h3>
<a href=""></a>
The OpenLDAP Project<BR>
270 Redwood Shores Pwy, #107<BR>
Redwood City, California 94065<BR>