Commit Graph

8715 Commits

Author SHA1 Message Date
Badlop c496baaf87 Container: Don't complain if the bin/ directory already exists 2022-09-07 13:59:20 +02:00
Badlop 14cced0bad Container: No need to search for the ejabberdctl binary 2022-09-07 13:58:56 +02:00
Badlop 17a5835143 Simplify recent commit (thanks to Simon Lipp)(#3894) 2022-09-07 13:57:12 +02:00
Roman Hargrave f542a82309 feat: do not clone repo inside container build 2022-09-07 10:57:55 +02:00
Badlop 42e384beb7 Fix unix socket support for ejabberd_http (thanks to Simon Lipp)(#3894) 2022-09-06 13:34:01 +02:00
Badlop 9a3ba9d76f Update Github Action workflows: Ubuntu 18 is deprecated and 22 is added
CI:
- Update Ubuntu to 20.04, the lowest available starting in April 2023 [1]
- Don't test 19.3, as it isn't available in Ubuntu 20.04
- Use OTP 25 for Shellcheck, Coveralls, ECIL page
- Use erlef instead of ErlGang, supports better old erlangs in new ubuntus
- Remove support for rebar2 testing, as that's done in Runtime

CI-19.3:
- Add a temporary workflow for testing ejabberd with OTP 19.3

Container and Runtime:
- Update Ubuntu to latest (22.04)

[1] https://github.com/actions/runner-images/issues/6002
https://github.com/ErlGang/setup-erlang
https://github.com/erlef/setup-beam
2022-09-06 13:33:58 +02:00
Paweł Chmielowski f624b14636 Add function for getting room diagnostics 2022-09-01 13:37:48 +02:00
Badlop aaf391b284 Catch all errors from jose_jwt:verify and log debugging details (#3890) 2022-09-01 13:02:56 +02:00
Badlop 808def7d32 The #roster_item.ask allowed values are subscribe|undefined 2022-09-01 13:02:54 +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 7a1ca4b203 mod_host_meta: Complain at start if listener is not encrypted 2022-09-01 13:02:49 +02:00
Holger Weiss 63caa369be mod_pubsub: Don't crash on command failures
Handle 'delete_old_items' and 'delete_expired_items' errors gracefully.
2022-08-31 18:10:22 +02:00
Paweł Chmielowski fba651822d Handle invalid values in X-Forwarded-For header more gracefuly 2022-08-29 11:26:31 +02:00
Paweł Chmielowski cfc8746d29 Update roster_get hook in mod_shared_roster_ldap to use #roster_item{} 2022-08-24 11:14:32 +02:00
Paweł Chmielowski a9e85674b8 Fix mucsub unsubscribe notification payload to have muc_unsubcribe in it
...instead of muc_subscribe
2022-08-24 10:30:02 +02:00
Holger Weiss bce429dc44 make-packages: Fix permissions on RPM systems
RPM resets ownership/permissions of /opt/ejabberd and its subdirectories
on installation.  Therefore, fix those in the "after-install" script.
2022-08-21 15:48:28 +02:00
Jonah Brüchert 9a8a843724 Fix filter_nodes
The previous implementation always returned an empty list while testing
it. However I don't really understand why that happened. The list
comprehension based one works, although it looks equivalent to me.
2022-08-17 16:37:20 +02:00
Jonah Brüchert 0faf34b26d Parse sub elements of the mix join remote result 2022-08-17 16:37:20 +02:00
Jonah Brüchert b1e6e408f8 mod_mix: Return user jid on join 2022-08-17 16:37:20 +02:00
Linus Jahn 4a52b73a17 mod_shared_roster: Fix wrong hook type #roster{} (now #roster_item{})
The hook type was changed from #roster{} to #roster_item{} by me in the
recent MIX changes. Unfortunately I've overseen this one (and unit tests
+ dialyzer passed).
2022-08-12 17:07:28 +02:00
Linus Jahn b0526cd903 mod_mix, mod_mix_pam: Add new MIX namespaces to disco features 2022-08-12 10:53:53 +02:00
Jonah Brüchert 648245e974 mod_mix, mod_mix_pam: Add handling of IQs with newer MIX namespaces
Supported are mix:core:{0,1} and mix:pam:{0,2}
2022-08-12 10:53:53 +02:00
Linus Jahn d6b72f1c5d mod_roster: Change hook type from #roster{} to #roster_item{}
The problem with #roster{} is that every new record entry is also stored
in the mnesia roster table.  Adding the mix_participant_id there makes
no sense because the normal roster items are no MIX channels.  Using
\#roster_item{} for the hook and #roster{} for storing the normal items
seems to be a better idea.
2022-08-11 12:45:20 +02:00
Linus Jahn d450d40178 mod_roster: Respect MIX <annotate/> setting
MIX extensions are not sent to clients if they haven't been enabled by
the client with <annotate/> in the roster get request.
2022-08-11 12:45:20 +02:00
Linus Jahn 3bf0892c74 mod_mix_pam: Do roster pushes on join/leave
Before the channels were added/removed from the database but the
clients were not notified of it.
2022-08-11 12:45:20 +02:00
Linus Jahn 7564a4e953 mod_mix_pam: Provide MIX channels as roster entries via hook 2022-08-11 12:45:20 +02:00
Holger Weiss e858738736 ejabberd_listener: Let module take over socket
For some use cases, it may be necessary to allow a module to take over
socket ownership during initialization.
2022-08-10 18:28:35 +02:00
Badlop c2cd592eff Update documentation to reflect the GHCR image usage 2022-08-08 12:31:18 +02:00
Badlop f080aa5fd9 Apply the minimal changes required to use the GHCR image 2022-08-08 12:31:16 +02:00
Badlop 682c258760 Copy ejabberd-docker-install.bat from docker-ejabberd git and rename it 2022-08-08 12:31:14 +02:00
Badlop 7d8fa3c880 ext_mod: Support managing remote nodes in the cluster 2022-08-05 16:15:05 +02:00
Badlop 72944d895b ext_mod: Handle correctly when COMMIT.json not found 2022-08-05 16:15:03 +02:00
Badlop 00e6b0c97c Show allow_query_users room option in disco info (#3830) 2022-08-04 12:28:15 +02:00
Badlop a798a21386 CI: Remove syntax_tools from applications, as fast_xml fails Dialyzer 2022-08-04 12:05:46 +02:00
Mark Zealey 555ff2db4c
Add log_burst_limit_* options (#3865)
* Add log_burst_limit_* options

On our ejabberd deployment we were sometimes seeing more than 500
msgs/sec of legitimate traffic, however this was getting silently
dropped. Provide config options to enable this limit to be configured
from the config file.

* Pass new logging vars in via ejabberdctl
2022-08-01 12:07:54 +02:00
Paweł Chmielowski 9b647a7afe Skip connection exit message when we triggered reconnection 2022-07-28 19:25:17 +02:00
Paweł Chmielowski 2b3644c8ac Handle errors reported from begin/commit inside transaction 2022-07-28 19:24:28 +02:00
Paweł Chmielowski 3d329c7e8f Make connection close errors bubble up from inside sql transaction 2022-07-28 13:17:35 +02:00
Badlop 1ea53bf940 Add syntax_tools to applications, required when using ejabberd_sql_pt (#3869) 2022-07-27 15:16:52 +02:00
Badlop bc8050eb03 Don't bother with COMMIT.json user-friendly feature in automated user case 2022-07-27 15:16:51 +02:00
Badlop a38ed7fb2c Handle not found COMMIT.json, for example in GH Actions 2022-07-27 15:16:49 +02:00
Badlop 033656d70e Add WebAdmin page for managing external modules 2022-07-26 15:42:13 +02:00
Badlop 853f35c706 Remove nginx and libgd3, so the proper versions can be installed 2022-07-26 15:42:13 +02:00
Paweł Chmielowski 7b944444ce Catch mysql connection being close earlier 2022-07-19 14:35:35 +02:00
Paweł Chmielowski 73167ef1bd Make first sql reconnect wait shorter time 2022-07-19 14:32:47 +02:00
Paweł Chmielowski 43f36205bd React to sql driver process exit earlier
If there are queued request when connection closes we may try to process
those requests (by trying to send them to already terminated db process,
and waiting until we hit timeout) before we see that driver is not longer
alive. This change adds check for driver exit before we process next
queued sql request, and immediately switch to connection state if we have
one.
2022-07-15 13:51:30 +02:00
Alexey Shchepin 99d9e315a3 Don't set affiliation to 'none' if it's already 'none' in mod_muc_room:process_item_change/3 2022-07-01 09:39:37 +03:00
Linus Jahn e10c67a74a mod_mix_pam: Display joined channels on webadmin page 2022-06-28 22:15:04 +02:00
Paweł Chmielowski 991d52f019 Fix error reporting in 'make options' on OTP24+ 2022-06-24 11:36:54 +02:00
Paweł Chmielowski 06147deccd Don't register listeners that failed to start in config reload
This should alleviate some issues in #3850
2022-06-21 11:09:37 +02:00