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
Badlop
2739a52e0f
Update options configurable in default_room_options
2022-05-02 20:20:21 +02:00
Paweł Chmielowski
6f11210edd
Implement batch operations in mnesia backend
2022-05-02 15:05:55 +02:00
Holger Weiss
b5a76fb4de
mod_push: Keep push session ID on session resume
...
Don't forget the push session ID if the client resumes a stream
management session. This makes sure no push notifications are generated
for a connected client with a resumed stream management session.
Thanks to Thilo Molitor for spotting the issue.
2022-05-02 01:54:42 +02:00
Holger Weiss
c148ab4430
Adapt mod_push_keepalive to mod_push changes
...
Adjust mod_push_keepalive to work with the mod_push changes applied by
commit 11574f0a43
.
2022-05-01 17:51:07 +02:00
Holger Weiss
a30d5875ed
mod_push: Rename "timestamp" to "push session ID"
...
The fact that mod_push uses a timestamp as a push session ID is just an
implementation detail. Rename things accordingly to avoid confusion.
However, stick to "timestamp" in the storage modules, as it corresponds
to the database column names/types, there.
2022-05-01 15:49:22 +02:00
Holger Weiss
11574f0a43
mod_push: Fix notifications for pending sessions
...
Fix the problem that no push notifications were triggered in the case
where all of the following conditions applied:
- The XEP-0198 session has been resumed at least once.
- The XEP-0198 session is pending (i.e., the client is disconnected).
- The message wasn't stored in the user's MAM archive (e.g., because it
was of type "groupchat").
The problem was introduced in cd336369a5
.
Many thanks to Friedrich Altheide for reporting the issue and to Thilo
Molitor for his help with tracking it down.
2022-05-01 15:26:21 +02:00
Paweł Chmielowski
d65d04cc9a
Compile elixir_logger_backend only when lager is used
2022-04-29 12:35:16 +02:00
Paweł Chmielowski
881cc42168
Attach meta field with real jid to mucsub subscription events
2022-04-29 11:58:38 +02:00
Jérôme Sautret
69a5a22810
Delete ping timer if resource is gone after the ping has been sent
2022-04-28 14:54:41 +02:00
Paweł Chmielowski
b34291762a
Remove dialyzer warning
2022-04-28 10:18:29 +02:00
Paweł Chmielowski
6fd4315a0c
Guard agains erlang:system_info(logical_processors) not always returning number
2022-04-28 09:51:51 +02:00
Jérôme Sautret
f4959c8b28
Don't send ping if resource is gone
2022-04-26 18:56:38 +02:00
Alexey Shchepin
74e86611ab
Stop empty MUC rooms 30 seconds after creation
2022-04-21 14:38:50 +03:00
Paweł Chmielowski
155261f78a
Fix dialyzer warning
2022-04-20 19:20:16 +02:00
Paweł Chmielowski
e59043db2c
Make oauth_revoke_token work with all backends
2022-04-20 19:07:52 +02:00
Badlop
87445bc74b
Clarify mod_offline's use_mam_for_storage option
2022-04-13 17:33:08 +02:00
Badlop
d8642fc7c2
Fix syntax of some commands' result_example
2022-04-13 17:33:04 +02:00
Badlop
19019bbe32
Add support for MUC room vCard in get_vcard commands
2022-04-12 13:35:55 +02:00
Badlop
10481ed895
mod_cron from ejabberd-contrib is another possible frontend to run commands
2022-04-11 17:04:53 +02:00
Paweł Chmielowski
feb2ad0664
Don't use floor - doesn't exist in R19
2022-04-08 18:27:58 +02:00
Paweł Chmielowski
0870f32c59
Add rate limited delete_old_messages
2022-04-08 17:48:53 +02:00
Paweł Chmielowski
b86fe14ef0
Add rate limited delete_old_mam_messages command
2022-04-08 17:23:42 +02:00
Licaon_Kter
6dbd1118a2
mod_conversejs example, use newer dark theme
...
ref: https://github.com/conversejs/converse.js/releases/tag/v9.1.0
2022-04-06 18:21:43 +02:00
Badlop
170ea134d6
Set Converse auth and register options based on ejabberd configuration
2022-04-06 11:11:21 +02:00
Badlop
b405a3b61e
Fix compilation with Erlang 19
2022-04-06 11:11:18 +02:00
badlop
e3ff868fcd
Merge pull request #3756 from pouriya/Add-Process-Hook-Tracing
...
Add process hook tracing
2022-04-06 11:10:57 +02:00
Holger Weiss
121fc716b0
domain_balancing: Allow for specifying 'type' only
...
Allow for specifying the 'type' of 'domain_balancing' without specifying
the 'component_number' (as per the example in the documentation). The
balancing 'type' is then applied to the dynamic number of component
instances.
2022-04-04 00:14:32 +02:00
Badlop
152956c194
Add more configuration examples
2022-04-01 12:04:08 +02:00
Badlop
6cdb517454
New conversejs_options to setup additional options for Converse
2022-04-01 12:04:07 +02:00
Badlop
94186a36d0
The *_url options now support 'auto'
2022-04-01 12:04:05 +02:00
Badlop
f461bcb597
Improved mod_conversejs to support @HOST@, auto and conversejs_resources
...
Changes:
- The options can use the @HOST@ keyword
- default_domain option is @HOST@ by default, not the first defined vhost
- New conversejs_resources option to serve converse.js files (no need for web server)
- conversejs_* now support 'auto', which uses local or remote Converse files
2022-04-01 12:04:03 +02:00
Badlop
8065ec831e
New mod_host_meta to serve host-meta files, see XEP-0156
2022-04-01 12:04:01 +02:00
Badlop
f19219f5a0
Terminate ejabberd_sm before everything else to ensure sessions closing ( #3641 )
2022-03-25 12:53:25 +01:00
Badlop
0f73d3f4d1
Don't define restart and stop in ejabberd_ctl, use the corresponding commands
2022-03-25 12:51:27 +01:00
Badlop
91c9b0446c
Don't export password attribute when it's empty (it's invalid)( #3705 )
2022-03-25 12:51:24 +01:00
Simon Paitrault
68762146d7
Checking users is active in SM for JWT authenticated user ( #3795 )
...
Signed-off-by: Freyskeyd <simon.paitrault@gmail.com>
2022-03-24 17:03:50 +01:00
Alexey Shchepin
5506b838c8
Add TLS certificate authentication for MQTT connections
2022-03-14 15:41:01 +03:00
Stu Tomlinson
dca49f508f
Sync old-to-new schema script with reality ( #3790 )
...
Update the update_sql function to match current "new" sql schema
2022-03-08 13:56:27 +01:00
Paweł Chmielowski
3520869e36
Use correct timestamp when hibernation_time is not set at all
2022-03-07 17:38:04 +01:00
Alexey Shchepin
d5841785e1
Don't request the whole MUC room state in get_room_occupants_number command ( #3684 ) ( #1964 )
2022-03-07 08:42:42 +03:00
Badlop
d4f288d3c6
Add link in mod_http_api documentation to the docs API section
2022-02-24 01:02:48 +01:00
Badlop
c407b73803
Fix WebSocket uppercase
2022-02-24 01:02:46 +01:00
Badlop
22b469f55d
The lager dependency is used only with old Erlang versions
2022-02-24 01:02:41 +01:00
Paweł Chmielowski
d4bf29e3ff
Improve compatibility with various db engine versions
2022-02-18 20:43:56 +01:00
Paweł Chmielowski
4247501dc6
Fix compilation on OTP < 21 and remove dialyzer warning
2022-02-18 17:21:22 +01:00
Paweł Chmielowski
f86055378d
Optimize room_unused_* commands
...
Previously to check if hibernated room was old enough we had to fetch info
about all rooms from database. Now we repurpose created_at field in sql
to store that info, that allow us to have more efficient query just for it.
2022-02-18 14:02:04 +01:00
Badlop
b3211b1f71
Update copyright year to 2022
2022-02-11 09:39:25 +01:00
Badlop
4d093ac03e
ejabberd_sql_pt got USE_NEW_SCHEMA in 78dfb83
and removed in e15595d
2022-02-11 09:39:11 +01:00
Badlop
dda60fcf0d
Implement Get List of Registered/Online Users from XEP-0133
2022-02-11 09:39:05 +01:00
Badlop
25e0326f87
Improve explanation of s2s_access option. Add link to access_rules option
2022-02-03 18:21:53 +01:00
Badlop
c92478f7c2
Use the same wording in all the identical options db_type and ram_db_type
2022-02-03 18:21:51 +01:00
Badlop
adbccbe852
New "make relive" similar to "ejabberdctl live" without installing
...
Prepare with:
./autogen.sh && ./configure --with-rebar=./rebar3 && make
Or use this if you installed Elixir:
./autogen.sh && ./configure --with-rebar=mix && make
Start without installing (it recompiles when necessary):
make relive
It stores config, database and logs in _build/relive/
There's available the well-known script:
_build/relive/ejabberdctl
Please note this fails immediately:
r3:do(compile).
This crashes a few seconds later:
rebar3:run(["compile"]).
Workaround that works correctly:
ejabberd_admin:update().
2022-02-03 18:21:47 +01:00
Holger Weiss
67b5de05c7
mod_pubsub: Unsubscribe JID on whitelist removal
...
If a JID is removed from the affiliation lists of a node with access
model 'whitelist', remove it from the list of subscribers as well.
2022-02-02 22:35:28 +01:00
Paweł Chmielowski
11c725018b
Make dialyzer happy
2022-02-02 18:33:45 +01:00
Paweł Chmielowski
9542cca0db
One more place where we need to handle socket field not being available
2022-02-02 16:26:39 +01:00
Paweł Chmielowski
8824a912ef
Don't expect that socket will be available in c2s_terminated hook
...
For detached connection we free socket, so let's make code account for this
(and we really need it for printing debug informations).
This makes sure we call ejabberd_sm:close_session
2022-02-02 16:19:13 +01:00
Paweł Chmielowski
cae4fbb40b
Store all mucsub notifications not only message notifications
...
Previously we stored only message/subject change notifications, but if user
request also change notificaitons for affiliation/config/subscribers then
i don't see reason why we shouldn't store it as well.
2022-02-01 15:18:50 +01:00
Holger Weiss
52ac941034
mod_shared_roster: Adjust special group cache size
...
Let the size of the cache used for 'special' groups (such as @all@ or
@online@) depend on the number of virtual hosts, as the cache will
contain seperate entries per domain.
Thanks to Ingo Jrgensmann for reporting the issue.
2022-01-25 16:57:27 +01:00
Badlop
1b192987d2
Support MQTT subscriptions spread over the cluster ( #3750 )
2022-01-25 13:20:31 +01:00
Badlop
585afcbc77
Pass property name as expected in mqtt_codec (fixes login using MQTT 5)
2022-01-25 13:16:07 +01:00
Kian-Meng Ang
adf0f87e99
Fix typos
2022-01-24 08:02:04 +08:00
Pouriya Jahanbakhsh
259876cb74
feat: event handling
...
run multiple event handlers
generate new events in timing event handlers
print human-readable times
output each callback time info is optional and by default is disabled
2022-01-22 18:17:11 +03:30
Pouriya Jahanbakhsh
20326e8908
feat: process hook tracing
2022-01-21 03:18:55 +03:30
Holger Weiss
0f2d36dc53
mod_pubsub: Allow for limiting item_expire value
...
If mod_pubsub's 'max_item_expire_node' option is specified, reject node
configurations with an 'item_expire' value that exceeds the specified
limit.
2022-01-17 19:08:36 +01:00
Holger Weiss
8e88fa3884
mod_shared_roster: Normalize JID on unset_presence
...
Don't forget to normalize the JID handed over from ejabberd_sm on
presence-unavailable. Without normalization, mod_shared_roster might
fail to look up the storage backend for the given host name, for
example.
Fixes #3752 .
2022-01-15 18:18:24 +01:00
Badlop
a9ac10e876
Document that 'unregister' command deletes data associated with the account
2022-01-13 19:34:37 +01:00
Badlop
1fb908b70f
Document option subscrube_room_many_max_users introduced in fc34661b6
2022-01-13 19:34:10 +01:00
Badlop
1ce3bd256b
Update section URLs in ldap documentation
2022-01-13 19:34:07 +01:00
Badlop
ce14c28faf
Fix version when this command was really updated
2022-01-11 17:28:36 +01:00
Badlop
03a11c63bd
Fix login when generating client id, keep connection record ( #3593 )
2022-01-11 17:19:12 +01:00
Paweł Chmielowski
9ba20d26cb
Add better descripion of subscribe_room_many command
2022-01-05 16:44:05 +01:00
Badlop
cc7ebb86b4
Fix Dialyzer, related to Luerl API update from 0.3 to 1.0
2022-01-04 23:06:30 +01:00
Holger Weiss
59c9500944
mod_muc_room: Fix function name typo
2021-12-30 21:17:11 +01:00
Holger Weiss
3c46e6aba5
Merge remote-tracking branch 'processone/pr/3735'
...
* processone/pr/3735:
node_pep: Add config-node and multi-items features
2021-12-20 09:37:37 +01:00
Alexey Shchepin
fc34661b6f
Add subscribe_room_many command
2021-12-20 09:42:02 +03:00
Alexey Shchepin
a26c9d2475
Optimize user removal handling in mod_muc
2021-12-20 09:42:02 +03:00
Alexey Shchepin
536beedeb6
Accept more types of ejabberdctl commands arguments as JSON-encoded
2021-12-20 09:42:02 +03:00
Linus Jahn
7196f46730
node_pep: Add config-node and multi-items features
...
Fixes #3714 .
2021-12-19 21:06:33 +01:00
Holger Weiss
42bdb501ca
mod_stun_disco: Fix parsing of IPv6 listeners
...
Don't crash if `mod_stun_disco` is used with `offer_local_services`
and an IPv6 listener has an explicit `ip:` address configured.
Thanks to Daniel Kenzelmann for reporting the issue.
2021-12-18 17:50:26 +01:00
Badlop
7e07cba406
Let get_all_rooms handle "global" argument, fixes rooms_unsued_... ( #3726 )
2021-12-15 00:50:17 +01:00
Alexey Shchepin
8b7da70b57
Handle user removal in mod_muc
2021-12-14 09:55:55 +03:00
Badlop
d1bfd6c90d
Annotate modules, options and command major changes in 21.12
2021-12-09 10:55:21 +01:00
Paweł Chmielowski
8d8a3177e1
Eliminate xref warning from last commit
2021-12-06 15:46:52 +01:00
Paweł Chmielowski
7897c3d0e1
Add workaround for bug in older erlang version in rest module
2021-12-06 15:08:10 +01:00
badlop
b173ec0a78
Merge pull request #3652 from weiss/bump-max-items
...
PubSub: Bump default value for 'max_items' limit
2021-12-03 16:11:18 +01:00
Badlop
7fd0eefa30
Run make options
2021-12-03 16:09:58 +01:00
Badlop
dab4c0cc10
New allow_modules option to restrict registration modules
2021-12-03 16:09:55 +01:00
Badlop
0372878ba5
Minor improvements in conversejs documentation
2021-12-03 16:09:10 +01:00
Alexey Shchepin
89ad8a5502
Add mod_conversejs
2021-11-23 08:43:54 +03:00
Badlop
15d3ebb842
Fix Dialyzer warning, old passwd tuple don't match current tuple definition
2021-11-17 17:26:44 +01:00
Paweł Chmielowski
405a5172d5
Improve mod_multicast
2021-11-17 11:32:42 +01:00
Paweł Chmielowski
97b8373fd2
Better version of dialyzer fix
2021-11-16 10:59:53 +01:00
Paweł Chmielowski
bdd4e52699
Make dialyzer happy
2021-11-16 10:57:15 +01:00
Paweł Chmielowski
03817de827
Make s2s connection table cleanup more robust
...
Using monitors instead of doint that from terminate() makes us immune to
s2s handler processes being forcefully killed.
2021-11-16 10:25:03 +01:00
Paweł Chmielowski
132ebb8f2d
Fix exception in mucsub {un}subscription events multicast handler
...
While those event are wrapped in mucsub envelope they doesn't
contain regular messages that require updating 'to' attribute,
so don't process in that same way as events with wrapped
message in them.
2021-11-10 17:04:50 +01:00
Holger Weiss
2cdda4cf49
mod_caps: Don't forget caps on XEP-0198 resumption
...
Many thanks to Thilo Molitor for spotting the issue and testing the fix.
2021-11-06 23:48:49 +01:00
Badlop
4e014d23bd
Improve documentation of some commands
2021-11-05 15:58:00 +01:00
Badlop
b6a2eeebeb
Mention "help" as an available ejabberdctl command
2021-11-05 15:57:57 +01:00
Badlop
684ef60ec3
Annotate support for XEP-0317: Hats, since commit 5d0e599f1
2021-11-05 15:57:53 +01:00
Holger Weiss
13cbd7c35d
mod_pubsub: Remove unused check_opt_range/3 clause
2021-10-31 21:38:49 +01:00
Holger Weiss
65a900668c
node_pep: Fix remove_expired_items/2 argument name
2021-10-31 21:32:45 +01:00
Holger Weiss
2f1611f918
mod_pubsub: Fix get_max_items_node/1 specification
...
Make it explicit that the get_max_items_node/1 function returns
?MAXITEMS if the 'max_items_node' option isn't specified. The function
didn't actually fall back to 'undefined' (but to the 'max_items_node'
default; i.e., ?MAXITEMS) anyway. This change just clarifies the
behavior and adjusts the function specification accordingly.
2021-10-30 13:45:10 +02:00
Holger Weiss
29dcc9b94c
PubSub: Add delete_expired_pubsub_items command
...
Support XEP-0060's pubsub#item_expire feature by adding a command for
deleting expired PubSub items.
Thanks to Ammonit Measurement GmbH for sponsoring this work.
2021-10-30 13:19:30 +02:00
Alexey Shchepin
5d0e599f17
Support MUC hats (XEP-0317, conversejs/prosody compatible)
2021-10-29 05:35:16 +03:00
Badlop
54c23a65db
Fix create_room_with_opts when using SQL storage ( #3700 )
2021-10-21 12:44:51 +02:00
Holger Weiss
1377dcf6d2
mod_mam: Declare XEP-0441 support
2021-10-06 01:13:11 +02:00
Badlop
595b016019
Use mod_register in web register form, so its restrictions are used ( #3688 )
2021-10-04 12:08:59 +02:00
Badlop
85408662ff
Use mod_register to format some common error messages
2021-10-04 12:08:56 +02:00
Badlop
d205e6ff1f
Support old scram records before xmpp's 651050f9 and ejabberd's e5cad9be6
( #3680 )
2021-09-27 17:12:17 +02:00
Badlop
f74a715713
Add indexes from 95fa43aa
to the old-to-new schema update function
2021-09-27 13:05:18 +02:00
Badlop
af4b49f720
Update export/import of scram password to XEP-0227 1.1 ( #3676 )
2021-09-22 16:15:22 +02:00
Badlop
ceeba3eea1
Don't crash when exporting a module that is not enabled
2021-09-22 15:30:11 +02:00
Badlop
cfc393a12e
When exporting mod_mam, MUC entries are assigned to the MUC service ( #3680 )
2021-09-22 11:12:28 +02:00
Alexey Shchepin
bf068f5659
Small optimization in mod_roster_sql:get_roster
2021-09-21 12:10:00 +03:00
Alexey Shchepin
32cf44827d
Use INSERT ... ON CONFLICT in SQL_UPSERT for PostgreSQL >= 9.5
2021-09-19 06:20:20 +03:00
Alexey Shchepin
0c403c0f0e
Fix SQL_UPSERT in mod_push_sql:store_session
2021-09-19 06:20:20 +03:00
Badlop
2f5b15129a
Fix previous commit: add forgotten endline blankspaces
2021-09-14 15:13:37 +02:00
Badlop
f8167fc5d0
Update documentation to match the implemented options values ( #3675 )
2021-09-14 13:47:41 +02:00
Alexey Shchepin
5abc03ff8f
Optimize MucSub processing
2021-09-13 08:20:47 +03:00
Holger Weiss
3114ce4ed2
ejabberd_admin: Fix ejabberd_piefxis commands
...
These days, the ejabberd_piefxis commands expect their arguments to be
handed over as binary strings.
2021-09-08 18:34:20 +02:00
Holger Weiss
868387a405
mod_http_upload_quota: Avoid 'max_days' race
...
Try to spread clean-up runs for multiple hosts, rather than scheduling
them in parallel. This should reduce I/O spikes, and avoid race
conditions where multiple processes detect and then try to delete the
same old files (if multiple hosts have the same 'docroot').
Fixes #3497 .
2021-09-05 20:00:05 +02:00
Holger Weiss
caf07692db
mod_register_web: Handle unknown host gracefully
...
Return a proper error message on registration attempts against unknown
hosts, rather than crashing.
Thanks to Ingo Jrgensmann for reporting the bug.
2021-09-05 13:24:51 +02:00
Badlop
91350ad472
Fix WebAdmin recent change
2021-08-27 13:39:06 +02:00
Badlop
f77686481a
Add internal links in WebAdmin Vhosts page
2021-08-27 13:23:24 +02:00
Badlop
b0da69f050
Send ping from server, not bare user JID ( #3658 )
2021-08-27 13:23:15 +02:00
Holger Weiss
ebf03a3745
node_flat: Avoid catch-all clauses for RSM
...
Apply the change made in the previous commit to Mnesia storage as well.
2021-08-23 22:04:03 +02:00
Holger Weiss
c952cc420b
node_flat_sql: Avoid catch-all clauses for RSM
...
Explicitly catch invalid <before/> and <after/> timestamps specified by
clients in RSM queries, but crash on other errors, rather than silently
ignoring those.
2021-08-23 21:28:15 +02:00
Badlop
4d0503b6b3
Fix syntax in mod_disco example configuration
2021-08-23 15:49:52 +02:00
Badlop
8b6c90c2d9
Tell dialyzer that gen_tags only cares about markdown output, not html
2021-08-23 15:39:01 +02:00
Badlop
655dcbcb74
New command to produce markdown with tags and their associated commands
2021-08-23 14:04:54 +02:00
Badlop
ac4f240261
Produce module names with specific syntax, docs Makefile will convert to links
2021-08-23 14:04:52 +02:00
Badlop
506e2f3b97
Use specific syntax so modules and top-level will be links
...
If we use _`whatever`_ here in ejabberd man pages,
it is converted to *`whatever`* in markdown,
and docs.ejabberd.im/Makefile converts to the proper links
2021-08-23 14:04:49 +02:00
Badlop
30ae66e99e
Improve formatting and add sections links
2021-08-23 14:04:46 +02:00
Badlop
f5038b86f8
Copy log_rotate_count explanation from docs site
2021-08-23 14:04:44 +02:00
Badlop
9446b251fd
Export function, so ACME API commands are listed in the documentation
2021-08-23 14:04:42 +02:00
Badlop
94fb0a65b0
Change set_master command tag from mnesia to cluster
2021-08-23 14:04:40 +02:00
Badlop
69d362595e
Remove obsolete mod_register_web ideas and improve documentation
2021-08-23 14:04:37 +02:00
Badlop
b7f7713fae
Add example config to mod_http_api documentation
2021-08-23 14:04:35 +02:00
Badlop
8af66b0831
Update API Reference page menu name and order
2021-08-23 14:04:31 +02:00
Holger Weiss
8d5025076f
PubSub: Add delete_old_pubsub_items command
...
Add a command for keeping only the specified number of items on each
node and removing all older items. This might be especially useful if
nodes may be configured to have no 'max_items' limit.
Thanks to Ammonit Measurement GmbH for sponsoring this work.
2021-08-22 12:44:50 +02:00
Holger Weiss
29751a6174
PubSub: Optimize publishing on large nodes (SQL)
...
Avoid an unnecessary SQL query while publishing an item on a PubSub node
without 'max_items' limit. The query in question can be expensive if
the node has a large number of items.
Thanks to Ammonit Measurement GmbH for sponsoring this work.
2021-08-21 20:02:58 +02:00
Holger Weiss
1b0e59bb13
PubSub: Support unlimited number of items
...
Allow for setting the mod_pubsub option 'max_items_node' to 'unlimited'.
If clients then request a 'max_items' limit of 'max', old items aren't
deleted when publishing new ones.
Thanks to Ammonit Measurement GmbH for sponsoring this work.
2021-08-21 12:29:37 +02:00
Holger Weiss
8f8de0403b
PubSub: Support 'max_items=max' node configuration
...
Let clients request the maximum limit for the node configuration option
'max_items' by specifying the special value 'max' instead of an integer.
This was added to XEP-0060, revision 1.17.0 (and clarified in revision
1.20.0).
Thanks to Ammonit Measurement GmbH for sponsoring this work.
2021-08-20 20:30:11 +02:00
Holger Weiss
3e942bf4ac
mod_mam_sql: Remove duplicated functions
2021-08-07 12:57:57 +02:00
Badlop
fdfd202a30
Determine the default handlerid at runtime
...
Apparently Elixir's default is not called 'default'
2021-08-05 13:53:12 +02:00
Paweł Chmielowski
d7e330c8ef
Allow storing non-composing x:events in offline
2021-08-04 15:30:29 +02:00
Holger Weiss
99ffd9bb95
mod_pubsub: Fix check_opt_range/3 spec
2021-08-02 21:09:55 +02:00
Badlop
ab5e726176
Use the most specific tag for ejabberd commands with several ones
2021-07-30 01:14:36 +02:00
Badlop
b22779f018
Show tags and definer module in generated API document when it's a gen_mod
2021-07-30 01:14:34 +02:00
Badlop
41808a63a0
Show definer module in "ejabberdctl help" when it's a gen_mod
2021-07-30 01:14:31 +02:00
Badlop
ccb4328d06
Store who defines a command, specially when defined by ejabberd modules
2021-07-30 01:14:27 +02:00
Holger Weiss
2050cdffb4
PubSub: Use configured 'max_items' by default
...
If clients don't ask for a specific 'max_items' limit, use the value of
mod_pubsub's 'max_items_node' option as default, rather than the
hard-coded ?MAXITEMS value. This makes sure clients cannot circumvent a
smaller, configured limit.
2021-07-28 18:53:15 +02:00
Holger Weiss
fce7fe8558
PubSub: Bump default value for 'max_items' limit
...
Bump the default value for mod_pubsub's 'max_items_node' option, which
hard-limits the 'max_items' value requested by clients.
These days, use cases such as microblogging or XEP-0402 may need a large
number of items per node. Bumping the limit makes sure such
functionality is properly supported with the default configuration.
2021-07-28 18:29:19 +02:00
Holger Weiss
103e98b8da
mod_push: Fix handling of MUC/Sub messages
...
Don't fail to include the sender/body of MUC/Sub messages if the
recipient is offline.
Closes #3651 .
2021-07-28 18:22:39 +02:00
Paweł Chmielowski
6e4e5a0190
Add missing fields from config inside mod_muc_admin:change_options
2021-07-23 10:14:45 +02:00
Badlop
50242cec78
Annotate the srg_create command as changed in 21.07
2021-07-21 13:11:09 +02:00
Paweł Chmielowski
c3169e9eea
Typo
2021-07-20 17:07:40 +02:00
Badlop
e0c9a6308d
erlang:phash is deprecated in OTP 24, let's use phash2
2021-07-16 13:57:08 +02:00
Badlop
3afaacab76
With the recent changes it seems mod_mix supports 0.14.1 ( #3634 )
2021-07-15 17:19:32 +02:00
badlop
57be0e38d8
Merge pull request #3634 from lnjX/mix-identity-conf-mix
...
mod_mix: Use disco identity conference/mix
2021-07-15 17:15:48 +02:00
Paweł Chmielowski
27c69f263c
Allow multicast hook registering by host
2021-07-14 13:58:53 +02:00
Badlop
e22ed8081a
Provide proper error message when create_room fails with invalid_service
2021-07-13 20:43:52 +02:00
Badlop
5beaf50c67
Fix spec: xmpp:set_from_to/3 allows undefined as second argument
2021-07-13 20:43:44 +02:00
Paweł Chmielowski
a07029dcad
Fix previous commit to pass all tests
2021-07-13 17:56:16 +02:00
Paweł Chmielowski
0de6f1c538
Use multicast routing for more packets generated by muc
2021-07-13 16:01:25 +02:00
Badlop
2e2667bbd7
Update documentation: mod_muc ram_db_type supports SQL since 17.04 ( #3632 )
2021-07-08 12:29:16 +02:00
Badlop
271a9f097d
After create_room, store in DB if it's persistent ( #3632 )
2021-07-08 12:29:13 +02:00
Emmet McPoland
509331a563
Correctly strip only other bcc addresses i.e. bcc receiver should still be able to see their bcc address element and no other bcc address element
2021-07-07 16:44:58 +01:00
Badlop
bb0c6e1e02
Show messages with next configuration steps when installing a module
2021-07-06 13:37:04 +02:00
badlop
331a67f5f8
Merge pull request #3566 from Robbilie/feature/mqtt-shared-roster-groups-placeholder
...
allow shared roster group placeholder in mqtt topic
2021-07-06 13:36:41 +02:00
Paweł Chmielowski
e3e4dae583
Yet another dialyzer warning fix
2021-06-28 12:53:30 +02:00
Paweł Chmielowski
b669e4499c
Fix dialyzer warning
2021-06-28 12:18:19 +02:00
Paweł Chmielowski
6e900d6a8f
Add send_timeout option to listener
2021-06-28 11:31:45 +02:00
Paweł Chmielowski
795addca7d
Try to limit serial access when checking api permissions
2021-06-28 11:31:43 +02:00
Linus Jahn
d7c9809c59
mod_mix: Use disco identity conference/mix
...
Probably someone has forgotten to update it here.
https://xmpp.org/extensions/xep-0369.html#example-5
Fixes #2901 .
2021-06-27 01:20:45 +02:00
Badlop
d5adcaea61
Add support for rebar3 to "make rel"
2021-06-25 12:53:22 +02:00
Holger Weiss
9d4c01d425
mod_push_keepalive: Fix 'resume_timeout' docs
...
The default 'resume_timeout' value is 72 hours, not 72 minutes.
2021-06-25 01:30:10 +02:00
badlop
1ef9f28f2d
Merge pull request #3622 from pouriya/fix-ws-typos
...
ref: fix WS typos
2021-06-14 17:21:33 +02:00
Badlop
4ee10c155d
Fix reverse order of items when using <before/> in Pubsub with RSM ( #3621 )
2021-06-14 12:22:37 +02:00
Pouriya Jahanbakhsh
b5bafca640
ref: fix WS typos
2021-06-12 20:27:30 +04:30
Badlop
bf8b4acf01
Return proper index when using after of before in PubSub with RSM ( #3618 )
...
This fixes Index attribute in examples from:
https://xmpp.org/extensions/xep-0059.html#forwards
https://xmpp.org/extensions/xep-0059.html#backwards
2021-06-08 19:00:44 +02:00
Badlop
41fd2afeb3
Fix index attribute when getting last page from PubSub with RSM ( #3618 )
...
This fixes Example 11 from "2.5 Requesting the Last Page in a Result Set":
https://xmpp.org/extensions/xep-0059.html#last
2021-06-08 19:00:41 +02:00
Badlop
4520d5f3c1
Support for simple limiting the number of items in PubSub with RSM ( #3618 )
...
This fixes crash in Example 1 from "2.1 Limiting the Number of Items":
https://xmpp.org/extensions/xep-0059.html#limit
2021-06-08 19:00:39 +02:00
Holger Weiß
3b5ddf0254
mod_muc_room: Don't leak owner JIDs ( #3615 )
...
Avoid publishing room owner JIDs (via the muc#roominfo form) without
their explicit consent.
Closes #3609 .
2021-05-28 16:43:49 +02:00
Badlop
d94bae241c
Align numbers in WebAdmin tables to the right
2021-05-19 15:00:22 +02:00
Badlop
58a623778f
Show uptime date in WebAdmin, it's easier to understand that uptime seconds
2021-05-19 15:00:19 +02:00
Badlop
494ba9a635
Show mnesia table memory in bytes, not in words
2021-05-19 15:00:16 +02:00
Badlop
16af8a4739
New simple webadmin pages to view mnesia tables information and content
2021-05-17 16:16:26 +02:00
Badlop
57202d958a
Use G macro name for tag, as T overlapped T from translation
2021-05-17 16:14:39 +02:00
Badlop
d741f6f5f2
Update documentation references for import_prosody and export2sql
2021-05-14 16:07:03 +02:00
Badlop
20b4deffe3
Apply improvement from 29462f005
to delete/2, and fix delete/3 ( #3564 )
2021-05-14 16:06:59 +02:00
Badlop
ee3796b925
When exporting for SQLite, use its specific escape options ( #2576 )
2021-05-14 16:06:43 +02:00
Badlop
8e08703833
Tell io_lib:print to not care about line length, to avoid newlines in SQL export
2021-05-14 16:06:39 +02:00
Paweł Chmielowski
3b716d2cb0
Update econf:vcard() to generate correct vcard_temp record
2021-05-12 21:46:36 +02:00
Badlop
160cd11c83
Minor fixes for new_sql_schema support in SQLite ( #3303 )
2021-05-11 18:36:16 +02:00
Badlop
4fdebd296a
Document that update_sql command only supports postgresql ( #3439 )
2021-05-11 18:36:14 +02:00
Badlop
f61607df65
Don't add ejabberd version in API page either, following 3e4ebfae7
2021-05-11 18:36:08 +02:00
Badlop
916653e234
Cast as boolean when exporting privacy_list_data to PostgreSQL ( #1773 )
2021-05-10 12:04:52 +02:00
Badlop
6db228fcb3
Document that sql_ssl can be used with MySQL too
2021-05-05 11:57:08 +02:00
Badlop
c2821be94c
Use the new 'note' field to annotate changes in 20.01..21.03
2021-05-05 11:57:05 +02:00
Badlop
999d0af502
New 'note' field in commands and options documentation
2021-05-05 11:57:02 +02:00
Paweł Chmielowski
78c09789f7
Fix invalid_encoding error when using extended plane characters in vcard.
2021-04-29 14:21:37 +02:00
Paweł Chmielowski
5a8f1ca528
Display extender error message in ejabberdctl
...
This for example makes error from register explain what account
can't be registered
For reference https://github.com/processone/ejabberd/discussions/3584
2021-04-22 11:56:58 +02:00
Jindrich Sarson
dcc5d8704f
delete cache after performing change to be sure that in cache will be up to date data
2021-04-17 19:07:21 +02:00
Jindrich Sarson
c10e4fa275
update srg_create API to use label parameter instead of name
2021-04-17 18:49:26 +02:00
Paweł Chmielowski
e462f0a584
Fix dialyzer warnings
2021-04-16 11:55:48 +02:00
Paweł Chmielowski
45bbbd0284
Fix syntax not recognized by older erlang
2021-04-16 10:46:28 +02:00
Paweł Chmielowski
5b0f0d8352
Improve database and caching in mod_shared_roster
...
This makes us keep cache of groups that use wildcards no matter
of cache settings, and tries to not same fetch data multiple times
in roster get operations.
2021-04-16 10:34:32 +02:00
Paweł Chmielowski
54916caf65
Use proper source for cache options in mod_shared_roster
2021-04-16 10:20:13 +02:00
Paweł Chmielowski
c8afb5ceb6
Reconfigure cache in mod_shared_roster when options change
2021-04-16 10:19:09 +02:00
Badlop
0ec69f0279
Major changes in ejabberdctl help output ( #3569 )
...
ejabberdctl: show list of commands
ejabberdctl some-command: if wrong number of arguments, shows command help
ejabberdctl help: show explanation of how to use "help"
ejabberdctl help tags: list tags with list of commands
ejabberdctl help commands: list tags with commands details
ejabberdctl help whatever*: filters commands and tags
2021-04-15 20:25:52 +02:00
Badlop
6f565147cb
Change tag name because there's already a command called "stats"
2021-04-15 20:25:49 +02:00