mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-22 16:20:52 +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>
|
2008-07-11 Jean-Sébastien Pédron <js.pedron@meetic-corp.com>
|
||||||
|
|
||||||
Merge revisions from 1362 to revision 1434 from trunk.
|
Merge revisions from 1362 to revision 1434 from trunk.
|
||||||
|
@ -16,7 +16,7 @@ all: release pdf html
|
|||||||
release:
|
release:
|
||||||
@echo "Notes for the releaser:"
|
@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 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 "* Do not forget to update the features in introduction.tex (including \new{} and \improved{} tags)."
|
||||||
@echo "Press any key to continue"
|
@echo "Press any key to continue"
|
||||||
@read foo
|
@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><P>To compile <TT>ejabberd</TT> execute the commands:
|
||||||
</P><PRE CLASS="verbatim">./configure
|
</P><PRE CLASS="verbatim">./configure
|
||||||
make
|
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:
|
To get the full list run the command:
|
||||||
</P><PRE CLASS="verbatim">./configure --help
|
</P><PRE CLASS="verbatim">./configure --help
|
||||||
</PRE><P>Some options that you may be interested in modifying:
|
</PRE><P>Some options that you may be interested in modifying:
|
||||||
</P><DL CLASS="description"><DT CLASS="dt-description">
|
</P><DL CLASS="description"><DT CLASS="dt-description">
|
||||||
<B><TT>--prefix=/</TT></B></DT><DD CLASS="dd-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">
|
Specify the path prefix where the files will be copied when running
|
||||||
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">
|
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.
|
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">
|
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.
|
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>
|
<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><P>To install <TT>ejabberd</TT> in the destination directories, run the command:
|
||||||
</P><PRE CLASS="verbatim">make install
|
</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">
|
</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">
|
<DL CLASS="description"><DT CLASS="dt-description">
|
||||||
<B><TT>ejabberd.cfg</TT></B></DT><DD CLASS="dd-description"> ejabberd configuration file
|
<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>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></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>/lib/ejabberd/</TT></B></DT><DD CLASS="dd-description">
|
||||||
</DD><DT CLASS="dt-description"><B><TT>/var/lib/ejabberd/</TT></B></DT><DD CLASS="dd-description">
|
<DL CLASS="description"><DT CLASS="dt-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>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>/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">
|
<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>)
|
<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>acl.DCD, ...</TT></B></DT><DD CLASS="dd-description"> Mnesia database spool files (*.DCD, *.DCL, *.DAT)
|
||||||
</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">
|
|
||||||
<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)
|
|
||||||
</DD></DL>
|
</DD></DL>
|
||||||
</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>):
|
||||||
</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>):
|
|
||||||
<DL CLASS="description"><DT CLASS="dt-description">
|
<DL CLASS="description"><DT CLASS="dt-description">
|
||||||
<B><TT>ejabberd.log</TT></B></DT><DD CLASS="dd-description"> ejabberd service log
|
<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><DT CLASS="dt-description"><B><TT>sasl.log</TT></B></DT><DD CLASS="dd-description"> Erlang/OTP system log
|
||||||
</DD></DL>
|
</DD></DL>
|
||||||
</DD></DL><P> <A NAME="start"></A> </P><!--TOC subsection Start-->
|
</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>
|
<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
|
</P><PRE CLASS="verbatim">ejabberdctl start
|
||||||
|
|
||||||
ejabberdctl status
|
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
|
</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">
|
security issues:</P><UL CLASS="itemize"><LI CLASS="li-itemize">
|
||||||
To perform PAM authentication <TT>ejabberd</TT> uses external C-program called
|
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
|
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
|
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.
|
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
|
</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
|
is sent to each newly registered account. The first string is the subject, and
|
||||||
the second string is the message body.
|
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
|
</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.
|
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
|
</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,
|
{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"]}
|
{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.
|
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">
|
</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.
|
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.
|
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">
|
</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.
|
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 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,
|
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.
|
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 store binary data, but some parts are still readable.
|
||||||
The files are generated by Mnesia and their permissions cannot be set directly,
|
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">
|
</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>.
|
See section <A HREF="#cookie">5.3</A>.
|
||||||
</DD></DL><P> <A NAME="clustering"></A> </P><!--TOC chapter Clustering-->
|
</DD></DL><P> <A NAME="clustering"></A> </P><!--TOC chapter Clustering-->
|
||||||
|
@ -313,7 +313,7 @@ To compile \ejabberd{} execute the commands:
|
|||||||
make
|
make
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
The build configuration script provides several parameters.
|
The build configuration script allows several options.
|
||||||
To get the full list run the command:
|
To get the full list run the command:
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
./configure --help
|
./configure --help
|
||||||
@ -322,10 +322,22 @@ To get the full list run the command:
|
|||||||
Some options that you may be interested in modifying:
|
Some options that you may be interested in modifying:
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\titem{--prefix=/}
|
\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}
|
\titem{--enable-pam}
|
||||||
Enable the PAM authentication method.
|
Enable the PAM authentication method (see section \ref{pam}).
|
||||||
|
|
||||||
\titem{--enable-odbc or --enable-mssql}
|
\titem{--enable-odbc or --enable-mssql}
|
||||||
Required if you want to use an external database.
|
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}
|
\begin{verbatim}
|
||||||
make install
|
make install
|
||||||
\end{verbatim}
|
\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:
|
The files and directories created are, by default:
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\titem{/etc/ejabberd/} Configuration files:
|
\titem{/etc/ejabberd/} Configuration directory:
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\titem{ejabberd.cfg} ejabberd configuration file
|
\titem{ejabberd.cfg} ejabberd configuration file
|
||||||
\titem{ejabberdctl.cfg} Configuration file of the administration script
|
\titem{ejabberdctl.cfg} Configuration file of the administration script
|
||||||
\titem{inetrc} Network DNS configuration
|
\titem{inetrc} Network DNS configuration file
|
||||||
\end{description}
|
\end{description}
|
||||||
\titem{/sbin/ejabberdctl} Administration script
|
\titem{/lib/ejabberd/}
|
||||||
\titem{/var/lib/ejabberd/}
|
\begin{description}
|
||||||
|
\titem{ebin/} Erlang binary files (*.beam)
|
||||||
|
\titem{include/} Erlang header files (*.hrl)
|
||||||
|
\titem{priv/} Additional files required at runtime
|
||||||
|
\begin{description}
|
||||||
|
\titem{bin/} Binary C programs
|
||||||
|
\titem{lib/} Binary system libraries (*.so)
|
||||||
|
\titem{msgs/} Translation files (*.msgs)
|
||||||
|
\end{description}
|
||||||
|
\end{description}
|
||||||
|
\titem{/sbin/ejabberdctl} Administration script (see section~\ref{ejabberdctl})
|
||||||
|
\titem{/share/doc/ejabberd/} Documentation of ejabberd
|
||||||
|
\titem{/var/lib/ejabberd/} Spool directory:
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\titem{.erlang.cookie} Erlang cookie file (see section \ref{cookie})
|
\titem{.erlang.cookie} Erlang cookie file (see section \ref{cookie})
|
||||||
\titem{db} Mnesia database spool files
|
\titem{acl.DCD, ...} Mnesia database spool files (*.DCD, *.DCL, *.DAT)
|
||||||
\titem{ebin} Binary Erlang files (*.beam)
|
|
||||||
\titem{priv}
|
|
||||||
\begin{description}
|
|
||||||
\titem{lib} Binary system libraries (*.so)
|
|
||||||
\titem{msgs} Translated strings (*.msgs)
|
|
||||||
\end{description}
|
\end{description}
|
||||||
\end{description}
|
\titem{/var/log/ejabberd/} Log directory (see section~\ref{logfiles}):
|
||||||
\titem{/var/log/ejabberd/} Log files (see section~\ref{logfiles}):
|
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\titem{ejabberd.log} ejabberd service log
|
\titem{ejabberd.log} ejabberd service log
|
||||||
\titem{sasl.log} Erlang/OTP system log
|
\titem{sasl.log} Erlang/OTP system log
|
||||||
@ -382,6 +401,8 @@ The files and directories created are, by default:
|
|||||||
\ind{install!start}
|
\ind{install!start}
|
||||||
|
|
||||||
You can use the \term{ejabberdctl} command line administration script to start and stop \ejabberd{}.
|
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:
|
Usage example:
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@ -393,6 +414,7 @@ ejabberd is running
|
|||||||
|
|
||||||
ejabberdctl stop
|
ejabberdctl stop
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
Please refer to the section~\ref{ejabberdctl} for details about \term{ejabberdctl},
|
Please refer to the section~\ref{ejabberdctl} for details about \term{ejabberdctl},
|
||||||
and configurable options to fine tune the Erlang runtime system.
|
and configurable options to fine tune the Erlang runtime system.
|
||||||
|
|
||||||
@ -1117,7 +1139,7 @@ security issues:
|
|||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item To perform PAM authentication \ejabberd{} uses external C-program called
|
\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
|
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
|
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.
|
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
|
\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
|
is sent to each newly registered account. The first string is the subject, and
|
||||||
the second string is the message body.
|
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
|
\titem{registration\_watchers} \ind{options!rwatchers}This option defines a
|
||||||
list of JIDs which will be notified each time a new account is registered.
|
list of JIDs which will be notified each time a new account is registered.
|
||||||
\iqdiscitem{In-Band Registration (\ns{jabber:iq:register})}
|
\iqdiscitem{In-Band Registration (\ns{jabber:iq:register})}
|
||||||
@ -3095,7 +3117,7 @@ Also define a registration timeout of one hour:
|
|||||||
...
|
...
|
||||||
{mod_register,
|
{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"]}
|
{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.
|
Specify the directory where Erlang binary files (*.beam) are located.
|
||||||
\titem{-s ejabberd}
|
\titem{-s ejabberd}
|
||||||
Tell Erlang runtime system to start the \ejabberd{} application.
|
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.
|
Specify the Mnesia database directory.
|
||||||
\titem{-sasl sasl\_error\_logger \{file, "/var/log/ejabberd/sasl.log"\}}
|
\titem{-sasl sasl\_error\_logger \{file, "/var/log/ejabberd/sasl.log"\}}
|
||||||
Path to the Erlang/OTP system log file.
|
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 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,
|
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.
|
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 store binary data, but some parts are still readable.
|
||||||
The files are generated by Mnesia and their permissions cannot be set directly,
|
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}
|
\titem{Erlang cookie file: /var/lib/ejabberd/.erlang.cookie}
|
||||||
See section \ref{cookie}.
|
See section \ref{cookie}.
|
||||||
\end{description}
|
\end{description}
|
||||||
|
171
src/Makefile.in
171
src/Makefile.in
@ -12,37 +12,53 @@ ERLANG_CFLAGS= @ERLANG_CFLAGS@
|
|||||||
EXPAT_LIBS = @EXPAT_LIBS@
|
EXPAT_LIBS = @EXPAT_LIBS@
|
||||||
ERLANG_LIBS = @ERLANG_LIBS@
|
ERLANG_LIBS = @ERLANG_LIBS@
|
||||||
|
|
||||||
ERLC_FLAGS += @ERLANG_SSL39@
|
|
||||||
|
|
||||||
ASN_FLAGS = -bber_bin +der +compact_bit_string +optimize +noobj
|
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.
|
# make debug=true to compile Erlang module with debug informations.
|
||||||
ifdef debug
|
ifdef debug
|
||||||
ERLC_FLAGS+=+debug_info
|
EFLAGS+=+debug_info
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef ejabberd_debug
|
ifdef ejabberd_debug
|
||||||
ERLC_FLAGS+=-Dejabberd_debug
|
EFLAGS+=-Dejabberd_debug
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq (@hipe@, true)
|
ifeq (@hipe@, true)
|
||||||
ERLC_FLAGS+=+native
|
EFLAGS+=+native
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq (@roster_gateway_workaround@, true)
|
ifeq (@roster_gateway_workaround@, true)
|
||||||
ERLC_FLAGS+=-DROSTER_GATEWAY_WORKAROUND
|
EFLAGS+=-DROSTER_GATEWAY_WORKAROUND
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq (@full_xml@, true)
|
ifeq (@full_xml@, true)
|
||||||
ERLC_FLAGS+=-DFULL_XML_SUPPORT
|
EFLAGS+=-DFULL_XML_SUPPORT
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq (@transient_supervisors@, false)
|
ifeq (@transient_supervisors@, false)
|
||||||
ERLC_FLAGS+=-DNO_TRANSIENT_SUPERVISORS
|
EFLAGS+=-DNO_TRANSIENT_SUPERVISORS
|
||||||
endif
|
endif
|
||||||
|
|
||||||
INSTALL_EPAM=
|
INSTALL_EPAM=
|
||||||
ifeq (@pam@, pam)
|
ifeq (@pam@, pam)
|
||||||
INSTALL_EPAM=install -m 750 epam $(PBINDIR)
|
INSTALL_EPAM=install -m 750 $(O_USER) epam $(PBINDIR)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
prefix = @prefix@
|
prefix = @prefix@
|
||||||
@ -58,17 +74,47 @@ BEAMS = $(SOURCES:.erl=.beam)
|
|||||||
|
|
||||||
DESTDIR =
|
DESTDIR =
|
||||||
|
|
||||||
EJABBERDDIR = $(DESTDIR)@localstatedir@/lib/ejabberd
|
# /etc/ejabberd/
|
||||||
BEAMDIR = $(EJABBERDDIR)/ebin
|
|
||||||
SPOOLDIR = $(EJABBERDDIR)/db
|
|
||||||
PRIVDIR = $(EJABBERDDIR)/priv
|
|
||||||
SODIR = $(PRIVDIR)/lib
|
|
||||||
PBINDIR = $(PRIVDIR)/bin
|
|
||||||
MSGSDIR = $(PRIVDIR)/msgs
|
|
||||||
LOGDIR = $(DESTDIR)@localstatedir@/log/ejabberd
|
|
||||||
ETCDIR = $(DESTDIR)@sysconfdir@/ejabberd
|
ETCDIR = $(DESTDIR)@sysconfdir@/ejabberd
|
||||||
|
|
||||||
|
# /sbin/
|
||||||
SBINDIR = $(DESTDIR)@sbindir@
|
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)
|
ifeq ($(shell uname),Darwin)
|
||||||
DYNAMIC_LIB_CFLAGS = -fPIC -bundle -flat_namespace -undefined suppress
|
DYNAMIC_LIB_CFLAGS = -fPIC -bundle -flat_namespace -undefined suppress
|
||||||
else
|
else
|
||||||
@ -85,7 +131,7 @@ $(BEAMS): $(ERLBEHAVBEAMS)
|
|||||||
all-recursive: $(ERLBEHAVBEAMS)
|
all-recursive: $(ERLBEHAVBEAMS)
|
||||||
|
|
||||||
%.beam: %.erl
|
%.beam: %.erl
|
||||||
@ERLC@ -W $(ERLC_FLAGS) $<
|
@ERLC@ -W $(EFLAGS) $<
|
||||||
|
|
||||||
|
|
||||||
all-recursive install-recursive uninstall-recursive \
|
all-recursive install-recursive uninstall-recursive \
|
||||||
@ -100,7 +146,7 @@ mostlyclean-recursive maintainer-clean-recursive:
|
|||||||
|
|
||||||
%.hrl: %.asn1
|
%.hrl: %.asn1
|
||||||
@ERLC@ $(ASN_FLAGS) $<
|
@ERLC@ $(ASN_FLAGS) $<
|
||||||
@ERLC@ -W $(ERLC_FLAGS) $*.erl
|
@ERLC@ -W $(EFLAGS) $*.erl
|
||||||
|
|
||||||
$(ERLSHLIBS): %.so: %.c
|
$(ERLSHLIBS): %.so: %.c
|
||||||
$(CC) $(CFLAGS) $(LDFLAGS) $(LIBS) \
|
$(CC) $(CFLAGS) $(LDFLAGS) $(LIBS) \
|
||||||
@ -113,39 +159,90 @@ $(ERLSHLIBS): %.so: %.c
|
|||||||
$(DYNAMIC_LIB_CFLAGS)
|
$(DYNAMIC_LIB_CFLAGS)
|
||||||
|
|
||||||
install: all
|
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 -d $(BEAMDIR)
|
||||||
|
install -m 644 *.app $(BEAMDIR)
|
||||||
install -m 644 *.beam $(BEAMDIR)
|
install -m 644 *.beam $(BEAMDIR)
|
||||||
rm -f $(BEAMDIR)/configure.beam
|
rm -f $(BEAMDIR)/configure.beam
|
||||||
install -m 644 *.app $(BEAMDIR)
|
#
|
||||||
install -d -m 750 $(SPOOLDIR)
|
# ejabberd header files
|
||||||
install -d $(SODIR)
|
install -d $(INCLUDEDIR)
|
||||||
|
install -m 644 ../include/*.hrl $(INCLUDEDIR)
|
||||||
|
#
|
||||||
|
# Binary C programs
|
||||||
install -d $(PBINDIR)
|
install -d $(PBINDIR)
|
||||||
install -m 644 *.so $(SODIR)
|
|
||||||
$(INSTALL_EPAM)
|
$(INSTALL_EPAM)
|
||||||
|
#
|
||||||
|
# Binary system libraries
|
||||||
|
install -d $(SODIR)
|
||||||
|
install -m 644 *.so $(SODIR)
|
||||||
|
#
|
||||||
|
# Translated strings
|
||||||
install -d $(MSGSDIR)
|
install -d $(MSGSDIR)
|
||||||
install -m 644 msgs/*.msg $(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
|
# Spool directory
|
||||||
sed -e "s*@rootdir@*@prefix@*" ejabberdctl.template > ejabberdctl.example
|
install -d -m 750 $(O_USER) $(SPOOLDIR)
|
||||||
[ -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
|
$(CHOWN_COMMAND) -R @INSTALLUSER@ $(SPOOLDIR) >$(CHOWN_OUTPUT)
|
||||||
install -b -m 644 inetrc $(ETCDIR)/inetrc
|
chmod -R 750 $(SPOOLDIR)
|
||||||
install -d $(SBINDIR)
|
[ ! -f $(COOKIEFILE) ] || { $(CHOWN_COMMAND) @INSTALLUSER@ $(COOKIEFILE) >$(CHOWN_OUTPUT) ; chmod 400 $(COOKIEFILE) ; }
|
||||||
install -m 755 ejabberdctl.example $(SBINDIR)/ejabberdctl
|
#
|
||||||
install -d -m 750 $(LOGDIR)
|
# 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: uninstall-binary
|
||||||
|
|
||||||
uninstall-binary:
|
uninstall-binary:
|
||||||
rm -rf $(BEAMDIR)
|
rm -f $(SBINDIR)/ejabberdctl
|
||||||
rm -rf $(SODIR)
|
rm -fr $(DOCDIR)
|
||||||
rm -rf $(MSGSDIR)
|
rm -f $(BEAMDIR)/*.beam
|
||||||
rm -rf $(PRIVDIR)
|
rm -f $(BEAMDIR)/*.app
|
||||||
rm -rf $(SBINDIR)/ejabberdctl
|
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
|
uninstall-all: uninstall-binary
|
||||||
rm -rf $(ETCDIR)
|
rm -rf $(ETCDIR)
|
||||||
rm -rf $(LOGDIR)
|
|
||||||
rm -rf $(EJABBERDDIR)
|
rm -rf $(EJABBERDDIR)
|
||||||
|
rm -rf $(SPOOLDIR)
|
||||||
|
rm -rf $(LOGDIR)
|
||||||
|
|
||||||
clean: clean-recursive clean-local
|
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_DEFUN(AM_WITH_EXPAT,
|
||||||
[ AC_ARG_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_CFLAGS=
|
||||||
EXPAT_LIBS=
|
EXPAT_LIBS=
|
||||||
@ -34,7 +34,7 @@ AC_DEFUN(AM_WITH_EXPAT,
|
|||||||
|
|
||||||
AC_DEFUN(AM_WITH_ZLIB,
|
AC_DEFUN(AM_WITH_ZLIB,
|
||||||
[ AC_ARG_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_CFLAGS=
|
||||||
ZLIB_LIBS=
|
ZLIB_LIBS=
|
||||||
@ -68,7 +68,7 @@ AC_DEFUN(AM_WITH_ZLIB,
|
|||||||
|
|
||||||
AC_DEFUN(AM_WITH_PAM,
|
AC_DEFUN(AM_WITH_PAM,
|
||||||
[ AC_ARG_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_CFLAGS=
|
||||||
PAM_LIBS=
|
PAM_LIBS=
|
||||||
@ -102,7 +102,7 @@ AC_DEFUN(AM_WITH_PAM,
|
|||||||
|
|
||||||
AC_DEFUN(AM_WITH_ERLANG,
|
AC_DEFUN(AM_WITH_ERLANG,
|
||||||
[ AC_ARG_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(ERLC, erlc, , $with_erlang:$with_erlang/bin:$PATH)
|
||||||
AC_PATH_TOOL(ERL, erl, , $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_SUBST(ERL)
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
AC_DEFUN(AC_MOD_ENABLE,
|
AC_DEFUN(AC_MOD_ENABLE,
|
||||||
[
|
[
|
||||||
$1=
|
$1=
|
||||||
make_$1=
|
make_$1=
|
||||||
AC_MSG_CHECKING([whether build $1])
|
AC_MSG_CHECKING([whether build $1])
|
||||||
AC_ARG_ENABLE($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="$enableval"],
|
||||||
[mr_enable_$1=$2])
|
[mr_enable_$1=$2])
|
||||||
if test "$mr_enable_$1" = "yes"; then
|
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 Some systems have iconv in libc, some have it in libiconv (OSF/1 and
|
||||||
dnl those with the standalone portable GNU libiconv installed).
|
dnl those with the standalone portable GNU libiconv installed).
|
||||||
AC_ARG_WITH([libiconv-prefix],
|
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
|
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 CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
|
||||||
if test -d $dir/include; then CFLAGS="$CFLAGS -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>
|
dnl <openssl>
|
||||||
AC_DEFUN(AM_WITH_OPENSSL,
|
AC_DEFUN(AM_WITH_OPENSSL,
|
||||||
[ AC_ARG_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_LIBS;
|
||||||
unset SSL_CFLAGS;
|
unset SSL_CFLAGS;
|
||||||
have_openssl=no
|
have_openssl=no
|
||||||
|
126
src/configure
vendored
126
src/configure
vendored
@ -1,6 +1,8 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# 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,
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||||
# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
@ -570,13 +572,12 @@ MAKEFLAGS=
|
|||||||
SHELL=${CONFIG_SHELL-/bin/sh}
|
SHELL=${CONFIG_SHELL-/bin/sh}
|
||||||
|
|
||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME=
|
PACKAGE_NAME='ejabberd.erl'
|
||||||
PACKAGE_TARNAME=
|
PACKAGE_TARNAME='ejabberd'
|
||||||
PACKAGE_VERSION=
|
PACKAGE_VERSION='version'
|
||||||
PACKAGE_STRING=
|
PACKAGE_STRING='ejabberd.erl version'
|
||||||
PACKAGE_BUGREPORT=
|
PACKAGE_BUGREPORT='ejabberd@process-one.net'
|
||||||
|
|
||||||
ac_unique_file="ejabberd.erl"
|
|
||||||
# Factoring default headers for most tests.
|
# Factoring default headers for most tests.
|
||||||
ac_includes_default="\
|
ac_includes_default="\
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -703,6 +704,7 @@ transient_supervisors
|
|||||||
full_xml
|
full_xml
|
||||||
SSL_LIBS
|
SSL_LIBS
|
||||||
SSL_CFLAGS
|
SSL_CFLAGS
|
||||||
|
INSTALLUSER
|
||||||
LTLIBOBJS'
|
LTLIBOBJS'
|
||||||
ac_subst_files=''
|
ac_subst_files=''
|
||||||
ac_precious_vars='build_alias
|
ac_precious_vars='build_alias
|
||||||
@ -752,7 +754,7 @@ sharedstatedir='${prefix}/com'
|
|||||||
localstatedir='${prefix}/var'
|
localstatedir='${prefix}/var'
|
||||||
includedir='${prefix}/include'
|
includedir='${prefix}/include'
|
||||||
oldincludedir='/usr/include'
|
oldincludedir='/usr/include'
|
||||||
docdir='${datarootdir}/doc/${PACKAGE}'
|
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
|
||||||
infodir='${datarootdir}/info'
|
infodir='${datarootdir}/info'
|
||||||
htmldir='${docdir}'
|
htmldir='${docdir}'
|
||||||
dvidir='${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.
|
# 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.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
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]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@ -1264,7 +1266,7 @@ Fine tuning of the installation directories:
|
|||||||
--infodir=DIR info documentation [DATAROOTDIR/info]
|
--infodir=DIR info documentation [DATAROOTDIR/info]
|
||||||
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
|
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
|
||||||
--mandir=DIR man documentation [DATAROOTDIR/man]
|
--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]
|
--htmldir=DIR html documentation [DOCDIR]
|
||||||
--dvidir=DIR dvi documentation [DOCDIR]
|
--dvidir=DIR dvi documentation [DOCDIR]
|
||||||
--pdfdir=DIR pdf documentation [DOCDIR]
|
--pdfdir=DIR pdf documentation [DOCDIR]
|
||||||
@ -1276,7 +1278,9 @@ _ACEOF
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
|
case $ac_init_help in
|
||||||
|
short | recursive ) echo "Configuration of ejabberd.erl version:";;
|
||||||
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
Optional Features:
|
Optional Features:
|
||||||
@ -1292,17 +1296,27 @@ Optional Features:
|
|||||||
--enable-tls enable tls (default: yes)
|
--enable-tls enable tls (default: yes)
|
||||||
--enable-odbc enable odbc (default: no)
|
--enable-odbc enable odbc (default: no)
|
||||||
--enable-ejabberd_zlib enable ejabberd_zlib (default: yes)
|
--enable-ejabberd_zlib enable ejabberd_zlib (default: yes)
|
||||||
--enable-hipe Compile natively with HiPE, not recommended (default: no)
|
--enable-hipe compile natively with HiPE, not recommended
|
||||||
--enable-roster-gateway-workaround Turn on workaround for processing gateway subscriptions (default: no)
|
(default: no)
|
||||||
--enable-mssql Use Microsoft SQL Server database (default: no, requires --enable-odbc)
|
--enable-roster-gateway-workaround
|
||||||
--enable-transient_supervisors Use Erlang supervision for transient process (default: yes)
|
turn on workaround for processing gateway
|
||||||
--enable-full-xml Use XML features in XMPP stream (ex: CDATA) (default: no, requires XML compliant clients)
|
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:
|
Optional Packages:
|
||||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||||
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
|
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
|
||||||
--with-erlang=PREFIX path to erlc and erl
|
--with-erlang=PREFIX path to erlc and erl
|
||||||
--with-libiconv-prefix=PREFIX prefix where libiconv is installed
|
--with-libiconv-prefix=PREFIX
|
||||||
|
prefix where libiconv is installed
|
||||||
--with-expat=PREFIX prefix where EXPAT is installed
|
--with-expat=PREFIX prefix where EXPAT is installed
|
||||||
--with-zlib=PREFIX prefix where zlib is installed
|
--with-zlib=PREFIX prefix where zlib is installed
|
||||||
--with-pam=PREFIX prefix where PAM is installed
|
--with-pam=PREFIX prefix where PAM is installed
|
||||||
@ -1321,6 +1335,7 @@ Some influential environment variables:
|
|||||||
Use these variables to override the choices made by `configure' or to help
|
Use these variables to override the choices made by `configure' or to help
|
||||||
it to find libraries and programs with nonstandard names/locations.
|
it to find libraries and programs with nonstandard names/locations.
|
||||||
|
|
||||||
|
Report bugs to <ejabberd@process-one.net>.
|
||||||
_ACEOF
|
_ACEOF
|
||||||
ac_status=$?
|
ac_status=$?
|
||||||
fi
|
fi
|
||||||
@ -1381,7 +1396,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
configure
|
ejabberd.erl configure version
|
||||||
generated by GNU Autoconf 2.61
|
generated by GNU Autoconf 2.61
|
||||||
|
|
||||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
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
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
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
|
generated by GNU Autoconf 2.61. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $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: 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:$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;}
|
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
|
esac
|
||||||
{ echo "$as_me:$LINENO: checking for $ac_header" >&5
|
{ 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: 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:$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;}
|
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
|
esac
|
||||||
{ echo "$as_me:$LINENO: checking for $ac_header" >&5
|
{ 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: 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:$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;}
|
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
|
esac
|
||||||
{ echo "$as_me:$LINENO: checking for $ac_header" >&5
|
{ 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: 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:$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;}
|
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
|
esac
|
||||||
{ echo "$as_me:$LINENO: checking for $ac_header" >&5
|
{ 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: 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:$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;}
|
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
|
esac
|
||||||
{ echo "$as_me:$LINENO: checking for $ac_header" >&5
|
{ 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: 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:$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;}
|
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
|
esac
|
||||||
{ echo "$as_me:$LINENO: checking for krb5.h" >&5
|
{ 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
|
cat >confcache <<\_ACEOF
|
||||||
# This file is a shell script that caches the results of configure
|
# This file is a shell script that caches the results of configure
|
||||||
# tests run on this system so they can be shared between 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
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
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
|
generated by GNU Autoconf 2.61. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@ -6335,7 +6404,7 @@ Report bugs to <bug-autoconf@gnu.org>."
|
|||||||
_ACEOF
|
_ACEOF
|
||||||
cat >>$CONFIG_STATUS <<_ACEOF
|
cat >>$CONFIG_STATUS <<_ACEOF
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
config.status
|
ejabberd.erl config.status version
|
||||||
configured by $0, generated by GNU Autoconf 2.61,
|
configured by $0, generated by GNU Autoconf 2.61,
|
||||||
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
|
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
|
full_xml!$full_xml$ac_delim
|
||||||
SSL_LIBS!$SSL_LIBS$ac_delim
|
SSL_LIBS!$SSL_LIBS$ac_delim
|
||||||
SSL_CFLAGS!$SSL_CFLAGS$ac_delim
|
SSL_CFLAGS!$SSL_CFLAGS$ac_delim
|
||||||
|
INSTALLUSER!$INSTALLUSER$ac_delim
|
||||||
LTLIBOBJS!$LTLIBOBJS$ac_delim
|
LTLIBOBJS!$LTLIBOBJS$ac_delim
|
||||||
_ACEOF
|
_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
|
break
|
||||||
elif $ac_last_try; then
|
elif $ac_last_try; then
|
||||||
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
|
{ { 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.
|
# Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
AC_PREREQ(2.53)
|
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.
|
# Checks for programs.
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
@ -48,7 +48,7 @@ AC_MOD_ENABLE(odbc, no)
|
|||||||
AC_MOD_ENABLE(ejabberd_zlib, yes)
|
AC_MOD_ENABLE(ejabberd_zlib, yes)
|
||||||
|
|
||||||
AC_ARG_ENABLE(hipe,
|
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
|
[case "${enableval}" in
|
||||||
yes) hipe=true ;;
|
yes) hipe=true ;;
|
||||||
no) hipe=false ;;
|
no) hipe=false ;;
|
||||||
@ -57,7 +57,7 @@ esac],[hipe=false])
|
|||||||
AC_SUBST(hipe)
|
AC_SUBST(hipe)
|
||||||
|
|
||||||
AC_ARG_ENABLE(roster_gateway_workaround,
|
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
|
[case "${enableval}" in
|
||||||
yes) roster_gateway_workaround=true ;;
|
yes) roster_gateway_workaround=true ;;
|
||||||
no) roster_gateway_workaround=false ;;
|
no) roster_gateway_workaround=false ;;
|
||||||
@ -66,7 +66,7 @@ esac],[roster_gateway_workaround=false])
|
|||||||
AC_SUBST(roster_gateway_workaround)
|
AC_SUBST(roster_gateway_workaround)
|
||||||
|
|
||||||
AC_ARG_ENABLE(mssql,
|
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
|
[case "${enableval}" in
|
||||||
yes) db_type=mssql ;;
|
yes) db_type=mssql ;;
|
||||||
no) db_type=generic ;;
|
no) db_type=generic ;;
|
||||||
@ -75,7 +75,7 @@ esac],[db_type=generic])
|
|||||||
AC_SUBST(db_type)
|
AC_SUBST(db_type)
|
||||||
|
|
||||||
AC_ARG_ENABLE(transient_supervisors,
|
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
|
[case "${enableval}" in
|
||||||
yes) transient_supervisors=true ;;
|
yes) transient_supervisors=true ;;
|
||||||
no) transient_supervisors=false ;;
|
no) transient_supervisors=false ;;
|
||||||
@ -84,7 +84,7 @@ esac],[transient_supervisors=true])
|
|||||||
AC_SUBST(transient_supervisors)
|
AC_SUBST(transient_supervisors)
|
||||||
|
|
||||||
AC_ARG_ENABLE(full_xml,
|
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
|
[case "${enableval}" in
|
||||||
yes) full_xml=true ;;
|
yes) full_xml=true ;;
|
||||||
no) full_xml=false ;;
|
no) full_xml=false ;;
|
||||||
@ -122,4 +122,18 @@ else
|
|||||||
fi
|
fi
|
||||||
AC_CHECK_HEADER(krb5.h,,)
|
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
|
AC_OUTPUT
|
||||||
|
@ -459,7 +459,7 @@
|
|||||||
%% a message with this subject and body.
|
%% a message with this subject and body.
|
||||||
%%
|
%%
|
||||||
{welcome_message, {"Welcome!",
|
{welcome_message, {"Welcome!",
|
||||||
"Hi.~nWelcome to this Jabber server."}},
|
"Hi.\nWelcome to this Jabber server."}},
|
||||||
|
|
||||||
%%
|
%%
|
||||||
%% When a user registers, send a notification to
|
%% When a user registers, send a notification to
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
]).
|
]).
|
||||||
|
|
||||||
-include("ejabberd.hrl").
|
-include("ejabberd.hrl").
|
||||||
-include("eldap/eldap.hrl").
|
-include("eldap.hrl").
|
||||||
|
|
||||||
-record(state, {host,
|
-record(state, {host,
|
||||||
eldap_id,
|
eldap_id,
|
||||||
|
@ -19,7 +19,8 @@ else
|
|||||||
DYNAMIC_LIB_CFLAGS = -fpic -shared
|
DYNAMIC_LIB_CFLAGS = -fpic -shared
|
||||||
endif
|
endif
|
||||||
|
|
||||||
EFLAGS = -I .. -pz ..
|
EFLAGS += -I ../../include
|
||||||
|
EFLAGS += -pz ..
|
||||||
# make debug=true to compile Erlang module with debug informations.
|
# make debug=true to compile Erlang module with debug informations.
|
||||||
ifdef debug
|
ifdef debug
|
||||||
EFLAGS+=+debug_info
|
EFLAGS+=+debug_info
|
||||||
|
@ -11,13 +11,15 @@ ERL_MAX_ETS_TABLES=1400
|
|||||||
NODE=ejabberd
|
NODE=ejabberd
|
||||||
HOST=localhost
|
HOST=localhost
|
||||||
ERLANG_NODE=$NODE@$HOST
|
ERLANG_NODE=$NODE@$HOST
|
||||||
ROOTDIR=@rootdir@
|
ERL=@erl@
|
||||||
EJABBERD_CONFIG_PATH=$ROOTDIR/etc/ejabberd/ejabberd.cfg
|
INSTALLUSER=@installuser@
|
||||||
LOGS_DIR=$ROOTDIR/var/log/ejabberd/
|
ETCDIR=@SYSCONFDIR@/ejabberd
|
||||||
EJABBERD_DB=$ROOTDIR/var/lib/ejabberd/db/$NODE
|
EJABBERD_CONFIG_PATH=$ETCDIR/ejabberd.cfg
|
||||||
|
LOGDIR=@LOCALSTATEDIR@/log/ejabberd
|
||||||
|
SPOOLDIR=@LOCALSTATEDIR@/lib/ejabberd
|
||||||
|
|
||||||
# read custom configuration
|
# read custom configuration
|
||||||
CONFIG=$ROOTDIR/etc/ejabberd/ejabberdctl.cfg
|
CONFIG=$ETCDIR/ejabberdctl.cfg
|
||||||
[ -f "$CONFIG" ] && . "$CONFIG"
|
[ -f "$CONFIG" ] && . "$CONFIG"
|
||||||
|
|
||||||
# parse command line parameters
|
# parse command line parameters
|
||||||
@ -30,12 +32,27 @@ while [ $# -ne 0 ] ; do
|
|||||||
--node) ERLANG_NODE=$1; shift ;;
|
--node) ERLANG_NODE=$1; shift ;;
|
||||||
--config) EJABBERD_CONFIG_PATH=$1 ; shift ;;
|
--config) EJABBERD_CONFIG_PATH=$1 ; shift ;;
|
||||||
--ctl-config) CONFIG=$1 ; shift ;;
|
--ctl-config) CONFIG=$1 ; shift ;;
|
||||||
--logs) LOGS_DIR=$1 ; shift ;;
|
--logs) LOGDIR=$1 ; shift ;;
|
||||||
--spool) EJABBERD_DB=$1 ; shift ;;
|
--spool) SPOOLDIR=$1 ; shift ;;
|
||||||
*) ARGS="$ARGS $PARAM" ;;
|
*) ARGS="$ARGS $PARAM" ;;
|
||||||
esac
|
esac
|
||||||
done
|
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
|
NAME=-name
|
||||||
[ "$ERLANG_NODE" = "${ERLANG_NODE%.*}" ] && NAME=-sname
|
[ "$ERLANG_NODE" = "${ERLANG_NODE%.*}" ] && NAME=-sname
|
||||||
|
|
||||||
@ -48,31 +65,36 @@ fi
|
|||||||
ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES $KERNEL_OPTS"
|
ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES $KERNEL_OPTS"
|
||||||
|
|
||||||
# define additional environment variables
|
# define additional environment variables
|
||||||
EJABBERD_EBIN=$ROOTDIR/var/lib/ejabberd/ebin
|
EJABBERDDIR=@LIBDIR@/ejabberd
|
||||||
EJABBERD_MSGS_PATH=$ROOTDIR/var/lib/ejabberd/priv/msgs
|
BEAMDIR=$EJABBERDDIR/ebin
|
||||||
EJABBERD_SO_PATH=$ROOTDIR/var/lib/ejabberd/priv/lib
|
PRIVDIR=$EJABBERDDIR/priv
|
||||||
EJABBERD_BIN_PATH=$ROOTDIR/var/lib/ejabberd/priv/bin
|
PBINDIR=$PRIVDIR/bin
|
||||||
EJABBERD_LOG_PATH=$LOGS_DIR/ejabberd.log
|
SODIR=$PRIVDIR/lib
|
||||||
SASL_LOG_PATH=$LOGS_DIR/sasl.log
|
MSGSDIR=$PRIVDIR/msgs
|
||||||
|
|
||||||
|
EJABBERD_LOG_PATH=$LOGDIR/ejabberd.log
|
||||||
|
SASL_LOG_PATH=$LOGDIR/sasl.log
|
||||||
DATETIME=`date "+%Y%m%d-%H%M%S"`
|
DATETIME=`date "+%Y%m%d-%H%M%S"`
|
||||||
ERL_CRASH_DUMP=$LOGS_DIR/erl_crash_$DATETIME.dump
|
ERL_CRASH_DUMP=$LOGDIR/erl_crash_$DATETIME.dump
|
||||||
ERL_INETRC=$ROOTDIR/etc/ejabberd/inetrc
|
ERL_INETRC=$ETCDIR/inetrc
|
||||||
HOME=$ROOTDIR/var/lib/ejabberd
|
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 global variables
|
||||||
export EJABBERD_CONFIG_PATH
|
export EJABBERD_CONFIG_PATH
|
||||||
export EJABBERD_MSGS_PATH
|
export MSGSDIR
|
||||||
export EJABBERD_LOG_PATH
|
export EJABBERD_LOG_PATH
|
||||||
export EJABBERD_SO_PATH
|
export SODIR
|
||||||
export EJABBERD_BIN_PATH
|
export PBINDIR
|
||||||
export ERL_CRASH_DUMP
|
export ERL_CRASH_DUMP
|
||||||
export ERL_INETRC
|
export ERL_INETRC
|
||||||
export ERL_MAX_PORTS
|
export ERL_MAX_PORTS
|
||||||
export ERL_MAX_ETS_TABLES
|
export ERL_MAX_ETS_TABLES
|
||||||
export HOME
|
export HOME
|
||||||
|
export EXEC_CMD
|
||||||
|
|
||||||
[ -d $EJABBERD_DB ] || mkdir -p $EJABBERD_DB
|
|
||||||
[ -d $LOGS_DIR ] || mkdir -p $LOGS_DIR
|
|
||||||
|
|
||||||
# Compatibility in ZSH
|
# Compatibility in ZSH
|
||||||
#setopt shwordsplit 2>/dev/null
|
#setopt shwordsplit 2>/dev/null
|
||||||
@ -80,14 +102,14 @@ export HOME
|
|||||||
# start server
|
# start server
|
||||||
start ()
|
start ()
|
||||||
{
|
{
|
||||||
erl \
|
$EXEC_CMD "$ERL \
|
||||||
$NAME $ERLANG_NODE \
|
$NAME $ERLANG_NODE \
|
||||||
-noinput -detached \
|
-noinput -detached \
|
||||||
-pa $EJABBERD_EBIN \
|
-pa $BEAMDIR \
|
||||||
-mnesia dir "\"$EJABBERD_DB\"" \
|
-mnesia dir \"\\\"$SPOOLDIR\\\"\" \
|
||||||
-s ejabberd \
|
-s ejabberd \
|
||||||
-sasl sasl_error_logger \{file,\"$SASL_LOG_PATH\"\} \
|
-sasl sasl_error_logger \\{file,\\\"$SASL_LOG_PATH\\\"\\} \
|
||||||
$ERLANG_OPTS $ARGS "$@"
|
$ERLANG_OPTS $ARGS \"$@\""
|
||||||
}
|
}
|
||||||
|
|
||||||
# attach to server
|
# attach to server
|
||||||
@ -109,10 +131,10 @@ debug ()
|
|||||||
echo "Press any key to continue"
|
echo "Press any key to continue"
|
||||||
read foo
|
read foo
|
||||||
echo ""
|
echo ""
|
||||||
erl \
|
$EXEC_CMD "$ERL \
|
||||||
$NAME ${NODE}debug \
|
$NAME ${NODE}debug \
|
||||||
-remsh $ERLANG_NODE \
|
-remsh $ERLANG_NODE \
|
||||||
$ERLANG_OPTS $ARGS "$@"
|
$ERLANG_OPTS $ARGS \"$@\""
|
||||||
}
|
}
|
||||||
|
|
||||||
# start interactive server
|
# start interactive server
|
||||||
@ -133,23 +155,22 @@ live ()
|
|||||||
echo "Press any key to continue"
|
echo "Press any key to continue"
|
||||||
read foo
|
read foo
|
||||||
echo ""
|
echo ""
|
||||||
erl \
|
$EXEC_CMD "$ERL \
|
||||||
$NAME $ERLANG_NODE \
|
$NAME $ERLANG_NODE \
|
||||||
$ERLANG_OPTS \
|
-pa $BEAMDIR \
|
||||||
-pa $EJABBERD_EBIN \
|
-mnesia dir \"\\\"$SPOOLDIR\\\"\" \
|
||||||
-mnesia dir "\"$EJABBERD_DB\"" \
|
|
||||||
-s ejabberd \
|
-s ejabberd \
|
||||||
$ERLANG_OPTS $ARGS "$@"
|
$ERLANG_OPTS $ARGS \"$@\""
|
||||||
}
|
}
|
||||||
|
|
||||||
# common control function
|
# common control function
|
||||||
ctl ()
|
ctl ()
|
||||||
{
|
{
|
||||||
erl \
|
$EXEC_CMD "$ERL \
|
||||||
$NAME ejabberdctl \
|
$NAME ejabberdctl \
|
||||||
-noinput \
|
-noinput \
|
||||||
-pa $EJABBERD_EBIN \
|
-pa $BEAMDIR \
|
||||||
-s ejabberd_ctl -extra $ERLANG_NODE $@
|
-s ejabberd_ctl -extra $ERLANG_NODE $@"
|
||||||
result=$?
|
result=$?
|
||||||
case $result in
|
case $result in
|
||||||
0) :;;
|
0) :;;
|
||||||
@ -163,8 +184,9 @@ ctl ()
|
|||||||
echo "Optional parameters when starting an ejabberd node:"
|
echo "Optional parameters when starting an ejabberd node:"
|
||||||
echo " --config file Config file of ejabberd: $EJABBERD_CONFIG_PATH"
|
echo " --config file Config file of ejabberd: $EJABBERD_CONFIG_PATH"
|
||||||
echo " --ctl-config file Config file of ejabberdctl: $CONFIG"
|
echo " --ctl-config file Config file of ejabberdctl: $CONFIG"
|
||||||
echo " --logs dir Directory for logs: $LOGS_DIR"
|
echo " --logs dir Directory for logs: $LOGDIR"
|
||||||
echo " --spool dir Database spool dir: $EJABBERD_DB"
|
echo " --spool dir Database spool dir: $SPOOLDIR"
|
||||||
|
echo " --node nodename ejabberd node name: $ERLANG_NODE"
|
||||||
echo "";;
|
echo "";;
|
||||||
esac
|
esac
|
||||||
return $result
|
return $result
|
||||||
|
@ -9,7 +9,8 @@ LIBS = @LIBS@
|
|||||||
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
||||||
ERLANG_LIBS = @ERLANG_LIBS@
|
ERLANG_LIBS = @ERLANG_LIBS@
|
||||||
|
|
||||||
EFLAGS = -I .. -pz ..
|
EFLAGS += -I ../../include
|
||||||
|
EFLAGS += -pz ..
|
||||||
# make debug=true to compile Erlang module with debug informations.
|
# make debug=true to compile Erlang module with debug informations.
|
||||||
ifdef debug
|
ifdef debug
|
||||||
EFLAGS+=+debug_info
|
EFLAGS+=+debug_info
|
||||||
|
@ -16,7 +16,9 @@ else
|
|||||||
DYNAMIC_LIB_CFLAGS = -fpic -shared
|
DYNAMIC_LIB_CFLAGS = -fpic -shared
|
||||||
endif
|
endif
|
||||||
|
|
||||||
EFLAGS = -I .. -pz ..
|
EFLAGS += -I ../../include
|
||||||
|
EFLAGS += -pz ..
|
||||||
|
|
||||||
# make debug=true to compile Erlang module with debug informations.
|
# make debug=true to compile Erlang module with debug informations.
|
||||||
ifdef debug
|
ifdef debug
|
||||||
EFLAGS+=+debug_info
|
EFLAGS+=+debug_info
|
||||||
|
@ -9,7 +9,9 @@ LIBS = @LIBS@
|
|||||||
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
||||||
ERLANG_LIBS = @ERLANG_LIBS@
|
ERLANG_LIBS = @ERLANG_LIBS@
|
||||||
|
|
||||||
EFLAGS = -I .. -pz ..
|
EFLAGS += -I ../../include
|
||||||
|
EFLAGS += -pz ..
|
||||||
|
|
||||||
# make debug=true to compile Erlang module with debug informations.
|
# make debug=true to compile Erlang module with debug informations.
|
||||||
ifdef debug
|
ifdef debug
|
||||||
EFLAGS+=+debug_info
|
EFLAGS+=+debug_info
|
||||||
|
@ -43,8 +43,8 @@
|
|||||||
|
|
||||||
-include("ejabberd.hrl").
|
-include("ejabberd.hrl").
|
||||||
-include("jlib.hrl").
|
-include("jlib.hrl").
|
||||||
-include("web/ejabberd_http.hrl").
|
-include("ejabberd_http.hrl").
|
||||||
-include("web/ejabberd_web_admin.hrl").
|
-include("ejabberd_web_admin.hrl").
|
||||||
|
|
||||||
-record(offline_msg, {us, timestamp, expire, from, to, packet}).
|
-record(offline_msg, {us, timestamp, expire, from, to, packet}).
|
||||||
|
|
||||||
|
@ -42,8 +42,8 @@
|
|||||||
|
|
||||||
-include("ejabberd.hrl").
|
-include("ejabberd.hrl").
|
||||||
-include("jlib.hrl").
|
-include("jlib.hrl").
|
||||||
-include("web/ejabberd_http.hrl").
|
-include("ejabberd_http.hrl").
|
||||||
-include("web/ejabberd_web_admin.hrl").
|
-include("ejabberd_web_admin.hrl").
|
||||||
|
|
||||||
-record(offline_msg, {user, timestamp, expire, from, to, packet}).
|
-record(offline_msg, {user, timestamp, expire, from, to, packet}).
|
||||||
|
|
||||||
|
@ -9,7 +9,9 @@ LIBS = @LIBS@
|
|||||||
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
||||||
ERLANG_LIBS = @ERLANG_LIBS@
|
ERLANG_LIBS = @ERLANG_LIBS@
|
||||||
|
|
||||||
EFLAGS = -I .. -pz ..
|
EFLAGS += -I ../../include
|
||||||
|
EFLAGS += -pz ..
|
||||||
|
|
||||||
# make debug=true to compile Erlang module with debug informations.
|
# make debug=true to compile Erlang module with debug informations.
|
||||||
ifdef debug
|
ifdef debug
|
||||||
EFLAGS+=+debug_info
|
EFLAGS+=+debug_info
|
||||||
|
@ -41,8 +41,8 @@
|
|||||||
%% API.
|
%% API.
|
||||||
-export([start_link/2]).
|
-export([start_link/2]).
|
||||||
|
|
||||||
-include("../ejabberd.hrl").
|
-include("ejabberd.hrl").
|
||||||
-include("../jlib.hrl").
|
-include("jlib.hrl").
|
||||||
|
|
||||||
-define(PROCNAME, ejabberd_mod_proxy65_service).
|
-define(PROCNAME, ejabberd_mod_proxy65_service).
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
]).
|
]).
|
||||||
|
|
||||||
-include("mod_proxy65.hrl").
|
-include("mod_proxy65.hrl").
|
||||||
-include("../ejabberd.hrl").
|
-include("ejabberd.hrl").
|
||||||
|
|
||||||
-define(WAIT_TIMEOUT, 60000). %% 1 minute (is it enough?)
|
-define(WAIT_TIMEOUT, 60000). %% 1 minute (is it enough?)
|
||||||
|
|
||||||
|
@ -9,7 +9,9 @@ LIBS = @LIBS@
|
|||||||
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
||||||
ERLANG_LIBS = @ERLANG_LIBS@
|
ERLANG_LIBS = @ERLANG_LIBS@
|
||||||
|
|
||||||
EFLAGS = -I .. -pz ..
|
EFLAGS += -I ../../include
|
||||||
|
EFLAGS += -pz ..
|
||||||
|
|
||||||
# make debug=true to compile Erlang module with debug informations.
|
# make debug=true to compile Erlang module with debug informations.
|
||||||
ifdef debug
|
ifdef debug
|
||||||
EFLAGS+=+debug_info
|
EFLAGS+=+debug_info
|
||||||
|
@ -241,13 +241,12 @@ send_welcome_message(JID) ->
|
|||||||
{"", ""} ->
|
{"", ""} ->
|
||||||
ok;
|
ok;
|
||||||
{Subj, Body} ->
|
{Subj, Body} ->
|
||||||
BodyFormatted = io_lib:format(Body, []),
|
|
||||||
ejabberd_router:route(
|
ejabberd_router:route(
|
||||||
jlib:make_jid("", Host, ""),
|
jlib:make_jid("", Host, ""),
|
||||||
JID,
|
JID,
|
||||||
{xmlelement, "message", [{"type", "normal"}],
|
{xmlelement, "message", [{"type", "normal"}],
|
||||||
[{xmlelement, "subject", [], [{xmlcdata, Subj}]},
|
[{xmlelement, "subject", [], [{xmlcdata, Subj}]},
|
||||||
{xmlelement, "body", [], [{xmlcdata, BodyFormatted}]}]});
|
{xmlelement, "body", [], [{xmlcdata, Body}]}]});
|
||||||
_ ->
|
_ ->
|
||||||
ok
|
ok
|
||||||
end.
|
end.
|
||||||
|
@ -47,8 +47,8 @@
|
|||||||
-include("ejabberd.hrl").
|
-include("ejabberd.hrl").
|
||||||
-include("jlib.hrl").
|
-include("jlib.hrl").
|
||||||
-include("mod_roster.hrl").
|
-include("mod_roster.hrl").
|
||||||
-include("web/ejabberd_http.hrl").
|
-include("ejabberd_http.hrl").
|
||||||
-include("web/ejabberd_web_admin.hrl").
|
-include("ejabberd_web_admin.hrl").
|
||||||
|
|
||||||
|
|
||||||
start(Host, Opts) ->
|
start(Host, Opts) ->
|
||||||
|
@ -46,8 +46,8 @@
|
|||||||
-include("ejabberd.hrl").
|
-include("ejabberd.hrl").
|
||||||
-include("jlib.hrl").
|
-include("jlib.hrl").
|
||||||
-include("mod_roster.hrl").
|
-include("mod_roster.hrl").
|
||||||
-include("web/ejabberd_http.hrl").
|
-include("ejabberd_http.hrl").
|
||||||
-include("web/ejabberd_web_admin.hrl").
|
-include("ejabberd_web_admin.hrl").
|
||||||
|
|
||||||
|
|
||||||
start(Host, Opts) ->
|
start(Host, Opts) ->
|
||||||
|
@ -52,8 +52,8 @@
|
|||||||
-include("ejabberd.hrl").
|
-include("ejabberd.hrl").
|
||||||
-include("jlib.hrl").
|
-include("jlib.hrl").
|
||||||
-include("mod_roster.hrl").
|
-include("mod_roster.hrl").
|
||||||
-include("web/ejabberd_http.hrl").
|
-include("ejabberd_http.hrl").
|
||||||
-include("web/ejabberd_web_admin.hrl").
|
-include("ejabberd_web_admin.hrl").
|
||||||
|
|
||||||
-record(sr_group, {group_host, opts}).
|
-record(sr_group, {group_host, opts}).
|
||||||
-record(sr_user, {us, group_host}).
|
-record(sr_user, {us, group_host}).
|
||||||
|
@ -50,7 +50,7 @@
|
|||||||
]).
|
]).
|
||||||
|
|
||||||
-include("ejabberd.hrl").
|
-include("ejabberd.hrl").
|
||||||
-include("eldap/eldap.hrl").
|
-include("eldap.hrl").
|
||||||
-include("jlib.hrl").
|
-include("jlib.hrl").
|
||||||
|
|
||||||
-define(PROCNAME, ejabberd_mod_vcard_ldap).
|
-define(PROCNAME, ejabberd_mod_vcard_ldap).
|
||||||
|
@ -9,7 +9,9 @@ LIBS = @LIBS@
|
|||||||
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
||||||
ERLANG_LIBS = @ERLANG_LIBS@
|
ERLANG_LIBS = @ERLANG_LIBS@
|
||||||
|
|
||||||
EFLAGS = -I .. -pz ..
|
EFLAGS += -I ../../include
|
||||||
|
EFLAGS += -pz ..
|
||||||
|
|
||||||
# make debug=true to compile Erlang module with debug informations.
|
# make debug=true to compile Erlang module with debug informations.
|
||||||
ifdef debug
|
ifdef debug
|
||||||
EFLAGS+=+debug_info
|
EFLAGS+=+debug_info
|
||||||
|
@ -9,7 +9,9 @@ LIBS = @LIBS@ @PAM_LIBS@
|
|||||||
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
||||||
ERLANG_LIBS = @ERLANG_LIBS@
|
ERLANG_LIBS = @ERLANG_LIBS@
|
||||||
|
|
||||||
EFLAGS = -I .. -pz ..
|
EFLAGS += -I ../../include
|
||||||
|
EFLAGS += -pz ..
|
||||||
|
|
||||||
# make debug=true to compile Erlang module with debug informations.
|
# make debug=true to compile Erlang module with debug informations.
|
||||||
ifdef debug
|
ifdef debug
|
||||||
EFLAGS+=+debug_info
|
EFLAGS+=+debug_info
|
||||||
|
@ -19,7 +19,9 @@ else
|
|||||||
DYNAMIC_LIB_CFLAGS = -fpic -shared
|
DYNAMIC_LIB_CFLAGS = -fpic -shared
|
||||||
endif
|
endif
|
||||||
|
|
||||||
EFLAGS = -I .. -pz ..
|
EFLAGS += -I ../../include
|
||||||
|
EFLAGS += -pz ..
|
||||||
|
|
||||||
# make debug=true to compile Erlang module with debug informations.
|
# make debug=true to compile Erlang module with debug informations.
|
||||||
ifdef debug
|
ifdef debug
|
||||||
EFLAGS+=+debug_info
|
EFLAGS+=+debug_info
|
||||||
|
@ -9,7 +9,9 @@ LIBS = @LIBS@
|
|||||||
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
ERLANG_CFLAGS = @ERLANG_CFLAGS@
|
||||||
ERLANG_LIBS = @ERLANG_LIBS@
|
ERLANG_LIBS = @ERLANG_LIBS@
|
||||||
|
|
||||||
EFLAGS = -I .. -pz ..
|
EFLAGS += -I ../../include
|
||||||
|
EFLAGS += -pz ..
|
||||||
|
|
||||||
# make debug=true to compile Erlang module with debug informations.
|
# make debug=true to compile Erlang module with debug informations.
|
||||||
ifdef debug
|
ifdef debug
|
||||||
EFLAGS+=+debug_info
|
EFLAGS+=+debug_info
|
||||||
@ -21,7 +23,7 @@ BEAMS = $(addprefix $(OUTDIR)/,$(SOURCES:.erl=.beam))
|
|||||||
|
|
||||||
all: $(BEAMS)
|
all: $(BEAMS)
|
||||||
|
|
||||||
$(OUTDIR)/%.beam: %.erl ejabberd_http.hrl
|
$(OUTDIR)/%.beam: %.erl
|
||||||
@ERLC@ -W $(EFLAGS) -o $(OUTDIR) $<
|
@ERLC@ -W $(EFLAGS) -o $(OUTDIR) $<
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
Loading…
Reference in New Issue
Block a user