diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | doc/dev.html | 2 | ||||
-rw-r--r-- | doc/features.html | 2 | ||||
-rw-r--r-- | doc/guide.html | 78 | ||||
-rw-r--r-- | doc/guide.tex | 22 |
5 files changed, 47 insertions, 60 deletions
@@ -3,7 +3,8 @@ * doc/guide.tex: Table of listener modules converted to description. Table of modules overview simplified, and module names link to their sections. Document - ldap_local_filter (EJAB-179) + ldap_local_filter (EJAB-179). Title in HTML is shorter. + Update several external URIs. * doc/guide.html: Regenerated with all the latest changes diff --git a/doc/dev.html b/doc/dev.html index a979f874e..ff3b7e2e1 100644 --- a/doc/dev.html +++ b/doc/dev.html @@ -139,7 +139,7 @@ Support for virtual hosting. </LI><LI CLASS="li-itemize">Statistics via Statistics Gathering (<A HREF="http://www.xmpp.org/extensions/xep-0039.html">XEP-0039</A>). </LI><LI CLASS="li-itemize">IPv6 support both for c2s and s2s connections. </LI><LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0045.html">Multi-User Chat</A> module with support for clustering and HTML logging. </LI><LI CLASS="li-itemize">Users Directory based on users vCards. -</LI><LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0060.html">Publish-Subscribe</A> component with support for <A HREF="http://www.xmpp.org/extensions/xep-00163.html">Personal Eventing via Pubsub</A>. +</LI><LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0060.html">Publish-Subscribe</A> component with support for <A HREF="http://www.xmpp.org/extensions/xep-0163.html">Personal Eventing via Pubsub</A>. </LI><LI CLASS="li-itemize">Support for web clients: <A HREF="http://www.xmpp.org/extensions/xep-0025.html">HTTP Polling</A> and <A HREF="http://www.xmpp.org/extensions/xep-0206.html">HTTP Binding (BOSH)</A> services. </LI><LI CLASS="li-itemize">IRC transport. </LI><LI CLASS="li-itemize">Component support: interface with networks such as AIM, ICQ and MSN installing special tranports. diff --git a/doc/features.html b/doc/features.html index f549848df..a02460bef 100644 --- a/doc/features.html +++ b/doc/features.html @@ -118,7 +118,7 @@ Support for virtual hosting. </LI><LI CLASS="li-itemize">Statistics via Statistics Gathering (<A HREF="http://www.xmpp.org/extensions/xep-0039.html">XEP-0039</A>). </LI><LI CLASS="li-itemize">IPv6 support both for c2s and s2s connections. </LI><LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0045.html">Multi-User Chat</A> module with support for clustering and HTML logging. </LI><LI CLASS="li-itemize">Users Directory based on users vCards. -</LI><LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0060.html">Publish-Subscribe</A> component with support for <A HREF="http://www.xmpp.org/extensions/xep-00163.html">Personal Eventing via Pubsub</A>. +</LI><LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0060.html">Publish-Subscribe</A> component with support for <A HREF="http://www.xmpp.org/extensions/xep-0163.html">Personal Eventing via Pubsub</A>. </LI><LI CLASS="li-itemize">Support for web clients: <A HREF="http://www.xmpp.org/extensions/xep-0025.html">HTTP Polling</A> and <A HREF="http://www.xmpp.org/extensions/xep-0206.html">HTTP Binding (BOSH)</A> services. </LI><LI CLASS="li-itemize">IRC transport. </LI><LI CLASS="li-itemize">Component support: interface with networks such as AIM, ICQ and MSN installing special tranports. diff --git a/doc/guide.html b/doc/guide.html index a537ccc14..23a4703d9 100644 --- a/doc/guide.html +++ b/doc/guide.html @@ -13,23 +13,6 @@ - - - - - - - - - - - - - - - - - </TITLE> @@ -73,7 +56,10 @@ TD P{margin:0px;} .theorem{text-align:left;margin:1ex auto 1ex 0ex;} .part{margin:2ex auto;text-align:center} .SPAN{width:20%; float:right; text-align:left; margin-left:auto;} -H1 A, H2 A, H3 A, H4 A{color:#000000; text-decoration:none;} +H1.titlemain HR{display:none;} +TABLE.title{border-top:1px solid grey;border-bottom:1px solid grey; background: #efefef} +H1.chapter A, H2.section A, H3.subsection A, H4.subsubsection A, H5.paragraph A{color:#000000; text-decoration:none;} +H1.chapter, H2.section, H3.subsection, H4.subsubsection, H5.paragraph{border-top: 1px solid grey; background: #efefef; padding: 0.5ex} pre.verbatim{margin:1ex 2ex;border:1px dashed lightgrey;background-color:#f9f9f9;padding:0.5ex;} .dt-description{margin:0ex 2ex;} table[border="1"]{border-collapse:collapse;margin-bottom:1em;} @@ -83,7 +69,7 @@ BLOCKQUOTE.figure DIV.center DIV.center HR{display:none;} </STYLE> </HEAD> <BODY > -<!--HEVEA command line is: /usr/bin/hevea -fix guide.tex --> +<!--HEVEA command line is: /usr/bin/hevea -fix -pedantic guide.tex --> <!--CUT DEF chapter 1 --><P><A NAME="titlepage"></A> </P><TABLE CLASS="title"><TR><TD><H1 CLASS="titlemain"> @@ -97,26 +83,8 @@ BLOCKQUOTE.figure DIV.center DIV.center HR{display:none;} <BR> <HR SIZE=2> -<BR><BR><BR> -<BR> -<BR> -<BR> -<BR> -<BR> -<BR> -<BR> -<BR> -<BR> -<BR> -<BR> -<BR> -<BR> -<BR> -<BR> -<BR> -</H1><H3 CLASS="titlerest"><TABLE CELLSPACING=6 CELLPADDING=0><TR><TD VALIGN=top ALIGN=left>ejabberd Development Team</TD></TR> -</TABLE></H3></TD></TR> +</H1></TD></TR> </TABLE><P><A NAME="toc"></A> </P><!--TOC chapter Contents--> <H1 CLASS="chapter"><!--SEC ANCHOR -->Contents</H1><!--SEC END --><UL CLASS="toc"><LI CLASS="li-toc"> @@ -427,7 +395,7 @@ and configurable options to fine tune the Erlang runtime system.</P><P> <A NAME= <H4 CLASS="subsubsection"><!--SEC ANCHOR --><A HREF="#windowsreq">Requirements</A></H4><!--SEC END --><P> <A NAME="windowsreq"></A> </P><P>To compile <TT>ejabberd</TT> on a Microsoft Windows system, you need: </P><UL CLASS="itemize"><LI CLASS="li-itemize"> MS Visual C++ 6.0 Compiler -</LI><LI CLASS="li-itemize"><A HREF="http://erlang.org/download.html">Erlang/OTP R11B-5</A> +</LI><LI CLASS="li-itemize"><A HREF="http://www.erlang.org/download.html">Erlang/OTP R11B-5</A> </LI><LI CLASS="li-itemize"><A HREF="http://sourceforge.net/project/showfiles.php?group_id=10127&package_id=11277">Expat 2.0.0 or higher</A> </LI><LI CLASS="li-itemize"><A HREF="http://www.gnu.org/software/libiconv/">GNU Iconv 1.9.2</A> (optional) @@ -1201,8 +1169,8 @@ authentication mechanisms for the same virtual host (fallback), you can set different storage systems for modules, and so forth.</P><P>The following databases are supported by <TT>ejabberd</TT>: </P><UL CLASS="itemize"><LI CLASS="li-itemize"> <A HREF="http://www.microsoft.com/sql/">Microsoft SQL Server</A> -</LI><LI CLASS="li-itemize"><A HREF="http://www.erlang.org/doc/doc-5.5.1/lib/mnesia-4.3.2/doc/">Mnesia</A> -</LI><LI CLASS="li-itemize"><A HREF="http://mysql.com/">MySQL</A> +</LI><LI CLASS="li-itemize"><A HREF="http://www.erlang.org/doc/apps/mnesia/index.html">Mnesia</A> +</LI><LI CLASS="li-itemize"><A HREF="http://www.mysql.com/">MySQL</A> </LI><LI CLASS="li-itemize"><A HREF="http://en.wikipedia.org/wiki/Open_Database_Connectivity">Any ODBC compatible database</A> </LI><LI CLASS="li-itemize"><A HREF="http://www.postgresql.org/">PostgreSQL</A> </LI></UL><P>The following LDAP servers are tested with <TT>ejabberd</TT>: @@ -1459,8 +1427,18 @@ default is <TT>none</TT>. Example: <TT>"(&(objectClass=shadowAccount)(memberOf=Jabber Users))"</TT>. Please, do not forget to close brackets and do not use superfluous whitespaces. Also you <EM>must not</EM> use <TT>ldap_uidattr</TT> attribute in filter because this -attribute will be substituted in LDAP filter automatically. -</DD></DL><P> <A NAME="ldapexamples"></A> </P><!--TOC subsubsection Examples--> +attribute will be substituted in LDAP filter automatically.</DD><DT CLASS="dt-description"><B><TT>ldap_local_filter</TT></B></DT><DD CLASS="dd-description"> +If you can’t use <TT>ldap_filter</TT> due to performance reasons +(the LDAP server has many users registered), +you can use this local filter. +The local filter checks an attribute in ejabberd, +not in LDAP, so this limits the load on the LDAP directory. +The default filter is: <TT>undefined</TT>. +Example values: +<PRE CLASS="verbatim">{ldap_local_filter, {notequal, {"accountStatus",["disabled"]}}}. +{ldap_local_filter, {equal, {"accountStatus",["enabled"]}}}. +{ldap_local_filter, undefined}. +</PRE></DD></DL><P> <A NAME="ldapexamples"></A> </P><!--TOC subsubsection Examples--> <H4 CLASS="subsubsection"><!--SEC ANCHOR --><A HREF="#ldapexamples">Examples</A></H4><!--SEC END --><P> <A NAME="ldapexamples"></A> </P><P> <A NAME="ldapcommonexample"></A> </P><!--TOC paragraph Common example--> <H5 CLASS="paragraph"><!--SEC ANCHOR --><A HREF="#ldapcommonexample">Common example</A></H5><!--SEC END --><P> <A NAME="ldapcommonexample"></A> </P><P>Let’s say <TT>ldap.example.org</TT> is the name of our LDAP server. We have users with their passwords in <TT>"ou=Users,dc=example,dc=org"</TT> directory. @@ -2168,7 +2146,7 @@ custom CSS file will be used (http://example.com/my.css). Further, the names of the log files will contain the full date, and there will be no subdirectories. The log files will be stored in /var/www/muclogs, and the time zone will be GMT/UTC. Finally, the top link will be -<CODE><a href="http://www.jabber.ru">Jabber.ru</a></CODE>. +<CODE><a href="http://www.jabber.ru/">Jabber.ru</a></CODE>. <PRE CLASS="verbatim">{access, muc, [{allow, all}]}. {modules, @@ -2181,7 +2159,7 @@ time zone will be GMT/UTC. Finally, the top link will be {outdir, "/var/www/muclogs"}, {timezone, universal}, {spam_prevention, true}, - {top_link, {"http://www.jabber.ru", "Jabber.ru"}} + {top_link, {"http://www.jabber.ru/", "Jabber.ru"}} ]}, ... ]}. @@ -2428,7 +2406,7 @@ the processing discipline for Roster Management (<TT>jabber:iq:roster</TT>) IQ q <H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc52">3.3.17</A>  <A HREF="#modservicelog"><TT>mod_service_log</TT></A></H3><!--SEC END --><P> <A NAME="modservicelog"></A> </P><P>This module adds support for logging end user packets via a Jabber message auditing service such as -<A HREF="http://www.funkypenguin.co.za/bandersnatch/">Bandersnatch</A>. All user +<A HREF="http://www.funkypenguin.info/project/bandersnatch/">Bandersnatch</A>. All user packets are encapsulated in a <CODE><route/></CODE> element and sent to the specified service(s).</P><P>Options: </P><DL CLASS="description"><DT CLASS="dt-description"> @@ -2918,7 +2896,7 @@ will be asked to enter the username (the <EM>full</EM> Jabber ID) and password of an <TT>ejabberd</TT> user with administrator rights. After authentication you will see a page similar to figure <A HREF="#fig:webadmmain">4.1</A>.</P><BLOCKQUOTE CLASS="figure"><DIV CLASS="center"><DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV> -<IMG SRC="webadmmain.png"> +<IMG SRC="webadmmain.png" ALT="webadmmain.png"> <DIV CLASS="caption"><TABLE CELLSPACING=6 CELLPADDING=0><TR><TD VALIGN=top ALIGN=left>Figure 4.1: Top page from the Web Admin</TD></TR> @@ -3112,7 +3090,7 @@ can be replaced with ‘<CODE>ram_copies</CODE>’ or some hints from the command ‘<CODE>mnesia:info().</CODE>’, by looking at the size of tables and the default storage type for each table on ’first’.</P><P>Replicating a table makes lookups in this table faster on this node. Writing, on the other hand, will be slower. And of course if machine with one -of the replicas is down, other replicas will be used.</P><P>Also <A HREF="http://www.erlang.se/doc/doc-5.4.9/lib/mnesia-4.2.2/doc/html/Mnesia_chap5.html#5.3">section 5.3 (Table Fragmentation) of Mnesia User’s Guide</A> can be helpful. +of the replicas is down, other replicas will be used.</P><P>Also <A HREF="http://www.erlang.org/doc/apps/mnesia/Mnesia_chap5.html#5.3">section 5.3 (Table Fragmentation) of Mnesia User’s Guide</A> can be helpful. </P><P>(alt) Same as in previous item, but for other tables.</P></LI><LI CLASS="li-enumerate">Run ‘<CODE>init:stop().</CODE>’ or just ‘<CODE>q().</CODE>’ to exit from the Erlang shell. This probably can take some time if Mnesia has not yet transfered and processed all data it needed from <TT>first</TT>.</LI><LI CLASS="li-enumerate">Now run <TT>ejabberd</TT> on <TT>second</TT> with almost the same config as @@ -3185,7 +3163,7 @@ Figure <A HREF="#fig:discorus">A.1</A>, for example, shows the reply to the </iq> </PRE><BLOCKQUOTE CLASS="figure"><DIV CLASS="center"><DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV> -<IMG SRC="discorus.png"> +<IMG SRC="discorus.png" ALT="discorus.png"> <DIV CLASS="caption"><TABLE CELLSPACING=6 CELLPADDING=0><TR><TD VALIGN=top ALIGN=left>Figure A.1: Service Discovery when <TT>xml:lang=’ru’</TT></TD></TR> @@ -3193,7 +3171,7 @@ Figure <A HREF="#fig:discorus">A.1</A>, for example, shows the reply to the <A NAME="fig:discorus"></A> <DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE><P>The Web Admin also supports the <CODE>Accept-Language</CODE> HTTP header.</P><BLOCKQUOTE CLASS="figure"><DIV CLASS="center"><DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV> -<IMG SRC="webadmmainru.png"> +<IMG SRC="webadmmainru.png" ALT="webadmmainru.png"> <DIV CLASS="caption"><TABLE CELLSPACING=6 CELLPADDING=0><TR><TD VALIGN=top ALIGN=left>Figure A.2: Web Admin showing a virtual host when the web browser provides the diff --git a/doc/guide.tex b/doc/guide.tex index 038e2a2d6..7612c9a29 100644 --- a/doc/guide.tex +++ b/doc/guide.tex @@ -124,16 +124,20 @@ the processing discipline for #1 IQ queries (see section~\ref{modiqdiscoption}). \end{tabular}\\ \vspace{2mm} {\rule{\larg}{1mm}} +\begin{latexonly} \vspace{2mm} \\ \begin{tabular}{r} {\large \bf \today} \end{tabular}\\ \vspace{5.5cm} +\end{latexonly} } +\begin{latexonly} \author{\begin{tabular}{p{13.7cm}} ejabberd Development Team \end{tabular}} \date{} +\end{latexonly} %% Options @@ -144,8 +148,12 @@ ejabberd Development Team %% To by-pass errors in the HTML version: \newstyle{.SPAN}{width:20\%; float:right; text-align:left; margin-left:auto;} +\newstyle{H1.titlemain HR}{display:none;} +\newstyle{TABLE.title}{border-top:1px solid grey;border-bottom:1px solid grey; background: \#efefef} \newstyle{H1.chapter A, H2.section A, H3.subsection A, H4.subsubsection A, H5.paragraph A} {color:\#000000; text-decoration:none;} +\newstyle{H1.chapter, H2.section, H3.subsection, H4.subsubsection, H5.paragraph} + {border-top: 1px solid grey; background: \#efefef; padding: 0.5ex} \newstyle{pre.verbatim}{margin:1ex 2ex;border:1px dashed lightgrey;background-color:\#f9f9f9;padding:0.5ex;} \newstyle{.dt-description}{margin:0ex 2ex;} \newstyle{table[border="1"]}{border-collapse:collapse;margin-bottom:1em;} @@ -405,7 +413,7 @@ gmake To compile \ejabberd{} on a Microsoft Windows system, you need: \begin{itemize} \item MS Visual C++ 6.0 Compiler -\item \footahref{http://erlang.org/download.html}{Erlang/OTP R11B-5} +\item \footahref{http://www.erlang.org/download.html}{Erlang/OTP R11B-5} \item \footahref{http://sourceforge.net/project/showfiles.php?group\_id=10127\&package\_id=11277}{Expat 2.0.0 or higher} \item \footahref{http://www.gnu.org/software/libiconv/}{GNU Iconv 1.9.2} @@ -1479,8 +1487,8 @@ different storage systems for modules, and so forth. The following databases are supported by \ejabberd{}: \begin{itemize} \item \footahref{http://www.microsoft.com/sql/}{Microsoft SQL Server} -\item \footahref{http://www.erlang.org/doc/doc-5.5.1/lib/mnesia-4.3.2/doc/}{Mnesia} -\item \footahref{http://mysql.com/}{MySQL} +\item \footahref{http://www.erlang.org/doc/apps/mnesia/index.html}{Mnesia} +\item \footahref{http://www.mysql.com/}{MySQL} \item \footahref{http://en.wikipedia.org/wiki/Open\_Database\_Connectivity}{Any ODBC compatible database} \item \footahref{http://www.postgresql.org/}{PostgreSQL} \end{itemize} @@ -2761,7 +2769,7 @@ Examples: of the log files will contain the full date, and there will be no subdirectories. The log files will be stored in /var/www/muclogs, and the time zone will be GMT/UTC. Finally, the top link will be - \verb|<a href="http://www.jabber.ru">Jabber.ru</a>|. + \verb|<a href="http://www.jabber.ru/">Jabber.ru</a>|. \begin{verbatim} {access, muc, [{allow, all}]}. @@ -2775,7 +2783,7 @@ Examples: {outdir, "/var/www/muclogs"}, {timezone, universal}, {spam_prevention, true}, - {top_link, {"http://www.jabber.ru", "Jabber.ru"}} + {top_link, {"http://www.jabber.ru/", "Jabber.ru"}} ]}, ... ]}. @@ -3079,7 +3087,7 @@ Options: This module adds support for logging end user packets via a \Jabber{} message auditing service such as -\footahref{http://www.funkypenguin.co.za/bandersnatch/}{Bandersnatch}. All user +\footahref{http://www.funkypenguin.info/project/bandersnatch/}{Bandersnatch}. All user packets are encapsulated in a \verb|<route/>| element and sent to the specified service(s). @@ -3999,7 +4007,7 @@ mnesia:change_table_copy_type(schema, node(), disc_copies). Writing, on the other hand, will be slower. And of course if machine with one of the replicas is down, other replicas will be used. - Also \footahref{http://www.erlang.se/doc/doc-5.4.9/lib/mnesia-4.2.2/doc/html/Mnesia\_chap5.html\#5.3} + Also \footahref{http://www.erlang.org/doc/apps/mnesia/Mnesia\_chap5.html\#5.3} {section 5.3 (Table Fragmentation) of Mnesia User's Guide} can be helpful. % The above URL needs update every Erlang release! |