Holger Weiss
ef93a5359b
Bump 'xmpp' dependency tag
...
This fixes announcing SASL2 over non-TLS connections if
'allow_unencrypted_sasl2' is configured.
2024-10-08 17:38:11 +02:00
Holger Weiss
4723283896
ejabberd_c2s: Optionally allow unencrypted SASL2
...
XEP-0388 says: "SASL2 MUST only be used by Clients or offered by Servers
after TLS negotiation". Therefore, we reject SASL2 negotiations over
unencrypted transports by default. However, TLS might be terminated
outside of ejabberd. Add the 'allow_unencrypted_sasl2' option to
support this use case.
2024-09-29 20:40:01 +02:00
Paweł Chmielowski
ec7fd05987
Update xmpp once more
2024-08-24 15:27:58 +02:00
Paweł Chmielowski
34a58863e3
Update xmpp dep
2024-08-24 13:16:03 +02:00
Paweł Chmielowski
8e7489c2be
Remove duplicate dep from mix.exs
2024-08-23 20:52:36 +02:00
Paweł Chmielowski
df5202a2f0
Update deps to bring improved s2s fallback for invalid direct tls connections
...
This allows connections to server that have both xmpps-server and xmpp-server
srv entries, for which xmpps version doesn't work correctly. Before this
change we would stop on non-working xmpps server, now we will also attempt
to connect further servers on list.
2024-08-23 20:48:53 +02:00
Badlop
db3a5d8915
Start ExSync manually to ensure it's started if (and only if) Relive
2024-08-21 10:51:59 +02:00
Badlop
e99fe98db4
Remove from extra_applications the apps already defined in deps ( #4265 )
2024-08-21 10:51:53 +02:00
Michael Slezak
b07e28be2c
Fix 'mix release' error: logger being regular and included application ( #4265 )
2024-08-21 10:51:51 +02:00
Badlop
918806006c
Update fast_xml to use use_maps and remove obsolete elixir files
2024-08-09 12:31:37 +02:00
Paweł Chmielowski
af99799e8a
Use tagged deps
2024-07-17 11:11:00 +02:00
Paweł Chmielowski
926f60b2ed
Output muc#roominfo_avatarhash in room disco info as per updated xep-0486
...
This should fix issue #4234 .
2024-07-16 18:55:02 +02:00
Badlop
0bfbe3e154
Add ejabberd example config files to the hex package
2024-07-16 11:31:39 +02:00
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