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
Badlop
f8a02f5d9d
Get the arguments definition from the record ( #3569 )
...
This fixes "ejabberdctl help help"
2021-04-15 20:25:47 +02:00
Badlop
327dc31e62
Copy a change from include file available since OTP 17.0
...
See:
5e575f6562
2021-04-15 20:25:44 +02:00
Badlop
b860a25c82
When using OTP 24.0, use the new 'application' record definition ( #3568 )
...
This fixes "ejabberdctl update_list", "update", and the equivalent feature
on ejabberd's WebAdmin that got broken when using Erlang/OTP 24
2021-04-14 17:12:08 +02:00
Robert Schuh
0e93f70e38
allow shared roster group placeholder in mqtt topic
2021-04-08 23:21:15 +02:00
Holger Weiss
10905b0447
mod_push: Handle MUC/Sub events correctly
...
Unwrap MUC/Sub messages so that our check for a message body yields the
correct result.
Many thanks to Robert Schuh for pointing out the issue and suggesting a
fix.
Closes #3565 .
2021-04-08 19:36:16 +02:00
badlop
c0dafc074d
Merge pull request #3558 from fdie/fix_node_get_state_return_value
...
fix gen_pubsub_node:get_state return value
2021-03-29 15:52:04 +02:00
Badlop
3e4ebfae7e
Revert "Add ejabberd version number to man pages"
...
That versioning just added noise to the git log in each release.
This reverts commit aa0ed37034
.
2021-03-26 11:01:45 +01:00
fdie
edae3c9cc5
fix gen_pubsub_node:get_state return value
2021-03-25 14:32:24 +01:00
Badlop
1f88a26f60
When unregistering XMPP account close its MQTT sessions ( #3426 )
2021-03-19 15:12:48 +01:00
Badlop
c6f2d0c3eb
Improve wording of sql_pool_size option documentation ( #2541 )
2021-03-19 15:12:43 +01:00
Badlop
13e1307ab1
When occupant is banned, remove his subscriptions too ( #2451 )
2021-03-18 16:15:17 +01:00
Badlop
f6c6ff561a
Document that send_stanza_c2s requires an existing sender C2S session
2021-03-18 16:15:07 +01:00
Badlop
c4d45ec08c
Revert "Close pgsql ports on ejabberd_sql process termination ( #2541 )"
...
This reverts commit 404ae56e07
.
2021-03-18 16:14:49 +01:00
Holger Weiss
7008ae231c
Don't fail on PEP unsubscribe
...
Don't crash if a PEP node is explicitly unsubscribed. This fixes a
regression introduced by 45eb49125b
.
Thanks to Melvin Keskin for reporting the bug.
2021-03-16 17:26:47 +01:00
Badlop
14c8e1226f
Generate enabled_backends in ejabberd.app instead of configure ( #3549 )
...
Passing a list of atoms in vars.config.in (introduced in 3c16f214
)
breaks rebar2 in "make rel"
2021-03-15 10:11:05 +01:00
Badlop
404ae56e07
Close pgsql ports on ejabberd_sql process termination ( #2541 )
2021-03-09 00:58:36 +01:00
Badlop
2946df357c
Update FORM_TYPE from captcha to register ( #3045 )
2021-03-09 00:58:31 +01:00
Badlop
5318bf3743
If stanza is type error, allow it passing ( #3290 )
2021-03-09 00:58:22 +01:00
Badlop
0f43c2c528
New command get_user_subscriptions ( #3403 )
2021-03-09 00:57:41 +01:00
Badlop
b5da0ffd7e
Show in WebAdmin the erlang node where the room resides
...
https://www.ejabberd.im/forum/29687/muc-mangement#comment-67685
2021-03-09 00:57:35 +01:00
Badlop
7ee018ad23
Obtain and provide photo type in vCard LDAP ( #3541 )
2021-03-08 16:33:30 +01:00
Badlop
31884f6c9d
Fix remove_mam_for_user_with_peer when removing room archive ( #3536 )
2021-03-08 16:33:23 +01:00
Badlop
e648cd7397
Sort libraries alphabetically, so they're easier to check manually
2021-03-08 16:33:03 +01:00
Badlop
bf1600891b
Get back description and simplify processing ( #3507 )
2021-03-04 16:41:22 +01:00
Paweł Chmielowski
ca5d5f3b4c
Use monitors to track muc rooms
...
This should prevent keeping rooms that were hard killed from in
online table.
2021-03-03 11:32:05 +01:00
badlop
7209486386
Merge pull request #3507 from slezakattack/master
...
Allow ejabberd to be compatible as a dependency for an Erlang project…
2021-03-02 19:01:33 +01:00
Badlop
69be0abdba
Fix Dialyzer warning about function contract that changed in fad14ff31
2021-02-19 17:00:35 +01:00
Paweł Chmielowski
7da033f733
Fix muc tests
2021-02-17 13:09:29 +01:00
Paweł Chmielowski
14871c54ac
Take in account subscriber's affiliation when checking access to moderated room
...
This should fix issue #3525
2021-02-17 10:45:30 +01:00
Michael Slezak
3c16f21413
Allow ejabberd to be compatible as a dependency for an Erlang project using rebar3
2021-02-16 10:28:30 -07:00
Paweł Chmielowski
14d87cb5e9
Skip reading roster in one more case in mod_caps
2021-02-16 13:39:34 +01:00
Badlop
72ecf91f08
Return modules errors in set_vcard callback ( #3502 )
2021-02-16 13:09:33 +01:00
Badlop
4495f0f0b9
For OTP<22 define LAGER macro in ext_mod like in rebar.config ( #3493 )
2021-02-16 13:09:21 +01:00
Paweł Chmielowski
fad14ff319
Make fetching roster in mod_privacy lazy
2021-02-16 10:57:55 +01:00
Paweł Chmielowski
8cb7ff7a88
Add fallback branch to last commit
2021-02-16 10:40:35 +01:00
Paweł Chmielowski
96929a5084
Don't request roster in mod_caps when not needed
2021-02-16 10:13:29 +01:00
Stu Tomlinson
1f194e417d
fix eldap certificate verification ( #3528 )
...
Reported in #3527 . Add hostname matching function, and specify SNI
Also, OTP 23 dropped backwards compatibility for 0, 1, 2 values for verify, so
replace with combination of verify_none/verify_peer and fail_if_no_peer_cert
as appropriate
2021-02-15 14:29:58 +01:00
Badlop
e3fd120fd4
According to fast_tls, only atom and binary may accompany error tuple
2021-02-11 20:38:51 +01:00
Badlop
7b8bd960c6
Fix URL of CAPTCHA section
2021-02-11 20:38:45 +01:00
Paweł Chmielowski
3d7fa15be7
Add argument guards to roster commands
2021-02-09 13:46:23 +01:00
Frank
2d79a69719
Fix PONG responses ( #3515 )
...
Co-authored-by: Frank Diebolt <frank.diebolt@al-enterprise.com>
2021-02-04 19:57:20 +01:00
Badlop
bb397bb424
Fix bug handling jid:decode/1 return, introduced in cdb286d1d
( #3461 )
2021-02-01 00:10:33 +01:00
Badlop
b3d9c0d1f7
Fix bug in send_message introduced in 7fc500dae
( #3485 )
2021-02-01 00:09:18 +01:00
Holger Weiss
6a6b771e0b
mod_mam: Add missing semicolon
2021-01-29 20:27:07 +01:00
Paul Fariello
d6e9e03422
Remove queryid from MAM fin element
...
According to xep, fin element is not supposed to have a queryid attribute.
2021-01-29 19:21:45 +01:00
Paweł Chmielowski
8c5b312601
Add cache for displayed groups in ldap_shared_cache
...
This is based on pull request by Ivan Agarkov:
https://github.com/processone/ejabberd/pull/952
2021-01-28 12:57:47 +01:00
Paweł Chmielowski
f7004f793d
Fix delete_old_message when using sqlite spool table
...
This fixes issue #3503
2021-01-27 19:41:21 +01:00
Badlop
5ec8cf9e09
Document the recent oauth_cache_rest_failure_life_time option
2021-01-27 17:44:17 +01:00
Badlop
6e0161470e
Update newest copyright year to 2021 ( #3464 )
2021-01-27 17:02:06 +01:00
Paweł Chmielowski
faaee94060
Add oauth_cache_rest_failure_life_time option
...
This allows to use shorted life time for failures in rest oauth
backend than specified in oauth_cache_life_time.
2021-01-27 11:23:39 +01:00
Paweł Chmielowski
3516d2053c
Add 'ejabberdctl foreground-quiet'
...
This starts ejabberd without detaching process but setups
console logging to display only critical messages.
2021-01-27 09:24:05 +01:00
Paweł Chmielowski
b977320091
Don't fetch subscribers list in room_unused_*
2021-01-26 11:13:23 +01:00
Paweł Chmielowski
bb87b6f948
Rename function arguments
2021-01-25 20:00:07 +01:00
Paweł Chmielowski
07d28c3898
Skip reading pep nodes that we know won't be requested due to caps
2021-01-25 19:58:38 +01:00
Holger Weiss
6c2bd91f01
ejabberd_stun: Block loopback addresses by default
...
Don't accept loopback addresses as TURN peers by default. This makes
sure the TURN service won't allow remote clients to access local UDP
services.
However, this will break the case where the 'turn_ipv4_address' was set
to 127.0.0.1 as fallback and TURN worked "by accident" if both clients
were using the same TURN service. The service then talked to itself on
the loopback interface.
2021-01-22 16:20:24 +01:00
Holger Weiss
b6f86187f3
Update 'stun' dependency
...
The 'stun' application now rejects Teredo and 6to4 TURN peers
unconditionally. Therefore, remove those networks from the default
'turn_blacklist'.
2021-01-22 16:12:48 +01:00
Badlop
8098b83114
Revert "mod_register language reworked"
...
This reverts commit 3906b5300c
.
# Conflicts:
# src/mod_register_web.erl
2021-01-22 14:23:05 +01:00
Badlop
e4155b6f16
Revert "ejabberd_oauth language reworked"
...
This reverts commit 3d1efd14dc
.
2021-01-22 14:23:02 +01:00
Badlop
50ebe2e415
Revert "mod_roster language reworked"
...
This reverts commit 72cf63c0a8
.
2021-01-22 14:22:59 +01:00
Jing Sun
5af7532504
mod_muc/mod_muc_room: add option limits for password and captcha_whitelist ( #2255 )
2021-01-21 16:58:05 +01:00
Paweł Chmielowski
5212b0aaa6
Validate affiliations in set_room_affiliation command
2021-01-21 14:20:30 +01:00
Allan Nordhøy
72cf63c0a8
mod_roster language reworked
2021-01-16 09:17:44 +01:00
Allan Nordhøy
3d1efd14dc
ejabberd_oauth language reworked
2021-01-14 10:21:07 +01:00
Paweł Chmielowski
7fc500dae6
Don't include empty <subject/> in messages sent by send_message
...
Please refer issue #3485
2021-01-13 20:58:13 +01:00
Badlop
b6d90cc55c
Allow non-occupant non-subscribed service admin send private MUC message ( #3474 )
2021-01-13 16:49:45 +01:00
Badlop
59d5cf4d47
Uniformize terms create->register, delete->unregister ( #3482 )
2021-01-13 16:12:00 +01:00
badlop
aff1a62607
Merge pull request #3482 from comradekingu/patch-1
...
mod_register language reworked
2021-01-13 15:57:29 +01:00
Paweł Chmielowski
95c157409b
Fix handling of log_rotate_size: infinity
...
This should fix issue reported in #3462
2021-01-13 11:48:46 +01:00
Allan Nordhøy
3906b5300c
mod_register language reworked
2021-01-13 09:35:36 +01:00
Badlop
50f74c932b
Replace Jabber->XMPP and Ejabberd (thanks to Neustradamus)( #3469 )
2021-01-11 21:11:20 +01:00
Paweł Chmielowski
446cb485ac
Don't use REPLACE for upsert when there are "-" fields.
...
This should fix problem reported in #3476
2021-01-11 14:20:17 +01:00
Badlop
a670451447
Apply cosmetic changes from documentation
2021-01-08 18:34:38 +01:00
Paweł Chmielowski
9be3d948b2
Make ext_mod compile module with debug_info flags
...
This should fix issue #3472
2021-01-07 15:10:39 +01:00
Holger Weiss
e919171393
ejabberd_systemd: Fix comment
2021-01-06 18:52:22 +01:00
Holger Weiss
6f026ca26d
Integrate nicely with systemd
...
Support systemd's watchdog feature and enable it by default in the unit
file, so that ejabberd is auto-restarted if the VM becomes unresponsive.
Also, set the systemd startup type to 'notify', so that startup of
followup units is delayed until ejabberd signals readiness. While at
it, also notify systemd of configuration reload and shutdown states.
Note: "NotifyAccess=all" is required as long as "ejabberdctl foreground"
runs the VM as a new child process, rather than "exec"ing it. This way,
systemd views the ejabberdctl process itself as the main service
process, and would discard notifications from other processes by
default.
2021-01-06 00:20:12 +01:00
Neustradamus
4132aedb9c
XEP-0033 ( #3467 )
...
XEP-0033
2021-01-05 10:05:42 +01:00
Badlop
b8178c79a7
Clarify documentation of log_rotate_size option ( #3462 )
2021-01-04 13:05:28 +01:00
Paweł Chmielowski
aefe3f8585
Document ldap_userjidattr option
2020-12-31 10:30:12 +01:00
ethoms
cdb286d1d1
Add multi-domain support (and flexibility) to LDAP shared roster (rev2). ( #3461 )
2020-12-31 10:19:43 +01:00
Pouriya
c056002f7c
JWT enhancement ( #3460 )
...
* ref: run the default JWT verifier as hook callback
* ref: add system timestamp to JWT debug log
2020-12-28 10:06:45 +01:00
Badlop
705f401961
Fix a pair of pubsub specs to please Dialyzer
2020-12-18 20:40:26 +01:00
Badlop
ac24d6ee9f
Fix typo in case clause detected by Dialyzer
2020-12-18 20:40:17 +01:00
Paweł Chmielowski
9f851008f6
Update spec for get_room_pid
2020-12-18 12:36:31 +01:00
Badlop
1b7502acbc
Old passwd scram tuples do not conform to current records definitions
2020-12-18 10:54:59 +01:00
Paweł Chmielowski
2ab7da1e8f
Use better fallback value for room activity time when skipping room in decide_room
2020-12-17 09:55:12 +01:00
Licaon_Kter
65c5208905
Reword auth_scram_hash info ( #3448 )
2020-12-15 17:47:56 +01:00
Paweł Chmielowski
28186ddf19
Document auth_scram_hash option
2020-12-15 15:40:16 +01:00
Paweł Chmielowski
d8d9ef32ad
Make anonymous auth not override sasl mechaninsm offered by other modules
...
This stop overriding store_type when anonymous is enabled with other
auth modules, we don't really need that since anonymous is not taking
passwords anyway, and this was disabling scram mechanisms.
This fixes issue #2803 .
2020-12-14 16:42:14 +01:00
Paweł Chmielowski
a9ed26e484
Fix getting age of newly created rooms in rooms_unused_*
2020-12-14 09:47:25 +01:00
Pouriya
a76531b90b
feat: add hook to check decoded JWT after success authentication ( #3446 )
2020-12-14 08:14:58 +01:00
Paweł Chmielowski
af9d642a71
Improve auth_mnesia:transform
2020-12-10 14:02:28 +01:00
Paweł Chmielowski
6a659d7475
Improve handling of old scram data in auth_mnesia
2020-12-10 14:00:13 +01:00
Paweł Chmielowski
e5cad9be65
Add hash to scramed password stored in mnesia by earlier version
2020-12-08 12:18:03 +01:00
Paweł Chmielowski
1dc0ecd1e9
Allow to use different hash for storing scram passwords
2020-12-08 12:06:52 +01:00
Paweł Chmielowski
0c09599d7b
Normalize names passed to destroy_room
2020-12-08 09:19:29 +01:00
badlop
e95ae66d3c
Merge pull request #3435 from fdie/fix_odbc_binary_errors
...
also convert embedded errors to binary
2020-12-04 13:48:13 +01:00
Paweł Chmielowski
5f9d480f6a
Simplify updating disk room options in set_room_affiliation
2020-12-04 13:06:53 +01:00
Paweł Chmielowski
d34227cae1
Use specialized upsert with mysql
2020-12-04 13:03:55 +01:00
Paweł Chmielowski
72867f8d1e
Fix more places that needed changes after scram.erl api modifications
2020-12-04 09:20:59 +01:00
Frank Diebolt
8f04491a4d
also convert embedded errors to binary
2020-12-03 19:56:58 +01:00
Paweł Chmielowski
0371b0f664
Add support for SCRAM-SHA-{256,512}-{PLUS} authentication
2020-12-03 15:07:09 +01:00
Paweł Chmielowski
02cc212f16
Fix typo in last commit
2020-12-01 15:39:17 +01:00
Paweł Chmielowski
0fe64674ee
Make decide room better handle rooms that were just hibernated
2020-12-01 15:30:23 +01:00
Paweł Chmielowski
e937ff62fe
Handle unix sockets in misc:ip_to_list
2020-12-01 15:29:58 +01:00
Badlop
d75d69d5d5
Trigger user_send_packet when send_stanza API is called ( #3431 )
2020-12-01 13:14:24 +01:00
Badlop
3581d90d9d
Provide name when pushing new roster item in shared roster group ( #3427 )
2020-11-19 17:07:23 +01:00
Paweł Chmielowski
9e1f3862cb
Fix room_unused_destroy on hibernated rooms
2020-11-19 09:31:14 +01:00
Paweł Chmielowski
c2a3f037bb
Update muc_room just_created timestamp when message is received
...
This together with last history message is used by room_unused_* command
to determine for how long room was not used, this change allow us to skip
checking history, and works even when history is disabled.
2020-11-18 17:14:28 +01:00
Paweł Chmielowski
bf1aacefcb
We don't use persistent field in decide_room
2020-11-18 16:49:43 +01:00
Paweł Chmielowski
e306cb0797
Fix logic that determines room age when history_size=0
2020-11-18 16:49:43 +01:00
Paweł Chmielowski
2e8023158d
Allow room_unused_list/destroy work on hibernated rooms
...
This required adding hibernation time to data stored for room to be able
determine how old was a room, rooms that aren't stored with that
information will use node start time as timestamp for that.
2020-11-16 16:05:16 +01:00
Paweł Chmielowski
81e872c110
Don't do double utf-8 conversion on translated strings in str:format
...
This caused garbled text in some places in webadmin when using language
that used characters > 128.
Thanks to chengshq for noticing this and providing preliminary patch.
2020-11-09 12:20:35 +01:00
Badlop
9ed2ca5079
Document sql_odbc_driver option (copied from docs site)
2020-11-06 16:39:02 +01:00
Badlop
e7e9ca54df
Document outgoing_s2s_ipv4_address and ipv6 options ( #3396 )
2020-11-06 15:52:33 +01:00
Holger Weiss
23a18b1a60
Apply cosmetic changes to outgoing s2s IP options
2020-11-04 13:12:06 +01:00
Holger Weiss
0a88f9c8a9
Merge remote-tracking branch 'processone/pr/3396'
...
* processone/pr/3396:
Add outbound s2s out interface (ipv4/ipv6)
2020-11-04 12:19:49 +01:00
Paweł Chmielowski
de51ba331e
Make sure that jid used as base in mam xml_compress is bare
2020-11-04 10:56:49 +01:00
Holger Weiss
d37b2f851d
mod_push: Fix log message argument
2020-11-04 10:10:20 +01:00
Holger Weiss
f40c5c304d
mod_push: Fix API call return type on error
...
A call that yields a 'rescode' isn't supposed to return an error tuple.
2020-11-04 09:07:30 +01:00
Holger Weiss
37c75f556d
mod_push: Support cache config changes on reload
2020-11-04 09:04:30 +01:00
Paweł Chmielowski
ec61c2f3dc
Change split character in PROXY_USER from \x04 to :
...
This is clearly typo
2020-10-29 16:36:18 +01:00
Paweł Chmielowski
b4ea1625e4
Don't use same value in cache for user don't exist and wrong password
...
By doing this check_password that returned info about mismatched password
caused user_exists checks performed after that to return wrongly that
account doesn't exist.
2020-10-22 11:10:22 +02:00
Paweł Chmielowski
7655e10ba4
Add better error reporting to mod_muc_admin commands
2020-10-20 17:57:19 +02:00
Badlop
b64fff1faa
Document that send_direct_invitation is asynchronous
2020-10-16 15:24:58 +02:00
Badlop
f1e04639bb
Support for MAM Flipped Pages ( #3398 )
2020-10-15 21:42:43 +02:00
Paweł Chmielowski
73dbd34f95
Store room options in create_room_with_opts only if we will start room
...
Previously we could overwrite existing room options and then later return
error because room was already started.
2020-10-15 16:24:50 +02:00
Jerome Sautret
6bbae4cea2
send_direct_invitation command is now asynchronous
...
EJABS-3593
2020-10-15 11:40:22 +02:00
Paweł Chmielowski
b95d67aefb
Make websocket send put back pressure on c2s process
...
Previously c2s was free to generate data to send in unlimited manner, and
just generate queue of messages that are waiting to be send. This could lead to
hitting timouts in stream management ack handling (if c2s generate lot of
packages, after which <r> request was sent, client could even not receive it
before timeout was triggered on server waiting for corresponding <a>).
This changes makes c2s process wait for data being sent to tcp socket
associated with websocket connection, which should help with this problem.
2020-10-13 14:57:33 +02:00
Paweł Chmielowski
73f8aded17
Make mod_muc_admin command work correctly with hibernated rooms
...
This should first try to unhibernate rooms before trying to send messages
to processes handling them.
2020-10-13 13:00:57 +02:00
Jerome Sautret
fdda572c9a
Added sql_odbc_driver option for mssql db
...
Add an option to choose the ODBC driver when sql_type is set to mssql
2020-10-08 16:23:34 +02:00
Holger Weiss
e4d6007293
ejabberd_stun: Rename Logger filter
...
Don't overwrite the Logger filter added by the 'stun' application (which
appends metadata to STUN/TURN log messages).
Closes processone/stun#31 .
2020-10-01 16:37:36 +02:00
Holger Weiss
df58ee924f
mod_register: Allow for account-removal-only setup
...
Since commit de91618070
, it was no longer
possible to configure mod_register so that only account removal (i.e.,
no registration) is permitted. Revert to the previous behavior which
allows admins to freely configure account registration and removal via
separate access rules.
2020-09-29 06:11:30 +02:00
Paweł Chmielowski
583dd15beb
Make roster subscriptions work better with invalid roster state in db
...
Sometimes we can observer combinations of subscription/ask that shouldn't
happen normally, but can be generated with api calls, let's try to handle
that gracefully instead of crashing.
2020-09-22 13:48:49 +02:00
Daniel Kenzelmann
604cc9bb3a
Add outbound s2s out interface (ipv4/ipv6)
...
Adding options taking IPs as string:
outgoing_s2s_ipv4_address: "1.2.3.4"
outgoing_s2s_ipv6_address: "2000:1:1:1::1"
2020-09-21 22:18:46 +02:00
Paweł Chmielowski
b89f3c442c
Use os time instead of system time in values returned by mod_time
...
This timer should correctly work with time warps, and should fix
issue #3390
2020-09-15 12:11:15 +02:00
Badlop
9629601d0b
Refer to the XEP for standard names ( processone/docs.ejabberd.im#97 )
2020-09-11 12:27:05 +02:00
Holger Weiß
e9a053f7ac
Allow for filtering outgoing s2s stanzas ( #3381 )
...
Let 's2s_send_packet' hook callbacks filter stanzas, analogous to the
's2s_receive_packet' hook.
2020-09-07 10:12:19 +02:00
Badlop
a75966f1a2
Revert "Run user_receive_packet in send_message so MAM stores also incoming ( #3377 )"
...
This reverts commit 43f813d6f8
.
2020-09-04 11:37:18 +02:00
Badlop
43f813d6f8
Run user_receive_packet in send_message so MAM stores also incoming ( #3377 )
2020-09-03 17:47:11 +02:00
Stu Tomlinson
bd11a00f8f
Use include_lib() to include headers from dependencies ( #3369 )
2020-09-03 13:45:57 +02:00
Badlop
a3be28b5c4
Provide room disco info identity name only when title was set ( #3370 )
2020-08-28 14:56:25 +02:00
Badlop
743b25448a
New hook to run when a room process is started ( #3353 )
2020-08-28 14:54:06 +02:00
Badlop
66c2f45bff
Show nick also in oneself list of subscriptions ( #3206 )
2020-08-26 19:32:29 +02:00
Badlop
8d969a4a9f
Always show MucSub subscribers nicks ( #3206 )(thanks to Snoopcatt)
2020-08-26 19:32:26 +02:00
Badlop
bf62cf3db6
Add link to docs about default and new database schemas
2020-08-26 11:46:23 +02:00
Holger Weiss
8daea451e3
mod_pubsub: Fix typo in 'hosts' documentation
...
Thanks to Melvin Keskin for spotting this.
2020-08-25 08:21:43 +02:00
Badlop
864188ad65
Mark dangerous buttons with CSS ( #3363 )
2020-08-24 16:44:07 +02:00
Badlop
b9926c6796
Update opt files with "make options"
2020-08-21 18:09:03 +02:00
Badlop
92913389a5
Fix vCard search by User when using Mnesia
...
Reported in
https://stackoverflow.com/questions/63499864/how-to-search-registered-user-on-ejabberd-server-from-client-side-using-smack-li
2020-08-20 16:46:06 +02:00
Holger Weiss
65be619907
mod_pubsub: Remove 'dag' node plugin documentation
...
Commit c9d3beb9eb
removed the 'dag'
node/nodetree plugins.
2020-08-18 06:50:33 +02:00
Badlop
842ec1494c
Fix to allow vhost admins to view WebAdmin menus ( #3355 )
2020-08-10 21:17:59 +02:00
Paweł Chmielowski
8a645a2d3d
Don't forget not-persistent rooms in load_permanent_rooms
...
Only non-persistent rooms that we are storing are those that were hibernated
but also have mucsub subscribers in them. I don't think it makes sense to
destroy those rooms on restart/reload if we didn't destroy them in first
place when last member did leave room, let just handle those rooms like
they are persistent, and kill them only when all user unsubscribe from them
or they are destroyed from api.
2020-08-06 11:44:44 +02:00
Badlop
4a54395561
Improve explanations of cafile options
2020-08-03 15:18:50 +02:00
Paweł Chmielowski
1b168e7d5c
Add support for unix socket in listeners
...
To use it you just need to set port value to "unix:/path/to/socket"
2020-07-28 12:19:30 +02:00
Paweł Chmielowski
d5935fd1ad
Don't log http errors when socket get closed after processing one request
2020-07-28 12:19:30 +02:00
Badlop
2ea5f7856c
In fact misc:try_url/1 is not used anymore
2020-07-15 11:41:51 +02:00
Badlop
e5b66aadaf
Fix try_url/1 parsing of uri_parse result format, reported by Dialyzer
2020-07-14 12:21:37 +02:00
Holger Weiss
e30592c050
mod_stun_disco: Fix function specification
2020-07-11 17:51:20 +02:00
Badlop
ff92dab49e
Parse also ServerHost in create_room* commands ( #3326 )
2020-07-10 13:06:05 +02:00
Badlop
f652f8c8d6
Fix crash when creating new MUC log file in non-ASCII lang ( #3324 )
2020-07-10 12:03:12 +02:00
Badlop
80a502782b
Use the same leading sentence than other sections
2020-07-06 16:39:15 +02:00
Holger Weiss
3bf7fbc117
ejabberd_stun: Filter info/debug messages
...
Update 'stun' dependency, and drop the info/debug messages now logged by
the 'stun' application if OTP's new logging API is used.
2020-07-01 21:53:22 +02:00
Badlop
61926a44be
Subscriber should not send message to moderated room ( #3222 )
2020-06-24 13:17:04 +02:00
Holger Weiss
ec5f369d9d
ejabberd_logger: Avoid excessive stat calls
...
By default, the logger_std_h module shipped with OTP 21.0 and newer
reads the log file information prior to each and every write operation.
This is done to play well with external log rotation tools.
In order to minimize the performance penalty in situations where the log
file is flooded, configure logger_std_h to skip reading the file
information as long as no more than one second has passed since it was
last read.
2020-06-23 21:27:12 +02:00
Paweł Chmielowski
768460b518
Correctly handle user_regexp acl rules with not matching host
...
This should fix issue reported in issue 3304
2020-06-22 10:24:10 +02:00
Holger Weiss
515dfc002b
mod_stun_disco: Fix wording of log message
2020-06-19 18:04:26 +02:00
Badlop
16645a3c0a
Document that only ejabberdctl can join and leave a local node ( #3049 )
2020-06-09 13:23:17 +02:00
Badlop
a54c667c80
Remove old Regexp, the new Re is available since Erlang/OTP R12B-4
2020-06-08 15:27:27 +02:00
Badlop
337ba42953
Get back some commented specs that required Erlang R12
2020-06-08 15:27:23 +02:00
Badlop
f2e81ed2a0
When updating group in cache, first delete so insert succeeds ( #3296 )
2020-06-05 19:34:00 +02:00
Badlop
7efc208b9e
Handle ets_cache return value in shared roster get_group_opts ( #3296 )
2020-06-05 19:33:52 +02:00
Holger Weiss
945a5cd09c
misc: Don't crash on URLs without port number
...
Let misc:uri_parse/1 return default HTTP(S) port number if the URL
doesn't specify a port number, analogous to the behavior when
USE_OLD_HTTP_URI is defined.
2020-06-03 12:22:14 +02:00
Holger Weiss
9ea51d3295
misc: Make sure uri_parse/1 returns strings
...
The uri_string:parse/1 function returns the URI elements as strings or
as binaries depending on the input. Make sure misc:uri_parse/1 returns
strings in both cases, analogous to the behavior when USE_OLD_HTTP_URI
is defined.
2020-06-03 12:02:29 +02:00
Holger Weiss
cd336369a5
mod_stream_mgmt: Don't kill new PID on resumption
...
During XEP-0198 resumption, the ejabberd_c2s process that handles the
new connection reopens the ejabberd_sm session of the old one. Since
commit b4770815c0
, the new process adds
the new session table entry before the old process removes the old one.
While adding the new one, ejabberd_sm checks for old sessions to
replace. This check assumes old SIDs compare lower than new ones. This
assumption didn't necessarily hold for the session resumption case,
where the old SID's timestamp was copied over to the new SID and only
the PID was updated. Therefore, the new process was killed if the new
PID happened to be smaller than the old one.
Fix this by having mod_stream_mgmt use its own SM-ID rather than copying
over the old SID's timestamp to the new SID.
Thanks to Thilo Molitor and Friedrich Altheide for reporting the issue,
and to Thomas Leister for his help with debugging it.
2020-06-01 21:33:55 +02:00
Badlop
c0f7008e96
Use old http_uri, crypto and pg2 only with old Erlang/OTP ( #3284 )
2020-06-01 10:35:28 +02:00
Holger Weiss
7a37483307
Rename 'turn_v4_ip' and 'turn_v6_ip' options
...
The 'turn_ipv4_address' and 'turn_ipv6_address' option names are
probably more intuitive.
2020-05-29 18:40:19 +02:00
Holger Weiss
56d00e427d
ejabberd_stun: Add 'turn_blacklist' option
...
The new 'turn_blacklist' listener option allows for specifying one or
more IP addresses and/or subnet addresses/masks. The TURN server will
refuse to relay traffic from/to blacklisted IP addresses. By default,
Teredo and 6to4 addresses are blacklisted, as mandated by RFC 6156
(section 9.1).
2020-05-21 21:46:02 +02:00
Holger Weiss
7bb4da2fee
mod_stun_disco: Make 'services' example shorter
...
Omit the 'tcp' and 'stuns' services from the list of example 'services'
in the documentation. For typical use cases, those are less interesting
than 'udp' and 'turns' services.
2020-05-19 23:23:24 +02:00
Holger Weiss
f19b975e8d
mod_stun_disco: Offer local IPv6 services
...
Also announce local STUN/TURN services listening on IPv6 sockets (unless
the 'offer_local_services' option is set to 'false').
2020-05-19 22:55:12 +02:00
Holger Weiss
83fa637569
ejabberd_stun: Support IPv6 for TURN
...
The stun application now supports RFC 6156: TURN Extension for IPv6, and
therefore needs separate IPv4 and IPv6 relay addresses.
2020-05-19 21:42:41 +02:00
Holger Weiss
858bfb4b80
Let ejabberd_stun listen on IPv6 sockets
...
The stun application now allows IPv6 clients to perform STUN requests
and to allocate TURN relays.
2020-05-19 20:22:58 +02:00
Badlop
42c82c9e72
Fix hardcoded URL to register.css and URLS to sections ( #3281 )
2020-05-19 19:32:06 +02:00
Badlop
70977cbb13
Sort databases alphabetically in options doc (thanks to Neustradamus)( #3246 )
2020-05-19 16:38:08 +02:00
Paweł Chmielowski
6f54b6ae3b
Don't crash in mod_muc_log:get_url when mod_muc_log is not enabled
...
Disco on room can call this function even when logger is not enabled,
but this room option was enabled previously when logger was active.
2020-05-15 13:44:09 +02:00
Badlop
e94b89a57d
Display installed ejabberd version in webadmin footer ( #3272 )
2020-05-15 11:20:53 +02:00
yuriyz-w
44528d3fef
Make SQL query more generic for MSSQL compatibility ( #3271 )
2020-05-15 09:19:55 +02:00
Badlop
f3b8dc9c0b
Update *_vcard commands help, so they are better displayed in Docs
2020-05-14 20:02:47 +02:00
Badlop
9d923e8e6d
Update syntax of some options so they are better displayed in Docs
2020-05-12 21:33:00 +02:00
Badlop
d7d8085d3b
Fix most EDoc errors, even if that's not used nowadays apparently
2020-05-11 19:53:13 +02:00
Badlop
5e70a47f20
If new session Pid exists when sm_remove is called, then keep Ping ( #3260 )
2020-05-11 18:22:35 +02:00
Holger Weiss
e286bb23db
mod_stun_disco: Bump credentials_lifetime default
...
Increase the default lifetime of temporary credentials to 12 hours.
ejabberd's built-in TURN server re-queries the temporary password from
mod_stun_disco whenever a TURN client attempts to refresh an allocation,
and mod_stun_disco will only return the password as long as the
credentials didn't expire. Therefore, the credentials lifetime
effectively limits the maximum lifetime of a TURN allocation when
ejabberd's TURN service is used, so the default value shouldn't be too
short.
2020-05-11 17:32:28 +02:00
Badlop
2c42bd07c8
Fix link in mod_sip to SIP Docs section
2020-05-09 16:10:26 +02:00
Badlop
2001540143
Provide minimal mod_bosh configuration example
2020-05-09 15:04:10 +02:00
Badlop
d88a32992a
Add link in acme option to ACME section in ejabberd Docs
2020-05-09 11:45:39 +02:00
Badlop
c990704418
Remove ancient and rather useless incode ejabberd_commands documentation
2020-05-07 19:38:12 +02:00
Badlop
edf5b3c7f0
Don't use string:take, as it isn't available in Erlang/OTP 19.3 ( #3256 )
2020-05-07 16:09:51 +02:00
Badlop
e5a2d42484
Fix webadmin muc room sorting broken due to trailing slash patch ( #3256 )
2020-05-07 11:22:43 +02:00
Paweł Chmielowski
51e45516a4
Unconditionally send presence unavailable to all pres_a recipient
...
Previously we only send that presence to direct presence recipients if
client also sent general self presence (without to attribute).
This should help with issue #3245
2020-05-07 10:40:18 +02:00
Badlop
41b06cb79e
Show deprecation warning if ejabberd_xmlrpc is configured as listen module ( #2915 )
2020-05-06 14:08:43 +02:00
Badlop
d8509aec12
Remove access_commands useless lines, api_permission replaced it years ago
2020-05-06 14:08:40 +02:00
Holger Weiss
5649e35a64
ejabberd_listener: Let supervisor terminate child
...
If a TCP connection was closed before the socket was handed over to a
supervised child process, let the supervisor terminate the process
rather than killing it directly. This avoids crash log entries
generated by the supervisor.
2020-05-05 17:22:52 +02:00
Holger Weiss
865074603c
Set 'max_fsm_queue' default value (back) to 10000
...
The default value for the 'max_fsm_queue' option was set to 10000 in
commit 79685da90b
, and that value is still
documented to be the default. It was (probably unintentionally) changed
to 5000 in commit 03de853e4f
.
It makes sense to keep it larger than the value of mod_stream_mgmt's
'max_ack_queue' option.
2020-05-05 01:34:12 +02:00
Holger Weiss
6d13120e69
mod_stun_disco: Log discovered services on startup
...
If the 'offer_local_services' option isn't set to 'false', log an [info]
message for each auto-discovered ejabberd_stun listener on startup (and
on configuration reload).
2020-05-05 01:02:50 +02:00
Holger Weiss
b1e967eaf3
mod_stun_disco: Remove unnecessary inclusion
2020-05-03 17:27:41 +02:00
Holger Weiss
151fa2ec50
mod_stun_disco: Apply minor documentation cleanups
2020-05-03 17:20:15 +02:00
Holger Weiss
e4de03f3df
mod_stun_disco: Try to resolve listener address
...
In some IPv6-only networks, hostnames that have no AAAA record are
resolved to an IPv6 address that's mapped to the host's IPv4 address.
This allows the IPv6-only clients to communicate with IPv4-only services
such as ejabberd's built-in STUN/TURN server. If STUN/TURN clients try
to contact the IPv4 address directly rather than using the mapped IPv6
address, the connection will fail.
Therefore, try to resolve the IP address of local ejabberd_stun services
to the hostname and announce that hostname rather than the IP address if
(and only if) the hostname resolves back to the original IP address, and
not to any additional IPv4 or IPv6 address(es).
This can (and should) be reverted once IPv6 support is added to
ejabberd's built-in STUN/TURN server.
2020-04-30 22:40:01 +02:00
Badlop
4a7d42647f
Rewrite sentences in modules options examples, to not break Docs indentation
2020-04-28 21:31:35 +02:00
Jérôme Sautret
24a11fc8e8
Merge pull request #3235 from weiss/xep-0215
...
Support STUN/TURN service discovery
2020-04-28 16:03:21 +02:00
Holger Weiss
6eb2f07274
ejabberd_stun: Tone down 'auth_realm' warning
...
These days, STUN/TURN authentication can be performed with ephemeral
credentials, where the REALM is irrelevant. Therefore, just log an
[info] message rather than a [warning] in the case where no
authentication REALM is configured but multiple virtual domains exist.
2020-04-28 10:34:43 +02:00
Holger Weiss
69d1d62add
Support XEP-0215: External Service Discovery
...
Add the 'mod_stun_disco' module, which allows XMPP clients to discover
STUN/TURN services and to obtain temporary credentials for using them as
per XEP-0215: External Service Discovery. The temporary credentials
handed out to clients have the format described in:
https://tools.ietf.org/html/draft-uberti-behave-turn-rest-00
Also add the new module to the example configuration file.
Closes #2947 .
2020-04-28 10:34:43 +02:00
Badlop
3db9459591
Don't offer X-OAUTH2 if the only auth method enabled is Anonymous ( #3209 )
2020-04-27 20:03:21 +02:00
Paweł Chmielowski
6320dfd34e
Don't store caps information for direct presences of muc room
...
We really don't need those, and thanks to each individual room having
different hash (as one of hashed data is room description) we end with
lot of data that we really don't need.
2020-04-27 13:17:51 +02:00
Badlop
055fe744d3
Clean some unused functions in ejabberd_ctl, this makes "make hooks" happy
2020-04-24 20:36:24 +02:00
Holger Weiss
88f392721b
gen_mod: Reload modules after reloading listeners
...
Make sure modules won't be reloaded before listeners. This is necessary
to allow the (not yet committed) 'mod_stun_disco' module to parse the
listener configuration after configuration reloads.
2020-04-23 20:05:40 +02:00
Holger Weiss
c55e7b8499
ejabberd_stun: Fix 'turn_ip' fallback
...
The 'turn_ip' option validator doesn't accept an inet:ip4_address()
tuple.
While at it, change the logic to only perform the fallback address
lookup if no 'turn_ip' is configured (analogous to the fallback
mechanism for the case where the 'auth_realm' is undefined).
2020-04-23 18:32:40 +02:00
ChaosKid42
1f7ca91670
use dsn-less config for mssql ( #3131 )
2020-04-23 13:56:41 +02:00
Holger Weiss
09a87f5a0c
ejabberd_stun: Handle hashed passwords gracefully
...
Don't crash when STUN/TURN authentication is performed against a
SCRAM-hashed password.
2020-04-22 00:16:03 +02:00
Holger Weiss
1db70edcf8
ejabberd_stun: Add 'stun_get_password' hook
...
Add a hook that allows modules to offer a password for STUN/TURN
authentication.
2020-04-22 00:09:42 +02:00
Badlop
1a3533e4a2
Fix some English typos
2020-04-21 20:58:01 +02:00
Badlop
3db9de26e9
Rephrase mod_admin_extra doc, a2x screwed the format when building Docs
2020-04-21 20:11:39 +02:00
Badlop
78f0439e78
Make a few more strings translatable in MUC and Shared Roster WebAdmin
2020-04-20 20:24:56 +02:00
Holger Weiss
c836dc66a8
ejabberd_stun: Set a default 'turn_ip'
...
Try to resolve the local hostname, use the result as the default
'turn_ip', and only log a warning if that fails. Using the local
hostname's address by default is analogous to mod_proxy65's behavior.
2020-04-20 08:42:32 +02:00
Badlop
0355e15a42
Fix doc content in mod_admin_extra so it can be extracted by make translations
2020-04-17 17:28:39 +02:00
Badlop
101f7a6d63
Check if mod_muc_log is enabled before setting logging option ( #3215 )
2020-04-17 16:19:58 +02:00
Badlop
4aa85c538c
When rescode is some unexpected, probably error message, print it
2020-04-17 16:19:55 +02:00
Paweł Chmielowski
22980ed8a5
Restart offline pop_messages when there is mismatch between select and delete
...
When another connection is inserting something to spool at this same time
as we do pop_messages, it's possible that insert will happen between we
fetch messages and delete them, so we effectively will delete it without
delivering it to client. This change catch this situation and restart
transaction, so we should always have consistent results.
2020-04-17 15:30:28 +02:00
Badlop
0705695e02
Update documentation of mod_shared_roster ( #3214 )
2020-04-16 13:12:32 +02:00
Paweł Chmielowski
c11922e2a2
Make session iq response have from be set to server jid
...
It looks like old version of Smack don't accept request that are have
from sent to sender jid, but are only working when jid is set to server
address. This is also how it looks in old xmpp rfc examples.
2020-04-16 13:05:42 +02:00
Paweł Chmielowski
37226dd41f
Resending unacked stanzas should send even archived msgs if mod_offline is enabled
...
Messages that are received when no c2s is active will be stored in offline,
even when mam archived them, so i don't think we should be doing something
different in this case.
2020-04-16 13:04:12 +02:00
Badlop
cd0b65f4d5
Fix unused variables from previous commit
2020-04-14 15:00:45 +02:00
Badlop
b7c088d4b0
Update links to the ejabberd Docs page in WebAdmin
2020-04-14 13:59:11 +02:00
Badlop
e197b25e82
Rename opts->name to label, to avoid confusion with the group name ( #3214 )
...
Also updated WebAdmin to show more meaningful explanations
Also fixed a bug that break support for group@host in Displayed
2020-04-14 13:58:53 +02:00
Badlop
8694517c34
Minor fixes in doc
2020-04-09 16:30:21 +02:00
Badlop
2febd1c220
Copy more option explanations from ejabberd Docs site
2020-04-08 18:49:41 +02:00
Badlop
aa0ed37034
Add ejabberd version number to man pages
2020-04-08 18:48:09 +02:00
Badlop
da18245d9a
Indicate which ejabberd version is used to produce the page
2020-04-08 18:47:50 +02:00
Badlop
5cc9a1fe44
Don't make commands subsections, so Docs TOC plage is cleaner
2020-04-08 18:45:29 +02:00
Badlop
de0aead1cd
Fix set_loglevel example argument documentation
2020-04-08 18:44:09 +02:00
Badlop
624ba7e94f
Improve formatting of mod_announce doc
2020-04-08 18:42:45 +02:00
Paweł Chmielowski
9bb3aee0e2
Make resumed sessions try to deliver possibly queued messages to new session
...
Between receiving resume request and being closed by new session, it's
possible (even if not very likely) that new messages would arrive to
process that is resumed. In that case try to reroute messages that were
received after we sent resume reply to new process.
2020-04-07 14:51:49 +02:00
Paweł Chmielowski
16585713f8
Log errors that happen when retrieving http headers in ejabberd_http
...
It seems that ssl errors can be generated here, so lets have abily to show
them instead of swallowing them silently.
2020-04-07 13:50:01 +02:00
Holger Weiss
e01e528235
mod_carboncopy: Bump supported XEP revision
...
Since mod_carboncopy supports "urn:xmpp:carbons:rules:0", it implements
version 0.13.x of XEP-0280.
2020-04-05 22:52:55 +02:00
Badlop
23493ce239
Document mod_shared_roster_ldap options
2020-04-02 12:56:43 +02:00
Badlop
510ab53341
Add ejabberd_auth_http auth_opts brief description
2020-04-02 12:56:40 +02:00
Badlop
220cf73318
Document sql_prepared_statements
2020-04-02 12:56:38 +02:00
Badlop
f6d102f5e2
Quick document with forward link api_permissions
2020-04-02 12:56:36 +02:00
Badlop
05b68764cc
Document some global options
2020-04-02 12:56:33 +02:00
Badlop
4e51e82ccf
Add three missing mod_bosh options
2020-04-02 12:56:31 +02:00
Badlop
116fa8e9ca
add missing mod_mam options
2020-04-02 12:56:28 +02:00
Badlop
ce6fd654a0
Fix mod_pubsub indentation
2020-04-02 12:56:26 +02:00
Badlop
5ee2f48aea
Add mod_pubsub configuration documentation
2020-04-02 12:56:23 +02:00
Paweł Chmielowski
1bd560f3f2
Fix potential message loss in terminating c2s sessions
...
Calling sync version of xmpp_stream_in/out:stop could lead to messages
never being processed by c2s process if they were queued in p1_server.
This could be reproduced by when having messages in offline storage,
starting sessions, enabling stream_mgmt, sending initial presence, and then immediately
</stream:stream>, messages that mod_offline would send process would not
be bounced back by stream_mgmt.
2020-04-01 14:36:01 +02:00
Boris Chernov
87dda1b638
sql_type should be taken for LServer, not LHost ( #3202 )
...
sql_type option should be retrieved for the main domain, not the MUC subdomain
2020-03-30 09:47:36 +02:00
Paweł Chmielowski
5ec214386e
Make webadmin redirect to page that end with /
2020-03-26 14:17:48 +01:00
Paweł Chmielowski
73ba38ae35
Revert "Pass base path instead of level to support URL missing slash ( #3177 )"
...
This reverts commit e9d1201ea8
.
2020-03-26 13:43:24 +01:00
Paweł Chmielowski
1ffa9a0cf5
Do not change to attribute of sent messages from bare to full jid
...
This is not correct per xmpp spec
2020-03-25 16:00:16 +01:00
Badlop
150b7e7219
Fix unsubscribe command result, handle_sync_event result, and dialyzer
...
How to reproduce the problems fixed by this commit:
Create temporary room, other account subscribes, and owner leaves
Unsubscribe that account with the command: ejabberdctl unsubscribe_room ...
2020-03-24 11:44:22 +01:00
Paweł Chmielowski
7caec56e96
Make bounce_message_queue wait for 100ms for incoming messages
...
There is possibilty that between c2s process unregistering itself from sm
and terminating, some other process could try to send something to c2s,
which could result in messages to triggering mam/offline hooks, and causing
them not to be stored in any way.
2020-03-23 15:16:33 +01:00
Paweł Chmielowski
97354426cf
Make mod_muc_room:unsubscirbe handle that unsubscribe may stop room
2020-03-23 13:16:48 +01:00
Paweł Chmielowski
63e3fb92d1
Better handling of xml parse errors in send_stanza
2020-03-23 12:59:30 +01:00
Paweł Chmielowski
92a09fdb71
Also add "escape '\'" to prepared statements in pgsqllike_escape
2020-03-18 14:36:17 +01:00
Paweł Chmielowski
039d786e1f
Add escape '\' to like expression in pgsql to fix problem cockroachdb
...
Cockroachdb doesn't properly handle escaping of _ in like expressions,
having "like ... escape '\'" makes it work, by disabling optimization that
causes this broken behaviour
2020-03-18 14:31:13 +01:00
Paweł Chmielowski
2d707cc0d2
Fix type of computed field in node_flat sql query
2020-03-18 14:05:05 +01:00
Paweł Chmielowski
0a88d03dc9
Use correct type for seconds field in mod_last sql queries
2020-03-18 14:05:05 +01:00
Paweł Chmielowski
f12ee28660
Change conversion of boolean values for cockroachdb
2020-03-18 14:05:05 +01:00
Badlop
260c289d34
Fix Dialyzer warning that jid can't be 'undefined'
2020-03-18 12:02:16 +01:00
Paweł Chmielowski
d8899ca9ac
Add cache to mod_shared_roster
...
This should help with excessive queries that sql backend generates
Should fix issue #3158 .
2020-03-17 14:35:43 +01:00
Paweł Chmielowski
1e456065f6
Fix issue with family field on cockroachdb
2020-03-17 11:35:54 +01:00
Paweł Chmielowski
82074190fb
Replace mod_shared_roster:X call with just X inside that module
2020-03-16 14:57:55 +01:00
Paweł Chmielowski
6fe7c5cac5
Try to limit calls to groups_with_opts in mod_shared_roster
2020-03-16 13:29:05 +01:00
Badlop
e9d1201ea8
Pass base path instead of level to support URL missing slash ( #3177 )
2020-03-11 16:26:33 +01:00
Paweł Chmielowski
9a89b360c0
fix command rooms_empty_destroy ( #3183 )
2020-03-05 11:41:51 +01:00
Paweł Chmielowski
b39a1e2d74
Add reload handler to ejabberd_auth_ldap
...
This will restart ldap process with new options, and should made it
recognize new values.
This fixes issue #3181
2020-03-04 13:19:41 +01:00
Paweł Chmielowski
151b818af4
Use compilation flags used during build to compile modules in ext_mod
...
This fixes issue #3178
2020-03-03 11:25:17 +01:00
Paweł Chmielowski
df47e2a93f
Fix list parameters in sql queries on pgsql
2020-02-27 11:10:30 +01:00
Badlop
47c5aba1e5
Allow mod_register_web to be accessed from now-served vhosts ( #3173 )
2020-02-26 13:57:19 +01:00
Badlop
00abf5d42c
Fix handle of 'http' atom in Headers, problem introduced in 357e7e11
2020-02-26 13:56:38 +01:00
Paweł Chmielowski
9c25d1024a
Support ssl connection on mysql
2020-02-26 10:54:04 +01:00
Paweł Chmielowski
357e7e117d
Make http heades passed in custom_headers override builtin headers
...
Previously we just appended them, so sometimes we just had duplicates
This fixes issue #3056
2020-02-21 12:19:37 +01:00
Mickaël Rémond
3947e64524
Merge pull request #3127 from area-42/allow_emojis_with_mssql
...
allow storage of emojis in archive on mssql
2020-02-20 16:28:24 +01:00
Badlop
e234ced107
Support ejabberd_auth_http's auth_opts ( processone/ejabberd-contrib#284 )
2020-02-19 13:18:39 +01:00
Paweł Chmielowski
a19fdb717b
Do read piefxis file fully before starting processing included file
...
Previous method of processing files, could lead to mixing events generated
by parsers for multiple files, where we could get in inconsistant state.
After this change we gather all events generated by parser for single file,
before we start parsing any included file.
This fixes issue #3166
2020-02-18 15:02:23 +01:00
Holger Weiss
e7c84b81b2
ejabberd_admin: Fix *_config command result format
...
The 'reload_config' and 'dump_config' calls are expected to yield a
'rescode' result, which means they must return 'ok' (rather than a
tuple) on success.
Fixes #3170 .
2020-02-14 18:52:54 +01:00
Paweł Chmielowski
66a84b8d2b
Make piefxis import properly decode scram passwords
...
We encoded scramed password with base64 when exporting, but didn't apply
reverse operation on import, this adds base64 decoding on import.
This fixes issue #3167 .
2020-02-11 12:48:19 +01:00
Badlop
5574b21dd6
Remove tweak introduced in 05c2995c
for #1954 as it isn't needed anymore
2020-02-07 13:32:49 +01:00
Alexey Shchepin
b2f536ec8b
Use SQL ESCAPE statement only with MSSQL and SQLite, improve compatibility with CockroachDB ( #3074 )
2020-02-04 04:53:54 +03:00
Paweł Chmielowski
fdb7e3e3fa
Optimize sql queries in pubsub select_affiliation_subscriptions
2020-01-31 11:43:41 +01:00
Badlop
2d32c66fd7
Update copyright to 2020 ( #3149 )
2020-01-28 15:49:23 +01:00
Holger Weiss
20c0fed457
mod_http_upload: Document correct put_url default
...
Closes #3152 .
2020-01-27 00:04:21 +01:00
Paweł Chmielowski
75094df25e
Do not use ~ts format in string that are put in xmpp payload
...
We are expecting utf8 data here, and using that flag will convert those
to unicode codepoints, which aren't handled properly later.
2020-01-22 12:55:27 +01:00
Holger Weiss
243dc06733
mod_stream_mgmt: Don't crash on disabled ACK timer
...
Don't attempt to start an ACK timer if 'ack_timeout' is set to
'infinity'.
Thanks to Ingo Jrgensmann for reporting the bug.
2020-01-14 01:17:01 +01:00
Holger Weiss
ec035e3c41
mod_carboncopy: Omit check for undefined 'from'
...
These days, the 'from' of an outgoing #message is guaranteed to be set
to the sender's JID by xmpp_stream_in:process_authenticated_packet/2.
2020-01-13 00:45:33 +01:00
Holger Weiss
430b9bef38
mod_carboncopy: Don't process non-message stanzas
...
Avoid examining presence and IQ stanzas, as they're not eligible for
carbon-copying.
This is just an optimization and should not change the behavior.
2020-01-13 00:31:01 +01:00
Holger Weiss
ff193a1a6f
mod_carboncopy: Also copy mediated MUC invitations
2020-01-13 00:13:54 +01:00
Holger Weiss
74c01caf08
mod_carboncopy: Improve is_carbon_copy() check
...
Make sure the hook chain is stopped early whenever a carbon copy is
processed, not just in some cases.
2020-01-12 14:04:31 +01:00
Holger Weiss
a8f6c1db1d
mod_carboncopy: Support new copying rules
...
Support the copying rules added to XEP-0280 with version 0.13.0 under
the "urn:xmpp:carbons:rules:0" namespace.
Closes #3011 .
2020-01-12 13:42:00 +01:00
Holger Weiss
919c9d6fb1
mod_sip: Omit documentation when SIP is disabled
...
Don't generate the actual mod_sip documentation if ejabberd is built
without SIP support.
2020-01-11 20:34:11 +01:00
Holger Weiss
6531fbb0f3
mod_sip: Fix compilation without SIP support
...
Make sure the T() macro is also defined when ejabberd is compiled
without SIP support.
Fixes #3143 .
2020-01-11 20:27:16 +01:00
Evgeny Khramtsov
97da380acd
Generate ejabberd.yml.5 man page from source code directly
...
Several documentation callbacks (doc/0 and mod_doc/0) are implemented
and `ejabberdctl man` command is added to generate a man page. Note
that the command requires a2x to be installed (which is a part of
asciidoc package).
2020-01-08 12:24:51 +03:00
Holger Weiss
0e96d64e60
Omit push notifications if offline storage failed
...
This commit removes the 'store_offline_message' hook which didn't allow
mod_push to suppress notifications when storing an offline message
failed (due to the offline spool size limit being exceeded or due to
database issues).
Fixes #3120 .
2020-01-05 20:08:54 +01:00
Christoph Scholz
00ccb119ea
allow storage of emojis in archive on mssql
2019-12-27 13:06:06 +01:00
Badlop
c396271c00
Fix case clause error regarding admin_generated password ( #3122 )
2019-12-24 11:10:36 +01:00
Paweł Chmielowski
4b3a1ec614
Add ability to hookup config transformer
2019-12-16 12:39:56 +01:00
Badlop
869826c818
Fix mod_muc_log skipping non-Latin messages (thanks to Yandrey)( #3115 )
2019-12-16 11:35:10 +01:00
Alexey Shchepin
24ac62eabd
Improve compatibility with CockroachDB ( #3074 )
2019-12-16 06:52:06 +03:00
Alexey Shchepin
f9120f75b0
Improve compatibility with CockroachDB ( #3074 )
2019-12-11 17:49:02 +03:00
Evgeny Khramtsov
6e68ca2211
Improve send_message command
2019-11-29 11:27:57 +03:00
Paweł Chmielowski
71c44bff8b
Make convert_to_scram work with all backends
2019-11-27 10:35:52 +01:00
Alexey Shchepin
2a35cadf80
Merge branch 'pg_prepared_statements' of https://github.com/sabudaye/ejabberd into sabudaye-pg_prepared_statements
...
Conflicts:
ejabberd.yml.example
src/ejabberd_sql.erl
2019-11-26 19:45:01 +03:00
Evgeny Khramtsov
910f6aa290
Fix previous commit
2019-11-24 16:26:03 +03:00
Evgeny Khramtsov
de91618070
Check also 'access' rule on account removal
...
According to the documentation we should not allow
account removal when it's forbidden by the rule
from 'access' option.
2019-11-24 16:21:01 +03:00
Evgeny Khramtsov
650bdae5d9
Make sure IQ result is correctly routed on account removal
...
Thanks to Philipp Hörist for spotting this
2019-11-24 15:43:38 +03:00
Evgeny Khramtsov
33a16090d3
Fix acl reloading
2019-11-15 18:21:30 +03:00
Evgeny Khramtsov
925998c360
Preserve order of grouped duplicates
2019-11-08 10:20:18 +03:00
Evgeny Khramtsov
3826a9ed58
Also group duplicated list-like options inside host_config/append_host_config
2019-11-07 12:14:08 +03:00
Evgeny Khramtsov
b7b76cc38b
Group all duplicated list-like options into a single option
2019-11-07 11:33:24 +03:00
Evgeny Khramtsov
94b74c0cbe
Fix loading of third-party modules at startup
...
Fixes #3019
2019-11-07 10:47:11 +03:00
Evgeny Khramtsov
c48e972573
Allow multiple modules
section
...
Fixes processone/ejabberd-contrib#282
2019-11-06 13:43:30 +03:00
Evgeny Khramtsov
bb26d7c379
Accept a list in c2s_ciphers/s2s_ciphers options
2019-11-05 17:54:56 +03:00
Evgeny Khramtsov
3a46612d88
Fix unicode string formatting
...
Fixes #3066
2019-11-05 17:51:12 +03:00
Evgeny Khramtsov
3e5ab8082b
Revert "Escape 'family' field in SQL requests"
...
This reverts commit f51ba687e2
.
Fixes #3072
2019-10-30 09:11:13 +03:00
Evgeny Khramtsov
72f6835feb
Fix race condition in Redis/SQL supervisors startup
2019-10-29 13:36:40 +03:00
Evgeny Khramtsov
f51ba687e2
Escape 'family' field in SQL requests
...
This is needed for compatibility with CockroachDB, because
'FAMILY' is a reserved keyword in this database.
2019-10-28 12:19:24 +03:00
Evgeny Khramtsov
a202818037
Merge pull request #3069 from nosnilmot/jwt-custom-jid-field
...
Add option for JWT field name containing JID
2019-10-26 11:03:19 +03:00
Stu Tomlinson
b2651dae0f
Add option for JWT field name containing JID
2019-10-25 16:56:18 +01:00
Evgeny Khramtsov
f981a2ef17
Improve jwt_key validator
2019-10-25 18:30:50 +03:00
Evgeny Khramtsov
02cb3d93fd
Don't lowercase first letter in reason string
2019-10-25 18:18:04 +03:00
Alexey Shchepin
c7470f5107
Handle the case when JWT key file contains JWK set
2019-10-25 16:33:22 +03:00
Evgeny Khramtsov
7eda35b945
Introduce 'gc' ejabberdctl command
...
The command forces garbage collection of all running Erlang processes.
The return is always success.
2019-10-25 16:02:24 +03:00
Evgeny Khramtsov
e8fe68543e
Stop SASL application in ejabberd_logger:flush()
2019-10-25 15:52:05 +03:00
Evgeny Khramtsov
f1a35cc9ac
Avoid calling to logger module on OTP<22
2019-10-25 15:27:47 +03:00
Evgeny Khramtsov
e3962aea6e
Use lager on OTP<22.0
...
This also lowers Erlang/OTP minimum version requirement back to 19.3
2019-10-25 11:44:04 +03:00
Evgeny Khramtsov
c604bdb897
Limit result set of disco#items for mod_pubsub
...
The size of a list of nodes returned for disco#items request
is now controlled by option 'max_nodes_discoitems'. The default
value is 100. The name and the default value of the option is
chosen to be consistent with mod_muc's 'max_rooms_discoitems' option.
2019-10-24 14:59:47 +03:00
Evgeny Khramtsov
d300a87059
Fix logger initialization on OTP<21.3
2019-10-23 16:41:27 +03:00
Evgeny Khramtsov
1e30b85861
Report errors in logger initialization
2019-10-23 16:03:48 +03:00
Evgeny Khramtsov
e388805049
Log path to third-party configuration file
...
This should prevent confusions like the one described at
https://stackoverflow.com/q/58353491/2610053
2019-10-20 18:14:33 +03:00
Evgeny Khramtsov
7a85e51237
Fix error reporting in configuration related admin commands
2019-10-19 19:58:42 +03:00
Evgeny Khramtsov
9ff6cc25dc
Log supervisor reports in debug loglevel
2019-10-18 22:00:37 +03:00
Evgeny Khramtsov
e4a8afb15d
Replace lager with built-in new logging API
...
This change requires Erlang/OTP-21.0 or higher.
The commit also deprecates the following options:
- log_rotate_date
- log_rate_limit
Furthermore, these options have no effect. The logger now fully
relies on log_rotate_size, that cannot be 0 anymore.
The loglevel option now accepts levels in literal formats.
Those are: none, emergency, alert, critical, error, warning, notice, info, debug.
Old integer values (0-5) are still supported and automatically converted
into literal format.
2019-10-18 19:12:32 +03:00