25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-12-26 17:38:45 +01:00
Commit Graph

520 Commits

Author SHA1 Message Date
Alexey Shchepin
a4bb695fc3 Support for XEP-0424 "Message Retraction" 2023-12-27 08:59:20 +03:00
Paweł Chmielowski
bdb513a660 Update xmpp 2023-12-19 10:43:37 +01:00
Paweł Chmielowski
b5ce53c907 Update xmpp to fix issue with scram with missing channel bindings
This makes scram downgrade protection hash calculation work properly when
using non -plus sasl mechanism or when stream is not encrypted

This should fix issue #4123.
2023-12-18 12:10:28 +01:00
Paweł Chmielowski
b556fae08f Update xmpp to bring support for XEP-0474: SASL SCRAM Downgrade Protection 2023-12-13 10:08:31 +01:00
Paweł Chmielowski
f87ab9a99f Update xmpp 2023-12-12 14:37:01 +01:00
Paweł Chmielowski
d2a84c96a4 Update xmpp to fix incompatibility with < R21 2023-11-22 18:40:10 +01:00
Paweł Chmielowski
48f0d9c15e Update xmpp to make us present both sasl1 and sasl2 with from in initial stanza 2023-11-22 18:34:18 +01:00
Paweł Chmielowski
9c7e91a1e9 Update xmpp and make opening bind2 session close other sessions with same tag 2023-11-21 13:55:40 +01:00
Paweł Chmielowski
fdee4efe98 Fix presenting features and returning results of inline bind2 elements 2023-11-20 18:54:23 +01:00
Paweł Chmielowski
59bb6dae14 Make apps passed to check in dialyzer consult configure optons 2023-11-20 18:47:42 +01:00
Paweł Chmielowski
ad15659fb2 Fix warnings 2023-11-16 18:45:33 +01:00
Paweł Chmielowski
efffc3142a Add implementation for SASL2 and Bind2 2023-11-16 16:52:55 +01:00
Paweł Chmielowski
7de0ba95d0 Update mysql to bring sha256_password auth plugin support 2023-11-09 15:43:47 +01:00
Paweł Chmielowski
3ad30c3ff5 Use correct commit hash for xmpp 2023-10-31 10:15:35 +01:00
Paweł Chmielowski
3ed2b41a5a Update xmpp to bring tls-server-end-point channel binding and sasl2 codec 2023-10-31 09:41:25 +01:00
Paweł Chmielowski
36fffa5b23 Revert dialyzer changes commited by mistake 2023-10-25 20:07:02 +02:00
Paweł Chmielowski
0bdca8fd9e Updated deps to bring support for tls-exporter channel binding 2023-10-25 16:46:03 +02:00
Paweł Chmielowski
ad7db90c80 Use tagged deps 2023-10-16 15:14:31 +02:00
Paweł Chmielowski
765770aaa5 Add support for xep-0402 - PEP Native Bookmarks 2023-09-27 18:36:30 +02:00
Badlop
7522c29f25 Update xmpp version to send roomconfig_changesubject in disco info (#4085) 2023-09-08 18:37:38 +02:00
Badlop
07d4282603 Update XMPP library which supports XEP-0421 (3397) 2023-08-02 17:54:07 +02:00
Paweł Chmielowski
3710dc1e3b Use prepared statement with mysql 2023-07-25 18:11:24 +02:00
Badlop
3263e81972 Move Xref and Dialyzer options from workflows to rebar.config
And also include some more applications in Dialyzer plt_extra_apps,
which apparently is required since Erlang 26.
2023-06-09 00:02:20 +02:00
Badlop
397a08afca Move configure options from the Test to the Compile section 2023-06-09 00:02:18 +02:00
Badlop
19070e4b04 Add sections to rebar.config to organize its content 2023-06-09 00:02:17 +02:00
Badlop
1b06f4ca4f The warnings_as_errors compiler option is already disabled by default 2023-06-09 00:02:13 +02:00
Paweł Chmielowski
46f33e5051 Update dependencies 2023-04-18 11:22:33 +02:00
Paweł Chmielowski
1114a35e0a Recognize message retractions in mod_muc 2023-04-14 12:32:35 +02:00
Paweł Chmielowski
d12e5a44b8 Add by attribute to generated muc moderation messages 2023-04-14 12:31:34 +02:00
Paweł Chmielowski
6da1bb5b22 Add support for "xep-0424 Message Moderation"
This fixes issue #3730
2023-03-30 14:38:08 +02:00
Paweł Chmielowski
a7ea8ecc29 Use tagged versions of dependences 2023-01-17 11:24:28 +01:00
Badlop
243697e25a Update copyright year to 2023 (#3967) 2023-01-10 13:52:04 +01:00
Badlop
e0b4ea6652 Update jose to 1.11.5 when Erlang/OTP is 21 or higher
But use old jose 1.11.1 on Erlang/OTP older than 21
Erlang older than 21 does not support
  try catch _Class:_Reason:_Stacktrace ->
that is used in jose_server.erl
2023-01-10 13:51:56 +01:00
Paweł Chmielowski
6fcfe80a65 Pass ssl options to mysql driver 2022-11-14 11:19:51 +01:00
Paweł Chmielowski
c4d834b879 Update deps 2022-10-12 12:44:36 +02:00
Paweł Chmielowski
09b33e17a6 Update mysql 2022-09-22 11:09:12 +02:00
Linus Jahn
e22d496610 Update xmpp module 2022-09-16 12:29:29 +02:00
Badlop
4ae06f039d Add definition to detect OTP older than 25, used by ejabberd_auth_http 2022-09-01 13:02:52 +02:00
Badlop
00e6b0c97c Show allow_query_users room option in disco info (#3830) 2022-08-04 12:28:15 +02:00
Paweł Chmielowski
7b944444ce Catch mysql connection being close earlier 2022-07-19 14:35:35 +02:00
Paweł Chmielowski
ce18c93419 Simplify rules for choosing jiffy version 2022-05-02 13:56:16 +02:00
Badlop
45c7fbb5ae Switch "make rel" and "make dev" to paths: conf, database, logs 2022-05-02 13:17:53 +02:00
Paweł Chmielowski
c8c4827626 Update hex deps 2022-05-02 13:06:40 +02:00
Paweł Chmielowski
4f33524842 Update deps 2022-05-02 12:50:08 +02:00
Badlop
f721374321 Determine compile definitions based on Erlang version
This gives a clear definition of what erlang versions require each
workaround, instead of depending on the actual workaround details.
The lib module was removed in OTP 21.0,
and the formatting options were moved to erl_error.
The uri_string module was introduced in OTP 21.0.
2022-02-24 21:39:20 +01:00
Badlop
de8abc15a8 Use jiffy 1.1.0 when erlang < 20 because it doesn't have string:split/2 2022-02-24 01:02:55 +01:00
Badlop
265e0610a3 Update to jiffy 1.1.1 and p1_acme 1.0.18 to support Erlang/OTP 25.0-rc1 2022-02-24 01:02:53 +01:00
Badlop
22b469f55d The lager dependency is used only with old Erlang versions 2022-02-24 01:02:41 +01:00
Badlop
b3211b1f71 Update copyright year to 2022 2022-02-11 09:39:25 +01:00
Badlop
e63e8a6d38 Fix typo introduced in 99fdba0, present since 16.01 2022-02-11 09:39:09 +01:00
Badlop
9661d06334 Remove obsolete db_type defined environment
db_type as a compilation define was first introduced in 2006 in d0e2ac9,
but was removed in 2015 in 25791cf.

Nowadays: ./configure --enable-mssql will set {mssql, true} in vars.config;
That is read by ejabberd.app.src.script to set enabled_backends;
which is consulted by test/suite.erl to test only available backends.
2022-02-11 09:39:02 +01:00
Badlop
adbccbe852 New "make relive" similar to "ejabberdctl live" without installing
Prepare with:
  ./autogen.sh && ./configure --with-rebar=./rebar3 && make
Or use this if you installed Elixir:
  ./autogen.sh && ./configure --with-rebar=mix && make
Start without installing (it recompiles when necessary):
  make relive
It stores config, database and logs in _build/relive/
There's available the well-known script:
  _build/relive/ejabberdctl

Please note this fails immediately:
  r3:do(compile).
This crashes a few seconds later:
  rebar3:run(["compile"]).
Workaround that works correctly:
  ejabberd_admin:update().
2022-02-03 18:21:47 +01:00
Badlop
79ddde3040 Workaround to support rebar2 git tag "1.0" and rebar3 hex version "1.0.0" 2022-01-04 21:56:31 +01:00
Badlop
61dc89a068 Update Luerl to 1.0.0, now available in Hex.pm (rvirding/luerl#142) 2022-01-04 21:32:23 +01:00
Holger Weiss
94a733c666 Fix ERTS path in ejabberdctl with rebar3 release
Rebar 2 expands {{erts-vsn}} to "erts-$vsn", Rebar 3 expands it to just
"$vsn".  Make sure `make rel` doesn't end up with a "$vsn" directory
next to "erts-$vsn" (which happened when using Rebar 3), and make sure
that ejabberdctl expects both "erl" and "epmd" to be installed below
"erts-$vsn" (which it didn't when using Rebar 3).
2021-12-23 14:24:27 +01:00
Badlop
66bb4cbfa9 Only provide Relx start script in dev profile
That script serves a similar purpose to ejabberdctl to start ejabberd,
but we can't guarantee it is completely equivalent to ejabberdctl.
The prod profile must provide only the well-known script.
The test profile provides the Relx script so we can experiment with it.
2021-12-23 13:54:08 +01:00
Holger Weiss
aaa053829f Revert "rebar.config: Don't create extended start script"
This reverts commit 0881c5941a.

The extended start had been enabled intentionally, as some commands
(such as 'ping', 'status', or 'pid') actually do work.
2021-12-23 07:12:02 +01:00
Holger Weiss
0881c5941a rebar.config: Don't create extended start script
We currently don't use the start script(s) generated by Relx.
2021-12-21 00:01:17 +01:00
Paweł Chmielowski
a94209a0e0 Update stun and esip dependencies 2021-12-09 12:13:48 +01:00
Florian Schmaus
6b1f78e87a Remove CTLLOCKDIR (/var/lock/ejabberdctl) from Makefile.in
Flock'ing /var/lock/ejabberdctl by ejabberdctl was removed with
f7d4aae64d ("Use UUID for ctl node name (#1021)"), however the
according recipies in the Makefile where never removed. This commit
does that.
2021-12-07 10:15:47 +01:00
Paweł Chmielowski
8d8a3177e1 Eliminate xref warning from last commit 2021-12-06 15:46:52 +01:00
Paweł Chmielowski
75b133d968 Update deps 2021-11-29 15:20:10 +01:00
Badlop
689749a563 Update Jose to 1.11.1 (the last in hex.pm correctly versioned) 2021-11-17 13:22:34 +01:00
Holger Weiss
6e3df8e80b Update 'stun' dependency
The new 'stun' release should improve UDP performance quite a bit.
2021-11-02 12:34:19 +01:00
Alexey Shchepin
5d48329a3f Update 'xmpp' dependency 2021-10-29 05:48:03 +03:00
Holger Weiss
6b0fa44386 Update 'xmpp' dependency
Fixes #3529.
2021-10-09 10:56:30 +02:00
Holger Weiss
8f8de0403b PubSub: Support 'max_items=max' node configuration
Let clients request the maximum limit for the node configuration option
'max_items' by specifying the special value 'max' instead of an integer.
This was added to XEP-0060, revision 1.17.0 (and clarified in revision
1.20.0).

Thanks to Ammonit Measurement GmbH for sponsoring this work.
2021-08-20 20:30:11 +02:00
Paweł Chmielowski
c96de092fe Revert "Add workaround so rebar2 can use Elixir 1.12.0"
This reverts commit 937e1c2e37.
2021-07-22 15:51:43 +02:00
Paweł Chmielowski
a3478b7f0f Update pam 2021-07-21 11:37:32 +02:00
Paweł Chmielowski
bab9543c1f Update dependences 2021-07-21 11:12:54 +02:00
Badlop
937e1c2e37 Add workaround so rebar2 can use Elixir 1.12.0
Notice that Elixir 1.12.0 requires Erlang/OTP 21 or higher
BTW, this workaround works only with rebar2... unfortunately
rebar3 doesn't compile the elixir files from lib/
2021-07-16 16:43:08 +02:00
Badlop
08c2d0a83e Tell relx to include src, so that the tar will contain include/ (#3633)
That's the only way to ensure that tar.gz will contain include/
of ejabberd and its dependencies, which is required to compile
ejabberd-contrib modules with "ejabberdctl module_install ..."
2021-07-06 13:37:14 +02:00
Badlop
774de2bdc5 Include odbc app in release only when required (#3633) 2021-06-27 17:32:09 +02:00
Badlop
b5b2ad560a Copy captcha scripts in release (#3633) 2021-06-27 17:32:06 +02:00
Badlop
0fe2aea709 New "make dev" and "./ejabberdctl" (requires using rebar3) 2021-06-25 12:53:43 +02:00
Badlop
d5adcaea61 Add support for rebar3 to "make rel" 2021-06-25 12:53:22 +02:00
Badlop
9a93562b94 Revert luerl from v0.4 which has a compilation warning; v0.3 is enough
Revert "Update luerl dependency from v0.3 to v0.4"

This reverts commit 64f3f3287a.
2021-06-08 19:00:46 +02:00
Badlop
2c20414453 Update eredis dependency from v1.0.8 to v1.2.0 2021-05-28 16:54:58 +02:00
Badlop
64f3f3287a Update luerl dependency from v0.3 to v0.4 2021-05-28 16:53:09 +02:00
Badlop
1befa8d8b7 Update lager dependency from 3.6.10 to 3.9.1 to make Dialyzer happy 2021-05-28 16:51:59 +02:00
Badlop
77ef03e104 New ci.yml with all static and dynamic testing suites (#3613)
It supports all that was already in .travis.yml and tests.yml, plus:
- exclude paths that don't affect source code
- two very distinct scenarios, ancient a recent (OTP, Rebar, Ubuntu)
- cache binaries and dialyzer for small speedup and network usage
- separated results, to view comfortably where and what failed
- use coveralls example rebar3 code, instead of custom rebar2
- upload binaries.zip that can be used with Binary Installers
2021-05-25 18:45:31 +02:00
Paweł Chmielowski
0f51a03d08 Update xmpp to bring updated vcard 2021-05-12 18:05:11 +02:00
Paweł Chmielowski
78c09789f7 Fix invalid_encoding error when using extended plane characters in vcard. 2021-04-29 14:21:37 +02:00
Badlop
b860a25c82 When using OTP 24.0, use the new 'application' record definition (#3568)
This fixes "ejabberdctl update_list", "update", and the equivalent feature
on ejabberd's WebAdmin that got broken when using Erlang/OTP 24
2021-04-14 17:12:08 +02:00
Badlop
82bd7e5d5b Update rebar dependencies 2021-03-24 23:03:46 +01:00
Badlop
c46bf7d56b Remove support for HiPE, it was experimental and Erlang/OTP 24 removes it 2021-03-08 16:33:16 +01:00
Badlop
1b155ed6e7 Add --enable-lua, and use that for luerl instead of --enable-tools (#3508)
--enable-tools is for development tools, but prosody2ejabberd is used at
runtime, so better move luerl to --enable-lua
2021-03-08 16:33:06 +01:00
Badlop
c45b526ec3 Update sql_query record to handle the Erlang/OTP 24 compiler reports
As mentioned in the Erlang/OTP 24 announcement:
"Compiler warnings and errors now include column numbers
in addition to line numbers."
2021-03-04 16:41:24 +01:00
Stu Tomlinson
1f194e417d
fix eldap certificate verification (#3528)
Reported in #3527. Add hostname matching function, and specify SNI

Also, OTP 23 dropped backwards compatibility for 0, 1, 2 values for verify, so
replace with combination of verify_none/verify_peer and fail_if_no_peer_cert
as appropriate
2021-02-15 14:29:58 +01:00
Paweł Chmielowski
d147c733bb Update xmpp 2021-02-10 10:10:24 +01:00
Stu Tomlinson
6a0b01fe7f
Move sql directory from extra_src_dirs to src_dirs (#3520)
rebar3 needs sql directory as a src dir so that tests can reference sql
files, so sql dir was added to extra_src_dirs in d9c1befb. It turns out
extra_src_dirs does unexpected unwanted extra things like copy all beam
files there too, so move sql dir to regular src_dirs
2021-02-08 13:02:50 +01:00
Paweł Chmielowski
f708bbe2e8 Update deps 2021-01-28 10:42:16 +01:00
Badlop
6e0161470e Update newest copyright year to 2021 (#3464) 2021-01-27 17:02:06 +01:00
Paweł Chmielowski
e4225174d5 Update deps to tagged versions 2021-01-27 11:43:33 +01:00
Paweł Chmielowski
faaee94060 Add oauth_cache_rest_failure_life_time option
This allows to use shorted life time for failures in rest oauth
backend than specified in oauth_cache_life_time.
2021-01-27 11:23:39 +01:00
Holger Weiss
b6f86187f3 Update 'stun' dependency
The 'stun' application now rejects Teredo and 6to4 TURN peers
unconditionally.  Therefore, remove those networks from the default
'turn_blacklist'.
2021-01-22 16:12:48 +01:00
Badlop
adfcbfdcba Fix URL of ejabberd_po, use the final one 2021-01-22 13:39:02 +01:00
Badlop
0b55ded612 When running "make translations" use the external ejabberd_po repository 2021-01-22 13:16:42 +01:00
Paweł Chmielowski
e0101338af Let's update xmpp once more 2021-01-21 16:27:24 +01:00
Paweł Chmielowski
6efdbb17e4 Revert "Update xmpp"
This reverts commit a4b06df604.

Needs more work, breaks some tests.
2021-01-21 15:25:10 +01:00