25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-24 16:23:40 +01:00
Commit Graph

143 Commits

Author SHA1 Message Date
Paweł Chmielowski
4bd45bada7 Start elixir config code only if elixir was enabled in configure script 2016-09-08 16:29:45 +02:00
gabrielgatu
803270fc6b
Support for Elixir configuration file #1208
Contribution for Google Summer of code 2016 by Gabriel Gatu
2016-09-08 11:37:14 +02:00
Christophe Romain
af0a493c66 Merge pull request #1253 from Amuhar/xep0356 2016-09-07 14:34:31 +02:00
Mickael Remond
d02d7b2b6a
Remove compile warning 2016-08-01 15:35:54 +02:00
gabrielgatu
91865c66c0 Start elixir application after ejabberd_app:start_apps() 2016-07-28 15:57:35 +02:00
Badlop
8a7b31ca63 When stopping ejabberd, stop modules after broadcasting c2s shutdown (#1144) 2016-06-07 18:41:38 +02:00
Evgeniy Khramtsov
068db1a2d9 Handle Redis connection in a separate module 2016-05-09 08:36:30 +03:00
Badlop
78a44d8099 Move start and stop_modules/0 from ejabberd_app to gen_mod (#1039) 2016-03-29 15:26:34 +02:00
Badlop
c985a2bd3d Start ezlib only if required, as it's optional (#1006) 2016-03-16 11:11:43 +01:00
Mickael Remond
dfc29ea03c Switch to Fast XML module 2016-02-03 19:03:17 +01:00
Mickael Remond
71ee0d56fa Switch to fast_tls and update app names 2016-02-03 16:13:16 +01:00
Mickael Remond
9ae1371c6e Convert more dependencies to new repository / packages 2016-02-03 12:30:12 +01:00
Mickael Remond
0de222d998 Convert code to use Fast YAML 2016-02-03 11:30:48 +01:00
Mickael Remond
e8ba7bce24 Use stringprep app name 2016-02-03 10:12:25 +01:00
Badlop
f448ff608a Update copyright to 2016 (#901) 2016-01-13 12:29:14 +01:00
Mickael Remond
e5ae35c66b Update cache_tab app name 2015-12-01 19:17:51 +01:00
Evgeniy Khramtsov
95265dd3ad Move JID related functions to jid.erl (#847) 2015-11-24 18:44:13 +03:00
Paweł Chmielowski
e54e543a66 Faster string_to_jid/1 implementation
This version is about 10-15% faster than old one
2015-11-03 14:41:01 +01:00
Christophe Romain
a1129dc96b Add OAuth support (thanks to Aleksey) 2015-09-25 15:49:07 +02:00
Badlop
a50f00f9e8 Include ext_mod modules when checking accepted options (ejabberd-contrib#116) 2015-09-10 20:11:02 +02:00
Paweł Chmielowski
dcf5aefea0 Add option to set net_ticktime (EJAB-1742) 2015-06-15 14:57:07 +02:00
Evgeniy Khramtsov
fb6267f38e Add config validation at startup 2015-06-01 15:38:27 +03:00
Badlop
d0443bb714 An auth external module requires ext_mod to be started first (#578) 2015-05-27 13:10:15 +02:00
Mickael Remond
c140f98276 Explicitly start crypto with start
This is to please Elixir / Phoenix enviroment
2015-04-07 09:03:37 +02:00
Mickael Remond
34f8f6d868 Explicitely start crypto module
Without explicit start, it causes issue when embedding ejabberd into other apps.
2015-04-06 13:46:09 +02:00
Mickael Remond
47537aa901 Make sure Mnesia dir environment and log file are list, not binary
This is useful for Elixir configuration, as binary is the more natural data type.
Closes #514
2015-04-06 11:36:16 +02:00
Christophe Romain
8b23727cc6 Start ext_mod before module as it's setup contrib path 2015-03-20 15:06:02 +01:00
Christophe Romain
2d53f7f83e start ext_mod in later stage at init 2015-03-11 17:39:07 +01:00
Christophe Romain
f77622067b Add packaging support for contributed modules
This is a preliminary version that is tested to work with the packaging
branch of ejabberd-modules repository

This version lacks automatic configuration include at runtime
2015-03-11 14:14:28 +01:00
Evgeniy Khramtsov
72d9b099c6 Make it possible to use SQL as an SM backend 2015-03-09 16:41:13 +03:00
Badlop
5a35405cd5 Update copyright dates to 2015 (EJAB-1733) 2015-01-08 17:34:43 +01:00
Alexey Shchepin
a4b02c38db Updated riak support 2014-07-10 13:15:15 +04:00
Holger Weiss
1ef2dd45f3 Check for Mnesia node name mismatches
Log a proper error message if the node running ejabberd doesn't own the
Mnesia database.
2014-06-12 11:00:22 +02:00
Evgeniy Khramtsov
181e7a823e Fix C2S session close on server shutdown 2014-05-08 21:39:53 +04:00
badlop
285c4c17cf Merge pull request #146 from jamielinux/master
Update FSF address
2014-04-11 13:35:46 +02:00
Badlop
633d47f784 Update copyright dates to 2014 (EJAB-1679) 2014-03-13 12:30:57 +01:00
Jamie Nguyen
8538997d61 Update FSF address 2014-02-22 10:27:40 +00:00
Evgeniy Khramtsov
91a74e3e27 Change configuration file format to YAML 2013-08-21 22:17:59 +10:00
Evgeniy Khramtsov
0aca3a4585 Improve the applications start-up
* Check if all modules present for every application loaded.
* Get rid of now obsoleted 'ejabberd_check' module.
2013-07-07 02:19:51 +10:00
Evgeniy Khramtsov
597934637c Logger improvements.
lager:
	* It is now possible to change the loglevel.
	* Log rotation is now supported as well.
p1_logger:
	* When rotating a log file, add suffix ".0" to the renamed file.
	  This is needed in order to be consistent with lager
	  rotation mechanism.
2013-06-27 19:03:33 +10:00
Evgeniy Khramtsov
4d8f770624 Switch to rebar build tool
Use dynamic Rebar configuration
Make iconv dependency optional
Disable transient_supervisors compile option
Add hipe compilation support
Only compile ibrowse and lhttpc when needed
Make it possible to generate an OTP application release
Add --enable-debug compile option
Add --enable-all compiler option
Add --enable-tools configure option
Add --with-erlang configure option.
Add --enable-erlang-version-check configure option.
Add lager support
Improve the test suite
2013-06-13 11:11:02 +02:00
Badlop
9deb294328 Accumulated patch to binarize and indent code 2013-03-14 10:33:02 +01:00
Alexey Shchepin
0ae400533c Update copyright dates 2013-01-24 16:25:13 +02:00
Badlop
a47fd96cc8 On shutdown, first stop listeners, then modules (thanks to Vishal Xica)(EJAB-1566) 2012-07-25 13:02:21 +02:00
Alexey Shchepin
b1e2538488 Update copyright dates 2012-02-23 17:52:34 +02:00
Evgeniy Khramtsov
1994c8a174 Change argument of open_port/2 to string in order to shut up the dialyzer 2011-09-05 15:28:14 +10:00
Christophe Romain
fd52f2cb7d update copyright up to 2011 2011-02-14 13:50:55 +01:00
Evgeniy Khramtsov
c9ff370278 Loading ASN.1 driver explicitly to avoid races in LDAP (EJAB-1284) 2010-08-04 19:23:52 +10:00
Evgeniy Khramtsov
715cc5ea3b New configure option: --enable-nif 2010-07-01 20:54:01 +10:00
Badlop
1777ecd15a Makefile with optional ejabberd_debug.erl compilation (EJAB-1242)
Only compile and install ejabberd_debug.erl when running:
 make ejabberd_debug=true
2010-05-28 00:51:25 +02:00
Badlop
7b76fdcde7 Update year of ProcessOne copyright from 2009 to 2010 (EJAB-1159)
SVN Revision: 2891
2010-01-12 16:11:32 +00:00
Badlop
7cbda8badb When ejabberd stops, send stream close to clients (thanks to Alexey Shchepin)(EJAB-1112)
SVN Revision: 2852
2010-01-03 00:35:51 +00:00
Badlop
da50ec6215 Start mnesia as a permanent application (thanks to Brian Cully)(EJAB-1068)
SVN Revision: 2673
2009-10-19 10:41:44 +00:00
Badlop
1b81a2e3d6 Write PID file, path is configurable in ejabberdctl.cfg (EJAB-1023)
SVN Revision: 2526
2009-08-24 21:21:04 +00:00
Mickaël Rémond
077b9cd4db * src/ejabberd_debug.erl: Handled fprof based profiling (EJABS-872).
* src/ejabberd_app.erl: Likewise.

SVN Revision: 2070
2009-05-11 16:48:56 +00:00
Badlop
18af5f8675 Merge misplaced 2055 2058 and 2062 from ejabberd-2.0.4.
* src/ejabberd_app.erl: Better support for profiling.
* src/ejabberd.erl: Likewise
* src/ejabberd_ctl.erl: Likewise
* src/ejabberd_debug.erl: Likewise

SVN Revision: 2063
2009-05-07 22:46:51 +00:00
Badlop
f214b8c528 Fix mistake when calling win32_dns.
SVN Revision: 1990
2009-03-11 18:36:27 +00:00
Badlop
f826dc2f9f * src/ejabberd_app.erl: In a Windows machine, explicitly add the
nameservers, as it seems Erlang does not do itself (EJAB-860)
* src/win32_dns.erl: Get name servers from Windows registy (thanks
to Geoff Cant)

SVN Revision: 1968
2009-03-05 20:03:18 +00:00
Badlop
f09509502e * doc/guide.tex: Update copyright date 2008 to 2009 (EJAB-842)
* doc/guide.html: Likewise
* src/*/*.erl: Likewise
* src/*/*.erl: Remove unneeded blankspaces in license text

SVN Revision: 1804
2009-01-12 14:44:42 +00:00
Badlop
91a7110941 * src/*.erl: Fix EDoc comments
SVN Revision: 1771
2009-01-03 21:29:54 +00:00
Badlop
9e55a1291a * src/ejabberd_app.erl: Open ejabberd.log sooner, so errors during
ejabberd initialization are logged in that file (EJAB-777). Write
a log message when ejabberd finishes the start or stop.

SVN Revision: 1667
2008-10-24 22:07:38 +00:00
Badlop
25d1094468 * src/ejabberd_app.erl: Initialize ejabberd_commands and start
ejabbed_admin (EJAB-694)

SVN Revision: 1635
2008-10-12 11:56:07 +00:00
Badlop
9194c25a4e * src/ejabberd_app.erl: Start listeners explicitely at server
start after everything else (EJAB-303). Implement support in
ejabberd for 'independent listeners', which handle their
connections themselves: gen_tcp:listen, etc.
* src/ejabberd_listener.erl: Likewise
* src/ejabberd_socket.erl: Likewise
* src/ejabberd_sup.erl: Likewise

SVN Revision: 1631
2008-10-12 11:11:29 +00:00
Badlop
c3bda4aaee * doc/guide.tex: Update Process-one name to ProcessOne (EJAB-708)
* doc/guide.html: Likewise
* doc/api/overview.edoc: Likewise
* src/*/*.erl: Likewise
* src/*/*.hrl: Likewise
* src/*/*.c: Likewise
* src/odbc/*.sql: Likewise

SVN Revision: 1499
2008-07-31 11:18:49 +00:00
Badlop
2660bc514f * src/gen_mod.erl: When ejabberd is kindly stopped, don't forget
modules configuration (EJAB-706)
* src/ejabberd_app.erl: Likewise

SVN Revision: 1497
2008-07-30 18:11:14 +00:00
Badlop
dcc00bca6d * src/ejabberd_listener.erl: Remove code of the unused listening
socket option 'ssl' (EJAB-159)
* src/ejabberd_app.erl: Likewise

SVN Revision: 1263
2008-03-31 19:48:35 +00:00
Badlop
22a5bce9de * src/ejabberd_app.erl (prep_stop): Stop modules when stopping
ejabberd (EJAB-536)
* src/mod_caps.erl (stop): Probably not needed to stop supervisor
child (EJAB-536)
* src/mod_muc/mod_muc.erl (room_destroyed): Catch message
sending (EJAB-536)
* src/mod_muc/mod_muc_room.erl (init): Ensure rooms are called
when the process dies due to a linked die (EJAB-536)

SVN Revision: 1212
2008-02-28 00:30:23 +00:00
Mickaël Rémond
868182d1c8 * src/ejabberd_check.erl: Separate config loading from configuration sanity checks (EJAB-533)
* src/src/ejabberd_app.erl: Likewise
* src/ejabberd_app.erl: Likewise

SVN Revision: 1210
2008-02-27 20:15:25 +00:00
Badlop
2d2fcc8210 * doc/guide.tex: Updated copyright dates to 2008
* src/*: Likewise

SVN Revision: 1153
2008-01-15 17:02:57 +00:00
Mickaël Rémond
56fe3579bb * Applied copyright update patch 1.
SVN Revision: 1110
2007-12-24 11:41:41 +00:00
Badlop
d625fc80fc * src/acl.erl and other 64 files: Remove Erlang module attribute
'vsn' because it doesn't provide any worth feature, and it
difficults hot code update (EJAB-440)

SVN Revision: 1044
2007-12-06 22:12:27 +00:00
Mickaël Rémond
221532428f * src/ejabberd_config.erl: Normalize hostnames in config file. If mixed case is used, the hostname will be now useable (EJAB-277).
* src/stringprep/stringprep_sup.erl: Likewise
* src/stringprep/Makefile.in: Likewise
* src/stringprep/Makefile.win32: Likewise
* src/ejabberd_app.erl: Likewise

SVN Revision: 806
2007-06-29 17:27:42 +00:00
Mickaël Rémond
beb3a450f0 * src/ejabberd_loglevel.erl: Preliminary dynamic loglevel support.
Debug can be enabled with the command "ejabberd_loglevel:set(5)".
(EJAB-74)
* src/ejabberd_app.erl: Likewise.
* src/ejabberd.hrl: Likewise (More log levels are now supported).
* src/ram_file_io_server.erl: Likewise (Needed to dynamically
recompile the error logger).

SVN Revision: 689
2006-12-04 16:07:44 +00:00
Alexey Shchepin
091d2bcb00 * src/ejabberd_node_groups.erl: Support for node tagging
* src/ejabberd_sup.erl: Likewise
* src/ejabberd_frontend_socket.erl: Use node tags to determine
backend nodes
* src/ejabberd_config.erl: Added node_type and cluster_nodes
options
* src/ejabberd_app.erl: Establish connections to the nodes from
the cluster_nodes option

* src/ejabberd_router.erl: Added balancing method option
* src/ejabberd_config.erl: Likewise

SVN Revision: 676
2006-11-07 02:08:51 +00:00
Mickaël Rémond
b2a944a4a2 * src/ejabberd_rdbms.erl: It is now possible to use ldap or
internal authentication with some other modules using relationnal
database storage (EJAB-152). Refactored relational databases
connections initialisation.
* src/ejabberd_auth_odbc.erl: Likewise. odbc supervisor startup is now
delegated to the ejabberd rdbms module.
* src/ejabberd_app.erl: Likewise.

SVN Revision: 664
2006-10-25 07:56:49 +00:00
Alexey Shchepin
80181dc618 * src/ejabberd_ctl.erl: Added API for virtual host specific
commands, removed registered-users command
* src/ejabberd_auth.erl: Added processing of registered-users
command
* src/ejabberd_auth_internal.erl: Likewise
* src/ejabberd_auth_ldap.erl: Likewise
* src/ejabberd_auth_odbc.erl: Likewise
* src/ejabberd_app.erl: Added inititalization of ejabberd_ctl
* src/ejabberd_sm.erl: Minor update

SVN Revision: 510
2006-02-20 04:07:42 +00:00
Alexey Shchepin
144f9f09e7 * src/tls/tls.erl: Accept {error,already_loaded} from
erl_ddll:load_driver/2
* src/stringprep/stringprep.erl: Likewise
* src/mod_irc/iconv.erl: Likewise
* src/ejabberd_app.erl: Likewise

SVN Revision: 427
2005-10-25 02:19:01 +00:00
Alexey Shchepin
6309f41b9a * src/ejabberd_app.erl: Try to load tls_drv at startup to avoid
unloading of libssl (thanks to Brian Campbell)

SVN Revision: 425
2005-10-21 21:22:00 +00:00
Alexey Shchepin
3202705ad6 * src/mod_register.erl: Bugfix
* src/mod_vcard.erl: Bugfix

* src/ejabberd_app.erl: Updated to allow different authentication
methods for different virtual hosts
* src/ejabberd_auth.erl: Likewise
* src/ejabberd_auth_external.erl: Likewise
* src/ejabberd_auth_internal.erl: Likewise
* src/ejabberd_auth_ldap.erl: Likewise
* src/ejabberd_auth_odbc.erl: Likewise
* src/cyrsasl.erl: Likewise
* src/cyrsasl_digest.erl: Likewise
* src/cyrsasl_plain.erl: Likewise
* src/ejabberd_c2s.erl: Likewise
* src/ejabberd_config.erl: Likewise
* src/extauth.erl: Likewise
* src/mod_last_odbc.erl: Likewise
* src/mod_offline_odbc.erl: Likewise
* src/mod_roster_odbc.erl: Likewise
* src/odbc/ejabberd_odbc.erl: Likewise
* src/odbc/ejabberd_odbc_sup.erl: Likewise

SVN Revision: 374
2005-07-13 03:24:13 +00:00
Alexey Shchepin
37bf811f4b * src/ejabberd_app.erl: Bugfix
SVN Revision: 373
2005-07-03 01:44:13 +00:00
Alexey Shchepin
4098c3ecba * (all): Enhanced virtual hosting support
SVN Revision: 370
2005-06-20 03:18:13 +00:00
Alexey Shchepin
b542249f11 * src/ejabberd.erl: Added searching of files in code:priv_lib
(thanks to Sergei Golovan)
* src/translate.erl: Likewise

* src/ejabberd_app.erl: Added "log_path" configuration parameter
(thanks to Sergei Golovan)

* src/**/Makefile.win32: Updated (thanks to Sergei Golovan)

* src/**/*.c: Updated (thanks to Sergei Golovan)

* src/configure.erl: Added writing of version to Makefile.inc
(thanks to Sergei Golovan)

* doc/guide.tex: Updated link to expat (thanks to Sergei Golovan)

SVN Revision: 223
2004-04-15 19:55:38 +00:00
Alexey Shchepin
7f9b7e64c3 * src/ejabberd_app.erl: Bugfix
SVN Revision: 196
2004-01-06 12:03:39 +00:00
Alexey Shchepin
91aeaae9a5 * src/ejabberd_app.erl: Now possible to specify path to log file
via "EJABBERD_LOG_PATH" environment variable

* src/translate.erl: Now possible to specify path to "msgs"
directory via "EJABBERD_MSGS_PATH" environment variable

* src/ejabberd.erl: Added get_so_path/0 function
* src/ejabberd_app.erl: Use ejabberd:get_so_path/0 to load .so
* src/mod_irc/iconv.erl: Likewise
* src/stringprep/stringprep.erl: Likewise

SVN Revision: 192
2003-12-28 20:59:21 +00:00
Alexey Shchepin
e91a755fd9 * src/ejabberd_logger_h.erl: New error_logger handler
* src/ejabberd_app.erl: Now uses ejabberd_logger_h.erl

SVN Revision: 158
2003-10-23 19:20:56 +00:00
Alexey Shchepin
a704f9760d * src/ejabberd_service.erl: Added supports for multiple hosts per
service

* src/Makefile.in: Minor fix

SVN Revision: 153
2003-10-18 19:15:12 +00:00
Alexey Shchepin
4b48617a2d * src/stringprep/stringprep_drv.c: Removed needless iconv.h
include

* src/ejabberd_c2s.erl: Added filtering of presence packets with
privacy rules

* src/mod_roster.erl (get_jid_info): Bugfix

* src/ejabberd_app.erl: Removed periodical dumping of opened ports

SVN Revision: 147
2003-10-10 19:01:11 +00:00
Alexey Shchepin
ca5d88c368 * (all): Reorganized supervision tree
SVN Revision: 125
2003-07-20 20:35:35 +00:00
Alexey Shchepin
86cd1729cb * src/ejabberd_local.erl: Updated missed errors to new style
* src/mod_register.erl: Likewise
* src/mod_version.erl: Likewise
* src/mod_time.erl: Likewise
* src/mod_stats.erl: Likewise
* src/mod_register.erl: Likewise
* src/mod_private.erl: Likewise
* src/mod_configure.erl: Likewise
* src/ejabberd_sm.erl: Likewise
* src/ejabberd_service.erl: Likewise
* src/ejabberd_c2s.erl: Likewise
* src/ejabberd_s2s_out.erl: Likewise
* src/mod_vcard.erl: Likewise
* src/mod_roster.erl: Likewise

* src/mod_muc/mod_muc.erl: Added vcard to mod_muc module

* src/ejabberd_app.erl: Dump list of opened ports every hour

* src/ejabberd.hrl: Added INFO_MSG macros, ERROR_LOG_PATH renamed
to LOG_PATH

SVN Revision: 106
2003-05-09 19:32:59 +00:00
Alexey Shchepin
f3916bddd2 * src/cyrsasl*.erl: SASL support (currently support only PLAIN
mechanism)
* src/ejabberd_c2s.erl: Likewise

(all): Support for new-style error elements (except old errors
"Not Acceptable", "Not Found", "Invalid Namespace" and "Server
Connect Failed", so ejabberd may work unstable)

SVN Revision: 86
2003-03-09 20:46:47 +00:00
Alexey Shchepin
e77591fef0 *** empty log message ***
SVN Revision: 68
2003-02-10 12:55:05 +00:00
Alexey Shchepin
f34888749d *** empty log message ***
SVN Revision: 67
2003-02-10 12:43:19 +00:00
Alexey Shchepin
6599d1ecc5 *** empty log message ***
SVN Revision: 55
2003-02-01 20:21:28 +00:00