aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndre Carregal <carregal@luaforge.net>2004-11-22 17:42:27 +0000
committerAndre Carregal <carregal@luaforge.net>2004-11-22 17:42:27 +0000
commit288d12bed8db818e97ca01ae3c25051f42893a4e (patch)
tree594fb45384d5b7fc993de9455cd0bfc2bf5b855b
parentTroca de <> por "". (diff)
downloadlualdap-288d12bed8db818e97ca01ae3c25051f42893a4e.tar.xz
lualdap-288d12bed8db818e97ca01ae3c25051f42893a4e.zip
HTML Tidying
-rwxr-xr-xlualdap/doc/us/index.html378
-rwxr-xr-xlualdap/doc/us/license.html121
-rwxr-xr-xlualdap/doc/us/manual.html689
3 files changed, 603 insertions, 585 deletions
diff --git a/lualdap/doc/us/index.html b/lualdap/doc/us/index.html
index e808494..13af987 100755
--- a/lualdap/doc/us/index.html
+++ b/lualdap/doc/us/index.html
@@ -1,190 +1,188 @@
-<! See Copyright Notice in license.html>
-<html>
-
-<head>
-<title>LuaLDAP: A Lua interface to the OpenLDAP library</title>
-<style type="text/css">
-ul { list-style-type: disc };
-</style>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<hr>
-
-<center>
-<table border=0 cellspacing=2 cellpadding=2>
-<tr><td align=center><a href="http://www.keplerproject.org/lualdap">
-<img border=0 alt="LuaLDAP logo" src="lualdap.png"></a>
-<tr><td align=center><big><b>LuaLDAP</b></big>
-<tr><td align=center valign=top>A
-<a href="http://www.lua.org">Lua</a>
-interface to the OpenLDAP library
-</table>
-</center>
-<p>
-
-<center><small>
-<a href=#over>overview</a> &middot;
-<a href=#version>current version</a> &middot;
-<a href=#download>download</a> &middot;
-<a href=#new>news</a> &middot;
-<a href=#installation>installation</a> &middot;
-<a href="manual.html">manual</a> &middot;
-<a href="license.html">license</a> &middot;
-<a href="#credits">credits</a> &middot;
-<a href="#contact">contact us</a>
-</small></center>
-<p>
-
-<hr>
-
-<h2>Contents</h2>
-<p>
-<ul>
- <li> <a href=#over>Overview</a>
- <li> <a href=#version>Current Version</a>
- <li> <a href=#download>Download</a>
- <li> <a href=#new>What's new</a>
- <li> <a href=#installation>Installation</a>
- <li> <a href="manual.html">User's manual</a>
- <ul>
- <li> <a href="manual.html#introduction">Introduction</a>
- <li> <a href="#attributes">attributes</a>
- <li> <a href="#dn">DN</a>
- <li> <a href="#initialization_functions">initialization</a>
- <li> <a href="#connection_object">connection</a>
- <li> <a href="manual.html#examples">Examples</a>
- </ul>
- <li> <a href="license.html">Copyright & License</a>
- <li> <a href="#credits">Credits</a>
- <li> <a href="#contact">Contact us</a>
-</ul>
-</p>
-
-
-<a name=over>
-<h2>Overview</h2>
-<p>
-LuaLDAP is a simple interface from Lua to an LDAP client
-(in fact it is a bind to <a href="http://www.openldap.org">OpenLDAP</a>).
-It enables a Lua program to:
-<ul>
-<li> Connect to an LDAP server;
-<li> Execute any operation (search, add, compare, delete, modify and rename);
-<li> Retrieve entries and references of the search result.
-</ul>
-</p>
-<p>
-LuaLDAP is free software and uses the same
-<a href="license.html">license</a>
-as Lua 5.0.
-
-
-<a name=version>
-<h2>Current version</h2>
-<p>
-Current version is 1.0 beta.
-It was developed for Lua 5.0 and OpenLDAP 2.1.
-</p>
-<p>Version 1.0 follows the
-<a href="http://www.keplerproject.org/compat">package proposal</a>
-for Lua 5.1
-(see section <a href="#installation">Installation</a> for more details).
-
-
-<a name=download>
-<h2>Download</h2>
-
-LuaLDAP can be downloaded in source code from the following links: <p>
-
-<blockquote>
-<a href="lualdap-1.0b.tar.gz">lualdap-1.0b.tar.gz</a><br>
-<a href="lualdap-1.0b.zip">lualdap-1.0b.zip</a>
-</blockquote><p>
-
-<a href="http://www.openldap.org">OpenLDAP</a> can be downloaded from the
-<a href="http://www.openldap.org/software/download">OpenLDAP download page</a>.
-
-
-<a name=new>
-<h2>What's new</h2>
-<p>
-<ul>
- <li>[?/?/2004] Version 1.0 beta released
- <li>[10/dec/2003] Version 1.0 alpha released
-</ul>
-</p>
-
-
-<a name="installation"></a>
-<h2>Installation</h2>
-
-<p>
-LuaLDAP is a bind to the <a href="http://www.openldap.org">OpenLDAP</a>
-library,
-therefore it depends on a previous installation of this library.
-You can download OpenLDAP from the
-<a href="http://www.openldap.org/software/download">OpenLDAP download page</a>.
-</p>
-<p>
-LuaLDAP follows the
-<a href="http://www.keplerproject.org/compat">package proposal</a>
-for Lua 5.1,
-therefore this package should be "installed".
-In other words,
-if you are using Lua 5.0,
-the files <tt>compat-5.1.c</tt> and <tt>compat-5.1.h</tt> must be used
-in the compalation and the file <tt>compat-5.1.lua</tt> must be installed
-in the <tt>LUA_PATH</tt>.
-If you are using Lua 5.1,
-nothing should be done.
-
-
-<a name="credits">
-<h2>Credits</h2>
-
-<p>
-LuaLDAP was designed by Roberto Ierusalimschy, Andr&eacute; Carregal
-and Tom&aacute;s Guisasola as part of
-<a href="http://www.keplerproject.org">The Kepler Project</a>
-which holds its copyright.
-It was implemented by Tom&aacute;s Guisasola.
-</p>
-<p>
-LuaLDAP development was sponsored by
-<a href="http://www.fabricadigital.com.br">Fábrica Digital</a>
-and FINEP.
-</p>
-
-
-<a name="contact"></a>
-<h2>Contact us</h2>
-
-<p>
-For further information please
-<a href="mailto:info-NO-SPAM-THANKS@keplerproject.org">contact us</a>.
-Comments are welcome!
-</p>
-
-<p>
-<center><small>
-<a href=#over>overview</a> &middot;
-<a href=#version>current version</a> &middot;
-<a href=#download>download</a> &middot;
-<a href=#new>news</a> &middot;
-<a href=#installation>installation</a> &middot;
-<a href="manual.html">manual</a> &middot;
-<a href="license.html">license</a> &middot;
-<a href="#credits">credits</a> &middot;
-<a href="#contact">contact us</a>
-</small></center>
-<p>
-
-<hr>
-<small>
-$Id: index.html,v 1.18 2004-11-11 13:33:57 tomas Exp $
-</small>
-
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<html>
+<head>
+<meta name="generator" content="HTML Tidy, see www.w3.org">
+<title>LuaLDAP: A Lua interface to the OpenLDAP library</title>
+<style type="text/css">
+ul { list-style-type: disc };
+</style>
+</head>
+<body bgcolor="#FFFFFF">
+<hr>
+<center>
+<table border="0" cellspacing="2" cellpadding="2">
+<tr>
+<td align="center"><a href=
+"http://www.keplerproject.org/lualdap"><img border="0" alt=
+"LuaLDAP logo" src="lualdap.png"></a> </td>
+</tr>
+
+<tr>
+<td align="center"><big><b>LuaLDAP</b></big> </td>
+</tr>
+
+<tr>
+<td align="center" valign="top">A <a href=
+"http://www.lua.org">Lua</a> interface to the OpenLDAP library</td>
+</tr>
+</table>
+</center>
+
+<center><small><a href="#over">overview</a> &middot; <a href=
+"#version">current version</a> &middot; <a href=
+"#download">download</a> &middot; <a href="#new">news</a> &middot;
+<a href="#installation">installation</a> &middot; <a href=
+"manual.html">manual</a> &middot; <a href=
+"license.html">license</a> &middot; <a href="#credits">credits</a>
+&middot; <a href="#contact">contact us</a></small></center>
+
+<hr>
+<h2>Contents</h2>
+
+<ul>
+<li><a href="#over">Overview</a></li>
+
+<li><a href="#version">Current Version</a></li>
+
+<li><a href="#download">Download</a></li>
+
+<li><a href="#new">What's new</a></li>
+
+<li><a href="#installation">Installation</a></li>
+
+<li><a href="manual.html">User's manual</a>
+
+<ul>
+<li><a href="manual.html#introduction">Introduction</a></li>
+
+<li><a href="#attributes">attributes</a></li>
+
+<li><a href="#dn">DN</a></li>
+
+<li><a href="#initialization_functions">initialization</a></li>
+
+<li><a href="#connection_object">connection</a></li>
+
+<li><a href="manual.html#examples">Examples</a></li>
+</ul>
+</li>
+
+<li><a href="license.html">Copyright &amp; License</a></li>
+
+<li><a href="#credits">Credits</a></li>
+
+<li><a href="#contact">Contact us</a></li>
+</ul>
+
+<br>
+<br>
+
+
+<h2>Overview</h2>
+
+<p>LuaLDAP is a simple interface from Lua to an LDAP client (in
+fact it is a bind to <a href=
+"http://www.openldap.org">OpenLDAP</a>). It enables a Lua program
+to:</p>
+
+<ul>
+<li>Connect to an LDAP server;</li>
+
+<li>Execute any operation (search, add, compare, delete, modify and
+rename);</li>
+
+<li>Retrieve entries and references of the search result.</li>
+</ul>
+
+<br>
+<br>
+
+
+<p>LuaLDAP is free software and uses the same <a href=
+"license.html">license</a> as Lua 5.0.</p>
+
+<h2>Current version</h2>
+
+<p>Current version is 1.0 beta. It was developed for Lua 5.0 and
+OpenLDAP 2.1.</p>
+
+<p>Version 1.0 follows the <a href=
+"http://www.keplerproject.org/compat">package proposal</a> for Lua
+5.1 (see section <a href="#installation">Installation</a> for more
+details).</p>
+
+<h2>Download</h2>
+
+LuaLDAP can be downloaded in source code from the following links:
+
+<blockquote><a href=
+"lualdap-1.0b.tar.gz">lualdap-1.0b.tar.gz</a><br>
+<a href="lualdap-1.0b.zip">lualdap-1.0b.zip</a></blockquote>
+
+<p><a href="http://www.openldap.org">OpenLDAP</a> can be downloaded
+from the <a href=
+"http://www.openldap.org/software/download">OpenLDAP download
+page</a>.</p>
+
+<h2>What's new</h2>
+
+<ul>
+<li>[?/?/2004] Version 1.0 beta released</li>
+
+<li>[10/dec/2003] Version 1.0 alpha released</li>
+</ul>
+
+<br>
+<br>
+ <a name="installation"></a>
+
+<h2>Installation</h2>
+
+<p>LuaLDAP is a bind to the <a href=
+"http://www.openldap.org">OpenLDAP</a> library, therefore it
+depends on a previous installation of this library. You can
+download OpenLDAP from the <a href=
+"http://www.openldap.org/software/download">OpenLDAP download
+page</a>.</p>
+
+<p>LuaLDAP follows the <a href=
+"http://www.keplerproject.org/compat">package proposal</a> for Lua
+5.1, therefore this package should be "installed". In other words,
+if you are using Lua 5.0, the files <tt>compat-5.1.c</tt> and
+<tt>compat-5.1.h</tt> must be used in the compalation and the file
+<tt>compat-5.1.lua</tt> must be installed in the <tt>LUA_PATH</tt>.
+If you are using Lua 5.1, nothing should be done.</p>
+
+<h2>Credits</h2>
+
+<p>LuaLDAP was designed by Roberto Ierusalimschy, Andr&eacute;
+Carregal and Tom&aacute;s Guisasola as part of <a href=
+"http://www.keplerproject.org">The Kepler Project</a> which holds
+its copyright. It was implemented by Tom&aacute;s Guisasola.</p>
+
+<p>LuaLDAP development was sponsored by <a href=
+"http://www.fabricadigital.com.br">F&aacute;brica Digital</a> and
+FINEP.</p>
+
+<a name="contact"></a>
+
+<h2>Contact us</h2>
+
+<p>For further information please <a href=
+"mailto:info-NO-SPAM-THANKS@keplerproject.org">contact us</a>.
+Comments are welcome!</p>
+
+<center><small><a href="#over">overview</a> &middot; <a href=
+"#version">current version</a> &middot; <a href=
+"#download">download</a> &middot; <a href="#new">news</a> &middot;
+<a href="#installation">installation</a> &middot; <a href=
+"manual.html">manual</a> &middot; <a href=
+"license.html">license</a> &middot; <a href="#credits">credits</a>
+&middot; <a href="#contact">contact us</a></small></center>
+
+<hr>
+<small>$Id: index.html,v 1.18 2004/11/11 13:33:57 tomas Exp
+$</small>
+</body>
+</html>
+
diff --git a/lualdap/doc/us/license.html b/lualdap/doc/us/license.html
index 550429a..43eff9b 100755
--- a/lualdap/doc/us/license.html
+++ b/lualdap/doc/us/license.html
@@ -1,78 +1,67 @@
-<! See Copyright Notice at the end of this file>
-<HTML>
-<HEAD>
-<TITLE>LuaLDAP: license</TITLE>
-</HEAD>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<html>
+<head>
+<meta name="generator" content="HTML Tidy, see www.w3.org">
+<title>LuaLDAP: license</title>
+</head>
+<body bgcolor="#FFFFFF">
+<hr>
+<h1>License</h1>
-<BODY BGCOLOR="#FFFFFF">
+LuaLDAP is free software: it can be used for both academic and
+commercial purposes at absolutely no cost. There are no royalties
+or GNU-like "copyleft" restrictions. LuaLDAP qualifies as <a href=
+"http://www.opensource.org/docs/definition.html">Open Source</a>
+software. Its licenses are compatible with <a href=
+"http://www.gnu.org/licenses/gpl.html">GPL</a>. LuaLDAP is not in
+the public domain and <a href="http://www.keplerproject.org">The
+Kepler Project</a> keep its copyright. The legal details are below.
-<HR>
-<H1>
-License
-</H1>
-LuaLDAP
-is free software:
-it can be used for both academic and commercial purposes at absolutely no cost.
-There are no royalties or GNU-like "copyleft" restrictions.
-LuaLDAP qualifies as
-<A HREF="http://www.opensource.org/docs/definition.html">Open Source</A>
-software.
-Its licenses are compatible with
-<A HREF="http://www.gnu.org/licenses/gpl.html">GPL</A>.
-LuaLDAP is not in the public domain and
-<a href="http://www.keplerproject.org">The Kepler Project</a>
-keep its copyright.
-The legal details are below.
-<P>
+<p>The spirit of the license is that you are free to use LuaLDAP
+for any purpose at no cost without having to ask us. The only
+requirement is that if you do use LuaLDAP, then you should give us
+credit by including the appropriate copyright notice somewhere in
+your product or its documentation.</p>
-The spirit of the license is that
-you are free to use LuaLDAP for any purpose at no cost without having to ask us.
-The only requirement is that
-if you do use LuaLDAP,
-then you should give us credit by including the appropriate copyright notice
-somewhere in your product or its documentation.
-<P>
-
-The LuaLDAP library is designed and implemented
-by
-Roberto Ierusalimschy,
-Andr&eacute; Carregal and
-Tom&aacute;s Guisasola.
-The implementation is not derived from licensed software.
-<P>
+<p>The LuaLDAP library is designed and implemented by Roberto
+Ierusalimschy, Andr&eacute; Carregal and Tom&aacute;s Guisasola.
+The implementation is not derived from licensed software.</p>
+<p>
<!-- ===================================================================== -->
-<HR>
-Copyright &copy; 2003-2004 The Kepler Project.
-<P>
+</p>
+
+<hr>
+Copyright &copy; 2003-2004 The Kepler Project.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-<P>
+<p>Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use, copy,
+modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:</p>
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-<P>
+<p>The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.</p>
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-<P>
+<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.</p>
+<p>
<!-- ===================================================================== -->
-<HR>
-<SMALL>
-$Id: license.html,v 1.3 2004-08-12 04:11:01 tomas Exp $
-</SMALL>
+</p>
+
+<hr>
+<small>$Id: license.html,v 1.3 2004/08/12 04:11:01 tomas Exp
+$</small>
+</body>
+</html>
-</BODY>
-</HTML>
diff --git a/lualdap/doc/us/manual.html b/lualdap/doc/us/manual.html
index e52ab36..176effa 100755
--- a/lualdap/doc/us/manual.html
+++ b/lualdap/doc/us/manual.html
@@ -1,329 +1,360 @@
-<! See Copyright Notice in license.html>
-<html>
-
-<head>
-<title>LuaLDAP: A Lua interface to the OpenLDAP library</title>
-<style type="text/css">
-ul { list-style-type: disc };
-</style>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<hr>
-
-<center>
-<table border=0 cellspacing=2 cellpadding=2>
-<tr><td align=center><a href="http://www.keplerproject.org/lualdap">
-<img border=0 alt="LuaLDAP logo" src="lualdap.png"></a>
-<tr><td align=center><big><b>LuaLDAP Reference Manual</b></big>
-<tr><td align=center valign=top>A
-<a href="http://www.lua.org">Lua</a>
-interface to the OpenLDAP library
-</table>
-</center>
-<p>
-
-<center><small>
-<a href="index.html">home</a> &middot;
-<a href="#attributes">attributes</a> &middot;
-<a href="#dn">DN</a> &middot;
-<a href="#initialization_functions">initialization</a> &middot;
-<a href="#connection_object">connection</a> &middot;
-<a href="#examples">example</a> &middot;
-<a href="#related_docs">related docs</a>
-</small></center>
-<p>
-
-<hr>
-
-<a name="introduction"></a>
-<h2>Introduction</h2>
-<p>
-LuaLDAP is a simple interface from Lua to an LDAP client
-(in fact it is a bind to
-<a href="http://www.openldap.org">OpenLDAP</a>
-client).
-</p>
-<p>
-LuaLDAP defines one single global variable:
-a table called <tt>lualdap</tt>.
-This table holds the functions used to create an LDAP connection object.
-</p>
-<p>
-A connection object offers methods to perform any operation on the directory
-such as
-comparing values,
-adding new entries,
-modifying attributes on existing entries,
-removing entries,
-and the most common of all: searching.
-Entries are represented as Lua tables; attributes are its fields.
-The attribute values can be strings or tables of strings
-(used to represent multiple values).
-</p>
-<p>
-LuaLDAP is free software and uses the same
-<a href="license.html">license</a>
-as Lua 5.0.
-</p>
-
-
-<a name="attributes">
-<h2>Representing attributes</h2>
-
-<p>
-Many LDAP operations manage sets of attributes and values.
-LuaLDAP provides a uniform way of representing them: using Lua tables.
-A table of attributes is indexed by the name of the attribute and its
-value can be a string (be careful: it can also be a "binary string")
-or a list/table of values indexed by numbers from 1 to <em>n</em>.
-Some operations have different approaches that will be explained
-when necessary.
-<p>
-Follows a small example:
-<pre>
- entry = {
- an_attribute = "a value",
- other_attribute = {
- "first value of other attribute",
- "another value of other attribute",
- },
- }
-</pre>
-Attribute names cannot contain zeroes (<tt>'\0'</tt>)
-
-
-<a name="dn"></a>
-<h2>Distinguished names</h2>
-
-<p>
-The distinguished name (DN) is the term used to identify an entry on the
-directory information tree.
-It is formed by the relative distinguished name (RDN) of the entry
-and the distinguished name of its parent.
-LuaLDAP will always use a string to represent the DN of any entry.
-<p>
-A more precise definition can be found on the LDAP documentation.
-A list of some of these files can be found in section
-<a href="#related_docs">Related documentation</a>.
-
-<a name="initialization_functions"></a>
-<h2>Initialization functions</h2>
-<p>
-LuaLDAP provides a single way to connect to an LDAP server:
-<ul>
-<a name="open_simple"></a>
-<li> <b><tt>lualdap.open_simple (hostname, who, password, usetls)</tt></b> <br>
-Initializes a session with an LDAP server.
-This function requires a hostname,
-accordingly to <a href="#related_docs">the C LDAP API</a> definition
-(<em>"hostname contains a space-separated
-list of hostnames or dotted strings representing the IP address of hosts
-running an LDAP server to connect to. Each hostname in the list MAY include
-a port number which is separated from the host itself with a colon (:)
-character."</em>).
-The argument <tt>who</tt> should be the <a href="#dn">distinguished name</a>
-of the entry that has the password to be checked against the third argument,
-<tt>password</tt>.
-The optional argument <tt>usetls</tt> is a Boolean flag indicating if
-Transport Layer Security (TLS) should be used.<br>
-Returns a connection object or <tt>nil</tt> followed by an error string.
-</ul>
-
-
-<a name="connection_object">
-<h2>Connection objects</h2>
-
-<p>
-A connection object offers methods which implement LDAP operations.
-Almost all of them need a <a href="#dn">distinguished name</a> to
-identify the entry on which the operation will be executed.
-<p>
-These methods execute asynchronous operations and return a function
-that should be called to obtain the result(s).
-These functions will return <tt>true</tt> indicating success of the operation;
-the only exception is the function <tt><a href="#conn_compare">compare</a></tt>
-which can return either <tt>true</tt> or <tt>false</tt> (which is the result
-of the comparison) on a successful operation.
-<p>
-There are two types of errors:
-<em>API errors</em>, such as wrong parameters, absent connection etc.; and
-<em>LDAP errors</em>, such as mal-formed DN, unknown attribute etc.
-API errors will raise a Lua error,
-while LDAP errors will be reported by the function/method
-returning <tt>nil</tt> followed by the error message provided by
-the OpenLDAP client.
-<p>
-A connection object can be created by calling the
-<a href="#initialization_functions">Initialization function</a>.
-
-<h4>Methods</h4>
-
-<ul>
-<a name="conn_add"></a>
-<li> <b><tt>conn:add (distinguished_name, table_of_attributes)</tt></b> <br>
-Adds a new entry to the directory with the given attributes and values.
-
-<a name="conn_close"></a>
-<li> <b><tt>conn:close()</tt></b> <br>
-Closes the connection <tt>conn</tt>.
-
-<a name="conn_compare"></a>
-<li> <b><tt>conn:compare (distinguished_name, attribute, value)</tt></b> <br>
-Compares a value against an entry.
-
-<a name="conn_delete"></a>
-<li> <b><tt>conn:delete (distinguished_name)</tt></b> <br>
-Deletes an entry from the directory.
-
-<a name="conn_modify"></a>
-<li> <b><tt>conn:modify (distinguished_name, table_of_operations*)</tt></b> <br>
-Changes values of attributes in the given entry.
-The tables of operations are <a href="#attributes">table of attributes</a>
-but with the value on index <tt>1</tt> indicating the operation to be
-performed.
-The valid operations are:
-<ul>
- <li> <b><tt>'+'</tt></b> to add the values to the attributes
- <li> <b><tt>'-'</tt></b> to delete the values of the attributes
- <li> <b><tt>'='</tt></b> to replace the values of the attributes
-</ul>
-All tables of operations given as arguments will be joined together to
-perform a single LDAP modify operation.
-
-<a name="conn_rename"></a>
-<li> <b><tt>conn:rename (distinguished_name, new_relative_dn, new_parent)</tt></b> <br>
-Changes entry names
-(<i>i.e. change its <a href="#dn">distinguished name</a></i>).
-
-<a name="conn_search"></a>
-<li> <b><tt>conn:search (table_of_search_parameters)</tt></b> <br>
-Performs a search operation on the directory.
-The parameters are described below:
-<ul>
- <li> <b><tt>attrs</tt></b>: a string or a list of attribute names to be retrieved (default is to retrieve all attributes).
- <li> <b><tt>attrsonly</tt></b>: a Boolean value that must be either <i>false</i> (default) if both attribute names and values are to be retrieved, or <i>true</i> if only names are wanted.
- <li> <b><tt>base</tt></b>: The <a href="#dn">distinguished name</a> of the entry at which to start the search.
- <li> <b><tt>filter</tt></b>: A string representing the search filter as described in <a href="http://www.ietf.org/rfc/rfc2254.txt">The String Representation of LDAP Search Filters (RFC 2254)</a>.
- <li> <b><tt>scope</tt></b>: A string indicating the scope of the search. The valid strings are: "base", "onelevel" and "subtree". The empty string ("") and <tt>nil</tt> will be treated as the default scope.
- <li> <b><tt>sizelimit</tt></b>: The maximum number of entries to return (default is no limit).
- <li> <b><tt>timeout</tt></b>: The timeout in seconds (default is no timeout). The precision is microseconds.
-</ul>
-The search method will return a <i>search iterator</i> which is a function
-that requires no arguments.
-The search iterator is used to get the search result and will return
-a string representing the <a href="#dn">distinguished name</a> and
-a <a href="#attributes">table of attributes</a> as returned by the
-search request.
-
-</ul>
-
-
-<a name="examples"></a>
-<h2>Example</h2>
-
-Below is a small sample code displaying the basic use of the library.
-
-<blockquote>
-<pre>
-require "lualdap"
-
-ld = assert (lualdap.open_simple ("ldap.server", "mydn=manoeljoaquim,ou=people,dc=ldap,dc=world", "mysecurepassword"))
-
-for dn, attribs in ld:search { base = "ou=people,dc=ldap,dc=world" } do
- io.write (string.format ("\t[%s]\n", dn))
- for name, values in pairs (attribs) do
- io.write ("["..name.."] : ")
- if type (values) == "string" then
- io.write (values)
- elseif type (values) == "table" then
- local n = table.getn(values)
- for i = 1, (n-1) do
- io.write (values[i]..",")
- end
- io.write (values[n])
- end
- io.write ("\n")
- end
-end
-
-ld:add ("mydn=newuser,ou=people,dc=ldap,dc=world", {
- objectClass = { "", "", },
- mydn = "newuser",
- abc = "qwerty",
- tel = { "123456758", "98765432", },
- givenName = "New User",
-})()
-
-ld:modify {"mydn=newuser,ou=people,dc=ldp,dc=world",
- { '=', givenName = "New", cn = "New", sn = "User", },
- { '+', o = { "University", "College", }, mail = "newuser@university.edu", },
- { '-', abc = true, tel = "123456758", },
- { '+', tel = "13579113", },
-}()
-
-ld:delete ("mydn=newuser,ou=people,dc=ldp,dc=world")()
-
-</pre>
-</blockquote>
-
-
-<a name="related_docs"></a>
-<h2>Related documentation</h2>
-
-Here is a list of related documentation:
-<ul>
- <li> <a href="http://www.ietf.org/rfc/rfc2251.txt">Lightweight Directory
-Access Protocol (v3)</a>
- <li> <a href="http://www.ietf.org/rfc/rfc3377.txt">LDAPv3 Technical
-Specification</a>
- <li> <a href="http://www.ietf.org/rfc/rfc2254.txt">The String Representation
-of LDAP Search Filters (RFC 2254)</a>
- <li> <a href="http://www.ietf.org/proceedings/01aug/I-D/draft-ietf-ldapext-ldap-c-api-05.txt">The C LDAP Application Program Interface</a>
-</ul>
-
-
-<a name="contents"></a>
-<h2>Contents</h2>
-<p>
-<ul>
-<li> <a href="#introduction">Introduction</a>
-<li> <a href="#attributes">Representing attributes</a>
-<li> <a href="#dn">Distinguished names</a>
-<li> <a href="#initialization_functions">Initialization functions</a>
-<li> <a href="#connection_object">Connection object</a>
- <ul>
- <li> <a href="#conn_add">add</a>
- <li> <a href="#conn_close">close</a>
- <li> <a href="#conn_compare">compare</a>
- <li> <a href="#conn_delete">delete</a>
- <li> <a href="#conn_modify">modify</a>
- <li> <a href="#conn_rename">rename</a>
- <li> <a href="#conn_search">search</a>
- </ul>
-<li> <a href="#examples">Example</a>
-<li> <a href="#related_docs">Related documentation</a>
-</ul>
-</p>
-
-
-<p>
-<center><small>
-<a href="index.html">home</a> &middot;
-<a href="#attributes">attributes</a> &middot;
-<a href="#dn">DN</a> &middot;
-<a href="#initialization_functions">initialization</a> &middot;
-<a href="#connection_object">connection</a> &middot;
-<a href="#examples">example</a> &middot;
-<a href="#related_docs">related docs</a>
-</small></center>
-<p>
-
-<hr>
-<small>
-$Id: manual.html,v 1.16 2004-11-03 11:04:45 tomas Exp $
-</small>
-
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta name="generator" content="HTML Tidy, see www.w3.org">
+<title>LuaLDAP: A Lua interface to the OpenLDAP library</title>
+<style type="text/css">
+ul { list-style-type: disc };
+</style>
+</head>
+<body bgcolor="#FFFFFF">
+<hr>
+<center>
+<table border="0" cellspacing="2" cellpadding="2">
+<tr>
+<td align="center"><a href=
+"http://www.keplerproject.org/lualdap"><img border="0" alt=
+"LuaLDAP logo" src="lualdap.png"></a> </td>
+</tr>
+
+<tr>
+<td align="center"><big><b>LuaLDAP Reference Manual</b></big> </td>
+</tr>
+
+<tr>
+<td align="center" valign="top">A <a href=
+"http://www.lua.org">Lua</a> interface to the OpenLDAP library</td>
+</tr>
+</table>
+</center>
+
+<center><small><a href="index.html">home</a> &middot; <a href=
+"#attributes">attributes</a> &middot; <a href="#dn">DN</a> &middot;
+<a href="#initialization_functions">initialization</a> &middot; <a
+href="#connection_object">connection</a> &middot; <a href=
+"#examples">example</a> &middot; <a href="#related_docs">related
+docs</a></small></center>
+
+<hr>
+<a name="introduction"></a>
+
+<h2>Introduction</h2>
+
+<p>LuaLDAP is a simple interface from Lua to an LDAP client (in
+fact it is a bind to <a href="http://www.openldap.org">OpenLDAP</a>
+client).</p>
+
+<p>LuaLDAP defines one single global variable: a table called
+<tt>lualdap</tt>. This table holds the functions used to create an
+LDAP connection object.</p>
+
+<p>A connection object offers methods to perform any operation on
+the directory such as comparing values, adding new entries,
+modifying attributes on existing entries, removing entries, and the
+most common of all: searching. Entries are represented as Lua
+tables; attributes are its fields. The attribute values can be
+strings or tables of strings (used to represent multiple
+values).</p>
+
+<p>LuaLDAP is free software and uses the same <a href=
+"license.html">license</a> as Lua 5.0.</p>
+
+<h2>Representing attributes</h2>
+
+<p>Many LDAP operations manage sets of attributes and values.
+LuaLDAP provides a uniform way of representing them: using Lua
+tables. A table of attributes is indexed by the name of the
+attribute and its value can be a string (be careful: it can also be
+a "binary string") or a list/table of values indexed by numbers
+from 1 to <em>n</em>. Some operations have different approaches
+that will be explained when necessary.</p>
+
+<p>Follows a small example:</p>
+
+<pre>
+ entry = {
+ an_attribute = "a value",
+ other_attribute = {
+ "first value of other attribute",
+ "another value of other attribute",
+ },
+ }
+</pre>
+
+Attribute names cannot contain zeroes (<tt>'\0'</tt>) <a name=
+"dn"></a>
+
+<h2>Distinguished names</h2>
+
+<p>The distinguished name (DN) is the term used to identify an
+entry on the directory information tree. It is formed by the
+relative distinguished name (RDN) of the entry and the
+distinguished name of its parent. LuaLDAP will always use a string
+to represent the DN of any entry.</p>
+
+<p>A more precise definition can be found on the LDAP
+documentation. A list of some of these files can be found in
+section <a href="#related_docs">Related documentation</a>. <a name=
+"initialization_functions"></a></p>
+
+<h2>Initialization functions</h2>
+
+<p>LuaLDAP provides a single way to connect to an LDAP server:</p>
+
+<ul>
+<li style="list-style: none"><a name="open_simple"></a></li>
+
+<li><b><tt>lualdap.open_simple (hostname, who, password,
+usetls)</tt></b><br>
+Initializes a session with an LDAP server. This function requires a
+hostname, accordingly to <a href="#related_docs">the C LDAP API</a>
+definition (<em>"hostname contains a space-separated list of
+hostnames or dotted strings representing the IP address of hosts
+running an LDAP server to connect to. Each hostname in the list MAY
+include a port number which is separated from the host itself with
+a colon (:) character."</em>). The argument <tt>who</tt> should be
+the <a href="#dn">distinguished name</a> of the entry that has the
+password to be checked against the third argument,
+<tt>password</tt>. The optional argument <tt>usetls</tt> is a
+Boolean flag indicating if Transport Layer Security (TLS) should be
+used.<br>
+Returns a connection object or <tt>nil</tt> followed by an error
+string.</li>
+</ul>
+
+<h2>Connection objects</h2>
+
+<p>A connection object offers methods which implement LDAP
+operations. Almost all of them need a <a href="#dn">distinguished
+name</a> to identify the entry on which the operation will be
+executed.</p>
+
+<p>These methods execute asynchronous operations and return a
+function that should be called to obtain the result(s). These
+functions will return <tt>true</tt> indicating success of the
+operation; the only exception is the function <tt><a href=
+"#conn_compare">compare</a></tt> which can return either
+<tt>true</tt> or <tt>false</tt> (which is the result of the
+comparison) on a successful operation.</p>
+
+<p>There are two types of errors: <em>API errors</em>, such as
+wrong parameters, absent connection etc.; and <em>LDAP errors</em>,
+such as mal-formed DN, unknown attribute etc. API errors will raise
+a Lua error, while LDAP errors will be reported by the
+function/method returning <tt>nil</tt> followed by the error
+message provided by the OpenLDAP client.</p>
+
+<p>A connection object can be created by calling the <a href=
+"#initialization_functions">Initialization function</a>.</p>
+
+<h4>Methods</h4>
+
+<ul>
+<li style="list-style: none"><a name="conn_add"></a></li>
+
+<li><b><tt>conn:add (distinguished_name,
+table_of_attributes)</tt></b><br>
+Adds a new entry to the directory with the given attributes and
+values. <a name="conn_close"></a></li>
+
+<li><b><tt>conn:close()</tt></b><br>
+Closes the connection <tt>conn</tt>. <a name=
+"conn_compare"></a></li>
+
+<li><b><tt>conn:compare (distinguished_name, attribute,
+value)</tt></b><br>
+Compares a value against an entry. <a name="conn_delete"></a></li>
+
+<li><b><tt>conn:delete (distinguished_name)</tt></b><br>
+Deletes an entry from the directory. <a name=
+"conn_modify"></a></li>
+
+<li><b><tt>conn:modify (distinguished_name,
+table_of_operations*)</tt></b><br>
+Changes values of attributes in the given entry. The tables of
+operations are <a href="#attributes">table of attributes</a> but
+with the value on index <tt>1</tt> indicating the operation to be
+performed. The valid operations are:
+
+<ul>
+<li><b><tt>'+'</tt></b> to add the values to the attributes</li>
+
+<li><b><tt>'-'</tt></b> to delete the values of the attributes</li>
+
+<li><b><tt>'='</tt></b> to replace the values of the
+attributes</li>
+</ul>
+
+All tables of operations given as arguments will be joined together
+to perform a single LDAP modify operation. <a name=
+"conn_rename"></a></li>
+
+<li><b><tt>conn:rename (distinguished_name, new_relative_dn,
+new_parent)</tt></b><br>
+Changes entry names (<i>i.e. change its <a href="#dn">distinguished
+name</a></i>). <a name="conn_search"></a></li>
+
+<li><b><tt>conn:search (table_of_search_parameters)</tt></b><br>
+Performs a search operation on the directory. The parameters are
+described below:
+
+<ul>
+<li><b><tt>attrs</tt></b>: a string or a list of attribute names to
+be retrieved (default is to retrieve all attributes).</li>
+
+<li><b><tt>attrsonly</tt></b>: a Boolean value that must be either
+<i>false</i> (default) if both attribute names and values are to be
+retrieved, or <i>true</i> if only names are wanted.</li>
+
+<li><b><tt>base</tt></b>: The <a href="#dn">distinguished name</a>
+of the entry at which to start the search.</li>
+
+<li><b><tt>filter</tt></b>: A string representing the search filter
+as described in <a href="http://www.ietf.org/rfc/rfc2254.txt">The
+String Representation of LDAP Search Filters (RFC 2254)</a>.</li>
+
+<li><b><tt>scope</tt></b>: A string indicating the scope of the
+search. The valid strings are: "base", "onelevel" and "subtree".
+The empty string ("") and <tt>nil</tt> will be treated as the
+default scope.</li>
+
+<li><b><tt>sizelimit</tt></b>: The maximum number of entries to
+return (default is no limit).</li>
+
+<li><b><tt>timeout</tt></b>: The timeout in seconds (default is no
+timeout). The precision is microseconds.</li>
+</ul>
+
+The search method will return a <i>search iterator</i> which is a
+function that requires no arguments. The search iterator is used to
+get the search result and will return a string representing the <a
+href="#dn">distinguished name</a> and a <a href="#attributes">table
+of attributes</a> as returned by the search request.</li>
+</ul>
+
+<a name="examples"></a>
+
+<h2>Example</h2>
+
+Below is a small sample code displaying the basic use of the
+library.
+
+<blockquote>
+<pre>
+require "lualdap"
+
+ld = assert (lualdap.open_simple ("ldap.server", "mydn=manoeljoaquim,ou=people,dc=ldap,dc=world", "mysecurepassword"))
+
+for dn, attribs in ld:search { base = "ou=people,dc=ldap,dc=world" } do
+ io.write (string.format ("\t[%s]\n", dn))
+ for name, values in pairs (attribs) do
+ io.write ("["..name.."] : ")
+ if type (values) == "string" then
+ io.write (values)
+ elseif type (values) == "table" then
+ local n = table.getn(values)
+ for i = 1, (n-1) do
+ io.write (values[i]..",")
+ end
+ io.write (values[n])
+ end
+ io.write ("\n")
+ end
+end
+
+ld:add ("mydn=newuser,ou=people,dc=ldap,dc=world", {
+ objectClass = { "", "", },
+ mydn = "newuser",
+ abc = "qwerty",
+ tel = { "123456758", "98765432", },
+ givenName = "New User",
+})()
+
+ld:modify {"mydn=newuser,ou=people,dc=ldp,dc=world",
+ { '=', givenName = "New", cn = "New", sn = "User", },
+ { '+', o = { "University", "College", }, mail = "newuser@university.edu", },
+ { '-', abc = true, tel = "123456758", },
+ { '+', tel = "13579113", },
+}()
+
+ld:delete ("mydn=newuser,ou=people,dc=ldp,dc=world")()
+
+</pre>
+</blockquote>
+
+<a name="related_docs"></a>
+
+<h2>Related documentation</h2>
+
+Here is a list of related documentation:
+
+<ul>
+<li><a href="http://www.ietf.org/rfc/rfc2251.txt">Lightweight
+Directory Access Protocol (v3)</a></li>
+
+<li><a href="http://www.ietf.org/rfc/rfc3377.txt">LDAPv3 Technical
+Specification</a></li>
+
+<li><a href="http://www.ietf.org/rfc/rfc2254.txt">The String
+Representation of LDAP Search Filters (RFC 2254)</a></li>
+
+<li><a href=
+"http://www.ietf.org/proceedings/01aug/I-D/draft-ietf-ldapext-ldap-c-api-05.txt">
+The C LDAP Application Program Interface</a></li>
+</ul>
+
+<a name="contents"></a>
+
+<h2>Contents</h2>
+
+<ul>
+<li><a href="#introduction">Introduction</a></li>
+
+<li><a href="#attributes">Representing attributes</a></li>
+
+<li><a href="#dn">Distinguished names</a></li>
+
+<li><a href="#initialization_functions">Initialization
+functions</a></li>
+
+<li><a href="#connection_object">Connection object</a>
+
+<ul>
+<li><a href="#conn_add">add</a></li>
+
+<li><a href="#conn_close">close</a></li>
+
+<li><a href="#conn_compare">compare</a></li>
+
+<li><a href="#conn_delete">delete</a></li>
+
+<li><a href="#conn_modify">modify</a></li>
+
+<li><a href="#conn_rename">rename</a></li>
+
+<li><a href="#conn_search">search</a></li>
+</ul>
+</li>
+
+<li><a href="#examples">Example</a></li>
+
+<li><a href="#related_docs">Related documentation</a></li>
+</ul>
+
+<br>
+<br>
+
+
+<center><small><a href="index.html">home</a> &middot; <a href=
+"#attributes">attributes</a> &middot; <a href="#dn">DN</a> &middot;
+<a href="#initialization_functions">initialization</a> &middot; <a
+href="#connection_object">connection</a> &middot; <a href=
+"#examples">example</a> &middot; <a href="#related_docs">related
+docs</a></small></center>
+
+<hr>
+<small>$Id: manual.html,v 1.16 2004/11/03 11:04:45 tomas Exp
+$</small>
+</body>
+</html>
+