Paweł Chmielowski
aa02c4de1e
Move logger app to included_applications
...
We don't particularly need this to start with ejabberd, and by having
it always started we will change logger to always use elixir formating.
2024-07-15 21:26:16 +02:00
Badlop
7a8c0331c1
mix.exs: Include Elixir's Logger in the OTP release, useful for libcluster
2024-07-11 16:35:23 +02:00
Paweł Chmielowski
fe472a63a0
Improve cross version handling of muc retractions
2024-07-04 13:57:25 +02:00
Paweł Chmielowski
45f0f983b1
Override jose version for <R23 in mix to fix compilation with new p1_acme
2024-06-27 14:51:14 +02:00
Paweł Chmielowski
28e94513db
Update deps
2024-06-27 14:26:19 +02:00
Badlop
30bd8f1570
WebAdmin: Add make_command functions to produce HTML command element
...
Support to sort tables using Sortable library from:
https://github.com/tofsjonas/sortable
2024-06-19 17:59:38 +02:00
Badlop
a179d5e34b
mix:exs: Move xmpp from included_applications to applications
...
because now p1_pgsql has it in applications to satisfy dialyzer OTP 26,
and we cannot have xmpp both in applications and included_applications.
2024-05-28 15:36:39 +02:00
Badlop
1b81af00b2
Update p1_pgsql and mysql to support Unix Domain Socket ( #3716 )
2024-05-28 15:20:57 +02:00
Badlop
677d66d818
Revert "mix.exs: Dirty workaround to get port_compiler with OTP 27 support"
...
This reverts commit c7c3cc10c5
.
2024-05-24 13:21:10 +02:00
Badlop
696e42b5b4
Use json module when Erlang/OTP 27, jiffy with older ones
2024-05-07 11:28:17 +02:00
Badlop
9fbc7b96e4
Update pkix dependency with minor fixes for compilation warnings
2024-05-07 11:28:11 +02:00
Badlop
c7c3cc10c5
mix.exs: Dirty workaround to get port_compiler with OTP 27 support
2024-04-30 18:00:29 +02:00
Badlop
5870e2e378
Use updated xmpp library with minor improvement in auth ( #4201 )
2024-04-30 18:00:16 +02:00
Badlop
eb975268f4
Add ExSync tool to "make relive" with Mix
...
How to use:
- Compile ejabberd with Mix
- Start ejabberd with "make relive"
- Edit some ejabberd source code file
- Save the file, and ExSync will compile and reload it automatically
ExSync depends on FileSystem library, which requires inotify-tools, see
https://github.com/falood/file_system#system-support
References:
https://hex.pm/packages/exsync
https://github.com/falood/exsync
2024-04-30 18:00:06 +02:00
Badlop
e744665171
Fix links in mix.exs
2024-04-24 13:20:48 +02:00
Badlop
e9fbfaf536
Update Luerl to 1.2.0 when OTP>=20, simplifies commit a09f222
2024-04-22 18:28:34 +02:00
Badlop
0345f798bd
Update p1_acme to git, to support Jose 1.11.10 and Ipv6 support ( #4170 )
2024-04-22 18:28:34 +02:00
Badlop
ee9d4d56a9
Update Jose to the new 1.11.10 for Erlang/OTP > 23
2024-04-22 18:28:34 +02:00
Badlop
9c8ae96f25
Define base64url dependency only when using rebar2 and Erlang<24
...
base64url is not called directly in ejabberd code since e227940
,
it is only required by p1_acme and erlang-jose 1.11.1
erlang-jose 1.11.1 defines base64url dependency as an hex package,
and rebar2 is not able to download it.
For that reason, when compiling ejabberd with rebar2,
we provide a rebar2-friendly base64url dependency definition.
That way when jose is downloaded, that dependency is already available.
2024-04-19 01:50:42 +02:00
Badlop
f50b5e1a58
Fix typo in elixir code that breaks 537aac2
when using mix
2024-04-01 14:26:55 +02:00
Paweł Chmielowski
537aac24f7
Improve detection of types in odbc
...
This should fix issue with dialyzer on erlang 26.2.3+
2024-03-18 14:54:32 +01:00
Badlop
f5c8406353
Dialyzer: Add support to run Dialyzer with Mix
2024-03-06 15:25:38 +01:00
Badlop
cd30538130
Fix "ejabberdctl iexlive" after "make prod" when using Elixir
...
The version number in ejabberd is 24.02,
but Elixir requires semver, that is, 24.2.
Use the version() function, which does the conversion.
2024-03-06 15:25:38 +01:00
Badlop
bb349d6085
Update "make edoc" to use ExDoc
2024-02-26 16:16:14 +01:00
Badlop
a09f222b4c
Use Luerl 1.0 for Erlang 20, 1.1.1 for 21-26, and temporary fork for 27
...
The Luerl 1.1.0 and 1.1.1 hex packages contain garbage files that
break compilation with Erlang 20.
2024-02-21 16:46:37 +01:00
Badlop
9275bf40b2
Rebar3/Mix: If dev profile/environment, enable tools automatically
2024-02-21 16:46:37 +01:00
Badlop
4431fbbe5a
Include only observer; runtime_tools is automatically added
2024-02-21 16:46:37 +01:00
Badlop
b8181974ec
Replace 'if' preprocessor directive with 'ifndef', add OTP_BELOW_24
...
The 'if' preprocessor directive was added in Erlang/OTP 21.0,
but ejabberd currently supports Erlang 20.0 and higher...
Let's use 'ifndef' instead.
https://www.erlang.org/doc/reference_manual/macros.html#flow-control-in-macros
https://www.erlang.org/doc/apps/compiler/notes#compiler-7.2
https://www.erlang.org/patches/otp-21.0#compiler-7.2
2024-02-15 01:57:41 +01:00
Badlop
2438fc8b31
Add OTP_BELOW_25 to mix.exs that was added to rebar.config in 4ae06f0
2024-02-15 01:57:38 +01:00
Badlop
3c98ec5b48
Update "make translations" to reduce build requirements
...
Previously, preparing translations required rebar3 and:
./configure --enable-tools
make
make translations
With this change it works with rebar3 and mix, just running:
./configure
make translations
2024-02-15 01:57:34 +01:00
Paweł Chmielowski
506152d4e7
Use tagged version of dependencies
2024-01-23 13:39:21 +01:00
Badlop
a2ff5fbfdb
Add observer and runtime_tools in releases when --enable-tools
...
When --enable-tools, include observer and runtime_tools
in the OTP releases, as they are required by "ejabberdctl etop".
With this fix, "ejabberdctl etop" works correctly when:
* rebar3 + make rel
* mix + make dev
* mix + make rel
2024-01-17 10:24:34 +01:00
Badlop
e1f14aca9b
Rebar3: Provide proper path to iex
...
We can't use iex variable, because rebar3/relx_overlay.erl already uses
all existing app names as variables.
2024-01-17 10:24:34 +01:00
Badlop
4daeb41f0e
Elixir: Fix compiling ejabberd as a dependency (4128)
2024-01-17 10:24:34 +01:00
Badlop
852a540cb0
Elixir: Fix Elixir 1.17-dev warnings about single-quoted charlists
2024-01-17 10:24:34 +01:00
Badlop
8b38aebbc7
Mix: Enable stun by default when vars.config not found
...
configure.ac by default enables stun and zlib, in fact ejabberd.yml
has ejabberd_stun enabled by default, so for coherence mix.exs should
enable stun too when vars.config is not found.
2024-01-17 10:24:34 +01:00
Badlop
fa3c25ab66
Mix: New option vars_config_path to set path to vars.config (4128)
...
Useful when setting ejabberd as dependency in another Elixir project,
and you want to enable or disable some ejabberd dependencies, see
https://www.process-one.net/blog/how-to-use-ejabberd-as-an-elixir-application-dependency/
2024-01-17 10:24:34 +01:00
Badlop
30df1dbe3f
Mix: Set the nodename when using the ejabberd script generated by Elixir
...
Also use start instead of console in Elixir script
2024-01-17 10:24:34 +01:00
Badlop
6d61e3590d
Mix: Print shell commands output to the console when "make dev"
2024-01-17 10:24:34 +01:00
Badlop
e71650e6ab
Mix: Fix ejabberdctl iexlive problem locating iex in an OTP release
...
The problem appeared when:
./configure --with-rebar=mix
make dev
_build/dev/rel/ejabberd/bin/ejabberdctl iexlive
2024-01-17 10:24:34 +01:00
Badlop
d81b3805e3
Mix: Elixir 1.14 requires mix, and Elixir 1.16 warns about duplicate
2024-01-17 10:24:34 +01:00
Badlop
416253496d
Mix: Add yecc compiler as suggested by Elixir 1.16 warning over p1_pgsql
2024-01-17 10:24:34 +01:00
Paweł Chmielowski
29ec5bff60
Add option to disable XEP-0474: SASL SCRAM Downgrade Protection support
...
Looks like clients using strophejs aren't able to authenticate when we
add data required by that spec to scram packets, so at least give a way
to disable this until clients will be fixed.
2024-01-16 12:03:35 +01:00
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