Badlop
9087e72f0e
Update image key, some scripts generate their own random key
2023-01-03 18:48:38 +01:00
Badlop
4ad4a3bf24
Support to get module status from Elixir modules
2022-12-22 14:00:38 +01:00
Jonathan Davies
ed84fee2bf
ejabberd_options_doc.erl: Added outgoing_s2s_families deprecation
...
notice.
Signed-off-by: Jonathan Davies <jpds@protonmail.com>
2022-12-22 14:00:22 +01:00
Jonathan Davies
25ddd7b152
Changed default outgoing_s2s_families to IPv6 as servers are within datacenters
...
where IPv6 is more commonly enabled (contrary to clients), and if it's not
present - it'll just fall back to IPv4.
2022-12-22 14:00:22 +01:00
Paweł Chmielowski
5ad709a2e2
Fix typo in last commit
2022-12-21 11:13:49 +01:00
Paweł Chmielowski
32ace140df
Don't store mucsub presence events in offline storage
...
This is expanded version of pull request #3959
2022-12-21 11:12:08 +01:00
Paweł Chmielowski
bc063b8f97
Fix crash when api_permisions don't have who: section
...
Default value of that field was wrong, so lets correct this.
This fixes issue #3957
2022-12-15 11:27:20 +01:00
Badlop
03681cd68d
Expose the pubsub#type field in disco#info query to the node ( #3914 )
2022-12-13 23:57:34 +01:00
Badlop
6a10048339
Document the new log_modules_fully option
2022-12-13 23:24:01 +01:00
Paweł Chmielowski
25d6b3d1c8
Fix dialyzer warnings
2022-12-07 14:08:23 +01:00
Paweł Chmielowski
639183a783
Add support for certificate authentication in mqtt bridge
2022-12-07 13:38:05 +01:00
Paweł Chmielowski
80477f71b3
Add misc:uri_parse/2 to allow declaring default ports for protocols
2022-12-07 13:34:29 +01:00
Paweł Chmielowski
d49b50a055
Add log_modules_fully option to make some modules log everything independed from global loglevel
2022-12-01 13:24:46 +01:00
Paweł Chmielowski
54592202ef
Allow admin command to subscribe new users to members_only rooms
2022-12-01 11:52:39 +01:00
Paweł Chmielowski
be60263d47
Fix dialyzer warnings in mod_mqtt_bridge
2022-11-24 16:23:37 +01:00
Badlop
441eca75b2
hibernation_time is not an option worth storing in room state ( #3946 )
2022-11-23 18:40:28 +01:00
Badlop
266dd98521
OAuth: Accept jid as a HTTP URL query argument
2022-11-23 18:40:26 +01:00
Badlop
b0e74464b1
OAuth: Handle when client is not identified
2022-11-23 18:40:23 +01:00
Badlop
daaaf221cb
Don't set i18n option because Converse enforces it instead of browser lang ( #3951 )
2022-11-23 18:39:49 +01:00
Paweł Chmielowski
e2779e1155
Try to redirect access to files mod_conversejs to cdn when there is no local copies
2022-11-23 16:28:42 +01:00
Paweł Chmielowski
514bab47a2
Add hook for mqtt publish event
2022-11-23 15:16:43 +01:00
Paweł Chmielowski
fbea49dbab
Add mqtt bridge module
2022-11-23 14:50:18 +01:00
chengshq
5cf9b052dd
Jid format when multicastc
was cached ( #3950 )
...
The error log:
```2022-11-22 04:10:25.436648+00:00 [error] <0.515.0>@ejabberd_router:route/1:95 Failed to route packet:
#message{
id = <<>>,type = normal,lang = <<>>,
from =
#jid{
user = <<"a123">>,server = <<"conference.example.com">>,
resource = <<>>,luser = <<"a123">>,
lserver = <<"conference.example.com">>,lresource = <<>>},
to = <<"multicast.app.example.com">>,subject = [],body = [],
thread = undefined,
sub_els =
[#ps_event{
items =
#ps_items{
xmlns = <<>>,
node = <<"urn:xmpp:mucsub:nodes:subscribers">>,
items =
[#ps_item{
xmlns = <<>>,id = <<"5803948964051348597">>,
sub_els =
[#muc_subscribe{
nick = <<"bb">>,password = <<>>,
jid = undefined,events = []}],
node = <<>>,publisher = <<>>}],
max_items = undefined,subid = <<>>,retract = undefined},
purge = undefined,subscription = undefined,delete = undefined,
create = undefined,configuration = undefined},
#addresses{
list =
[#address{
type = bcc,
jid =
#jid{
user = <<"aaa">>,server = <<"app.example.com">>,
resource = <<>>,luser = <<"aaa">>,
lserver = <<"app.example.com">>,lresource = <<>>},
desc = <<>>,node = <<>>,delivered = undefined,
sub_els = []},
#address{
type = bcc,
jid =
#jid{
user = <<"bb">>,server = <<"app.example.com">>,
resource = <<>>,luser = <<"bb">>,
lserver = <<"app.example.com">>,lresource = <<>>},
desc = <<>>,node = <<>>,delivered = undefined,
sub_els = []}]}],
meta = #{}}
** exception error: {badrecord,jid}
in function ejabberd_router:do_route/1 (src/ejabberd_router.erl, line 394)
in call from ejabberd_router:route/1 (src/ejabberd_router.erl, line 92)
in call from maps:fold_1/3 (maps.erl, line 232)
in call from mod_multicast:handle_info/2 (src/mod_multicast.erl, line 206)
in call from gen_server:try_dispatch/4 (gen_server.erl, line 637)
in call from gen_server:handle_msg/6 (gen_server.erl, line 711)
in call from proc_lib:init_p_do_apply/3 (proc_lib.erl, line 249)```
Then command debug select the multicastc:
```
(ejabberd@localhost)2> mnesia:dirty_read(multicastc, <<"app.example.com">>).
[{multicastc,<<"app.example.com">>,
{{multicast_supported,<<"multicast.app.example.com">>,
{limits,{default,20},{default,20}}},
cached},
63836303692}]```
The type of `Service` was binary.
2022-11-22 12:11:31 +01:00
Stu Tomlinson
a1cfae8c98
pgsql: do not set standard_conforming_strings to 'off' ( #3944 )
...
Since f9120f75b0
string literals use escape string syntax (E'...') on
pgsql, so it is no longer necessary to set standard_conforming_strings
to 'off'
Fixes #3932
2022-11-16 13:58:30 +01:00
Badlop
c6513fcfc6
Handle mnesia_system_event mnesia_up when other node joins this ( #3842 )
2022-11-14 18:45:20 +01:00
Paweł Chmielowski
6fcfe80a65
Pass ssl options to mysql driver
2022-11-14 11:19:51 +01:00
Paweł Chmielowski
992d998695
Silent warning in OTP24 about not specified cacerts in sql connections
2022-11-14 11:18:26 +01:00
Badlop
b71a481e63
Add details about XEP implementations to some protocol attributes
2022-11-07 18:56:46 +01:00
Badlop
b73a9234d9
Add some missing RFCs and remove problematic leading 0 in xep versions
2022-11-04 16:17:39 +01:00
Badlop
2ef71a6684
Annotate captcha_cmd option, run make options, update man
2022-10-25 12:11:24 +02:00
Badlop
8ea7690fc5
Support @VERSION@ and @SEMVER@ in captcha_cmd option
2022-10-24 12:35:30 +02:00
Holger Weiß
13d4787ea9
Bump default 's2s_timeout' value ( #3653 )
...
Wait for an hour before closing an idle s2s connection.
It's not uncommon for a connection to be idle for longer than ten
minutes but less than an hour. For example, XEP-0410 suggests a ping
interval of fifteen minutes. A longer idle timeout avoids the latency
and log entries associated with constantly re-establishing such
connections.
Co-authored-by: Paweł Chmielowski <pawel@process-one.net>
2022-10-18 16:08:16 +02:00
Frank
28b3134098
fix table creation on a running cluster ( #3913 )
2022-10-18 15:38:55 +02:00
Badlop
d29fdc4d2e
Remove unnecessary text string
2022-10-12 12:06:28 +02:00
Badlop
77f9254f45
Handle case that module exports mod_doc, but nothing in it
2022-10-12 12:06:11 +02:00
Badlop
77dacf92d2
Annotate new options
2022-10-12 12:06:09 +02:00
Paweł Chmielowski
c99ff6059f
Fix cache invalidation in shared roster
...
Doing srg_get_info for not existing group, then srg_create, will make
srg_add_user fail because it will get info that group doesn't exist from
cache.
2022-09-28 18:28:24 +02:00
Paweł Chmielowski
4a22604701
Export mod_muc_admin:get_room_pid/2
2022-09-22 11:11:02 +02:00
Badlop
796f567db1
The archive_msg export fun requires MUC Service for room archives
2022-09-16 16:35:00 +02:00
Badlop
2229e4c6db
Allow MUC service admins to bypass max_user_conferences limitation
2022-09-16 16:34:58 +02:00
Badlop
fac74f623e
Remove unused macro definitions detected by rebar3_hank
...
?OFFLINE_TABLE_LOCK_THRESHOLD is unused:
definition and usage added in 4103f30812
definition copied, and usage moved to mod_offline_mnesia, in 901d2e0aed
definition and usage removed in mod_offline_mnesia in d88e4d495f
this definition looks useless
?VERSION_MULTICAST is unused:
added in 0cf8d1fa6e
it was never used
?DISCO_QUERY_TIMEOUT is unused:
added in 0cf8d1fa6e
it was never used
?FEATURE/1 is unused:
added in 0cf8d1fa6e
usage removed in bc33a3873d
?DEFAULT_MAX_USERS_PRESENCE is unused:
added in f817762cc4
usage removed in ba2b650464
?CT_XML is unused:
added in 46568fb959
removed in 3dc55c6d47
2022-09-16 16:34:56 +02:00
Linus Jahn
14882342be
Adapt to change of mix_annotate type to boolean in roster_query
2022-09-16 12:29:51 +02:00
Linus Jahn
eeed1ca87f
Adapt to renaming of 'participant-id' from mix_roster_channel record
2022-09-16 12:29:50 +02:00
Badlop
a8121cd7e5
Don't persist 'none' role (thanks to Blake Miller)( #3330 )
2022-09-13 17:55:09 +02:00
Badlop
4d3875f4ff
Store role, and use it when joining a moderated room ( #3330 )
2022-09-13 17:55:03 +02:00
Holger Weiss
b017207ac1
mod_admin_extra: Handle empty roster group names
...
Don't let 'add_rosteritem' create a roster group with an empty name.
Thanks to Licaon_Kter for reporting the issue.
2022-09-09 18:27:49 +02:00
Badlop
17a5835143
Simplify recent commit (thanks to Simon Lipp)( #3894 )
2022-09-07 13:57:12 +02:00
Badlop
42e384beb7
Fix unix socket support for ejabberd_http (thanks to Simon Lipp)( #3894 )
2022-09-06 13:34:01 +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
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
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
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
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
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
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
Paweł Chmielowski
46c947bc76
Define batch delete function types in coresponding behaviours
2022-06-17 10:35:02 +02:00
Paweł Chmielowski
a2efde185a
Fix mam delete_old_messages_batch for sql backend
...
Too much copy/paste from spool equivalent...
2022-06-17 10:22:57 +02:00
Paweł Chmielowski
a89b1f332d
Use INSERT ... ON DUPLICATE KEY UPDATE for upsert on mysql
...
This can be used for all upsert expressions (where REPLACE INTO used
previously were only possible to use for subset of queries), and may
potentially help with deadlocks reported by mysql when we issues multiple
querier for same key in quick succession.
2022-06-10 16:25:50 +02:00
Badlop
5a2e58e066
Fix regression on stop_ping in clustering context (thanks to fdie)( #3817 )
2022-05-23 16:52:27 +02:00
Badlop
0e25f8d43e
Fix mod_conversejs crash when mod_register not enabled ( #3824 )
2022-05-23 16:49:35 +02:00
Paweł Chmielowski
99064548e8
Fix parsing of scram password from prosody
...
Looks like parsed integer no longer are convered to floats on erlang side,
so let's make check for them less restrictive.
2022-05-17 13:21:30 +02:00
Badlop
4f8e6fe844
Fix errors and warnings for "rebar3 edoc"
2022-05-17 10:42:02 +02:00
Paweł Chmielowski
a916d94000
Pass room state to muc_{un}subscribed hook
2022-05-09 17:32:34 +02:00
Paweł Chmielowski
ed7fc956d5
Allow muc_{un}subscribe hooks to modify sent packets
2022-05-09 16:34:27 +02:00
Paweł Chmielowski
84d8c156a0
Fix spec
2022-05-06 10:15:23 +02:00
Paweł Chmielowski
c7ab3274c5
Return userinfo from misc:uri_parse
2022-05-06 10:14:50 +02:00
Paweł Chmielowski
3d4f2d365f
Have consistent schema type in misc:uri_parse
2022-05-06 10:06:13 +02:00
Paweł Chmielowski
bc9e5c5363
Fix one more place where misc:uri_parse is used
2022-05-05 13:46:02 +02:00
Paweł Chmielowski
54a1fcc5e8
Improve misc:uri_parse
2022-05-05 13:07:03 +02:00
Badlop
aa190ca896
Run 'make options'
2022-05-04 18:01:46 +02:00
Badlop
30b3c6c908
Annotate options and commands recently added
2022-05-04 18:00:58 +02:00