Evgeniy Khramtsov
054413d8f4
Halt ejabberd if the top supervisor fails to start
2017-11-14 18:41:28 +03:00
Evgeniy Khramtsov
e4d21c1941
Introduce mod_avatar
...
The purpose of the module is to cope with legacy and modern
XMPP clients posting avatars. It automatically converts vCard based
avatars (XEP-0153) to PEP based avatars (XEP-0084) and vice versa.
Also, the module supports convertation between avatar image formats on
the fly: this is controlled by `convert` option. For example, to
convert all avatars into PNG format, configure the module as:
mod_avatar:
convert:
default: png
In order to convert only `webp` format to `jpeg`, set the following:
mod_avatar:
convert:
webp: jpeg
Note: the module depends on mod_vcard, mod_vcard_xupdate and mod_pubsub.
Also, ejabberd should be built with --enable-graphics option.
2017-09-17 10:26:48 +03:00
Evgeniy Khramtsov
ffdaff3740
Make ejabberd_cluster modular
...
For setting the cluster backend new global option 'cluster_backend' is
introduced. The default and only available value at the moment is 'mnesia'
2017-07-06 15:47:35 +03:00
Evgeniy Khramtsov
01a2c9fe12
Add type specs for Module:opt_type/1
2017-05-08 12:59:28 +03:00
Evgeniy Khramtsov
b82b93f8f0
Don't validate an option in ejabberd_config:get_option() functions
...
The commit introduces the following changes:
* Now there is no need to pass validating function in
ejabberd_config:get_option() functions, because the configuration
keeps already validated values.
* New function ejabberd_config:get_option/1 is introduced
* Function ejabberd_config:get_option/3 is deprecated. If the function
is still called, the second argument (validating function) is simply
ignored.
* The second argument for ejabberd_config:get_option/2 is now
a default value, not a validating function.
2017-04-29 11:39:40 +03:00
Evgeniy Khramtsov
0b93cb7ece
Store options using p1_options module
2017-04-27 19:44:58 +03:00
Evgeniy Khramtsov
02790b105e
Speedup Mnesia tables initialization
2017-04-21 12:27:15 +03:00
Alexey Shchepin
19614678e9
Change mnesia dir detection
2017-04-03 12:57:47 +03:00
Evgeniy Khramtsov
e30d41e5f0
Merge branch 'new_queue'
...
Conflicts:
rebar.config
src/mod_muc_admin.erl
2017-03-24 13:27:56 +03:00
Evgeniy Khramtsov
72da5bd062
Log startup time
2017-03-18 10:24:42 +03:00
Evgeniy Khramtsov
02064ae12a
Add support for file-based queues
...
It's now possible to use files as internal packet queues.
The following options are introduced:
* queue_type: the option can be set to `ram` (default) or `file`.
The option can be set per virtual host.
* queue_dir: path to the directory where queues will be allocated.
The default is 'queue' directory inside Mnesia directory.
This is a global option and cannot be set per virtual host.
2017-03-10 15:12:43 +03:00
Evgeniy Khramtsov
7a9fa52e91
Change loglevel on configuration reload
2017-02-27 11:11:29 +03:00
Evgeniy Khramtsov
fadcc85553
Put more stuff under supervision
2017-02-26 15:10:59 +03:00
Evgeniy Khramtsov
67d6ca9f10
Improve startup procedure
2017-02-24 12:05:47 +03:00
Evgeniy Khramtsov
7d68112265
Start/stop virtual hosts when reloading configuration file
2017-02-23 10:12:19 +03:00
Evgeniy Khramtsov
d5d906184f
Merge branch 'new_stream'
...
Conflicts:
src/cyrsasl.erl
src/ejabberd_c2s.erl
src/ejabberd_cluster.erl
src/ejabberd_frontend_socket.erl
src/ejabberd_node_groups.erl
src/ejabberd_router.erl
src/mod_bosh.erl
src/mod_ip_blacklist.erl
src/mod_muc_mnesia.erl
src/mod_offline.erl
src/mod_proxy65_sm.erl
2017-01-20 19:35:46 +03:00
Evgeniy Khramtsov
02f96d0f41
Implement database backend interface for ejabberd_router
2017-01-11 16:25:43 +03:00
Badlop
5fdd1c39fe
Update copyright date automatically ( #1442 )
2017-01-02 21:42:06 +01:00
Evgeniy Khramtsov
309bdfbe28
Add xmpp_stream_out behaviour and rewrite s2s/SM code
2016-12-28 09:47:11 +03:00
Evgeniy Khramtsov
c7ae916afc
Don't forget to start XMPP application
2016-11-21 10:23:09 +03:00
Christophe Romain
309962fb8b
Use p1_http from p1_utils 1.0.6
2016-11-14 16:52:03 +01:00
Evgeniy Khramtsov
78a44e0176
Merge branch 'master' into xml-ng
...
Conflicts:
src/adhoc.erl
src/cyrsasl_oauth.erl
src/ejabberd_c2s.erl
src/ejabberd_config.erl
src/ejabberd_service.erl
src/gen_mod.erl
src/mod_admin_extra.erl
src/mod_announce.erl
src/mod_carboncopy.erl
src/mod_client_state.erl
src/mod_configure.erl
src/mod_echo.erl
src/mod_mam.erl
src/mod_muc.erl
src/mod_muc_room.erl
src/mod_offline.erl
src/mod_pubsub.erl
src/mod_stats.erl
src/node_flat_sql.erl
src/randoms.erl
2016-11-12 13:27:15 +03:00
Paweł Chmielowski
98e0123ca4
New api permissions framework
2016-10-05 13:21:11 +02:00
Alexey Shchepin
ac6f701033
Add http_p1.erl, rest.erl, and oauth2 ReST backend for tokens.
2016-09-27 05:57:14 +03:00
Holger Weiss
8fd888eb2b
Revert "Don't log an [error] message if Elixir is missing"
...
This reverts commit 41386d718d
. The issue
was fixed with commit 4bd45bada7
.
2016-09-08 18:11:54 +02:00
Holger Weiss
41386d718d
Don't log an [error] message if Elixir is missing
...
The Elixir support is still optional.
Closes #1250 .
2016-09-08 17:59:40 +02:00
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