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

500 Commits

Author SHA1 Message Date
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
Paweł Chmielowski
a4b06df604 Update xmpp
This brings memory usage optimization for detached sessions
2021-01-21 13:44:07 +01:00
Neustradamus
34f9eaa8e9 Remove .git ending from links
Remove .git ending from links
2021-01-13 03:22:41 +01:00
Paweł Chmielowski
bd08f408ca Fix invalid timezone in mod_time (issue #3454) 2020-12-22 11:37:25 +01:00
Stu Tomlinson
2f3063def6
Fix sqlite3 dependency version (#3452)
erlang-sqlite3 versions got messed up, causing ejabberd build to regress
to 1.1.6 from Jan 2018 when using rebar3 which fails to build with OTP23.
Update to correctly tagged version 1.1.9, which also has matching hex.pm
package, fixes this.
2020-12-18 12:42:18 +01:00
Paweł Chmielowski
d64e453364 Update deps 2020-12-10 15:00:46 +01:00
Paweł Chmielowski
7da81249f8 Update xmpp once more 2020-12-10 13:22:32 +01:00
Paweł Chmielowski
8214a4fa79 Update xmpp 2020-12-10 12:41:26 +01:00
Paweł Chmielowski
e048bc6712 Update deps to point to tags 2020-12-08 15:11:09 +01:00
Paweł Chmielowski
1dc0ecd1e9 Allow to use different hash for storing scram passwords 2020-12-08 12:06:52 +01:00
Paweł Chmielowski
0371b0f664 Add support for SCRAM-SHA-{256,512}-{PLUS} authentication 2020-12-03 15:07:09 +01:00
badlop
0f01019e06
Merge pull request #3395 from nosnilmot/rebar3
rebar3 support for main build process
2020-11-13 12:13:14 +01:00
Badlop
f9b8dfd400 Update dependencies 2020-11-11 15:53:16 +01:00
Paweł Chmielowski
d02c7d3b3b Update eimp
This makes eimp compile correctly agains headers from png12
2020-10-26 16:12:58 +01:00
Paweł Chmielowski
a2dfd2e0b9 Update eimp 2020-10-26 10:53:52 +01:00
Badlop
f1e04639bb Support for MAM Flipped Pages (#3398) 2020-10-15 21:42:43 +02:00
Stu Tomlinson
d9c1befbfc Add sql dir to extra_src_dirs
When running ct under rebar3, add sql dir to extra_src_dirs so sql
scripts are available to run clear_sql_tables
2020-09-25 18:45:41 +01:00
Stu Tomlinson
714bc2d329 Miscellaneous rebar3 fixes
Correct Makefile clean targets

Fix a few more include() -> include_lib() for depedency includes

Use project_app_dirs to reference elixir app from rebar3 (lib_dirs is
no longer supported)
2020-09-23 15:52:21 +01:00
Stu Tomlinson
0fc1aea379 rebar3 support for main build process
This adds support for building, and installing, ejabberd using rebar3

A --with-rebar=/path/to/rebar3 option is added to configure to specify
which rebar to use

rebar2 compatibility is maintained, and the bundled rebar2 is still
used by default
2020-09-21 15:14:12 +01:00
Stu Tomlinson
385af01587
rebar3 plugin to support configure-deps command (#3392)
* rebar3 plugin to support configure-deps command

To allow running configure on dependencies prior to compilation, add a
rebar3 plugin to support the 'configure-deps' command introduced for
rebar2 in a7639fd4

* Fix compatibility with OTP < 23

binary_to_atom/1 is new to OTP 23
2020-09-21 13:51:31 +02:00
Stu Tomlinson
d9feed54a9
Add 'gitonly_deps' list to rebar config/script (#3391)
Add list of dependencies that should only be built from git, to support
building with rebar3 where deps do not have hex packages (or where the
package versions do not directly map to git tags).

This is required for elixir and luerl deps.
2020-09-21 13:49:58 +02:00