-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
</TITLE>
.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;}
<BR>
<HR SIZE=2>
-<BR><BR>
-<DIV CLASS="center">
-
-</DIV>
-<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">
<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)
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>:
<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.
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,
{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"}}
]},
...
]}.
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc52">3.3.19</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">
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
\end{tabular}\\
\vspace{2mm}
{\rule{\larg}{1mm}}
+\begin{latexonly}
\vspace{2mm} \\
\begin{center}
{\large \bf \today}
\end{center}
\vspace{5.5cm}
+\end{latexonly}
}
+\begin{latexonly}
\author{\begin{tabular}{p{13.7cm}}
ejabberd Development Team
\end{tabular}}
\date{}
+\end{latexonly}
%% Options
%% 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;}
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}
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}
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}]}.
{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"}}
]},
...
]}.
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).
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!