25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-28 16:34:13 +01:00
Commit Graph

195 Commits

Author SHA1 Message Date
Evgeniy Khramtsov
c17ec50e3a Add support for XEP-0368: SRV records for XMPP over TLS
Currently this is only supported for outgoing s2s connections.
For such connections ejabberd is now able to resolve SRV records
of type "_xmpps-server._tcp". Also, SNI and ALPN fields are set
during TLS handshake. No additional configuration is required.
2017-09-27 12:03:05 +03:00
Paweł Chmielowski
05feab35c4 Call earlier deps configure scripts durring compilation 2017-09-26 17:32:37 +02:00
Evgeniy Khramtsov
3e987d3bae Use eimp instead of ImageMagick calls for thumbnails creation 2017-09-25 12:41:12 +03:00
Evgeniy Khramtsov
f435d0a103 Add GIF support 2017-09-17 17:34:31 +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
Christophe Romain
5414cbe821 Add riakc dependency version 2017-09-13 09:49:43 +02:00
Konstantinos Kallas
315e330237 Fix version of jose library 2017-09-06 18:35:33 +03:00
Evgeniy Khramtsov
81581f7794 Use forked repo of Riak Erlang client 2017-08-23 10:35:39 +03:00
Konstantinos Kallas
10f7b5a548 Remove partial RSA key support 2017-08-22 10:25:37 +03:00
Konstantinos Kallas
f581e391ac Merge remote-tracking branch 'upstream/master' 2017-08-19 13:42:05 +03:00
Evgeniy Khramtsov
6e20e9bcf9 Get rid of deprecated crypto functions 2017-08-17 19:32:15 +03:00
Paweł Chmielowski
25af3fb029 Compile mod_push early as it defines behaviour 2017-08-07 09:32:58 +02:00
Konstantinos Kallas
61d1411ab3 Sync fork with upstream 2017-07-26 09:54:23 +03:00
Konstantinos Kallas
1a506da932 Add an erl_opt so that rsa can be used when the otp version is enough 2017-07-26 09:52:44 +03:00
Paweł Chmielowski
b8c26671c4 Update oauth2 dependency 2017-07-25 17:59:32 +02:00
Paweł Chmielowski
ed17586cf0 Update cache_tab and xmpp dep 2017-07-20 11:43:06 +02:00
Paweł Chmielowski
c3473c2077 Update fast_tls 2017-07-19 10:58:10 +02:00
Paweł Chmielowski
e216a54ead Update fast_tls 2017-07-14 15:08:13 +02:00
Paweł Chmielowski
e42bb47ce3 Update deps 2017-06-28 16:46:48 +02:00
Paweł Chmielowski
aac190255b Update fast_tls 2017-06-27 15:02:23 +02:00
Christophe Romain
58b9077b51 Fix OTP-17.5 support 2017-06-14 14:18:35 +02:00
Konstantinos Kallas
4fc3d511ce Synchronize fork 2017-06-14 12:35:01 +03:00
Holger Weiss
5f2dcc51ce Bump xmpp version 2017-06-14 01:05:15 +02:00
Christophe Romain
5e148df0a9 Update esip and stun dependencies 2017-06-13 10:35:00 +02:00
Paweł Chmielowski
d6f4c99243 Remove luerl from floating_deps 2017-06-12 19:23:41 +02:00
Christophe Romain
444c385f23 Update dependencies 2017-06-09 10:34:35 +02:00
Christophe Romain
fbead19c88 Update elixir 2017-06-07 17:09:06 +02:00
Christophe Romain
baf574d6c4 Update lager p1_mysql and p1_pgsql dependencies 2017-06-07 16:56:00 +02:00
Christophe Romain
e3c801f1f5 Update dependencies 2017-06-07 16:18:41 +02:00
Paweł Chmielowski
f773edcb98 Override version of subdeps with version from main rebar.config 2017-06-07 16:06:28 +02:00
Evgeniy Khramtsov
69de1780a0 Introduce --enable-stun and --enable-sip configure options
STUN/TURN and SIP is not compiled by default anymore.
Use --enable-stun, --enable-sip or --enable-all to enable them.
2017-05-23 13:12:48 +03:00
Evgeniy Khramtsov
3e35d44b0f Replace 'if_version_above' directive with 'if_have_fun' 2017-05-17 19:37:06 +03:00
Evgeniy Khramtsov
f782955c06 Implement cache for roster 2017-05-17 14:47:35 +03:00
Evgeniy Khramtsov
061d5f2380 Shut up dialyzer/xref if public_key:short_name_hash/1 is not available 2017-05-13 13:11:08 +03:00
Evgeniy Khramtsov
633b68db11 Use cache for authentication backends
The commit introduces the following API incompatibilities:

In ejabberd_auth.erl:
* dirty_get_registered_users/0 is renamed to get_users/0
* get_vh_registered_users/1 is renamed to get_users/1
* get_vh_registered_users/2 is renamed to get_users/2
* get_vh_registered_users_number/1 is renamed to count_users/1
* get_vh_registered_users_number/2 is renamed to count_users/2

In ejabberd_auth callbacks
* plain_password_required/0 is replaced by plain_password_required/1
  where the argument is a virtual host
* store_type/0 is replaced by store_type/1 where the argument is
  a virtual host
* set_password/3 is now an optional callback
* remove_user/3 callback is no longer needed
* remove_user/2 now should return `ok | {error, atom()}`
* is_user_exists/2 now must only be implemented for backends
  with `external` store type
* check_password/6 is no longer needed
* check_password/4 now must only be implemented for backends
  with `external` store type
* try_register/3 is now an optional callback and should return
  `ok | {error, atom()}`
* dirty_get_registered_users/0 is no longer needed
* get_vh_registered_users/1 is no longer needed
* get_vh_registered_users/2 is renamed to get_users/2
* get_vh_registered_users_number/1 is no longer needed
* get_vh_registered_users_number/2 is renamed to count_users/2
* get_password_s/2 is no longer needed
* get_password/2 now must only be implemented for backends with
  `plain` or `scram` store type

Additionally, the commit introduces two new callbacks:
* use_cache/1 where the argument is a virtual host
* cache_nodes/1 where the argument is a virtual host

New options are also introduced: `auth_use_cache`, `auth_cache_missed`,
`auth_cache_life_time` and `auth_cache_size`.
2017-05-11 14:37:21 +03:00
Konstantinos Kallas
02dbe39b06 Examining jose functionality 2017-05-09 23:27:37 +03:00
Evgeniy Khramtsov
3241c2506b Introduce 'sql_connect_timeout' option (#1698) 2017-05-05 16:25:10 +03:00
Evgeniy Khramtsov
6658c0d386 Bump cache_tab version 2017-04-27 20:07:44 +03:00
Evgeniy Khramtsov
0b93cb7ece Store options using p1_options module 2017-04-27 19:44:58 +03:00
Badlop
c0eb85ce53 Allow a room admin also to subscribe another JID 2017-04-26 01:30:12 +02:00
Evgeniy Khramtsov
18433e289f Add clear_cache admin command 2017-04-22 11:33:39 +03:00
Evgeniy Khramtsov
a26f90a346 Use new cache API in mod_caps 2017-04-20 18:18:26 +03:00
Holger Weiss
3adf720bc1 Use #jid{} type for #muc_unsubscribe.jid 2017-04-19 22:18:23 +02:00
Evgeniy Khramtsov
e40baf0bda Use cache in front of Redis/SQL RAM backends 2017-04-14 13:57:52 +03:00
Paweł Chmielowski
aa7d5df6a0 Bump xmpp dependency, it's required by previous commit 2017-04-14 09:47:25 +02:00
Christophe Romain
265aa54bc2 Use p1_utils 1.0.8 2017-04-11 08:11:29 +02:00
Evgeniy Khramtsov
e30d41e5f0 Merge branch 'new_queue'
Conflicts:
	rebar.config
	src/mod_muc_admin.erl
2017-03-24 13:27:56 +03:00
Christophe Romain
232cb3dd45 Update dependencies 2017-03-22 10:06:21 +01:00
Christophe Romain
b6e1858ce6 Update xmpp and fast_tls versions 2017-03-20 15:33:55 +01:00
Evgeniy Khramtsov
f3ecba0445 Use new xdata compiler API 2017-03-20 09:57:11 +03:00
Evgeniy Khramtsov
91245141e9 Set translation callback on startup 2017-03-17 21:35:02 +03:00
Evgeniy Khramtsov
4b1bdb563e Improve overloaded S2S queue processing 2017-03-10 20:21:04 +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
8b29af629b Best Practices for Use of SASL EXTERNAL with Certificates (XEP-0178) support
It is now possible for client connections to login using PKIX certificates.
This is disabled by default, to enable it:

- either set 'tls_verify: true' and 'cafile: /path/to/CAfile'
  in the corresponding listener's section
- or set equivalent per-vhost options 'c2s_tls_verify' and 'c2s_cafile'
2017-03-07 14:20:50 +03:00
Evgeniy Khramtsov
719b4d1183 Don't perform useless resourceprep 2017-02-27 13:58:57 +03:00
Evgeniy Khramtsov
c1439ddd5b Get rid of jid:to_string/1 and jid:from_string/1 2017-02-26 10:07:12 +03:00
Christophe Romain
1030f041e3 Update dependencies 2017-02-23 18:13:10 +01:00
Evgeniy Khramtsov
bbfd089b7e Don't count resent stanzas
Thanks to Holger Weiß for an advise
2017-02-21 08:44:39 +03:00
Paweł Chmielowski
5b019ab48c Disable undefined_function_calls xref_check
It looks like it will calling undefined function still will be catched
by xref_queries
2017-02-15 14:12:07 +01:00
Paweł Chmielowski
0b304731c5 Use newer p1_utils 2017-02-14 15:06:00 +01:00
Paweł Chmielowski
cad02bb1b0 Add more check to make xref 2017-02-14 14:39:24 +01:00
Christophe Romain
85eb8f022c Depend on fast_xml-1.1.20 2017-01-31 11:02:23 +01:00
Paweł Chmielowski
326e8da06d Use newer version of epam 2017-01-29 14:51:03 +01:00
Paweł Chmielowski
44a9ceac0b More changes that are required from p1_pam -> epam 2017-01-29 14:35:22 +01:00
Paweł Chmielowski
5c1168c33f Change name of pam dep from p1_pam to epam
We need to use same name as .app file or rebar complains
2017-01-29 14:26:46 +01:00
Paweł Chmielowski
2f3f6f8b71 Improve compilation with rebar3 2017-01-26 16:45:04 +01:00
Alexey Shchepin
8b5e6e4a13 Compatibility with R17 in mod_block_strangers 2017-01-23 19:04:22 +03:00
Christophe Romain
39cfee239d Use xmpp 1.1.6 2017-01-20 11:51:56 +01:00
Evgeniy Khramtsov
03667d0c73 Add SSL support for SQL connections
Currently only PostgreSQL is supported.
This requires p1_pgsql-1.1.2 and higher.
2017-01-10 17:40:38 +03:00
Christophe Romain
f2acf57412 update deps 2017-01-10 15:11:41 +01:00
Badlop
5fdd1c39fe Update copyright date automatically (#1442) 2017-01-02 21:42:06 +01:00
Christophe Romain
ed679279fd Cleanup file headers 2016-12-27 10:57:50 +01:00
Paweł Chmielowski
08f73a5aeb Update deps 2016-12-22 15:10:57 +01:00
Mickael Remond
1c8edd07a1
Update xmpp lib version and fix path when using deps.get and compile in same commande 2016-12-06 17:54:21 +01:00
Paweł Chmielowski
23786c95c9 Grab new version of xmpp dep 2016-12-02 16:28:14 +01:00
Christophe Romain
3ac73f9607 Update dependencies 2016-11-25 13:02:31 +01:00
Evgeniy Khramtsov
993cbcb133 Use new version of xmpp 2016-11-25 09:39:09 +03:00
Paweł Chmielowski
b14843d098 Add missing -callbacks 2016-11-24 12:44:21 +01:00
Holger Weiss
d12210f4e1 Use new versions of fast_xml and xmpp 2016-11-24 10:45:57 +01:00
Evgeniy Khramtsov
13c6039700 Use xmpp_util.erl from XMPP library 2016-11-19 13:57:25 +03:00
Evgeniy Khramtsov
9aff7e52a8 Switch to stand-alone XMPP library 2016-11-19 13:03:33 +03:00
Paweł Chmielowski
d00a634025 Fix includes in eunit compilation flags 2016-11-18 14:02:47 +01:00
Christophe Romain
45e77ea483 Remove useless NO_EXT_LIB flag 2016-11-18 12:25:01 +01:00
Paweł Chmielowski
41794c57d6 Use new version of fast_xml 2016-11-15 10:02:21 +01:00
Christophe Romain
309962fb8b Use p1_http from p1_utils 1.0.6 2016-11-14 16:52:03 +01:00
Evgeniy Khramtsov
75c15d3853 Make xref working again if elixir is disabled 2016-11-13 14:29:52 +03:00
Evgeniy Khramtsov
4c5460f0bd Get rid of compile warnings for random/crypto modules on R19 2016-10-18 08:17:21 +03:00
Christophe Romain
662b6f1020 Update riakc to support r19 2016-09-16 14:59:06 +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
Peter Lemenkov
e13edff6ae Remove no longer necessary p1_xmlrpc
Ths module was superceded by fast_xml in commit
processone/ejabberd@dfc29ea03c. So let's remove it entirely to
avoid any confusion.

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
2016-08-17 18:32:09 +03:00
Mickael Remond
c4b14d045a
Update to released version 2016-08-07 18:31:55 +02:00
Paweł Chmielowski
d969e917c6 Use newer samerlib/moka 2016-08-05 13:03:22 +02:00
Paweł Chmielowski
c2753cd51c Use different version of elixir depending on erlang version 2016-07-20 10:12:00 +02:00
Mickael Remond
490a758050
Upgrade Elixir version to 1.2 in rebar config
This matches the version used in mix.exs
2016-07-19 13:05:01 +02:00
Mickael Remond
1a62d4e04b
Update stringprep and iconv 2016-07-08 18:28:51 +02:00
Mickael Remond
febbc2bb5a
Update dependencies 2016-07-08 11:40:28 +02:00
Paweł Chmielowski
16b1d8541a Grab new p1_utils that has fix for R19 2016-07-01 21:41:12 +02:00
Paweł Chmielowski
0737958b45 Fix compilation issues on R19 2016-07-01 21:20:10 +02:00
Mickael Remond
88ac1dc56b
Update dependencies 2016-06-30 11:33:38 +02:00
Christophe Romain
94461948db Update dependencies for 16.06x 2016-06-24 11:12:18 +02:00