25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-30 16:36:29 +01:00
Commit Graph

285 Commits

Author SHA1 Message Date
Christophe Romain
d3a9fbf62f Upgrade Elixir to 1.6.6 (#2653) 2018-11-27 09:57:59 +01:00
Evgeny Khramtsov
d79ddd7b5c Bump lager version 2018-11-23 13:34:21 +03:00
Evgeny Khramtsov
1cdca1ab99 Support for XEP-0411: Bookmarks Conversion 2018-11-23 13:33:29 +03:00
Paweł Chmielowski
1214a83cca Use never version of meck 2018-11-19 14:15:29 +01:00
Paweł Chmielowski
cb2b927085 Add send_ws_ping to c2s 2018-10-29 12:30:59 +01:00
Paweł Chmielowski
e369a93809 Use newer fast_tls that fixes some issues with tls1.3 2018-10-24 10:13:05 +02:00
Paweł Chmielowski
74e96afc10 Use tagged version of p1_mysql 2018-10-19 10:57:22 +02:00
Paweł Chmielowski
0352b97f50 Update p1_mysql 2018-10-19 10:15:48 +02:00
Evgeny Khramtsov
39fa1a810d Move certificates processing code to pkix application
==== WARNING: MUST BE ADDED TO RELEASE NOTES =====
The commit introduces the following incompatibility:
- Option 'ca_path' is deprecated and has no effect anymore:
  option 'ca_file' should be used instead if needed.
==================================================
2018-09-27 20:37:27 +03:00
Paweł Chmielowski
0d743da595 Update xmpp 2018-09-25 16:18:16 +02:00
Paweł Chmielowski
c3f62c037d Update deps once more 2018-09-24 15:49:26 +02:00
Paweł Chmielowski
054426072e Update deps 2018-09-24 14:37:54 +02:00
Evgeny Khramtsov
de385591d0 Refactor ejabberd listener API 2018-09-17 11:21:02 +03:00
Evgeny Khramtsov
145c0116bf Bump lager version
This is needed for OTP-21 compatibility
2018-09-07 18:03:36 +03:00
Paweł Chmielowski
90b22da880 Use newere fast_tls 2018-09-05 11:14:19 +02:00
Evgeniy Khramtsov
01a1f929b4 Bump xmpp version 2018-08-17 18:16:14 +03:00
Paweł Chmielowski
fd76bc9242 Update xmpp 2018-08-16 11:59:26 +02:00
Badlop
8f0e066135 In response with list of room subscriptions include also events (#2272) 2018-08-13 12:52:33 +02:00
Paweł Chmielowski
6dc452e7f5 Update xmpp 2018-07-23 17:23:11 +02:00
Stu Tomlinson
f9ed34db4d Enforce pubsub option required/rejected attributes
XEP-0060 states that 'node' and 'jid' attributes to <options> element MUST NOT
be included when <options> are specified at same time as <subscribe> :

https://xmpp.org/extensions/xep-0060.html#subscriber-configure-subandconfig

mod_pubsub will require 'node' and 'jid' attributes on standalone pubsub
options requests, and reject subscribe requests that have options that include
either 'node' or 'jid'
2018-07-14 11:55:38 +01:00
Evgeniy Khramtsov
d03432a956 Fix regression: list SASL EXTERNAL mechanism for inbound s2s 2018-07-10 10:14:08 +03:00
Evgeniy Khramtsov
11811e5f48 Only lookup FQDN at configuration (re)loading 2018-07-06 09:18:27 +03:00
Evgeniy Khramtsov
0bb14d16c7 Move XMPP stream and SASL processing to xmpp repo 2018-07-06 01:07:36 +03:00
Evgeniy Khramtsov
ed1ee6061e Move move randoms module to p1_utils repo 2018-07-05 11:51:49 +03:00
Evgeniy Khramtsov
50b645aa92 Move shaper to p1_utils repo 2018-07-05 09:31:55 +03:00
Evgeniy Khramtsov
a463f5a25a Replace hardcoded disco features with macros 2018-06-29 14:48:07 +03:00
Paweł Chmielowski
9b70177fd5 Update xmpp 2018-06-29 12:50:57 +02:00
Paweł Chmielowski
62cb398734 Convert test that used moka, and drop that dependancy 2018-06-29 10:52:47 +02:00
Evgeniy Khramtsov
0a40ab93c8 Don't crash when encoding {xmlcdata, _}
Fixes #2493
2018-06-28 15:04:46 +03:00
Paweł Chmielowski
8f2233eff7 Update deps 2018-06-28 10:56:59 +02:00
Evgeniy Khramtsov
af8c6d2428 Generate HTTP Upload form using xdata codec 2018-06-27 13:29:38 +03:00
Evgeniy Khramtsov
ac31c85866 Use error formatting functions from xmpp library 2018-06-25 09:45:45 +03:00
Evgeniy Khramtsov
f465742f2c Remove lowercased duplicates from ejabberd.pot 2018-06-20 13:02:06 +03:00
Evgeniy Khramtsov
446e6e6f3b Update ejabberd.pot 2018-06-20 12:32:10 +03:00
Evgeniy Khramtsov
6acac7c93f Render roomname, allowinvites and allowpm in room disco#info 2018-06-19 14:02:45 +03:00
Evgeniy Khramtsov
49b08949b1 Do not check for deprecated types
Since we support only Erlang >= OTP-17.5, the check for old-style
dict/queue/etc types is no longer needed
2018-06-14 18:58:35 +03:00
Holger Weiss
a4049d9418 Omit 'xmlns' field from 'feature_csi' record
The 'xmpp' library has been updated to omit the 'xmlns' field from the
'feature_csi' record.
2018-06-04 23:05:11 +02:00
Holger Weiss
ba30ac8ce8 Return detailed error if HTTP upload is too large
If the file size specified in an HTTP upload slot request exceeds the
the configured maximum size, include the limit with the stanza error.
2018-06-04 22:18:56 +02:00
Evgeniy Khramtsov
cab8005bf3 Display muc#roomconfig_changesubject in room's disco#info
Fixes #2449
2018-06-01 08:56:56 +03:00
Evgeniy Khramtsov
22d76659c0 Bump xmpp version in order to support language tags validation 2018-05-30 09:54:26 +03:00
Evgeniy Khramtsov
27594db029 Support IPv6 connections for PostgreSQL, MySQL and LDAP
Fixes #2411
2018-05-11 16:43:49 +03:00
Paweł Chmielowski
338d27b45b Use never version of moka 2018-05-09 10:58:00 +02:00
Evgeniy Khramtsov
46f47db512 Get rid of unused rebar instructions 2018-05-08 16:17:07 +03:00
Paweł Chmielowski
6811b92a80 Don't use warnings_as_errors in samerlib 2018-05-08 11:37:20 +02:00
Holger Weiss
638f2d2e67 mod_blocking: Use #block_item{} record 2018-05-02 22:17:32 +02:00
Paweł Chmielowski
d49aa429ca Update deps 2018-04-25 10:45:18 +02:00
Holger Weiss
de7dc4affa mod_push: Optionally include message sender/body
Add 'include_sender' and 'include_body' options.  If one or both of them
are set to 'true', a urn:xmpp:push:summary form with the enabled
field(s) is included in push notifications that are generated for
messages with a body.

The 'include_body' option can instead be set to a static text.  In this
case, the specified text will be included in place of the actual message
body.  This can be useful to signal the push service whether the
notification was triggered by a message with body (as opposed to other
types of traffic) without leaking actual message contents.
2018-04-16 23:18:03 +02:00
Evgeniy Khramtsov
d0f36537fb Clear fast_tls cache on configuration reload 2018-04-13 11:10:20 +03:00
Evgeniy Khramtsov
7627575856 Update the xmpp dependency to support 'parent' attribute
Fixes #2375
2018-04-11 09:34:06 +03:00
Paweł Chmielowski
d71bc73271 Update eimp 2018-03-26 16:18:29 +02:00
Evgeniy Khramtsov
f39dbe6e49 Get rid of 'fs' package dependency
Certificates auto-reloading will be fixed later.
For now to reload certificates call `reload-config` ejabberd command.
2018-03-23 16:40:26 +03:00
Paweł Chmielowski
b23be02dfe Update deps 2018-03-22 16:15:19 +01:00
Evgeniy Khramtsov
ddc29d42de Fulfill all requirements of XEP-0398 v0.2.0
These include:
- Avoid rewriting vcardupdate tags with empty <photo/> element
- Advertise "urn:xmpp:pep-vcard-conversion:0" feature
2018-03-16 12:10:57 +03:00
Evgeniy Khramtsov
11a58f8dff Bump xmpp version 2018-02-11 09:45:54 +03:00
Evgeniy Khramtsov
232b66b0f4 Introduce 'rate_limit' option of mod_avatar
The option controls how many avatars a user can upload per minute.
The option takes positive integer values. The default is 10.
Note that the option only takes effect when an avatar is about
to convert to a different format, i.e. it implies that `convert`
option is configured.
2018-02-05 23:12:36 +03:00
Paweł Chmielowski
b69fb5aae0 Bump sqlite deps version 2018-01-30 12:51:38 +01:00
Evgeniy Khramtsov
2269d290d8 Switch to newer fast_xml and xmpp and update record fields in the code 2018-01-25 20:02:47 +03:00
Paweł Chmielowski
6cdb7b4468 Fix tag used in luerl dependency 2018-01-23 09:37:46 +01:00
Christophe Romain
121d12f4d1 Move luerl as optional tools dependency 2018-01-22 17:42:27 +01:00
Christophe Romain
1daa7ef785 Sync mix and rebar for eimp dep 2018-01-16 11:45:29 +01:00
Paweł Chmielowski
a7639fd4ad Call configure on deps in separate rebar command that compile
This way we rebar.config.script can use vars detected by configure
2018-01-15 12:31:47 +01:00
Evgeniy Khramtsov
0f86559d83 Always build eimp dependency
Even if no suitable C graphics libraries are detected
at compile time, the package is still usable because it
provides `eimp:get_type/1` which is used by mod_avatar.
2018-01-15 12:54:57 +03:00
Paweł Chmielowski
9e3a000748 Update deps 2018-01-11 11:11:56 +01:00
Paweł Chmielowski
cea5f14e88 Update deps again 2018-01-10 11:55:34 +01:00
Paweł Chmielowski
e04b4c52fd Update deps 2018-01-10 11:32:11 +01:00
Christophe Romain
f914c61f42 Report fs not suported on SunOS (#2204) 2018-01-10 10:58:47 +01:00
Evgeniy Khramtsov
ee23b688a7 Use TLS defaults from fast_tls 2018-01-06 13:46:02 +03:00
Evgeniy Khramtsov
da2353d996 Refer to new fast_tls version 2018-01-05 17:56:32 +03:00
Paweł Chmielowski
48c96dc1a9 Update stun and esip 2017-12-28 14:34:50 +01:00
Evgeniy Khramtsov
7cdc51becd Merge branch 'no-more-ejabberd-receivers'
Conflicts:
	rebar.config
2017-12-26 19:02:54 +03:00
Evgeniy Khramtsov
2d43c07c62 Get rid of ejabberd receiver
ejabberd receivers were meant to serve connections from frontends
to backends. However, this approach was not popular and frontend
related code was removed in previous releases. Now, ejabberd receiver's
code was also removed, making the code shorter and cleaner. Also, in
stress tests ejabberd now handles load more robustly, without
c2s processes overload (even with disabled shapers).

ejabberd_socket.erl is renamed to xmpp_socket.erl: it's supposed to
be finally moved into stand-alone xmpp library.
2017-12-26 18:55:57 +03:00
Christophe Romain
514df9ac18 Cleanup rebar.config 2017-12-26 11:16:48 +01:00
Christophe Romain
e7308b7d86 Update dependencies 2017-12-26 11:13:18 +01:00
Evgeniy Khramtsov
1698956f34 Rely on Server Name Indication for incoming Direct-TLS connections
This commit also deprecates `certfile` option for ejabberd_http
listener.
2017-12-24 12:27:51 +03:00
Evgeniy Khramtsov
614bd9dd72 Better process subtag decoding errors 2017-12-09 22:39:43 +03:00
Paweł Chmielowski
d8ace67a50 Compile sql_pt early 2017-12-07 10:47:30 +01:00
Evgeniy Khramtsov
abeee837fc Bump xmpp and fast_xml revisions 2017-12-06 18:36:04 +03:00
Evgeniy Khramtsov
7a9d2cabc0 Improve code using new xmpp API 2017-12-06 17:21:57 +03:00
Evgeniy Khramtsov
10edbe3e09 Improve muc#roominfo and muc#roomconfig forms
Now 'muc#roominfo_contactjid' and 'muc#roominfo_pubsub' fields
are returned within muc#roominfo form. Also, both 'muc#roominfo_pubsub'
and 'muc#roomconfig_pubsub' are now validated.
2017-11-27 13:07:10 +03:00
Paweł Chmielowski
98b411523d Update deps 2017-11-20 10:42:05 +01:00
Evgeniy Khramtsov
b04c6b7d75 Merge branch 'lets_encrypt_acme_support' of git://github.com/angelhof/ejabberd into angelhof-lets_encrypt_acme_support
Conflicts:
	rebar.config
	src/ejabberd_pkix.erl
2017-11-15 10:01:30 +03:00
Evgeniy Khramtsov
902c6d476b Prepare version 0.6.1 of XEP-0313 (MAM) support 2017-11-08 15:15:39 +03:00
Alexey Shchepin
78dfb832b8 Add SQL_INSERT macro and update SQL queries to use server_host field 2017-11-02 18:21:40 +03:00
Evgeniy Khramtsov
35b7203e01 Introduce 'certfiles' global option
The option is supposed to replace existing options 'c2s_certfile',
's2s_certfile' and 'domain_certfile'. The option accepts a list
of file paths (optionally with wildcards "*") containing either
PEM certificates or PEM private keys. At startup, ejabberd sorts
the certificates, finds matching private keys and rebuilds full
certificates chains which can be used by fast_tls. Example:

certfiles:
  - "/etc/letsencrypt/live/example.org/*.pem"
  - "/etc/letsencrypt/live/example.com/*.pem"
2017-11-01 00:20:27 +03:00
Paweł Chmielowski
2b363c7aee Add mucsub event for subscribers list changes 2017-10-30 12:34:09 +01:00
Evgeniy Khramtsov
484e5de072 Simplify backend interface for mod_push 2017-10-27 10:55:48 +03:00
Christophe Romain
8b588d2ff3 Add basic PubSub meta-data support (#1421) 2017-10-25 10:34:11 +02:00
Evgeniy Khramtsov
1bb2bae62b Reflect changes in the xmpp lib 2017-10-13 20:48:21 +03:00
Evgeniy Khramtsov
3f015c829c Make sure Riak gets compiled on OTP20 2017-09-28 12:25:06 +03:00
Paweł Chmielowski
f464189819 Update dependences 2017-09-27 11:39:16 +02:00
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