Alexey Shchepin
03ffbe00c1
Update mod_disco to the new gen_mod API
2023-07-31 16:52:00 +03:00
Alexey Shchepin
5a9099f49c
Extend gen_mod API to simplify hooks and IQ handlers registration
2023-07-31 16:52:00 +03:00
Badlop
b501ee2b8d
Remove obsolete example files, and add link in Docs to the archived copies
2023-07-27 14:03:40 +02:00
Badlop
a7c3368635
Move example Perl extauth script from ejabberd git to Docs site
2023-07-27 14:03:37 +02:00
Paweł Chmielowski
84ee724aa3
Fix dialyzer warning
2023-07-25 18:49:45 +02:00
Paweł Chmielowski
da7fe59834
Commit changes to ejabberd_sql.hrl as well
2023-07-25 18:24:24 +02:00
Paweł Chmielowski
3710dc1e3b
Use prepared statement with mysql
2023-07-25 18:11:24 +02:00
Badlop
db03c7428c
Web Admin roster page: move the AddJID textbox to top ( #4067 )
2023-07-24 20:27:01 +02:00
Badlop
9c6fe98f76
Partially revert "Improve ejabberdctl script: Copy recent commit 6272c0e90
to the container"
...
This reverts commit e66ba2e424
following the revert in commit 8288774787
2023-07-24 20:26:37 +02:00
Holger Weiss
c03af0afb3
make-binaries: Remove outdated workaround
...
Remove a workaround for an issue that has been fixed in Erlang/OTP 25:
https://github.com/erlang/otp/pull/5558
2023-07-24 00:11:32 +02:00
Holger Weiss
d109d7f0c5
make-binaries: Revert to Linux-PAM 1.5.2
...
Linux-PAM's --disable-examples flag doesn't seem to have the expected
effect.
2023-07-23 16:34:21 +02:00
Holger Weiss
bf9b257eab
make-binaries: Don't build Linux-PAM examples
...
Building the examples shipped with Linux-PAM 1.5.3 fails with musl libc:
5374f677e4
2023-07-23 16:08:25 +02:00
Holger Weiss
11dc0c1774
make-binaries: Bump dependency versions
2023-07-23 15:52:32 +02:00
Holger Weiss
0a5eda0777
make-binaries: Fix check for current Expat version
2023-07-23 15:51:27 +02:00
Holger Weiss
a657a6d2f6
make-binaries: Apply another minor simplification
2023-07-23 15:35:09 +02:00
Holger Weiss
121acd1da7
make-binaries: Apply minor simplifications
2023-07-23 15:06:40 +02:00
Holger Weiss
ec86079747
make-binaries: Don't duplicate config entries
2023-07-23 14:56:01 +02:00
Holger Weiss
f1b0a9cb32
make-binaries: Don't hard-code musl version
...
The default is to link against the most-recent musl version available
within the crosstool-ng toolchain, which is currently 1.2.2. Unlike
with glibc, there's no point in sticking to some older version.
2023-07-23 14:54:04 +02:00
Holger Weiss
0b6cb77b3c
make-binaries: Omit unnecessary glibc setting
...
The CT_GLIBC_KERNEL_VERSION_NONE option is about the minimum kernel
version supported by the toolchain's glibc. The default is to stick to
the version of the kernel headers, which should be just fine.
2023-07-23 14:52:18 +02:00
Holger Weiss
8a740d5087
make-binaries: Set kernel version for all builds
...
Specify the same min. supported kernel version for builds against musl
libc and glibc.
2023-07-23 14:49:07 +02:00
Jérôme Sautret
8288774787
Add EJABBERD_OPTS in ejabberdctl.cfg & revert "Improve ejabberdctl script"
...
EJABBERD_OPTS is used to pass options to erl only when starting
ejabberd, to enable -heart for example.
This partially reverts commit 6272c0e901
.
2023-07-18 15:31:10 +02:00
Paweł Chmielowski
d349e3a88e
Revert "Add stun app to cond_apps in mix.exs"
...
Looks like this is required only when using older mix versions.
This reverts commit 2ef9fbc111
.
2023-07-18 11:14:57 +02:00
Paweł Chmielowski
2ef9fbc111
Add stun app to cond_apps in mix.exs
2023-07-17 18:40:39 +02:00
Badlop
78f81de252
Improve support to stop external modules written in Elixir
2023-07-13 13:41:18 +02:00
dependabot[bot]
8d9ee8e35b
Bump ex_doc from 0.29.4 to 0.30.1
...
Bumps [ex_doc](https://github.com/elixir-lang/ex_doc ) from 0.29.4 to 0.30.1.
- [Changelog](https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md )
- [Commits](https://github.com/elixir-lang/ex_doc/compare/v0.29.4...v0.30.1 )
---
updated-dependencies:
- dependency-name: ex_doc
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-13 13:41:14 +02:00
Badlop
e66ba2e424
Improve ejabberdctl script: Copy recent commit 6272c0e90
to the container
2023-07-13 13:41:06 +02:00
Paweł Chmielowski
fafb48e88f
Merge pull request #4025 from jpds/increase-default-backlog
...
ejabberd_listener.erl: Increase default listen queue backlog value
2023-07-11 12:19:33 +02:00
Jérôme Sautret
6272c0e901
Improve ejabberdctl script
...
Improved handling of ERLANG_OPTS and fixed hanging process when running some ejabberdctl commands as root, such as debug or foreground.
2023-07-10 16:18:06 +02:00
Paweł Chmielowski
54314e5bb9
Better error handling in mod_muc_rtbl
...
Should fix issue #4050
2023-07-04 18:18:49 +02:00
Badlop
ffbcf19156
Halt ejabberd if a command in CTL_ON_ fails during ejabberd startup
...
See processone/ejabberd-contrib#97
2023-06-20 17:54:10 +02:00
Badlop
dcc8149f58
New command to halt ejabberd abruptly with an error status code
...
Used for processone/ejabberd-contrib#97
2023-06-20 17:54:10 +02:00
Badlop
d2c54fd5fe
Fix calling ejabberdctl command with wrong number of arguments with Erlang 26
...
In Erlang up to 25.3, the lists:zip arguments were [A1, A2]
Since Erlang 26.0, the arguments are: [A1, A2, fail]
93748a8d84
2023-06-13 12:25:27 +02:00
Badlop
f40a7b1c77
OAuth: Handle badpass error message
2023-06-13 12:25:22 +02:00
Badlop
16f758e13f
Support to provide only the dependency name
...
This is used in ejabberd-contrib repository's ci.yml,
and useful for a custom development that doesn't require rebar2 support.
2023-06-12 20:48:47 +02:00
Badlop
c333cc0776
New option install_contrib_modules
...
This option is read during ejabberd start or config reload.
It installs the listed modules which aren't yet installed,
as long as allow_contrib_modules is not disabled.
Edit ejabberd.yml and configure the desired ejabberd-contrib modules,
add them in the install_contrib_modules option,
finally start ejabberd (or reload config).
2023-06-09 10:27:13 +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
0bbc255814
Dialyzer dirty workarounds because re:mp() is not an exported type
...
Since Erlang/OTP 26, Dialyzer by default reports unknown types.
ejabberd's type specs refer to the re:mp() type,
but that isn't exported in the OTP source code,
and cannot be used in any other modules.
This commit provides very dirty workarounds, and any cleaner
alternative is very welcomed.
2023-06-09 00:02:15 +02:00
Badlop
1b06f4ca4f
The warnings_as_errors compiler option is already disabled by default
2023-06-09 00:02:13 +02:00
Badlop
b3eeac637f
Update tests to Erlang/OTP 26 and recent Elixir
2023-06-09 00:02:10 +02:00
Badlop
480b42b36d
Run Dialyzer again with Erlang/OTP 26, and let's solve its problems
2023-06-09 00:02:06 +02:00
Badlop
436074c67a
When installing module already configured, keep config as example
...
When installing a module using ext_mod, if it has already configuration
in the modules section, copy its specific config file as an example
(copy file and rename it).
This may happen when using the new install_contrib_modules option.
2023-06-09 00:02:02 +02:00
Badlop
c9a2117570
Ignore .tool-versions in git, this file is used by asdf
2023-06-09 00:01:56 +02:00
sando38
6155b001b4
Dockerfile: Reorder stages and steps for consistency
...
Also avoid duplicated lines.
2023-06-09 00:01:54 +02:00
sando38
8f05af7810
Dockerfile: Use Alpine as base for METHOD=package
...
No need to use the "large" docker.io/erlang image as we do not need any erlang/otp for the binary installers.
2023-06-09 00:01:51 +02:00
sando38
33ac7916d3
Dockerfile: Cosmetic changes
...
Ommit the path to ejabberdctl as it is already located at the $PATH
Also, do not copy Dockerfile into the container as this may unnecessarily trigger re-compiling of ejabberd.
2023-06-09 00:01:49 +02:00
sando38
461c1ddf3d
Dockerfile: Rename packages to improve compatibility
...
Rename libcap packages to improve compatibility between Alpine versions. This may be beneficial if one specifies an OTP_VSN which was built using an older Alpine base version.
The alpine package libcap has been splitted into libcap2 and libcap-utils in Alpine 3.17. 'libcap' is now an alias for libcap2 and libcap-utils. We define 'so:libcap.so.2' for the runtime stage, as we only need the libraries, not the binaries.
2023-06-09 00:01:46 +02:00
sando38
2428f74fbd
Dockerfile: Provide specific OTP and elixir vsn for direct compilation
...
Ejabberd images can now be built with specific erlang/OTP and elixir vsn with the new build arguments OTP_VSN and ELIXIR_VSN.
2023-06-09 00:01:36 +02:00
Paweł Chmielowski
bb8e892323
Add alternate version of mysql upsert
...
This one works by issuing select and then insert or update or skip depending
on what select returns. We use this on mysql 5.7.26 and 8.0.20 where
previous implementation using 'replace' or 'on conflict update' can cause
excessive deadlocks.
2023-06-07 16:38:07 +02:00