diff options
author | Andre Carregal <carregal@luaforge.net> | 2004-11-22 17:42:27 +0000 |
---|---|---|
committer | Andre Carregal <carregal@luaforge.net> | 2004-11-22 17:42:27 +0000 |
commit | 288d12bed8db818e97ca01ae3c25051f42893a4e (patch) | |
tree | 594fb45384d5b7fc993de9455cd0bfc2bf5b855b /lualdap/doc | |
parent | Troca de <> por "". (diff) | |
download | lualdap-288d12bed8db818e97ca01ae3c25051f42893a4e.tar.xz lualdap-288d12bed8db818e97ca01ae3c25051f42893a4e.zip |
HTML Tidying
Diffstat (limited to '')
-rwxr-xr-x | lualdap/doc/us/index.html | 378 | ||||
-rwxr-xr-x | lualdap/doc/us/license.html | 121 | ||||
-rwxr-xr-x | lualdap/doc/us/manual.html | 689 |
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> ·
-<a href=#version>current version</a> ·
-<a href=#download>download</a> ·
-<a href=#new>news</a> ·
-<a href=#installation>installation</a> ·
-<a href="manual.html">manual</a> ·
-<a href="license.html">license</a> ·
-<a href="#credits">credits</a> ·
-<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é Carregal
-and Tomás Guisasola as part of
-<a href="http://www.keplerproject.org">The Kepler Project</a>
-which holds its copyright.
-It was implemented by Tomá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> ·
-<a href=#version>current version</a> ·
-<a href=#download>download</a> ·
-<a href=#new>news</a> ·
-<a href=#installation>installation</a> ·
-<a href="manual.html">manual</a> ·
-<a href="license.html">license</a> ·
-<a href="#credits">credits</a> ·
-<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> · <a href= +"#version">current version</a> · <a href= +"#download">download</a> · <a href="#new">news</a> · +<a href="#installation">installation</a> · <a href= +"manual.html">manual</a> · <a href= +"license.html">license</a> · <a href="#credits">credits</a> +· <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 & 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é +Carregal and Tomás Guisasola as part of <a href= +"http://www.keplerproject.org">The Kepler Project</a> which holds +its copyright. It was implemented by Tomá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> + +<center><small><a href="#over">overview</a> · <a href= +"#version">current version</a> · <a href= +"#download">download</a> · <a href="#new">news</a> · +<a href="#installation">installation</a> · <a href= +"manual.html">manual</a> · <a href= +"license.html">license</a> · <a href="#credits">credits</a> +· <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é Carregal and -Tomás Guisasola. -The implementation is not derived from licensed software. -<P> +<p>The LuaLDAP library is designed and implemented by Roberto +Ierusalimschy, André Carregal and Tomás Guisasola. +The implementation is not derived from licensed software.</p> +<p> <!-- ===================================================================== --> -<HR> -Copyright © 2003-2004 The Kepler Project. -<P> +</p> + +<hr> +Copyright © 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> ·
-<a href="#attributes">attributes</a> ·
-<a href="#dn">DN</a> ·
-<a href="#initialization_functions">initialization</a> ·
-<a href="#connection_object">connection</a> ·
-<a href="#examples">example</a> ·
-<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> ·
-<a href="#attributes">attributes</a> ·
-<a href="#dn">DN</a> ·
-<a href="#initialization_functions">initialization</a> ·
-<a href="#connection_object">connection</a> ·
-<a href="#examples">example</a> ·
-<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> · <a href= +"#attributes">attributes</a> · <a href="#dn">DN</a> · +<a href="#initialization_functions">initialization</a> · <a +href="#connection_object">connection</a> · <a href= +"#examples">example</a> · <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> · <a href= +"#attributes">attributes</a> · <a href="#dn">DN</a> · +<a href="#initialization_functions">initialization</a> · <a +href="#connection_object">connection</a> · <a href= +"#examples">example</a> · <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> + |