mirror of
https://github.com/processone/ejabberd.git
synced 2024-12-24 17:29:28 +01:00
Merge revisions from 1434 to revision 1444 from trunk.
SVN Revision: 1445
This commit is contained in:
parent
332fb55e3a
commit
574dbbfd08
63
ChangeLog
63
ChangeLog
@ -1,3 +1,66 @@
|
||||
2008-07-15 Jean-Sébastien Pédron <js.pedron@meetic-corp.com>
|
||||
|
||||
Merge revisions from 1434 to revision 1444 from trunk.
|
||||
|
||||
* configure: Recreated with autoconf(1) after merge.
|
||||
|
||||
2008-07-14 Badlop <badlop@process-one.net>
|
||||
|
||||
* doc/guide.tex: Update what permissions does enable-user grant
|
||||
* doc/guide.html: Likewise
|
||||
|
||||
* src/configure.ac: Don't explicitely put root privileges when a
|
||||
user is not explicitely enabled
|
||||
* src/configure: Likewise
|
||||
* src/Makefile.in: Likewise
|
||||
|
||||
* src/Makefile.in: Fix docdir so it recognizes prefix. If sbin dir
|
||||
does not exist, create it. Fix cookiefile permission
|
||||
check. (EJAB-696)
|
||||
|
||||
2008-07-13 Badlop <badlop@process-one.net>
|
||||
|
||||
* src/configure.ac: Update installation permissions (EJAB-402)
|
||||
* src/configure: Likewise
|
||||
|
||||
* src/Makefile.in: The mnesia, ebin and priv dirs are now
|
||||
installed in different locations. Install header files and
|
||||
documentation (EJAB-696)
|
||||
* doc/guide.tex: Likewise
|
||||
* doc/guide.html: Likewise
|
||||
|
||||
* include/*.hrl: Place for all ejabberd header files (EJAB-696)
|
||||
* src/*/*.erl: Update references to header files
|
||||
* src/*/Makefile.in: Include the include/ dir
|
||||
|
||||
* src/configure.ac: Allow to execute ejabberd with a normal
|
||||
system user (thanks to Viq)(EJAB-402)
|
||||
* src/configure: Likewise
|
||||
* src/ejabberdctl.template: Likewise
|
||||
* src/Makefile.in: Likewise
|
||||
* doc/guide.tex: Likewise
|
||||
* doc/guide.html: Likewise
|
||||
|
||||
2008-07-12 Badlop <badlop@process-one.net>
|
||||
|
||||
* src/configure.ac: Improve legibility
|
||||
* src/aclocal.m4: Likewise
|
||||
* src/configure: Likewise
|
||||
|
||||
* src/ejabberdctl.template: Remove garbage variable. Document node
|
||||
option
|
||||
|
||||
* doc/guide.tex: Add references to sections.
|
||||
* doc/guide.html: Likewise
|
||||
|
||||
2008-07-11 Badlop <badlop@process-one.net>
|
||||
|
||||
* src/mod_register.erl: Revert support for io_lib newline, since
|
||||
there is a standard character that representes newline (EJAB-501)
|
||||
* doc/guide.tex: Update documentation to explain newline character
|
||||
* doc/guide.html: Likewise
|
||||
* src/ejabberd.cfg.example: Likewise
|
||||
|
||||
2008-07-11 Jean-Sébastien Pédron <js.pedron@meetic-corp.com>
|
||||
|
||||
Merge revisions from 1362 to revision 1434 from trunk.
|
||||
|
@ -16,7 +16,7 @@ all: release pdf html
|
||||
release:
|
||||
@echo "Notes for the releaser:"
|
||||
@echo "* Do not forget to add a link to the release notes in guide.tex"
|
||||
@echo "* Do not forget to update the version number in src/ejabberd.hrl!"
|
||||
@echo "* Do not forget to update the version number in src/ejabberd.app!"
|
||||
@echo "* Do not forget to update the features in introduction.tex (including \new{} and \improved{} tags)."
|
||||
@echo "Press any key to continue"
|
||||
@read foo
|
||||
|
@ -333,14 +333,24 @@ Alternatively, the latest development version can be retrieved from the Subversi
|
||||
</P><P>To compile <TT>ejabberd</TT> execute the commands:
|
||||
</P><PRE CLASS="verbatim">./configure
|
||||
make
|
||||
</PRE><P>The build configuration script provides several parameters.
|
||||
</PRE><P>The build configuration script allows several options.
|
||||
To get the full list run the command:
|
||||
</P><PRE CLASS="verbatim">./configure --help
|
||||
</PRE><P>Some options that you may be interested in modifying:
|
||||
</P><DL CLASS="description"><DT CLASS="dt-description">
|
||||
<B><TT>--prefix=/</TT></B></DT><DD CLASS="dd-description">
|
||||
Specify the path prefix where the files will be copied when running the make install command.<P> </P></DD><DT CLASS="dt-description"><B><TT>--enable-pam</TT></B></DT><DD CLASS="dd-description">
|
||||
Enable the PAM authentication method.<P> </P></DD><DT CLASS="dt-description"><B><TT>--enable-odbc or --enable-mssql</TT></B></DT><DD CLASS="dd-description">
|
||||
Specify the path prefix where the files will be copied when running
|
||||
the <TT>make install</TT> command.<P> </P></DD><DT CLASS="dt-description"><B><TT>--enable-user[=USER]</TT></B></DT><DD CLASS="dd-description">
|
||||
Allow this normal system user to execute the ejabberdctl script
|
||||
(see section <A HREF="#ejabberdctl">4.1</A>),
|
||||
read the configuration files,
|
||||
read and write in the spool directory,
|
||||
read and write in the log directory.
|
||||
The account user and group must exist in the machine
|
||||
before running <TT>make install</TT>.
|
||||
This account doesn’t need an explicit HOME directory, because
|
||||
<TT>/var/lib/ejabberd/</TT> will be used by default.<P> </P></DD><DT CLASS="dt-description"><B><TT>--enable-pam</TT></B></DT><DD CLASS="dd-description">
|
||||
Enable the PAM authentication method (see section <A HREF="#pam">3.1.4</A>).<P> </P></DD><DT CLASS="dt-description"><B><TT>--enable-odbc or --enable-mssql</TT></B></DT><DD CLASS="dd-description">
|
||||
Required if you want to use an external database.
|
||||
See section <A HREF="#database">3.2</A> for more information.<P> </P></DD><DT CLASS="dt-description"><B><TT>--enable-full-xml</TT></B></DT><DD CLASS="dd-description">
|
||||
Enable the use of XML based optimisations.
|
||||
@ -351,34 +361,43 @@ To get the full list run the command:
|
||||
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc12">2.4.4</A>  <A HREF="#install">Install</A></H3><!--SEC END --><P> <A NAME="install"></A>
|
||||
</P><P>To install <TT>ejabberd</TT> in the destination directories, run the command:
|
||||
</P><PRE CLASS="verbatim">make install
|
||||
</PRE><P>Note that you may need to have administrative privileges in the system.</P><P>The files and directories created are, by default:
|
||||
</PRE><P>Note that you probably need administrative privileges in the system
|
||||
to install <TT>ejabberd</TT>.</P><P>The files and directories created are, by default:
|
||||
</P><DL CLASS="description"><DT CLASS="dt-description">
|
||||
<B><TT>/etc/ejabberd/</TT></B></DT><DD CLASS="dd-description"> Configuration files:
|
||||
<B><TT>/etc/ejabberd/</TT></B></DT><DD CLASS="dd-description"> Configuration directory:
|
||||
<DL CLASS="description"><DT CLASS="dt-description">
|
||||
<B><TT>ejabberd.cfg</TT></B></DT><DD CLASS="dd-description"> ejabberd configuration file
|
||||
</DD><DT CLASS="dt-description"><B><TT>ejabberdctl.cfg</TT></B></DT><DD CLASS="dd-description"> Configuration file of the administration script
|
||||
</DD><DT CLASS="dt-description"><B><TT>inetrc</TT></B></DT><DD CLASS="dd-description"> Network DNS configuration
|
||||
</DD><DT CLASS="dt-description"><B><TT>inetrc</TT></B></DT><DD CLASS="dd-description"> Network DNS configuration file
|
||||
</DD></DL>
|
||||
</DD><DT CLASS="dt-description"><B><TT>/sbin/ejabberdctl</TT></B></DT><DD CLASS="dd-description"> Administration script
|
||||
</DD><DT CLASS="dt-description"><B><TT>/var/lib/ejabberd/</TT></B></DT><DD CLASS="dd-description">
|
||||
</DD><DT CLASS="dt-description"><B><TT>/lib/ejabberd/</TT></B></DT><DD CLASS="dd-description">
|
||||
<DL CLASS="description"><DT CLASS="dt-description">
|
||||
<B><TT>.erlang.cookie</TT></B></DT><DD CLASS="dd-description"> Erlang cookie file (see section <A HREF="#cookie">5.3</A>)
|
||||
</DD><DT CLASS="dt-description"><B><TT>db</TT></B></DT><DD CLASS="dd-description"> Mnesia database spool files
|
||||
</DD><DT CLASS="dt-description"><B><TT>ebin</TT></B></DT><DD CLASS="dd-description"> Binary Erlang files (*.beam)
|
||||
</DD><DT CLASS="dt-description"><B><TT>priv</TT></B></DT><DD CLASS="dd-description">
|
||||
<B><TT>ebin/</TT></B></DT><DD CLASS="dd-description"> Erlang binary files (*.beam)
|
||||
</DD><DT CLASS="dt-description"><B><TT>include/</TT></B></DT><DD CLASS="dd-description"> Erlang header files (*.hrl)
|
||||
</DD><DT CLASS="dt-description"><B><TT>priv/</TT></B></DT><DD CLASS="dd-description"> Additional files required at runtime
|
||||
<DL CLASS="description"><DT CLASS="dt-description">
|
||||
<B><TT>lib</TT></B></DT><DD CLASS="dd-description"> Binary system libraries (*.so)
|
||||
</DD><DT CLASS="dt-description"><B><TT>msgs</TT></B></DT><DD CLASS="dd-description"> Translated strings (*.msgs)
|
||||
<B><TT>bin/</TT></B></DT><DD CLASS="dd-description"> Binary C programs
|
||||
</DD><DT CLASS="dt-description"><B><TT>lib/</TT></B></DT><DD CLASS="dd-description"> Binary system libraries (*.so)
|
||||
</DD><DT CLASS="dt-description"><B><TT>msgs/</TT></B></DT><DD CLASS="dd-description"> Translation files (*.msgs)
|
||||
</DD></DL>
|
||||
</DD></DL>
|
||||
</DD><DT CLASS="dt-description"><B><TT>/var/log/ejabberd/</TT></B></DT><DD CLASS="dd-description"> Log files (see section <A HREF="#logfiles">7.2</A>):
|
||||
</DD><DT CLASS="dt-description"><B><TT>/sbin/ejabberdctl</TT></B></DT><DD CLASS="dd-description"> Administration script (see section <A HREF="#ejabberdctl">4.1</A>)
|
||||
</DD><DT CLASS="dt-description"><B><TT>/share/doc/ejabberd/</TT></B></DT><DD CLASS="dd-description"> Documentation of ejabberd
|
||||
</DD><DT CLASS="dt-description"><B><TT>/var/lib/ejabberd/</TT></B></DT><DD CLASS="dd-description"> Spool directory:
|
||||
<DL CLASS="description"><DT CLASS="dt-description">
|
||||
<B><TT>.erlang.cookie</TT></B></DT><DD CLASS="dd-description"> Erlang cookie file (see section <A HREF="#cookie">5.3</A>)
|
||||
</DD><DT CLASS="dt-description"><B><TT>acl.DCD, ...</TT></B></DT><DD CLASS="dd-description"> Mnesia database spool files (*.DCD, *.DCL, *.DAT)
|
||||
</DD></DL>
|
||||
</DD><DT CLASS="dt-description"><B><TT>/var/log/ejabberd/</TT></B></DT><DD CLASS="dd-description"> Log directory (see section <A HREF="#logfiles">7.2</A>):
|
||||
<DL CLASS="description"><DT CLASS="dt-description">
|
||||
<B><TT>ejabberd.log</TT></B></DT><DD CLASS="dd-description"> ejabberd service log
|
||||
</DD><DT CLASS="dt-description"><B><TT>sasl.log</TT></B></DT><DD CLASS="dd-description"> Erlang/OTP system log
|
||||
</DD></DL>
|
||||
</DD></DL><P> <A NAME="start"></A> </P><!--TOC subsection Start-->
|
||||
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc13">2.4.5</A>  <A HREF="#start">Start</A></H3><!--SEC END --><P> <A NAME="start"></A>
|
||||
</P><P>You can use the <TT>ejabberdctl</TT> command line administration script to start and stop <TT>ejabberd</TT>.</P><P>Usage example:
|
||||
</P><P>You can use the <TT>ejabberdctl</TT> command line administration script to start and stop <TT>ejabberd</TT>.
|
||||
If you provided the configure option <TT>--enable-user=USER</TT> (see <A HREF="#compile">2.4.3</A>),
|
||||
you can execute <TT>ejabberdctl</TT> with either that system account or root.</P><P>Usage example:
|
||||
</P><PRE CLASS="verbatim">ejabberdctl start
|
||||
|
||||
ejabberdctl status
|
||||
@ -939,7 +958,7 @@ for more information.
|
||||
</PRE><P>Though it is quite easy to set up PAM support in <TT>ejabberd</TT>, PAM itself introduces some
|
||||
security issues:</P><UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||
To perform PAM authentication <TT>ejabberd</TT> uses external C-program called
|
||||
<TT>epam</TT>. By default, it is located in <CODE>/var/lib/ejabberd/priv/lib/</CODE>
|
||||
<TT>epam</TT>. By default, it is located in <CODE>/var/lib/ejabberd/priv/bin/</CODE>
|
||||
directory. You have to set it root on execution in the case when your PAM module
|
||||
requires root privileges (<TT>pam_unix.so</TT> for example). Also you have to grant access
|
||||
for <TT>ejabberd</TT> to this file and remove all other permissions from it.
|
||||
@ -2363,7 +2382,7 @@ restrictions by default).
|
||||
</DD><DT CLASS="dt-description"><B><TT>welcome_message</TT></B></DT><DD CLASS="dd-description"> Set a welcome message that
|
||||
is sent to each newly registered account. The first string is the subject, and
|
||||
the second string is the message body.
|
||||
In the body you can set a newline with the characters: <TT>~n</TT>.
|
||||
In the body you can set a newline with the characters: <CODE>\n</CODE>
|
||||
</DD><DT CLASS="dt-description"><B><TT>registration_watchers</TT></B></DT><DD CLASS="dd-description"> This option defines a
|
||||
list of JIDs which will be notified each time a new account is registered.
|
||||
</DD><DT CLASS="dt-description"><B><TT>iqdisc</TT></B></DT><DD CLASS="dd-description"> This specifies
|
||||
@ -2414,7 +2433,7 @@ Also define a registration timeout of one hour:
|
||||
...
|
||||
{mod_register,
|
||||
[
|
||||
{welcome_message, {"Welcome!", "Hi.~nWelcome to this Jabber server.~n Check http://www.jabber.org~n~nBye"}},
|
||||
{welcome_message, {"Welcome!", "Hi.\nWelcome to this Jabber server.\n Check http://www.jabber.org\n\nBye"}},
|
||||
{registration_watchers, ["admin1@example.org", "boss@example.net"]}
|
||||
]},
|
||||
...
|
||||
@ -2895,7 +2914,7 @@ Starts the Erlang system detached from the system console.
|
||||
Specify the directory where Erlang binary files (*.beam) are located.
|
||||
</DD><DT CLASS="dt-description"><B><TT>-s ejabberd</TT></B></DT><DD CLASS="dd-description">
|
||||
Tell Erlang runtime system to start the <TT>ejabberd</TT> application.
|
||||
</DD><DT CLASS="dt-description"><B><TT>-mnesia dir "/var/lib/ejabberd/db/nodename"</TT></B></DT><DD CLASS="dd-description">
|
||||
</DD><DT CLASS="dt-description"><B><TT>-mnesia dir "/var/lib/ejabberd/"</TT></B></DT><DD CLASS="dd-description">
|
||||
Specify the Mnesia database directory.
|
||||
</DD><DT CLASS="dt-description"><B><TT>-sasl sasl_error_logger {file, "/var/log/ejabberd/sasl.log"}</TT></B></DT><DD CLASS="dd-description">
|
||||
Path to the Erlang/OTP system log file.
|
||||
@ -3065,10 +3084,10 @@ Contains IP addresses of clients.
|
||||
If the loglevel is set to 5, it contains whole conversations and passwords.
|
||||
If a logrotate system is used, there may be several log files with similar information,
|
||||
so it is preferable to secure the whole <TT>/var/log/ejabberd/</TT> directory.
|
||||
</DD><DT CLASS="dt-description"><B><TT>Mnesia database spool files: /var/lib/ejabberd/db/*</TT></B></DT><DD CLASS="dd-description">
|
||||
</DD><DT CLASS="dt-description"><B><TT>Mnesia database spool files in /var/lib/ejabberd/</TT></B></DT><DD CLASS="dd-description">
|
||||
The files store binary data, but some parts are still readable.
|
||||
The files are generated by Mnesia and their permissions cannot be set directly,
|
||||
so it is preferable to secure the whole <TT>/var/lib/ejabberd/db/</TT> directory.
|
||||
so it is preferable to secure the whole <TT>/var/lib/ejabberd/</TT> directory.
|
||||
</DD><DT CLASS="dt-description"><B><TT>Erlang cookie file: /var/lib/ejabberd/.erlang.cookie</TT></B></DT><DD CLASS="dd-description">
|
||||
See section <A HREF="#cookie">5.3</A>.
|
||||
</DD></DL><P> <A NAME="clustering"></A> </P><!--TOC chapter Clustering-->
|
||||
|
@ -313,7 +313,7 @@ To compile \ejabberd{} execute the commands:
|
||||
make
|
||||
\end{verbatim}
|
||||
|
||||
The build configuration script provides several parameters.
|
||||
The build configuration script allows several options.
|
||||
To get the full list run the command:
|
||||
\begin{verbatim}
|
||||
./configure --help
|
||||
@ -322,10 +322,22 @@ To get the full list run the command:
|
||||
Some options that you may be interested in modifying:
|
||||
\begin{description}
|
||||
\titem{--prefix=/}
|
||||
Specify the path prefix where the files will be copied when running the make install command.
|
||||
Specify the path prefix where the files will be copied when running
|
||||
the \term{make install} command.
|
||||
|
||||
\titem{--enable-user[=USER]}
|
||||
Allow this normal system user to execute the ejabberdctl script
|
||||
(see section~\ref{ejabberdctl}),
|
||||
read the configuration files,
|
||||
read and write in the spool directory,
|
||||
read and write in the log directory.
|
||||
The account user and group must exist in the machine
|
||||
before running \term{make install}.
|
||||
This account doesn't need an explicit HOME directory, because
|
||||
\term{/var/lib/ejabberd/} will be used by default.
|
||||
|
||||
\titem{--enable-pam}
|
||||
Enable the PAM authentication method.
|
||||
Enable the PAM authentication method (see section \ref{pam}).
|
||||
|
||||
\titem{--enable-odbc or --enable-mssql}
|
||||
Required if you want to use an external database.
|
||||
@ -348,29 +360,36 @@ To install \ejabberd{} in the destination directories, run the command:
|
||||
\begin{verbatim}
|
||||
make install
|
||||
\end{verbatim}
|
||||
Note that you may need to have administrative privileges in the system.
|
||||
Note that you probably need administrative privileges in the system
|
||||
to install \term{ejabberd}.
|
||||
|
||||
The files and directories created are, by default:
|
||||
\begin{description}
|
||||
\titem{/etc/ejabberd/} Configuration files:
|
||||
\titem{/etc/ejabberd/} Configuration directory:
|
||||
\begin{description}
|
||||
\titem{ejabberd.cfg} ejabberd configuration file
|
||||
\titem{ejabberdctl.cfg} Configuration file of the administration script
|
||||
\titem{inetrc} Network DNS configuration
|
||||
\titem{inetrc} Network DNS configuration file
|
||||
\end{description}
|
||||
\titem{/sbin/ejabberdctl} Administration script
|
||||
\titem{/var/lib/ejabberd/}
|
||||
\titem{/lib/ejabberd/}
|
||||
\begin{description}
|
||||
\titem{.erlang.cookie} Erlang cookie file (see section \ref{cookie})
|
||||
\titem{db} Mnesia database spool files
|
||||
\titem{ebin} Binary Erlang files (*.beam)
|
||||
\titem{priv}
|
||||
\titem{ebin/} Erlang binary files (*.beam)
|
||||
\titem{include/} Erlang header files (*.hrl)
|
||||
\titem{priv/} Additional files required at runtime
|
||||
\begin{description}
|
||||
\titem{lib} Binary system libraries (*.so)
|
||||
\titem{msgs} Translated strings (*.msgs)
|
||||
\titem{bin/} Binary C programs
|
||||
\titem{lib/} Binary system libraries (*.so)
|
||||
\titem{msgs/} Translation files (*.msgs)
|
||||
\end{description}
|
||||
\end{description}
|
||||
\titem{/var/log/ejabberd/} Log files (see section~\ref{logfiles}):
|
||||
\titem{/sbin/ejabberdctl} Administration script (see section~\ref{ejabberdctl})
|
||||
\titem{/share/doc/ejabberd/} Documentation of ejabberd
|
||||
\titem{/var/lib/ejabberd/} Spool directory:
|
||||
\begin{description}
|
||||
\titem{.erlang.cookie} Erlang cookie file (see section \ref{cookie})
|
||||
\titem{acl.DCD, ...} Mnesia database spool files (*.DCD, *.DCL, *.DAT)
|
||||
\end{description}
|
||||
\titem{/var/log/ejabberd/} Log directory (see section~\ref{logfiles}):
|
||||
\begin{description}
|
||||
\titem{ejabberd.log} ejabberd service log
|
||||
\titem{sasl.log} Erlang/OTP system log
|
||||
@ -382,6 +401,8 @@ The files and directories created are, by default:
|
||||
\ind{install!start}
|
||||
|
||||
You can use the \term{ejabberdctl} command line administration script to start and stop \ejabberd{}.
|
||||
If you provided the configure option \term{--enable-user=USER} (see \ref{compile}),
|
||||
you can execute \term{ejabberdctl} with either that system account or root.
|
||||
|
||||
Usage example:
|
||||
\begin{verbatim}
|
||||
@ -393,6 +414,7 @@ ejabberd is running
|
||||
|
||||
ejabberdctl stop
|
||||
\end{verbatim}
|
||||
|
||||
Please refer to the section~\ref{ejabberdctl} for details about \term{ejabberdctl},
|
||||
and configurable options to fine tune the Erlang runtime system.
|
||||
|
||||
@ -1117,7 +1139,7 @@ security issues:
|
||||
|
||||
\begin{itemize}
|
||||
\item To perform PAM authentication \ejabberd{} uses external C-program called
|
||||
\term{epam}. By default, it is located in \verb|/var/lib/ejabberd/priv/lib/|
|
||||
\term{epam}. By default, it is located in \verb|/var/lib/ejabberd/priv/bin/|
|
||||
directory. You have to set it root on execution in the case when your PAM module
|
||||
requires root privileges (\term{pam\_unix.so} for example). Also you have to grant access
|
||||
for \ejabberd{} to this file and remove all other permissions from it.
|
||||
@ -3036,7 +3058,7 @@ Options:
|
||||
\titem{welcome\_message} \ind{options!welcomem}Set a welcome message that
|
||||
is sent to each newly registered account. The first string is the subject, and
|
||||
the second string is the message body.
|
||||
In the body you can set a newline with the characters: \term{\~\ n}.
|
||||
In the body you can set a newline with the characters: \verb|\n|
|
||||
\titem{registration\_watchers} \ind{options!rwatchers}This option defines a
|
||||
list of JIDs which will be notified each time a new account is registered.
|
||||
\iqdiscitem{In-Band Registration (\ns{jabber:iq:register})}
|
||||
@ -3095,7 +3117,7 @@ Also define a registration timeout of one hour:
|
||||
...
|
||||
{mod_register,
|
||||
[
|
||||
{welcome_message, {"Welcome!", "Hi.~nWelcome to this Jabber server.~n Check http://www.jabber.org~n~nBye"}},
|
||||
{welcome_message, {"Welcome!", "Hi.\nWelcome to this Jabber server.\n Check http://www.jabber.org\n\nBye"}},
|
||||
{registration_watchers, ["admin1@example.org", "boss@example.net"]}
|
||||
]},
|
||||
...
|
||||
@ -3708,7 +3730,7 @@ The command line parameters:
|
||||
Specify the directory where Erlang binary files (*.beam) are located.
|
||||
\titem{-s ejabberd}
|
||||
Tell Erlang runtime system to start the \ejabberd{} application.
|
||||
\titem{-mnesia dir "/var/lib/ejabberd/db/nodename"}
|
||||
\titem{-mnesia dir "/var/lib/ejabberd/"}
|
||||
Specify the Mnesia database directory.
|
||||
\titem{-sasl sasl\_error\_logger \{file, "/var/log/ejabberd/sasl.log"\}}
|
||||
Path to the Erlang/OTP system log file.
|
||||
@ -3941,10 +3963,10 @@ write and execute those files and directories.
|
||||
If the loglevel is set to 5, it contains whole conversations and passwords.
|
||||
If a logrotate system is used, there may be several log files with similar information,
|
||||
so it is preferable to secure the whole \term{/var/log/ejabberd/} directory.
|
||||
\titem{Mnesia database spool files: /var/lib/ejabberd/db/*}
|
||||
\titem{Mnesia database spool files in /var/lib/ejabberd/}
|
||||
The files store binary data, but some parts are still readable.
|
||||
The files are generated by Mnesia and their permissions cannot be set directly,
|
||||
so it is preferable to secure the whole \term{/var/lib/ejabberd/db/} directory.
|
||||
so it is preferable to secure the whole \term{/var/lib/ejabberd/} directory.
|
||||
\titem{Erlang cookie file: /var/lib/ejabberd/.erlang.cookie}
|
||||
See section \ref{cookie}.
|
||||
\end{description}
|
||||
|
171
src/Makefile.in
171
src/Makefile.in
@ -12,37 +12,53 @@ ERLANG_CFLAGS= @ERLANG_CFLAGS@
|
||||
EXPAT_LIBS = @EXPAT_LIBS@
|
||||
ERLANG_LIBS = @ERLANG_LIBS@
|
||||
|
||||
ERLC_FLAGS += @ERLANG_SSL39@
|
||||
|
||||
ASN_FLAGS = -bber_bin +der +compact_bit_string +optimize +noobj
|
||||
|
||||
INSTALLUSER=@INSTALLUSER@
|
||||
# if no user was enabled, don't set privileges or ownership
|
||||
ifeq ($(INSTALLUSER),)
|
||||
O_USER=
|
||||
G_USER=
|
||||
CHOWN_COMMAND=echo
|
||||
CHOWN_OUTPUT=/dev/null
|
||||
else
|
||||
O_USER=-o $(INSTALLUSER)
|
||||
G_USER=-g $(INSTALLUSER)
|
||||
CHOWN_COMMAND=chown
|
||||
CHOWN_OUTPUT=&1
|
||||
endif
|
||||
|
||||
EFLAGS += @ERLANG_SSL39@
|
||||
EFLAGS += -I ../include
|
||||
|
||||
# make debug=true to compile Erlang module with debug informations.
|
||||
ifdef debug
|
||||
ERLC_FLAGS+=+debug_info
|
||||
EFLAGS+=+debug_info
|
||||
endif
|
||||
|
||||
ifdef ejabberd_debug
|
||||
ERLC_FLAGS+=-Dejabberd_debug
|
||||
EFLAGS+=-Dejabberd_debug
|
||||
endif
|
||||
|
||||
ifeq (@hipe@, true)
|
||||
ERLC_FLAGS+=+native
|
||||
EFLAGS+=+native
|
||||
endif
|
||||
|
||||
ifeq (@roster_gateway_workaround@, true)
|
||||
ERLC_FLAGS+=-DROSTER_GATEWAY_WORKAROUND
|
||||
EFLAGS+=-DROSTER_GATEWAY_WORKAROUND
|
||||
endif
|
||||
|
||||
ifeq (@full_xml@, true)
|
||||
ERLC_FLAGS+=-DFULL_XML_SUPPORT
|
||||
EFLAGS+=-DFULL_XML_SUPPORT
|
||||
endif
|
||||
|
||||
ifeq (@transient_supervisors@, false)
|
||||
ERLC_FLAGS+=-DNO_TRANSIENT_SUPERVISORS
|
||||
EFLAGS+=-DNO_TRANSIENT_SUPERVISORS
|
||||
endif
|
||||
|
||||
INSTALL_EPAM=
|
||||
ifeq (@pam@, pam)
|
||||
INSTALL_EPAM=install -m 750 epam $(PBINDIR)
|
||||
INSTALL_EPAM=install -m 750 $(O_USER) epam $(PBINDIR)
|
||||
endif
|
||||
|
||||
prefix = @prefix@
|
||||
@ -58,17 +74,47 @@ BEAMS = $(SOURCES:.erl=.beam)
|
||||
|
||||
DESTDIR =
|
||||
|
||||
EJABBERDDIR = $(DESTDIR)@localstatedir@/lib/ejabberd
|
||||
BEAMDIR = $(EJABBERDDIR)/ebin
|
||||
SPOOLDIR = $(EJABBERDDIR)/db
|
||||
PRIVDIR = $(EJABBERDDIR)/priv
|
||||
SODIR = $(PRIVDIR)/lib
|
||||
PBINDIR = $(PRIVDIR)/bin
|
||||
MSGSDIR = $(PRIVDIR)/msgs
|
||||
LOGDIR = $(DESTDIR)@localstatedir@/log/ejabberd
|
||||
# /etc/ejabberd/
|
||||
ETCDIR = $(DESTDIR)@sysconfdir@/ejabberd
|
||||
|
||||
# /sbin/
|
||||
SBINDIR = $(DESTDIR)@sbindir@
|
||||
|
||||
# /lib/ejabberd/
|
||||
EJABBERDDIR = $(DESTDIR)@libdir@/ejabberd
|
||||
|
||||
# /share/doc/ejabberd
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
datarootdir = @datarootdir@
|
||||
DOCDIR = @docdir@
|
||||
|
||||
# /usr/lib/ejabberd/ebin/
|
||||
BEAMDIR = $(EJABBERDDIR)/ebin
|
||||
|
||||
# /usr/lib/ejabberd/include/
|
||||
INCLUDEDIR = $(EJABBERDDIR)/include
|
||||
|
||||
# /usr/lib/ejabberd/priv/
|
||||
PRIVDIR = $(EJABBERDDIR)/priv
|
||||
|
||||
# /usr/lib/ejabberd/priv/bin
|
||||
PBINDIR = $(PRIVDIR)/bin
|
||||
|
||||
# /usr/lib/ejabberd/priv/lib
|
||||
SODIR = $(PRIVDIR)/lib
|
||||
|
||||
# /usr/lib/ejabberd/priv/msgs
|
||||
MSGSDIR = $(PRIVDIR)/msgs
|
||||
|
||||
# /var/lib/ejabberd/
|
||||
SPOOLDIR = $(DESTDIR)@localstatedir@/lib/ejabberd
|
||||
|
||||
# /var/lib/ejabberd/.erlang.cookie
|
||||
COOKIEFILE = $(SPOOLDIR)/.erlang.cookie
|
||||
|
||||
# /var/log/ejabberd/
|
||||
LOGDIR = $(DESTDIR)@localstatedir@/log/ejabberd
|
||||
|
||||
ifeq ($(shell uname),Darwin)
|
||||
DYNAMIC_LIB_CFLAGS = -fPIC -bundle -flat_namespace -undefined suppress
|
||||
else
|
||||
@ -85,7 +131,7 @@ $(BEAMS): $(ERLBEHAVBEAMS)
|
||||
all-recursive: $(ERLBEHAVBEAMS)
|
||||
|
||||
%.beam: %.erl
|
||||
@ERLC@ -W $(ERLC_FLAGS) $<
|
||||
@ERLC@ -W $(EFLAGS) $<
|
||||
|
||||
|
||||
all-recursive install-recursive uninstall-recursive \
|
||||
@ -100,7 +146,7 @@ mostlyclean-recursive maintainer-clean-recursive:
|
||||
|
||||
%.hrl: %.asn1
|
||||
@ERLC@ $(ASN_FLAGS) $<
|
||||
@ERLC@ -W $(ERLC_FLAGS) $*.erl
|
||||
@ERLC@ -W $(EFLAGS) $*.erl
|
||||
|
||||
$(ERLSHLIBS): %.so: %.c
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) $(LIBS) \
|
||||
@ -113,39 +159,90 @@ $(ERLSHLIBS): %.so: %.c
|
||||
$(DYNAMIC_LIB_CFLAGS)
|
||||
|
||||
install: all
|
||||
#
|
||||
# Configuration files
|
||||
install -d -m 750 $(G_USER) $(ETCDIR)
|
||||
[ -f $(ETCDIR)/ejabberd.cfg ] \
|
||||
&& install -b -m 640 $(G_USER) ejabberd.cfg.example $(ETCDIR)/ejabberd.cfg-new \
|
||||
|| install -b -m 640 $(G_USER) ejabberd.cfg.example $(ETCDIR)/ejabberd.cfg
|
||||
sed -e "s*@rootdir@*@prefix@*" \
|
||||
-e "s*@installuser@*@INSTALLUSER@*" \
|
||||
-e "s*@LIBDIR@*@libdir@*" \
|
||||
-e "s*@SYSCONFDIR@*@sysconfdir@*" \
|
||||
-e "s*@LOCALSTATEDIR@*@localstatedir@*" \
|
||||
-e "s*@erl@*@ERL@*" ejabberdctl.template \
|
||||
> ejabberdctl.example
|
||||
[ -f $(ETCDIR)/ejabberdctl.cfg ] \
|
||||
&& install -b -m 640 $(G_USER) ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg-new \
|
||||
|| install -b -m 640 $(G_USER) ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg
|
||||
install -b -m 644 $(G_USER) inetrc $(ETCDIR)/inetrc
|
||||
#
|
||||
# Administration script
|
||||
[ -d $(SBINDIR) ] || install -d 750 $(SBINDIR)
|
||||
install -m 550 $(G_USER) ejabberdctl.example $(SBINDIR)/ejabberdctl
|
||||
#
|
||||
# Binary Erlang files
|
||||
install -d $(BEAMDIR)
|
||||
install -m 644 *.app $(BEAMDIR)
|
||||
install -m 644 *.beam $(BEAMDIR)
|
||||
rm -f $(BEAMDIR)/configure.beam
|
||||
install -m 644 *.app $(BEAMDIR)
|
||||
install -d -m 750 $(SPOOLDIR)
|
||||
install -d $(SODIR)
|
||||
#
|
||||
# ejabberd header files
|
||||
install -d $(INCLUDEDIR)
|
||||
install -m 644 ../include/*.hrl $(INCLUDEDIR)
|
||||
#
|
||||
# Binary C programs
|
||||
install -d $(PBINDIR)
|
||||
install -m 644 *.so $(SODIR)
|
||||
$(INSTALL_EPAM)
|
||||
#
|
||||
# Binary system libraries
|
||||
install -d $(SODIR)
|
||||
install -m 644 *.so $(SODIR)
|
||||
#
|
||||
# Translated strings
|
||||
install -d $(MSGSDIR)
|
||||
install -m 644 msgs/*.msg $(MSGSDIR)
|
||||
install -d -m 750 $(ETCDIR)
|
||||
[ -f $(ETCDIR)/ejabberd.cfg ] && install -b -m 644 ejabberd.cfg.example $(ETCDIR)/ejabberd.cfg-new || install -b -m 644 ejabberd.cfg.example $(ETCDIR)/ejabberd.cfg
|
||||
sed -e "s*@rootdir@*@prefix@*" ejabberdctl.template > ejabberdctl.example
|
||||
[ -f $(ETCDIR)/ejabberdctl.cfg ] && install -b -m 644 ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg-new || install -b -m 644 ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg
|
||||
install -b -m 644 inetrc $(ETCDIR)/inetrc
|
||||
install -d $(SBINDIR)
|
||||
install -m 755 ejabberdctl.example $(SBINDIR)/ejabberdctl
|
||||
install -d -m 750 $(LOGDIR)
|
||||
#
|
||||
# Spool directory
|
||||
install -d -m 750 $(O_USER) $(SPOOLDIR)
|
||||
$(CHOWN_COMMAND) -R @INSTALLUSER@ $(SPOOLDIR) >$(CHOWN_OUTPUT)
|
||||
chmod -R 750 $(SPOOLDIR)
|
||||
[ ! -f $(COOKIEFILE) ] || { $(CHOWN_COMMAND) @INSTALLUSER@ $(COOKIEFILE) >$(CHOWN_OUTPUT) ; chmod 400 $(COOKIEFILE) ; }
|
||||
#
|
||||
# Log directory
|
||||
install -d -m 750 $(O_USER) $(LOGDIR)
|
||||
$(CHOWN_COMMAND) -R @INSTALLUSER@ $(LOGDIR) >$(CHOWN_OUTPUT)
|
||||
chmod -R 750 $(LOGDIR)
|
||||
#
|
||||
# Documentation
|
||||
install -d $(DOCDIR)
|
||||
install ../doc/guide.html $(DOCDIR)
|
||||
install ../doc/*.png $(DOCDIR)
|
||||
install ../doc/*.txt $(DOCDIR)
|
||||
|
||||
uninstall: uninstall-binary
|
||||
|
||||
uninstall-binary:
|
||||
rm -rf $(BEAMDIR)
|
||||
rm -rf $(SODIR)
|
||||
rm -rf $(MSGSDIR)
|
||||
rm -rf $(PRIVDIR)
|
||||
rm -rf $(SBINDIR)/ejabberdctl
|
||||
rm -f $(SBINDIR)/ejabberdctl
|
||||
rm -fr $(DOCDIR)
|
||||
rm -f $(BEAMDIR)/*.beam
|
||||
rm -f $(BEAMDIR)/*.app
|
||||
rm -fr $(BEAMDIR)
|
||||
rm -f $(INCLUDEDIR)/*.hrl
|
||||
rm -fr $(INCLUDEDIR)
|
||||
rm -fr $(PBINDIR)
|
||||
rm -f $(SODIR)/*.so
|
||||
rm -fr $(SODIR)
|
||||
rm -f $(MSGSDIR)/*.msgs
|
||||
rm -fr $(MSGSDIR)
|
||||
rm -fr $(PRIVDIR)
|
||||
rm -fr $(EJABBERDDIR)
|
||||
|
||||
uninstall-all: uninstall-binary
|
||||
rm -rf $(ETCDIR)
|
||||
rm -rf $(LOGDIR)
|
||||
rm -rf $(EJABBERDDIR)
|
||||
rm -rf $(SPOOLDIR)
|
||||
rm -rf $(LOGDIR)
|
||||
|
||||
clean: clean-recursive clean-local
|
||||
|
||||
|
15
src/aclocal.m4
vendored
15
src/aclocal.m4
vendored
@ -1,6 +1,6 @@
|
||||
AC_DEFUN(AM_WITH_EXPAT,
|
||||
[ AC_ARG_WITH(expat,
|
||||
[ --with-expat=PREFIX prefix where EXPAT is installed])
|
||||
[AC_HELP_STRING([--with-expat=PREFIX], [prefix where EXPAT is installed])])
|
||||
|
||||
EXPAT_CFLAGS=
|
||||
EXPAT_LIBS=
|
||||
@ -34,7 +34,7 @@ AC_DEFUN(AM_WITH_EXPAT,
|
||||
|
||||
AC_DEFUN(AM_WITH_ZLIB,
|
||||
[ AC_ARG_WITH(zlib,
|
||||
[ --with-zlib=PREFIX prefix where zlib is installed])
|
||||
[AC_HELP_STRING([--with-zlib=PREFIX], [prefix where zlib is installed])])
|
||||
|
||||
ZLIB_CFLAGS=
|
||||
ZLIB_LIBS=
|
||||
@ -68,7 +68,7 @@ AC_DEFUN(AM_WITH_ZLIB,
|
||||
|
||||
AC_DEFUN(AM_WITH_PAM,
|
||||
[ AC_ARG_WITH(pam,
|
||||
[ --with-pam=PREFIX prefix where PAM is installed])
|
||||
[AC_HELP_STRING([--with-pam=PREFIX], [prefix where PAM is installed])])
|
||||
|
||||
PAM_CFLAGS=
|
||||
PAM_LIBS=
|
||||
@ -102,7 +102,7 @@ AC_DEFUN(AM_WITH_PAM,
|
||||
|
||||
AC_DEFUN(AM_WITH_ERLANG,
|
||||
[ AC_ARG_WITH(erlang,
|
||||
[ --with-erlang=PREFIX path to erlc and erl ])
|
||||
[AC_HELP_STRING([--with-erlang=PREFIX], [path to erlc and erl])])
|
||||
|
||||
AC_PATH_TOOL(ERLC, erlc, , $with_erlang:$with_erlang/bin:$PATH)
|
||||
AC_PATH_TOOL(ERL, erl, , $with_erlang:$with_erlang/bin:$PATH)
|
||||
@ -204,14 +204,13 @@ _EOF
|
||||
AC_SUBST(ERL)
|
||||
])
|
||||
|
||||
|
||||
AC_DEFUN(AC_MOD_ENABLE,
|
||||
[
|
||||
$1=
|
||||
make_$1=
|
||||
AC_MSG_CHECKING([whether build $1])
|
||||
AC_ARG_ENABLE($1,
|
||||
[ --enable-$1 enable $1 (default: $2)],
|
||||
[AC_HELP_STRING([--enable-$1], [enable $1 (default: $2)])],
|
||||
[mr_enable_$1="$enableval"],
|
||||
[mr_enable_$1=$2])
|
||||
if test "$mr_enable_$1" = "yes"; then
|
||||
@ -232,7 +231,7 @@ AC_DEFUN([AM_ICONV],
|
||||
dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
|
||||
dnl those with the standalone portable GNU libiconv installed).
|
||||
AC_ARG_WITH([libiconv-prefix],
|
||||
[ --with-libiconv-prefix=PREFIX prefix where libiconv is installed], [
|
||||
[AC_HELP_STRING([--with-libiconv-prefix=PREFIX], [prefix where libiconv is installed])], [
|
||||
for dir in `echo "$withval" | tr : ' '`; do
|
||||
if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
|
||||
if test -d $dir/include; then CFLAGS="$CFLAGS -I$dir/include"; fi
|
||||
@ -317,7 +316,7 @@ size_t iconv();
|
||||
dnl <openssl>
|
||||
AC_DEFUN(AM_WITH_OPENSSL,
|
||||
[ AC_ARG_WITH(openssl,
|
||||
[ --with-openssl=PREFIX prefix where OPENSSL is installed ])
|
||||
[AC_HELP_STRING([--with-openssl=PREFIX], [prefix where OPENSSL is installed])])
|
||||
unset SSL_LIBS;
|
||||
unset SSL_CFLAGS;
|
||||
have_openssl=no
|
||||
|
150
src/configure
vendored
150
src/configure
vendored
@ -1,6 +1,8 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.61.
|
||||
# Generated by GNU Autoconf 2.61 for ejabberd.erl version.
|
||||
#
|
||||
# Report bugs to <ejabberd@process-one.net>.
|
||||
#
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||
@ -570,13 +572,12 @@ MAKEFLAGS=
|
||||
SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME=
|
||||
PACKAGE_TARNAME=
|
||||
PACKAGE_VERSION=
|
||||
PACKAGE_STRING=
|
||||
PACKAGE_BUGREPORT=
|
||||
PACKAGE_NAME='ejabberd.erl'
|
||||
PACKAGE_TARNAME='ejabberd'
|
||||
PACKAGE_VERSION='version'
|
||||
PACKAGE_STRING='ejabberd.erl version'
|
||||
PACKAGE_BUGREPORT='ejabberd@process-one.net'
|
||||
|
||||
ac_unique_file="ejabberd.erl"
|
||||
# Factoring default headers for most tests.
|
||||
ac_includes_default="\
|
||||
#include <stdio.h>
|
||||
@ -703,6 +704,7 @@ transient_supervisors
|
||||
full_xml
|
||||
SSL_LIBS
|
||||
SSL_CFLAGS
|
||||
INSTALLUSER
|
||||
LTLIBOBJS'
|
||||
ac_subst_files=''
|
||||
ac_precious_vars='build_alias
|
||||
@ -752,7 +754,7 @@ sharedstatedir='${prefix}/com'
|
||||
localstatedir='${prefix}/var'
|
||||
includedir='${prefix}/include'
|
||||
oldincludedir='/usr/include'
|
||||
docdir='${datarootdir}/doc/${PACKAGE}'
|
||||
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
|
||||
infodir='${datarootdir}/info'
|
||||
htmldir='${docdir}'
|
||||
dvidir='${docdir}'
|
||||
@ -1216,7 +1218,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures this package to adapt to many kinds of systems.
|
||||
\`configure' configures ejabberd.erl version to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@ -1264,7 +1266,7 @@ Fine tuning of the installation directories:
|
||||
--infodir=DIR info documentation [DATAROOTDIR/info]
|
||||
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
|
||||
--mandir=DIR man documentation [DATAROOTDIR/man]
|
||||
--docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
|
||||
--docdir=DIR documentation root [DATAROOTDIR/doc/ejabberd]
|
||||
--htmldir=DIR html documentation [DOCDIR]
|
||||
--dvidir=DIR dvi documentation [DOCDIR]
|
||||
--pdfdir=DIR pdf documentation [DOCDIR]
|
||||
@ -1276,37 +1278,49 @@ _ACEOF
|
||||
fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of ejabberd.erl version:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
Optional Features:
|
||||
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
|
||||
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
||||
--enable-mod_pubsub enable mod_pubsub (default: yes)
|
||||
--enable-mod_pubsub enable mod_pubsub (default: yes)
|
||||
--enable-mod_irc enable mod_irc (default: yes)
|
||||
--enable-mod_muc enable mod_muc (default: yes)
|
||||
--enable-mod_proxy65 enable mod_proxy65 (default: yes)
|
||||
--enable-eldap enable eldap (default: yes)
|
||||
--enable-pam enable pam (default: no)
|
||||
--enable-web enable web (default: yes)
|
||||
--enable-tls enable tls (default: yes)
|
||||
--enable-odbc enable odbc (default: no)
|
||||
--enable-ejabberd_zlib enable ejabberd_zlib (default: yes)
|
||||
--enable-hipe Compile natively with HiPE, not recommended (default: no)
|
||||
--enable-roster-gateway-workaround Turn on workaround for processing gateway subscriptions (default: no)
|
||||
--enable-mssql Use Microsoft SQL Server database (default: no, requires --enable-odbc)
|
||||
--enable-transient_supervisors Use Erlang supervision for transient process (default: yes)
|
||||
--enable-full-xml Use XML features in XMPP stream (ex: CDATA) (default: no, requires XML compliant clients)
|
||||
--enable-mod_proxy65 enable mod_proxy65 (default: yes)
|
||||
--enable-eldap enable eldap (default: yes)
|
||||
--enable-pam enable pam (default: no)
|
||||
--enable-web enable web (default: yes)
|
||||
--enable-tls enable tls (default: yes)
|
||||
--enable-odbc enable odbc (default: no)
|
||||
--enable-ejabberd_zlib enable ejabberd_zlib (default: yes)
|
||||
--enable-hipe compile natively with HiPE, not recommended
|
||||
(default: no)
|
||||
--enable-roster-gateway-workaround
|
||||
turn on workaround for processing gateway
|
||||
subscriptions (default: no)
|
||||
--enable-mssql use Microsoft SQL Server database (default: no,
|
||||
requires --enable-odbc)
|
||||
--enable-transient_supervisors
|
||||
use Erlang supervision for transient process
|
||||
(default: yes)
|
||||
--enable-full-xml use XML features in XMPP stream (ex: CDATA)
|
||||
(default: no, requires XML compliant clients)
|
||||
--enable-user[=USER] allow this system user to start ejabberd (default:
|
||||
no)
|
||||
|
||||
Optional Packages:
|
||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
|
||||
--with-erlang=PREFIX path to erlc and erl
|
||||
--with-libiconv-prefix=PREFIX prefix where libiconv is installed
|
||||
--with-expat=PREFIX prefix where EXPAT is installed
|
||||
--with-zlib=PREFIX prefix where zlib is installed
|
||||
--with-pam=PREFIX prefix where PAM is installed
|
||||
--with-openssl=PREFIX prefix where OPENSSL is installed
|
||||
--with-libiconv-prefix=PREFIX
|
||||
prefix where libiconv is installed
|
||||
--with-expat=PREFIX prefix where EXPAT is installed
|
||||
--with-zlib=PREFIX prefix where zlib is installed
|
||||
--with-pam=PREFIX prefix where PAM is installed
|
||||
--with-openssl=PREFIX prefix where OPENSSL is installed
|
||||
|
||||
Some influential environment variables:
|
||||
CC C compiler command
|
||||
@ -1321,6 +1335,7 @@ Some influential environment variables:
|
||||
Use these variables to override the choices made by `configure' or to help
|
||||
it to find libraries and programs with nonstandard names/locations.
|
||||
|
||||
Report bugs to <ejabberd@process-one.net>.
|
||||
_ACEOF
|
||||
ac_status=$?
|
||||
fi
|
||||
@ -1381,7 +1396,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
configure
|
||||
ejabberd.erl configure version
|
||||
generated by GNU Autoconf 2.61
|
||||
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
@ -1395,7 +1410,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by $as_me, which was
|
||||
It was created by ejabberd.erl $as_me version, which was
|
||||
generated by GNU Autoconf 2.61. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@ -1728,6 +1743,14 @@ fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -4131,7 +4154,12 @@ echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\
|
||||
echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
|
||||
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
|
||||
|
||||
( cat <<\_ASBOX
|
||||
## --------------------------------------- ##
|
||||
## Report this to ejabberd@process-one.net ##
|
||||
## --------------------------------------- ##
|
||||
_ASBOX
|
||||
) | sed "s/^/$as_me: WARNING: /" >&2
|
||||
;;
|
||||
esac
|
||||
{ echo "$as_me:$LINENO: checking for $ac_header" >&5
|
||||
@ -4376,7 +4404,12 @@ echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\
|
||||
echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
|
||||
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
|
||||
|
||||
( cat <<\_ASBOX
|
||||
## --------------------------------------- ##
|
||||
## Report this to ejabberd@process-one.net ##
|
||||
## --------------------------------------- ##
|
||||
_ASBOX
|
||||
) | sed "s/^/$as_me: WARNING: /" >&2
|
||||
;;
|
||||
esac
|
||||
{ echo "$as_me:$LINENO: checking for $ac_header" >&5
|
||||
@ -4620,7 +4653,12 @@ echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\
|
||||
echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
|
||||
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
|
||||
|
||||
( cat <<\_ASBOX
|
||||
## --------------------------------------- ##
|
||||
## Report this to ejabberd@process-one.net ##
|
||||
## --------------------------------------- ##
|
||||
_ASBOX
|
||||
) | sed "s/^/$as_me: WARNING: /" >&2
|
||||
;;
|
||||
esac
|
||||
{ echo "$as_me:$LINENO: checking for $ac_header" >&5
|
||||
@ -4888,7 +4926,12 @@ echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\
|
||||
echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
|
||||
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
|
||||
|
||||
( cat <<\_ASBOX
|
||||
## --------------------------------------- ##
|
||||
## Report this to ejabberd@process-one.net ##
|
||||
## --------------------------------------- ##
|
||||
_ASBOX
|
||||
) | sed "s/^/$as_me: WARNING: /" >&2
|
||||
;;
|
||||
esac
|
||||
{ echo "$as_me:$LINENO: checking for $ac_header" >&5
|
||||
@ -5676,7 +5719,12 @@ echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\
|
||||
echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
|
||||
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
|
||||
|
||||
( cat <<\_ASBOX
|
||||
## --------------------------------------- ##
|
||||
## Report this to ejabberd@process-one.net ##
|
||||
## --------------------------------------- ##
|
||||
_ASBOX
|
||||
) | sed "s/^/$as_me: WARNING: /" >&2
|
||||
;;
|
||||
esac
|
||||
{ echo "$as_me:$LINENO: checking for $ac_header" >&5
|
||||
@ -5849,7 +5897,12 @@ echo "$as_me: WARNING: krb5.h: section \"Present But Cannot Be Compiled\"" >
|
||||
echo "$as_me: WARNING: krb5.h: proceeding with the preprocessor's result" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: krb5.h: in the future, the compiler will take precedence" >&5
|
||||
echo "$as_me: WARNING: krb5.h: in the future, the compiler will take precedence" >&2;}
|
||||
|
||||
( cat <<\_ASBOX
|
||||
## --------------------------------------- ##
|
||||
## Report this to ejabberd@process-one.net ##
|
||||
## --------------------------------------- ##
|
||||
_ASBOX
|
||||
) | sed "s/^/$as_me: WARNING: /" >&2
|
||||
;;
|
||||
esac
|
||||
{ echo "$as_me:$LINENO: checking for krb5.h" >&5
|
||||
@ -5866,6 +5919,22 @@ fi
|
||||
|
||||
|
||||
|
||||
ENABLEUSER=""
|
||||
# Check whether --enable-user was given.
|
||||
if test "${enable_user+set}" = set; then
|
||||
enableval=$enable_user; case "${enableval}" in
|
||||
yes) ENABLEUSER=`whoami` ;;
|
||||
no) ENABLEUSER="" ;;
|
||||
*) ENABLEUSER=$enableval
|
||||
esac
|
||||
fi
|
||||
|
||||
if test "$ENABLEUSER" != ""; then
|
||||
echo "allow this system user to start ejabberd: $ENABLEUSER"
|
||||
INSTALLUSER=$ENABLEUSER
|
||||
|
||||
fi
|
||||
|
||||
cat >confcache <<\_ACEOF
|
||||
# This file is a shell script that caches the results of configure
|
||||
# tests run on this system so they can be shared between configure
|
||||
@ -6292,7 +6361,7 @@ exec 6>&1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by $as_me, which was
|
||||
This file was extended by ejabberd.erl $as_me version, which was
|
||||
generated by GNU Autoconf 2.61. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@ -6335,7 +6404,7 @@ Report bugs to <bug-autoconf@gnu.org>."
|
||||
_ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF
|
||||
ac_cs_version="\\
|
||||
config.status
|
||||
ejabberd.erl config.status version
|
||||
configured by $0, generated by GNU Autoconf 2.61,
|
||||
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
|
||||
|
||||
@ -6594,10 +6663,11 @@ transient_supervisors!$transient_supervisors$ac_delim
|
||||
full_xml!$full_xml$ac_delim
|
||||
SSL_LIBS!$SSL_LIBS$ac_delim
|
||||
SSL_CFLAGS!$SSL_CFLAGS$ac_delim
|
||||
INSTALLUSER!$INSTALLUSER$ac_delim
|
||||
LTLIBOBJS!$LTLIBOBJS$ac_delim
|
||||
_ACEOF
|
||||
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 90; then
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 91; then
|
||||
break
|
||||
elif $ac_last_try; then
|
||||
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.53)
|
||||
AC_INIT(ejabberd.erl,, ejabberd@process-one.net)
|
||||
AC_INIT(ejabberd.erl, version, [ejabberd@process-one.net], [ejabberd])
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_CC
|
||||
@ -48,7 +48,7 @@ AC_MOD_ENABLE(odbc, no)
|
||||
AC_MOD_ENABLE(ejabberd_zlib, yes)
|
||||
|
||||
AC_ARG_ENABLE(hipe,
|
||||
[ --enable-hipe Compile natively with HiPE, not recommended (default: no)],
|
||||
[AC_HELP_STRING([--enable-hipe], [compile natively with HiPE, not recommended (default: no)])],
|
||||
[case "${enableval}" in
|
||||
yes) hipe=true ;;
|
||||
no) hipe=false ;;
|
||||
@ -57,7 +57,7 @@ esac],[hipe=false])
|
||||
AC_SUBST(hipe)
|
||||
|
||||
AC_ARG_ENABLE(roster_gateway_workaround,
|
||||
[ --enable-roster-gateway-workaround Turn on workaround for processing gateway subscriptions (default: no)],
|
||||
[AC_HELP_STRING([--enable-roster-gateway-workaround], [turn on workaround for processing gateway subscriptions (default: no)])],
|
||||
[case "${enableval}" in
|
||||
yes) roster_gateway_workaround=true ;;
|
||||
no) roster_gateway_workaround=false ;;
|
||||
@ -66,7 +66,7 @@ esac],[roster_gateway_workaround=false])
|
||||
AC_SUBST(roster_gateway_workaround)
|
||||
|
||||
AC_ARG_ENABLE(mssql,
|
||||
[ --enable-mssql Use Microsoft SQL Server database (default: no, requires --enable-odbc)],
|
||||
[AC_HELP_STRING([--enable-mssql], [use Microsoft SQL Server database (default: no, requires --enable-odbc)])],
|
||||
[case "${enableval}" in
|
||||
yes) db_type=mssql ;;
|
||||
no) db_type=generic ;;
|
||||
@ -75,7 +75,7 @@ esac],[db_type=generic])
|
||||
AC_SUBST(db_type)
|
||||
|
||||
AC_ARG_ENABLE(transient_supervisors,
|
||||
[ --enable-transient_supervisors Use Erlang supervision for transient process (default: yes)],
|
||||
[AC_HELP_STRING([--enable-transient_supervisors], [use Erlang supervision for transient process (default: yes)])],
|
||||
[case "${enableval}" in
|
||||
yes) transient_supervisors=true ;;
|
||||
no) transient_supervisors=false ;;
|
||||
@ -84,7 +84,7 @@ esac],[transient_supervisors=true])
|
||||
AC_SUBST(transient_supervisors)
|
||||
|
||||
AC_ARG_ENABLE(full_xml,
|
||||
[ --enable-full-xml Use XML features in XMPP stream (ex: CDATA) (default: no, requires XML compliant clients)],
|
||||
[AC_HELP_STRING([--enable-full-xml], [use XML features in XMPP stream (ex: CDATA) (default: no, requires XML compliant clients)])],
|
||||
[case "${enableval}" in
|
||||
yes) full_xml=true ;;
|
||||
no) full_xml=false ;;
|
||||
@ -122,4 +122,18 @@ else
|
||||
fi
|
||||
AC_CHECK_HEADER(krb5.h,,)
|
||||
|
||||
ENABLEUSER=""
|
||||
AC_ARG_ENABLE(user,
|
||||
[AS_HELP_STRING([--enable-user[[[[=USER]]]]], [allow this system user to start ejabberd (default: no)])],
|
||||
[case "${enableval}" in
|
||||
yes) ENABLEUSER=`whoami` ;;
|
||||
no) ENABLEUSER="" ;;
|
||||
*) ENABLEUSER=$enableval
|
||||
esac],
|
||||
[])
|
||||
if test "$ENABLEUSER" != ""; then
|
||||
echo "allow this system user to start ejabberd: $ENABLEUSER"
|
||||
AC_SUBST([INSTALLUSER], [$ENABLEUSER])
|
||||
fi
|
||||
|
||||
AC_OUTPUT
|
||||
|
@ -459,7 +459,7 @@
|
||||
%% a message with this subject and body.
|
||||
%%
|
||||
{welcome_message, {"Welcome!",
|
||||
"Hi.~nWelcome to this Jabber server."}},
|
||||
"Hi.\nWelcome to this Jabber server."}},
|
||||
|
||||
%%
|
||||
%% When a user registers, send a notification to
|
||||
|
@ -58,7 +58,7 @@
|
||||
]).
|
||||
|
||||
-include("ejabberd.hrl").
|
||||
-include("eldap/eldap.hrl").
|
||||
-include("eldap.hrl").
|
||||
|
||||
-record(state, {host,
|
||||
eldap_id,
|
||||
|
@ -19,7 +19,8 @@ else
|
||||
DYNAMIC_LIB_CFLAGS = -fpic -shared
|
||||
endif
|
||||
|
||||
EFLAGS = -I .. -pz ..
|
||||
EFLAGS += -I ../../include
|
||||
EFLAGS += -pz ..
|
||||
# make debug=true to compile Erlang module with debug informations.
|
||||
ifdef debug
|
||||
EFLAGS+=+debug_info
|
||||
|
@ -11,13 +11,15 @@ ERL_MAX_ETS_TABLES=1400
|
||||
NODE=ejabberd
|
||||
HOST=localhost
|
||||
ERLANG_NODE=$NODE@$HOST
|
||||
ROOTDIR=@rootdir@
|
||||
EJABBERD_CONFIG_PATH=$ROOTDIR/etc/ejabberd/ejabberd.cfg
|
||||
LOGS_DIR=$ROOTDIR/var/log/ejabberd/
|
||||
EJABBERD_DB=$ROOTDIR/var/lib/ejabberd/db/$NODE
|
||||
ERL=@erl@
|
||||
INSTALLUSER=@installuser@
|
||||
ETCDIR=@SYSCONFDIR@/ejabberd
|
||||
EJABBERD_CONFIG_PATH=$ETCDIR/ejabberd.cfg
|
||||
LOGDIR=@LOCALSTATEDIR@/log/ejabberd
|
||||
SPOOLDIR=@LOCALSTATEDIR@/lib/ejabberd
|
||||
|
||||
# read custom configuration
|
||||
CONFIG=$ROOTDIR/etc/ejabberd/ejabberdctl.cfg
|
||||
CONFIG=$ETCDIR/ejabberdctl.cfg
|
||||
[ -f "$CONFIG" ] && . "$CONFIG"
|
||||
|
||||
# parse command line parameters
|
||||
@ -30,12 +32,27 @@ while [ $# -ne 0 ] ; do
|
||||
--node) ERLANG_NODE=$1; shift ;;
|
||||
--config) EJABBERD_CONFIG_PATH=$1 ; shift ;;
|
||||
--ctl-config) CONFIG=$1 ; shift ;;
|
||||
--logs) LOGS_DIR=$1 ; shift ;;
|
||||
--spool) EJABBERD_DB=$1 ; shift ;;
|
||||
--logs) LOGDIR=$1 ; shift ;;
|
||||
--spool) SPOOLDIR=$1 ; shift ;;
|
||||
*) ARGS="$ARGS $PARAM" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# check the proper system user is used
|
||||
ID=`id -g`
|
||||
EJID=`id -g $INSTALLUSER`
|
||||
EXEC_CMD="false"
|
||||
if [ $ID -eq 0 ] ; then
|
||||
EXEC_CMD="su ${INSTALLUSER} -c"
|
||||
fi
|
||||
if [ "$ID" -eq "$EJID" ] ; then
|
||||
EXEC_CMD="sh -c"
|
||||
fi
|
||||
if [ "$EXEC_CMD" = "false" ] ; then
|
||||
echo "This command can only be run by root or the user $INSTALLUSER" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
NAME=-name
|
||||
[ "$ERLANG_NODE" = "${ERLANG_NODE%.*}" ] && NAME=-sname
|
||||
|
||||
@ -48,31 +65,36 @@ fi
|
||||
ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES $KERNEL_OPTS"
|
||||
|
||||
# define additional environment variables
|
||||
EJABBERD_EBIN=$ROOTDIR/var/lib/ejabberd/ebin
|
||||
EJABBERD_MSGS_PATH=$ROOTDIR/var/lib/ejabberd/priv/msgs
|
||||
EJABBERD_SO_PATH=$ROOTDIR/var/lib/ejabberd/priv/lib
|
||||
EJABBERD_BIN_PATH=$ROOTDIR/var/lib/ejabberd/priv/bin
|
||||
EJABBERD_LOG_PATH=$LOGS_DIR/ejabberd.log
|
||||
SASL_LOG_PATH=$LOGS_DIR/sasl.log
|
||||
EJABBERDDIR=@LIBDIR@/ejabberd
|
||||
BEAMDIR=$EJABBERDDIR/ebin
|
||||
PRIVDIR=$EJABBERDDIR/priv
|
||||
PBINDIR=$PRIVDIR/bin
|
||||
SODIR=$PRIVDIR/lib
|
||||
MSGSDIR=$PRIVDIR/msgs
|
||||
|
||||
EJABBERD_LOG_PATH=$LOGDIR/ejabberd.log
|
||||
SASL_LOG_PATH=$LOGDIR/sasl.log
|
||||
DATETIME=`date "+%Y%m%d-%H%M%S"`
|
||||
ERL_CRASH_DUMP=$LOGS_DIR/erl_crash_$DATETIME.dump
|
||||
ERL_INETRC=$ROOTDIR/etc/ejabberd/inetrc
|
||||
HOME=$ROOTDIR/var/lib/ejabberd
|
||||
ERL_CRASH_DUMP=$LOGDIR/erl_crash_$DATETIME.dump
|
||||
ERL_INETRC=$ETCDIR/inetrc
|
||||
HOME=$SPOOLDIR
|
||||
|
||||
# create the home dir with the proper user if doesn't exist, because it stores cookie file
|
||||
[ -d $HOME ] || $EXEC_CMD "mkdir -p $HOME"
|
||||
|
||||
# export global variables
|
||||
export EJABBERD_CONFIG_PATH
|
||||
export EJABBERD_MSGS_PATH
|
||||
export MSGSDIR
|
||||
export EJABBERD_LOG_PATH
|
||||
export EJABBERD_SO_PATH
|
||||
export EJABBERD_BIN_PATH
|
||||
export SODIR
|
||||
export PBINDIR
|
||||
export ERL_CRASH_DUMP
|
||||
export ERL_INETRC
|
||||
export ERL_MAX_PORTS
|
||||
export ERL_MAX_ETS_TABLES
|
||||
export HOME
|
||||
export EXEC_CMD
|
||||
|
||||
[ -d $EJABBERD_DB ] || mkdir -p $EJABBERD_DB
|
||||
[ -d $LOGS_DIR ] || mkdir -p $LOGS_DIR
|
||||
|
||||
# Compatibility in ZSH
|
||||
#setopt shwordsplit 2>/dev/null
|
||||
@ -80,14 +102,14 @@ export HOME
|
||||
# start server
|
||||
start ()
|
||||
{
|
||||
erl \
|
||||
$EXEC_CMD "$ERL \
|
||||
$NAME $ERLANG_NODE \
|
||||
-noinput -detached \
|
||||
-pa $EJABBERD_EBIN \
|
||||
-mnesia dir "\"$EJABBERD_DB\"" \
|
||||
-pa $BEAMDIR \
|
||||
-mnesia dir \"\\\"$SPOOLDIR\\\"\" \
|
||||
-s ejabberd \
|
||||
-sasl sasl_error_logger \{file,\"$SASL_LOG_PATH\"\} \
|
||||
$ERLANG_OPTS $ARGS "$@"
|
||||
-sasl sasl_error_logger \\{file,\\\"$SASL_LOG_PATH\\\"\\} \
|
||||
$ERLANG_OPTS $ARGS \"$@\""
|
||||
}
|
||||
|
||||
# attach to server
|
||||
@ -109,10 +131,10 @@ debug ()
|
||||
echo "Press any key to continue"
|
||||
read foo
|
||||
echo ""
|
||||
erl \
|
||||
$EXEC_CMD "$ERL \
|
||||
$NAME ${NODE}debug \
|
||||
-remsh $ERLANG_NODE \
|
||||
$ERLANG_OPTS $ARGS "$@"
|
||||
$ERLANG_OPTS $ARGS \"$@\""
|
||||
}
|
||||
|
||||
# start interactive server
|
||||
@ -133,23 +155,22 @@ live ()
|
||||
echo "Press any key to continue"
|
||||
read foo
|
||||
echo ""
|
||||
erl \
|
||||
$EXEC_CMD "$ERL \
|
||||
$NAME $ERLANG_NODE \
|
||||
$ERLANG_OPTS \
|
||||
-pa $EJABBERD_EBIN \
|
||||
-mnesia dir "\"$EJABBERD_DB\"" \
|
||||
-pa $BEAMDIR \
|
||||
-mnesia dir \"\\\"$SPOOLDIR\\\"\" \
|
||||
-s ejabberd \
|
||||
$ERLANG_OPTS $ARGS "$@"
|
||||
$ERLANG_OPTS $ARGS \"$@\""
|
||||
}
|
||||
|
||||
# common control function
|
||||
ctl ()
|
||||
{
|
||||
erl \
|
||||
$EXEC_CMD "$ERL \
|
||||
$NAME ejabberdctl \
|
||||
-noinput \
|
||||
-pa $EJABBERD_EBIN \
|
||||
-s ejabberd_ctl -extra $ERLANG_NODE $@
|
||||
-pa $BEAMDIR \
|
||||
-s ejabberd_ctl -extra $ERLANG_NODE $@"
|
||||
result=$?
|
||||
case $result in
|
||||
0) :;;
|
||||
@ -163,8 +184,9 @@ ctl ()
|
||||
echo "Optional parameters when starting an ejabberd node:"
|
||||
echo " --config file Config file of ejabberd: $EJABBERD_CONFIG_PATH"
|
||||
echo " --ctl-config file Config file of ejabberdctl: $CONFIG"
|
||||
echo " --logs dir Directory for logs: $LOGS_DIR"
|
||||
echo " --spool dir Database spool dir: $EJABBERD_DB"
|
||||
echo " --logs dir Directory for logs: $LOGDIR"
|
||||
echo " --spool dir Database spool dir: $SPOOLDIR"
|
||||
echo " --node nodename ejabberd node name: $ERLANG_NODE"
|
||||
echo "";;
|
||||
esac
|
||||
return $result
|
||||
|
@ -9,7 +9,8 @@ LIBS = @LIBS@
|
||||
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
||||
ERLANG_LIBS = @ERLANG_LIBS@
|
||||
|
||||
EFLAGS = -I .. -pz ..
|
||||
EFLAGS += -I ../../include
|
||||
EFLAGS += -pz ..
|
||||
# make debug=true to compile Erlang module with debug informations.
|
||||
ifdef debug
|
||||
EFLAGS+=+debug_info
|
||||
|
@ -16,7 +16,9 @@ else
|
||||
DYNAMIC_LIB_CFLAGS = -fpic -shared
|
||||
endif
|
||||
|
||||
EFLAGS = -I .. -pz ..
|
||||
EFLAGS += -I ../../include
|
||||
EFLAGS += -pz ..
|
||||
|
||||
# make debug=true to compile Erlang module with debug informations.
|
||||
ifdef debug
|
||||
EFLAGS+=+debug_info
|
||||
|
@ -9,7 +9,9 @@ LIBS = @LIBS@
|
||||
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
||||
ERLANG_LIBS = @ERLANG_LIBS@
|
||||
|
||||
EFLAGS = -I .. -pz ..
|
||||
EFLAGS += -I ../../include
|
||||
EFLAGS += -pz ..
|
||||
|
||||
# make debug=true to compile Erlang module with debug informations.
|
||||
ifdef debug
|
||||
EFLAGS+=+debug_info
|
||||
|
@ -43,8 +43,8 @@
|
||||
|
||||
-include("ejabberd.hrl").
|
||||
-include("jlib.hrl").
|
||||
-include("web/ejabberd_http.hrl").
|
||||
-include("web/ejabberd_web_admin.hrl").
|
||||
-include("ejabberd_http.hrl").
|
||||
-include("ejabberd_web_admin.hrl").
|
||||
|
||||
-record(offline_msg, {us, timestamp, expire, from, to, packet}).
|
||||
|
||||
|
@ -42,8 +42,8 @@
|
||||
|
||||
-include("ejabberd.hrl").
|
||||
-include("jlib.hrl").
|
||||
-include("web/ejabberd_http.hrl").
|
||||
-include("web/ejabberd_web_admin.hrl").
|
||||
-include("ejabberd_http.hrl").
|
||||
-include("ejabberd_web_admin.hrl").
|
||||
|
||||
-record(offline_msg, {user, timestamp, expire, from, to, packet}).
|
||||
|
||||
|
@ -9,7 +9,9 @@ LIBS = @LIBS@
|
||||
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
||||
ERLANG_LIBS = @ERLANG_LIBS@
|
||||
|
||||
EFLAGS = -I .. -pz ..
|
||||
EFLAGS += -I ../../include
|
||||
EFLAGS += -pz ..
|
||||
|
||||
# make debug=true to compile Erlang module with debug informations.
|
||||
ifdef debug
|
||||
EFLAGS+=+debug_info
|
||||
|
@ -41,8 +41,8 @@
|
||||
%% API.
|
||||
-export([start_link/2]).
|
||||
|
||||
-include("../ejabberd.hrl").
|
||||
-include("../jlib.hrl").
|
||||
-include("ejabberd.hrl").
|
||||
-include("jlib.hrl").
|
||||
|
||||
-define(PROCNAME, ejabberd_mod_proxy65_service).
|
||||
|
||||
|
@ -58,7 +58,7 @@
|
||||
]).
|
||||
|
||||
-include("mod_proxy65.hrl").
|
||||
-include("../ejabberd.hrl").
|
||||
-include("ejabberd.hrl").
|
||||
|
||||
-define(WAIT_TIMEOUT, 60000). %% 1 minute (is it enough?)
|
||||
|
||||
|
@ -9,7 +9,9 @@ LIBS = @LIBS@
|
||||
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
||||
ERLANG_LIBS = @ERLANG_LIBS@
|
||||
|
||||
EFLAGS = -I .. -pz ..
|
||||
EFLAGS += -I ../../include
|
||||
EFLAGS += -pz ..
|
||||
|
||||
# make debug=true to compile Erlang module with debug informations.
|
||||
ifdef debug
|
||||
EFLAGS+=+debug_info
|
||||
|
@ -241,13 +241,12 @@ send_welcome_message(JID) ->
|
||||
{"", ""} ->
|
||||
ok;
|
||||
{Subj, Body} ->
|
||||
BodyFormatted = io_lib:format(Body, []),
|
||||
ejabberd_router:route(
|
||||
jlib:make_jid("", Host, ""),
|
||||
JID,
|
||||
{xmlelement, "message", [{"type", "normal"}],
|
||||
[{xmlelement, "subject", [], [{xmlcdata, Subj}]},
|
||||
{xmlelement, "body", [], [{xmlcdata, BodyFormatted}]}]});
|
||||
{xmlelement, "body", [], [{xmlcdata, Body}]}]});
|
||||
_ ->
|
||||
ok
|
||||
end.
|
||||
|
@ -47,8 +47,8 @@
|
||||
-include("ejabberd.hrl").
|
||||
-include("jlib.hrl").
|
||||
-include("mod_roster.hrl").
|
||||
-include("web/ejabberd_http.hrl").
|
||||
-include("web/ejabberd_web_admin.hrl").
|
||||
-include("ejabberd_http.hrl").
|
||||
-include("ejabberd_web_admin.hrl").
|
||||
|
||||
|
||||
start(Host, Opts) ->
|
||||
|
@ -46,8 +46,8 @@
|
||||
-include("ejabberd.hrl").
|
||||
-include("jlib.hrl").
|
||||
-include("mod_roster.hrl").
|
||||
-include("web/ejabberd_http.hrl").
|
||||
-include("web/ejabberd_web_admin.hrl").
|
||||
-include("ejabberd_http.hrl").
|
||||
-include("ejabberd_web_admin.hrl").
|
||||
|
||||
|
||||
start(Host, Opts) ->
|
||||
|
@ -52,8 +52,8 @@
|
||||
-include("ejabberd.hrl").
|
||||
-include("jlib.hrl").
|
||||
-include("mod_roster.hrl").
|
||||
-include("web/ejabberd_http.hrl").
|
||||
-include("web/ejabberd_web_admin.hrl").
|
||||
-include("ejabberd_http.hrl").
|
||||
-include("ejabberd_web_admin.hrl").
|
||||
|
||||
-record(sr_group, {group_host, opts}).
|
||||
-record(sr_user, {us, group_host}).
|
||||
|
@ -50,7 +50,7 @@
|
||||
]).
|
||||
|
||||
-include("ejabberd.hrl").
|
||||
-include("eldap/eldap.hrl").
|
||||
-include("eldap.hrl").
|
||||
-include("jlib.hrl").
|
||||
|
||||
-define(PROCNAME, ejabberd_mod_vcard_ldap).
|
||||
|
@ -9,7 +9,9 @@ LIBS = @LIBS@
|
||||
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
||||
ERLANG_LIBS = @ERLANG_LIBS@
|
||||
|
||||
EFLAGS = -I .. -pz ..
|
||||
EFLAGS += -I ../../include
|
||||
EFLAGS += -pz ..
|
||||
|
||||
# make debug=true to compile Erlang module with debug informations.
|
||||
ifdef debug
|
||||
EFLAGS+=+debug_info
|
||||
|
@ -9,7 +9,9 @@ LIBS = @LIBS@ @PAM_LIBS@
|
||||
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
||||
ERLANG_LIBS = @ERLANG_LIBS@
|
||||
|
||||
EFLAGS = -I .. -pz ..
|
||||
EFLAGS += -I ../../include
|
||||
EFLAGS += -pz ..
|
||||
|
||||
# make debug=true to compile Erlang module with debug informations.
|
||||
ifdef debug
|
||||
EFLAGS+=+debug_info
|
||||
|
@ -19,7 +19,9 @@ else
|
||||
DYNAMIC_LIB_CFLAGS = -fpic -shared
|
||||
endif
|
||||
|
||||
EFLAGS = -I .. -pz ..
|
||||
EFLAGS += -I ../../include
|
||||
EFLAGS += -pz ..
|
||||
|
||||
# make debug=true to compile Erlang module with debug informations.
|
||||
ifdef debug
|
||||
EFLAGS+=+debug_info
|
||||
|
@ -9,7 +9,9 @@ LIBS = @LIBS@
|
||||
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
||||
ERLANG_LIBS = @ERLANG_LIBS@
|
||||
|
||||
EFLAGS = -I .. -pz ..
|
||||
EFLAGS += -I ../../include
|
||||
EFLAGS += -pz ..
|
||||
|
||||
# make debug=true to compile Erlang module with debug informations.
|
||||
ifdef debug
|
||||
EFLAGS+=+debug_info
|
||||
@ -21,7 +23,7 @@ BEAMS = $(addprefix $(OUTDIR)/,$(SOURCES:.erl=.beam))
|
||||
|
||||
all: $(BEAMS)
|
||||
|
||||
$(OUTDIR)/%.beam: %.erl ejabberd_http.hrl
|
||||
$(OUTDIR)/%.beam: %.erl
|
||||
@ERLC@ -W $(EFLAGS) -o $(OUTDIR) $<
|
||||
|
||||
clean:
|
||||
|
Loading…
Reference in New Issue
Block a user