Badlop
d8cdd82bf8
Rewrite vcard example configuration to not require extended format
2024-04-24 13:20:43 +02:00
Badlop
345af5a535
Remove ... in example configuration: it is assumed and reduces verbosity
2024-04-24 13:20:42 +02:00
Badlop
6e5895ce45
Update some modules doc to use the note field
2024-04-24 13:20:41 +02:00
Badlop
b70a2fe4cf
Support for version note in modules too
2024-04-24 13:20:40 +02:00
Badlop
da01d932ea
Add some text to examples, so docs Makefile can find and update its syntax
2024-04-24 13:20:39 +02:00
Badlop
7cd5808766
Mark toplevel options, commands and modules that changed in latest version
2024-04-24 13:20:37 +02:00
Badlop
c98302b3c0
Now modules themselves can have version annotations in 'note'
...
This was already supported in module options, toplevel options
and ejabberd_commands.
2024-04-24 13:20:36 +02:00
Badlop
cd7eedf589
Update API to mkdocs
2024-04-24 13:20:35 +02:00
Badlop
27bd8852a1
Update name of API section
2024-04-24 13:20:34 +02:00
Badlop
effcf0b7cf
Update markdown text for version notes, to work with mkdocs
2024-04-24 13:20:33 +02:00
Badlop
71b9db688a
Fix markdown indentation of JSON examples
2024-04-24 13:20:32 +02:00
Badlop
8be6dc7758
Use new shorthand to provide URLs relative to ejabberd Docs
2024-04-24 13:20:30 +02:00
Badlop
569f0b303b
Use same module shorthand in API documentation than in module docs
2024-04-24 13:20:29 +02:00
Badlop
68c0c4d94f
Update doc headers to MkDocs and mention ejabberd version used
2024-04-24 13:20:27 +02:00
Badlop
a550a1c55c
Fix documentation links to new URLs generated by MkDocs
2024-04-24 13:20:26 +02:00
Paweł Chmielowski
73bcabd2fa
Replace muc.example.com with conference.example.com in commands docs
...
Second form matches what we use by default, and we seen some confusion
between those two when people try to adopt commands from docs to real
usage.
2024-04-23 14:33:34 +02:00
Badlop
44bafa478e
New ban commands use private storage to keep ban information ( #4201 )
2024-04-22 18:28:15 +02:00
Paweł Chmielowski
0fdf58b1ec
Add ability to use additional custom errors when parsing options
2024-04-17 14:01:21 +02:00
Badlop
4fd83631ec
Mention in what ejabberd version was added update_sql_schema option
2024-04-12 16:41:25 +02:00
Badlop
ed6762b8ee
Don't name integer and string results in API examples ( #4198 )
...
Since ejabberd 24.02, mod_http_api does not name any results,
previously integer and strings were named, but other results were not.
And ejabberdctl obviously does not name results either.
Only ejabberd_xmlrpc does.
Consequently, the documentation should not name results in the examples.
2024-04-12 12:08:03 +02:00
Badlop
b6a0c7e57f
mod_configure: Retract 'Get User Password' command to update XEP-0133 1.3.0
...
https://github.com/xsf/xeps/pull/1314
2024-04-12 12:07:50 +02:00
Badlop
ef5a435480
sql_server option: Mention in what version it was last updated
2024-04-12 12:07:40 +02:00
Paweł Chmielowski
61ad808d26
Fix validation of user field in get_user_subscriptions command
...
I made it test for valid muc room, instead of just valid username.
This should fix issue #4197
2024-04-11 12:17:02 +02:00
Badlop
7c76f2b764
Handle the "approved" attribute. As feature isn't implemented, discard it ( #4188 )
...
Reference:
https://xmpp.org/rfcs/rfc6121.html#roster-syntax-items-approved
Additionally, when roster contains unknown attribute, discard it and
show a warning
2024-04-04 13:42:09 +02:00
Paweł Chmielowski
735516ed37
Don't start sql connection pools for unknown hosts
...
It's possible to trigger that by passing wrong domain to some ctl commands,
and if you don't have default credentials for sql connections, you get
repeating errors when this pools tries to reconnect from error.
2024-04-04 11:05:34 +02:00
Badlop
50c74ab821
Fix code:lib_dir call to work with Erlang/OTP 27.0-rc2
2024-04-01 14:26:55 +02:00
Paweł Chmielowski
9ab60935a4
Add update_primary_key command to sql schema updater
2024-03-21 10:58:06 +01:00
Paweł Chmielowski
c5437235f3
Make mod_vcard_xupdate send hash after avatar get set for first time
...
We need to remove info about empty photo in session stored presence after
avatar get set, otherwise as we don't modify presences like that in
mod_vcard_xupdate, we will send presence with updated hash.
This fixes issue #4182
2024-03-20 10:57:12 +01:00
Paweł Chmielowski
537aac24f7
Improve detection of types in odbc
...
This should fix issue with dialyzer on erlang 26.2.3+
2024-03-18 14:54:32 +01:00
Badlop
1639471250
Fix crash running export2sql when MAM enabled but MUC disabled
...
Problem introduced in cfc393a
2024-03-07 18:38:32 +01:00
Badlop
2c1b0bb77b
Use shorthands provided by docs.ejabberd.im Makefile, fix markdown syntax
2024-03-07 18:38:32 +01:00
Badlop
5bb94f1d9e
Result of running "make options"
2024-03-06 15:25:38 +01:00
Badlop
2378ea9c07
Dialyzer: Replace re:mp dirty workaround from 0bbc255
with other less dirty
2024-03-06 15:25:38 +01:00
Badlop
356ee22cc5
Change method from 1bf80e8
to determine if Elixir supports default_formatter function
...
Dialyzer when using Elixir complains about undefined function module_info.
2024-03-06 15:25:38 +01:00
Badlop
281515cd9f
mod_muc_log: Hide join/leave lines, add method to show them
2024-03-06 15:25:32 +01:00
Badlop
c0055b7a7f
mod_muc_log: Support allowpm introduced in 2bd61ab
2024-03-06 15:23:16 +01:00
Melvin Keskin
a29955ff96
mod_mam: Document that XEP-0441 is implemented as well
2024-03-03 21:05:57 +01:00
Badlop
91cca3cff3
mod_conversejs: Simplify support for @HOST@ in default_domain option ( #4167 )
2024-02-28 13:06:49 +01:00
Badlop
716f5de517
mod_matrix_gw: Fix support for @HOST@ in matrix_domain option ( #4167 )
2024-02-28 13:06:47 +01:00
Paweł Chmielowski
aac0e782d0
Don't use ejabberd_config:get_myhosts()
2024-02-28 12:24:50 +01:00
Paweł Chmielowski
c69884fa3f
Config reload should update loger settings part 2
2024-02-28 12:03:42 +01:00
Paweł Chmielowski
06675e4fb2
Improve validation of arguments in mod_muc_admin commands
...
This adds validation to couple command where they were missing and catch
passing unknown hostnames.
2024-02-28 12:01:14 +01:00
Paweł Chmielowski
ad67710f7e
Make config reload update new logger settings
2024-02-28 11:46:30 +01:00
Badlop
79eca7c098
Update version number from the unreleased 24.01 to 24.02
2024-02-26 16:16:09 +01:00
Badlop
daca3b558b
Use another example, because "archive" is replaced when generating EDoc
2024-02-26 16:16:06 +01:00
Badlop
2075480b14
Improve some documentation: URLs are parsed later when preparing Docs
2024-02-26 16:16:05 +01:00
Badlop
417294339d
Matrix: Minor documentation improvements
2024-02-26 16:15:51 +01:00
Holger Weiss
6aaefc663b
Fix XEP-0425: Message Moderation with SQL storage
...
Use the correct server name and room JID when removing moderated
messages from SQL.
2024-02-24 22:06:36 +01:00
Jérôme Sautret
a6b10ac4c0
Merge branch 'master' of github.com:processone/ejabberd
2024-02-23 12:09:51 +01:00
Jérôme Sautret
2b7b92edee
Add mod_matrix_gw doc
2024-02-23 12:09:10 +01:00
Paweł Chmielowski
f4de0cef26
Add alternative types that should fix dialyzer on r26
2024-02-22 17:25:56 +01:00
Paweł Chmielowski
1b5a9c1a1f
Fix dialyzer warnings in ejabberd_sql in R27
2024-02-22 16:12:04 +01:00
Badlop
5fb76b4918
Use http_uri only when matrix requires it, ammend commit 59ff77e
2024-02-21 16:46:37 +01:00
Badlop
9275bf40b2
Rebar3/Mix: If dev profile/environment, enable tools automatically
2024-02-21 16:46:37 +01:00
Badlop
4431fbbe5a
Include only observer; runtime_tools is automatically added
2024-02-21 16:46:37 +01:00
Badlop
59ff77e171
Matrix: Fix commit 816900a
for OTP below 25.0
...
uri_string:quote was added in OTP 25.0
2024-02-19 15:33:09 +01:00
Paweł Chmielowski
045170a67e
Fix dialyzer warning on R26 in mod_matrix*
2024-02-19 12:08:56 +01:00
Alexey Shchepin
c9deea1f6f
Bugfix in mod_matrix_gw_room:get_sender_power_level
2024-02-19 14:05:25 +03:00
Alexey Shchepin
c10f2a22b6
Fix dialyzer errors
2024-02-16 06:00:57 +03:00
Alexey Shchepin
45f24c63cb
Update mod_matrix_gw copyright dates
2024-02-15 09:38:14 +03:00
Badlop
18cb0bca19
Fix compilation with Erlang/OTP 27: don't use the reserved word 'maybe'
2024-02-15 01:57:44 +01:00
Badlop
b8181974ec
Replace 'if' preprocessor directive with 'ifndef', add OTP_BELOW_24
...
The 'if' preprocessor directive was added in Erlang/OTP 21.0,
but ejabberd currently supports Erlang 20.0 and higher...
Let's use 'ifndef' instead.
https://www.erlang.org/doc/reference_manual/macros.html#flow-control-in-macros
https://www.erlang.org/doc/apps/compiler/notes#compiler-7.2
https://www.erlang.org/patches/otp-21.0#compiler-7.2
2024-02-15 01:57:41 +01:00
Badlop
816900a6cf
Use uri_string module instead of the deprecated http_uri
...
http_uri is marked for deprecation since OTP 23
Use uri_string which is available since OTP 21
No need to provide alternative, because it's used only by mod_matrix,
and this runs only with Erlang/OTP 24 or higher.
https://www.erlang.org/patches/otp-23.0#inets-7.2
https://www.erlang.org/docs/23/man/http_uri
2024-02-15 01:57:39 +01:00
Alexey Shchepin
f44e23b8cc
Add mod_matrix_gw
2024-02-14 06:59:23 +03:00
Badlop
9f934abd48
ejabberdctl: Fix crash running defined commands in container and installers
2024-02-09 14:12:06 +01:00
Badlop
70bf316f9d
Explain that reopen_log and rotate_log only affect some modules ( #4156 )
2024-02-06 17:52:31 +01:00
Badlop
2979fb4a9b
ext_mod: Support in WebAdmin when a module spec lacks some information
2024-02-06 17:52:29 +01:00
Badlop
c6878f9c9d
ejabberdctl: Print argument description, examples and note in help
2024-02-06 17:52:25 +01:00
Badlop
1d65f4471b
ejabberdctl: Document exclusive ejabberdctl commands like all the others
2024-02-06 17:52:24 +01:00
Badlop
e9de3748bd
ejabberdctl: Reorganize commands related to mnesia info
...
- ejabberdctl mnesia: already implemented in ejabberd_admin.erl
- ejabberdctl mnesia info: renamed to mnesia_info_ctl
- ejabberdctl mnesia Arg: command removed, use mnesia_info_ctl instead
2024-02-06 17:52:22 +01:00
Badlop
ea40afbe03
update_sql_schema: Fix typo, add example MySQL version number
2024-02-06 17:52:19 +01:00
Holger Weiss
01c70868ef
Ignore hints when checking for chat states
...
Ignore XEP-0334 elements when checking whether a stanza is a stand-alone
XEP-0085 chat state notification. This allows for CSI-filtering chat
states with (e.g.) a no-store hint.
Thanks to Thilo Molitor for reporting the issue.
2024-02-03 13:20:34 +01:00
Alexey Shchepin
66d701e788
Add print_sql_schema ejabberdctl command
2024-01-24 22:52:20 +03:00
Badlop
589521bfd8
Update copyright year to 2024 ( #4139 )
2024-01-22 17:29:13 +01:00
Badlop
d802b6ab44
Fix version number in ejabberd_xmlrpc.erl
2024-01-22 17:29:12 +01:00
Badlop
f34c2b1714
Document new XEPs supported thanks to its implementation in the xmpp library
2024-01-22 17:29:09 +01:00
Badlop
78750bf753
Annotate version when the commands v1 are available
2024-01-22 17:29:07 +01:00
Badlop
65d585496c
Document sql_flags option introduced in 00c7600
2024-01-22 17:29:06 +01:00
Badlop
a2ff5fbfdb
Add observer and runtime_tools in releases when --enable-tools
...
When --enable-tools, include observer and runtime_tools
in the OTP releases, as they are required by "ejabberdctl etop".
With this fix, "ejabberdctl etop" works correctly when:
* rebar3 + make rel
* mix + make dev
* mix + make rel
2024-01-17 10:24:34 +01:00
Badlop
dd5a198222
Rebar3: Include Elixir files when making a release
2024-01-17 10:24:34 +01:00
Badlop
b08001183e
ext_mod: Support Elixir modules with several defimpl, like Decimal
2024-01-17 10:24:34 +01:00
Badlop
0121adec03
ext_mod: Compile *.ex files also in source subfolders
2024-01-17 10:24:34 +01:00
Badlop
1bf80e861d
Elixir: Fix: FORMATTER ERROR: bad return value (4087)
...
This is required since Elixir 1.15 when starting ejabberd with:
./configure --with-rebar=mix
make relive
make relive && ejabberdctl iexlive
make install && ejabberdctl iexlive
Reference:
https://elixir-lang.org/blog/2023/06/19/elixir-v1-15-0-released/
https://hexdocs.pm/logger/Logger.Formatter.html#module-formatting
2024-01-17 10:24:34 +01:00
Badlop
5bb2beb179
Elixir: Fix: Couldn't find file Elixir.Hex.API
...
Fix for error when starting ejabberd with Elixir 1.15:
[critical] Couldn't find file Elixir.Hex.API needed for Erlang application 'hex'.
2024-01-17 10:24:34 +01:00
Paweł Chmielowski
29ec5bff60
Add option to disable XEP-0474: SASL SCRAM Downgrade Protection support
...
Looks like clients using strophejs aren't able to authenticate when we
add data required by that spec to scram packets, so at least give a way
to disable this until clients will be fixed.
2024-01-16 12:03:35 +01:00
Holger Weiss
6c691a73bd
Support XEP-0198 pings
...
If stream management is enabled, let mod_ping trigger XEP-0198
<r/>equests rather than sending XEP-0199 pings. This avoids the
overhead of the ping IQ stanzas, which, if stream management is enabled,
are accompanied by XEP-0198 elements anyway.
Thanks to MoyaApp (<https://moya.app >) for sponsoring this work.
2024-01-15 21:38:54 +01:00
Badlop
74cb2e054f
Rephrase sentences to avoid using "allow to + verb"
2024-01-11 13:42:06 +01:00
Badlop
5b6329a12e
Fix a few spelling errors
2024-01-11 13:41:40 +01:00
Badlop
973ba58744
mod_avatar implements XEP-0398 0.2.0 since ddc29d4
2024-01-08 18:21:15 +01:00
Badlop
fc13fdceca
Docs: Separate tags with commas in markdown docs
2024-01-04 22:01:21 +01:00
Badlop
d585b1fcb6
Docs: When definer is unknown, don't show Module section
2024-01-04 22:01:21 +01:00
Badlop
57bd0ef4f5
Docs: Optional support to get commands from runtime instead of BEAM files, based in bdeb4a7
2024-01-04 22:01:21 +01:00
Badlop
d140f99b68
ejabberd_xmlrpc: Fix support for restuple error response
2024-01-04 22:01:21 +01:00
Badlop
90766685ae
ejabberd_ctl: When API version>0, update syntax of list results
2024-01-04 21:53:14 +01:00
Badlop
d65638efe1
ejabberd_ctl: Pass API version to format_result
2024-01-04 21:53:14 +01:00
Badlop
b34572e7ce
ejabberd_ctl: Show proper command help when version is explicitly set
2024-01-04 21:53:14 +01:00
Badlop
c4c0cd1b77
ejabberd_ctl: Add support for list and tuple arguments
...
Tuple elements are separated with :
List elements are separated with ,
For example:
ejabberdctl add_rosteritem user1 localhost testuser7 localhost NickUser77l gr1,gr2,gr3 both
ejabberdctl create_room_with_opts room1 conference.localhost localhost public:false,persistent:true
ejabberdctl subscribe_room_many user1@localhost:User1,admin@localhost:Admin room1@conference.localhost urn:xmpp:mucsub:nodes:messages,urn:xmpp:mucsub:nodes:affiliations
Affected commands:
- add_rosteritem
- create_room_with_opts
- oauth_issue_token
- send_direct_invitation
- set_vcard2_multi
- srg_create
- subscribe_room
- subscribe_room_many
2024-01-04 21:53:14 +01:00
Badlop
9f42f17088
mod_http_api: Fix to allow the client override the API version
...
When configured like:
listen:
-
request_handlers:
/api: mod_http_api
/apizero/v0: mod_http_api
What API version will be used depending on the URL:
- api/commandname use the latest available version
- api/commandname/v0 use version 0
- apizero/v0/commandname use version 0
- apizero/v0/commandname/v2 use version 2
2024-01-04 21:53:14 +01:00
Badlop
d570870be5
mod_http_api: When using API version>0, avoid result names for integers and strings
2024-01-04 21:53:14 +01:00
Badlop
8671bf70ab
mod_http_api: When no specific API version is requested, use the latest
2024-01-04 21:53:14 +01:00
Badlop
e26729b483
Commands: Use list arguments in many commands that used separators
...
Commands that has some argument change:
- add_rosteritem
- oauth_issue_token
- send_direct_invitation
- srg_create
- subscribe_room
- subscribe_room_many
2024-01-04 21:53:14 +01:00
Badlop
d4113d9569
Commands: set_presence: switch priority argument from string to integer
2024-01-04 21:53:14 +01:00
Badlop
c5a5dd859e
Commands: Improve syntax of many commands documentation
2024-01-04 21:53:14 +01:00
Badlop
0961fa1830
Commands: When result is rescode, result_desc is automatically added
2024-01-04 21:53:14 +01:00
Badlop
f18b8d464d
Commands: Add a new muc_sub tag to all the relevant commands
2024-01-04 21:53:14 +01:00
Badlop
98d7519274
ejabberd_commands: Add the command version as a tag "vX"
2024-01-04 21:53:14 +01:00
Alexey Shchepin
8d2d3a6540
Support XEP-0424 in mod_mam_mnesia
2023-12-27 09:42:22 +03:00
Alexey Shchepin
a4bb695fc3
Support for XEP-0424 "Message Retraction"
2023-12-27 08:59:20 +03:00
Badlop
a57bdfffb7
Document recent change from 7d4330b57
2023-12-22 13:19:53 +01:00
Paweł Chmielowski
a5c973f86b
Mention in docs for sql_prepared_statements that it works with MySQL
2023-12-12 11:29:12 +01:00
Holger Weiss
6b2b89da78
mod_push: Fix disabling of notifications
...
Remove the correct field from the c2s state when the client explicitly
disables push notifications. This fixes a regression introduced by
commit c148ab4430
.
2023-12-08 18:52:53 +01:00
Paweł Chmielowski
7d4330b57a
Increase default value of negotiation_timeout from 30s to 2m
...
This timeout also covers in-band registration, and if user don't fill
registration form in that time leads to disconnect and aborting
registration. This will allow for more time to finish that.
2023-12-04 13:24:32 +01:00
Badlop
225d14cbbe
Minor improvements in auth_password_format documentation
2023-12-01 00:07:21 +01:00
Paweł Chmielowski
48f0d9c15e
Update xmpp to make us present both sasl1 and sasl2 with from in initial stanza
2023-11-22 18:34:18 +01:00
Paweł Chmielowski
9c7e91a1e9
Update xmpp and make opening bind2 session close other sessions with same tag
2023-11-21 13:55:40 +01:00
Paweł Chmielowski
91e74204b2
Teach mod_carboncopy how to interact with bind2 inline requests
2023-11-20 18:55:07 +01:00
Paweł Chmielowski
fdee4efe98
Fix presenting features and returning results of inline bind2 elements
2023-11-20 18:54:23 +01:00
Paweł Chmielowski
c61e56d8a6
Fix for one more dialyzer warning
2023-11-16 20:49:28 +01:00
Paweł Chmielowski
ad15659fb2
Fix warnings
2023-11-16 18:45:33 +01:00
Paweł Chmielowski
efffc3142a
Add implementation for SASL2 and Bind2
2023-11-16 16:52:55 +01:00
Alexey Shchepin
b0a9b58958
Use the first unique index as a primary key in ejabberd_sql_schema
2023-11-16 16:00:35 +03:00
Paweł Chmielowski
3bf4cf5c3f
Fix reversed logic in node fixup function
2023-10-26 15:44:45 +02:00
Paweł Chmielowski
52e7c166fc
Normalize pubsub max_items
node options on read
...
Older version used infinity value, for what never version use max, let's
always return max in that case.
2023-10-26 14:31:40 +02:00
Paweł Chmielowski
08a78a1654
Change logic for eldap tls_verify=soft and false
...
Looks like originally both soft and hard worked the same way, so lets make
them do that, and we also need to add {verify, verify_none} for false case
otherwise it fails on R26.
2023-10-26 11:17:17 +02:00
Paweł Chmielowski
c2d04bc478
Don't set fail_if_no_peer_cert for eldap ssl client connections
...
Looks like R26 generates error when this option is used for client
connection, let's just use verify_peer/verify_none for
ldap_tls_verify hard/soft options.
This should fix issue #4110 .
2023-10-25 20:31:50 +02:00
Paweł Chmielowski
f48275bc11
Only care about pep bookmarks options when creating node from scratch
2023-10-19 19:26:25 +02:00
Alexey Shchepin
ec20691188
Disable update_sql_schema by default
2023-10-16 19:31:32 +03:00
Alexey Shchepin
c1af36ac20
Automatically create and update SQL schema
2023-10-16 18:21:08 +03:00
Alexey Shchepin
f6e8eb52f0
Fix ejabberd_sql:sql_query* types
2023-10-16 18:21:08 +03:00
Badlop
6340d61397
Dcoument ejabberd version number in the new options
2023-10-16 10:58:59 +02:00
Badlop
80d1e36542
mod_private: Document that it supports XEP-0402 now
2023-10-16 10:56:15 +02:00
Paweł Chmielowski
f75909db4c
Allow pubsub node owner to overwrite items published by other persons
...
Owner is already permitted to delete those items, so it could do that by
deleting old item, and publishing it again, so i don't see reason to not
allow that overwrite.
2023-10-12 13:16:32 +02:00
Paweł Chmielowski
12d47455ba
Add auth_external_user_exists_check
option
...
This makes `user_check` hook work better with authentication methods
that don't have a way to determine if user exists (like is the case for
jwt and cert based authentication), and as result will improve mod_offline
and mod_mam handling of offline messages to those users. This reuses
information stored by `mod_last` for this purpose.
Should fix issue #3377 .
2023-10-11 14:17:18 +02:00
Badlop
10245b40ee
Add support to register nick in a room ( #3455 )
...
Registering a nick in the MUC service or in a room is mutually exclusive:
- A nick that is registered in the service cannot be registered in any
room, not even the original owner can register it.
- Similarly, a nick registered in any room cannot be registered in the
service.
2023-10-10 13:08:56 +02:00
Badlop
9534ca2da1
ext_mod: Support when git repository name is not identical to the module name
...
For example, ejabberd-contrib has an extra module, mod_prometheus,
that is hosted in a git repository named ejabberd-prometheus-exporter
2023-10-04 20:57:02 +02:00
Badlop
f9d11265d0
ext_mod: Don't crash when github page response is 403
2023-10-04 20:55:01 +02:00
Badlop
d85c125bef
ext_mod: Use the same URL that ejabberd-contrib spec files
2023-10-04 20:54:49 +02:00
Paweł Chmielowski
62d3d7a32d
Relay pubsub iq queries to muc members without using bare jid
...
We do something similar for vcard queries, this allows target server
to respond to those queries by target server, which is what we want to
do in both of those cases.
2023-10-04 17:20:20 +02:00
Paweł Chmielowski
86465c418d
Try to fill xep-0402 bookmarks from private storage on first access
2023-10-02 14:39:30 +02:00
Paweł Chmielowski
a63d3bf0d6
Fix crash in mod_private bookmarks converter
...
This should fix issue reported in #4092
2023-10-02 08:32:24 +02:00
Paweł Chmielowski
9ba645503b
Fix dialyzer warning
2023-09-27 23:02:32 +02:00
Paweł Chmielowski
765770aaa5
Add support for xep-0402 - PEP Native Bookmarks
2023-09-27 18:36:30 +02:00
Paweł Chmielowski
c3e0b746d7
Add pubsub_delete_item hook
2023-09-27 18:30:17 +02:00
Paweł Chmielowski
accb0bc35a
Report support of config-node-max in pep
2023-09-27 18:29:56 +02:00
Holger Weiss
ac47b7b8cb
ejabberd_web_admin: Make text translatable
...
This also fixes a type issue.
2023-09-26 23:21:45 +02:00
Badlop
ab431b378a
WebAdmin: Show a warning when visiting webadmin with non-privileged account (4089)
2023-09-26 18:51:56 +02:00
Badlop
a534196315
Fix unused variable, forgotten in the recent commit 739a231
2023-09-26 18:51:51 +02:00
Badlop
245c9ae446
ejabberd_ctl: Support policy=user in the help and return proper arguments
2023-09-21 13:47:07 +02:00
Badlop
8d39431d68
ejabberd_ctl: Improve printing lists in results
...
When formatting the results of a command:
- If the top of the result is a list, split elements with newline as usual
- If it's a list in one of the resulting lines, split elements with ;
2023-09-21 13:47:05 +02:00
Badlop
739a231259
Improve get_roster command to return groups in a list instead of newlines
2023-09-21 13:47:00 +02:00
Paweł Chmielowski
426fd14b11
Make sure that policy=user commands have host instead of server arg in docs
...
We renamed them in ejabberd_command, but forgot to update doc geenerator.
2023-09-20 14:06:23 +02:00
Holger Weiss
6c573cc9fd
mod_push: Set 'last-message-sender' to bare JID
...
If the mod_push option 'include_sender' is set to 'true', use the bare
JID rather than the full JID for the 'last-message-sender' field.
2023-09-09 17:33:16 +02:00
Holger Weiss
2782430887
mod_push: Add 'notify_on' option
...
If the new 'notify_on' option is set to 'messages', notifications are
only triggered by actual chat messages with a body (or encrypted
payload). The default behavior remains to generate a notification on
any kind of stanzas.
Thanks to EISST International Ltd for sponsoring this work.
2023-09-08 19:49:17 +02:00
Badlop
706424f0d2
Fix crash when loading room from DB older than ffa07c6
, 23.04
...
Before commit ffa07c6
, the subject_author was just the author nick,
since that commit, subject_author contains {author nick, JID}.
2023-09-04 11:32:28 +02:00
Badlop
a01de8d944
Fix small bug introduced in 5d549dc
...
When providing a client-id as explained in
https://www.process-one.net/blog/understanding-ejabberd-oauth-support-roadmap/
ejabberd crashed with an error
exception error: no function clause matching
ejabberd_oauth:get_client_identity(
as reported in
https://stackoverflow.com/questions/76922951/ejabberd-oauth-api-http-1-1-502-bad-gateway
2023-08-28 18:26:03 +02:00
Paweł Chmielowski
c0e7774937
Don't always store messages passed through muc_filter_message
...
Recently we added new places where we call muc_filter_message to add
occupandid info to messages, but this also made them be stored in archive
as mod_mam uses that hook for getting sent messages - in case of those
messages we shouldn't be doing this.
This should fix issue #4083
2023-08-25 14:20:51 +02:00
Paweł Chmielowski
00c76003cb
Add ability to force alternative upsert implementation in mysql
2023-08-18 11:46:37 +02:00
Badlop
b29f87a978
Result of running: make doap options
2023-08-16 13:14:02 +02:00
Holger Weiss
2dc843cddd
mod_privilege: Don't fail to edit roster ( #3942 )
2023-08-16 13:08:21 +02:00
Badlop
a84fbd6a74
Improve syntax of many command descriptions for the Docs site
2023-08-16 12:27:23 +02:00
Badlop
f8af3a0005
create_room_with_opts: fix typo and move examples to args_example ( #4080 )
2023-08-16 12:27:23 +02:00
Badlop
83e51c815d
Pass also MUC room retract messages over the muc_filter_message ( #3397 )
2023-08-16 12:27:23 +02:00
Badlop
ff24700156
Fix support to retract a MUC room message
...
Now this works as expected
https://xmpp.org/extensions/xep-0425.html#example-4
2023-08-16 12:27:22 +02:00
Badlop
7683691f5a
mod_muc_occupantid: New mnesia table to store rooms salts ( #3397 )
2023-08-16 12:27:22 +02:00
Badlop
3479f88dab
Pass MUC room private messages over the muc_filter_message too ( #3397 )
2023-08-16 12:27:22 +02:00
Badlop
86fc2f157e
Always add the occupant id, even in non-anonymous rooms ( #3397 )
2023-08-16 12:27:22 +02:00
Badlop
ffa07c649b
Store the subject author JID, and run muc_filter_message when sending subject ( #3397 )
...
When changing the room subject, store the original author JID,
so later it can be provided in the hook and mod_room_occupantid
can use it to calculate and provide the occupant id
This is noticeable when a new occupant joins an existing room,
and receives the room subject.
2023-08-16 12:27:22 +02:00
Badlop
2bd61abd71
Convert allow_private_message MUC room option to allowpm ( #3736 )
2023-08-16 12:25:46 +02:00
Badlop
66df953da1
Fix usage of plugins option, which produced default_node_config ignore ( #4070 )
2023-08-16 12:25:42 +02:00
Badlop
550a586d2a
New listener option unix_socket, useful when setting unix socket files ( #4059 )
...
listen:
-
port: "unix://tmp/asd/socket"
unix_socket:
mode: '0775'
owner: 117
group: 135
2023-08-16 12:25:36 +02:00
Badlop
16473ab691
When sending message on behalf of user, trigger user_send_packet ( #3990 )
...
This way, MAM and CarbonCopy get triggered.
This is useful for transports like Slidge.
2023-08-16 12:25:29 +02:00
Paweł Chmielowski
c5afd0322e
Properly parse mysql version even if it doesn't have type tag
2023-08-14 17:12:16 +02:00
Alexey Shchepin
eeacace02a
Update some modules to the new gen_mod API
2023-08-09 17:08:45 +03:00
Holger Weiss
caf3807bcc
ejabberd_systemd: Add a few debug messages
2023-08-09 01:58:48 +02:00
Holger Weiss
6c7e85d3d8
ejabberd_systemd: Avoid using gen_server timeout
...
Don't (ab)use the gen_server timeout mechanism for pinging the systemd
watchdog. Under certain conditions (e.g., the process receiving sys
messages), the gen_server timeout might not be triggered as expected.
Fixes #4054 , fixes #4058 ,
2023-08-09 01:54:12 +02:00
Holger Weiss
f0db7623d1
mod_push_keepalive: Don't let hook crash
...
Check whether mod_push_keepalive is loaded for a given host before
querying the module configuration for that host. This avoids a hook
crash in the case where the module is enabled for some but not all
hosts.
2023-08-09 00:11:43 +02:00
Holger Weiss
26ed6539ba
mod_push_keepalive: Delay 'wake_on_start'
...
Delay the 'wake_on_start' notifications until ejabberd is fully
initialized. This makes sure no s2s connections are initiated before
certificates are loaded.
Many thanks to Friedrich Altheide for reporting the issue.
2023-08-08 20:17:10 +02:00
Alexey Shchepin
a9347cd248
Fix unused variable warnings in mod_stats
2023-08-04 20:54:02 +03:00
Alexey Shchepin
60002fc145
Update some modules to the new gen_mod API
2023-08-04 18:53:50 +03:00
Paweł Chmielowski
20a8654be2
Reset scram fields when setting plain password in ejabberd_auth_sql
...
Setting scram password, then disabling scram and setting plain password
again, will make us think we are still using scramed password and crash
when trying to process it as such. This makes sure that when set plain
password we don't leave parts from old scram password.
2023-08-03 13:07:13 +02:00
Badlop
25411333da
Add support for XEP-0421 Occupant Id in anonymous MUC rooms ( #3397 )
2023-08-02 17:54:54 +02:00
Alexey Shchepin
4bd77797fc
Add shorter forms for gen_mod hook/iq_handler API
2023-08-01 18:14:08 +03:00
Alexey Shchepin
03ffbe00c1
Update mod_disco to the new gen_mod API
2023-07-31 16:52:00 +03:00
Alexey Shchepin
5a9099f49c
Extend gen_mod API to simplify hooks and IQ handlers registration
2023-07-31 16:52:00 +03:00
Paweł Chmielowski
3710dc1e3b
Use prepared statement with mysql
2023-07-25 18:11:24 +02:00
Badlop
db03c7428c
Web Admin roster page: move the AddJID textbox to top ( #4067 )
2023-07-24 20:27:01 +02:00
Badlop
78f81de252
Improve support to stop external modules written in Elixir
2023-07-13 13:41:18 +02:00
Paweł Chmielowski
fafb48e88f
Merge pull request #4025 from jpds/increase-default-backlog
...
ejabberd_listener.erl: Increase default listen queue backlog value
2023-07-11 12:19:33 +02:00
Paweł Chmielowski
54314e5bb9
Better error handling in mod_muc_rtbl
...
Should fix issue #4050
2023-07-04 18:18:49 +02:00
Badlop
dcc8149f58
New command to halt ejabberd abruptly with an error status code
...
Used for processone/ejabberd-contrib#97
2023-06-20 17:54:10 +02:00
Badlop
d2c54fd5fe
Fix calling ejabberdctl command with wrong number of arguments with Erlang 26
...
In Erlang up to 25.3, the lists:zip arguments were [A1, A2]
Since Erlang 26.0, the arguments are: [A1, A2, fail]
93748a8d84
2023-06-13 12:25:27 +02:00
Badlop
f40a7b1c77
OAuth: Handle badpass error message
2023-06-13 12:25:22 +02:00
Badlop
c333cc0776
New option install_contrib_modules
...
This option is read during ejabberd start or config reload.
It installs the listed modules which aren't yet installed,
as long as allow_contrib_modules is not disabled.
Edit ejabberd.yml and configure the desired ejabberd-contrib modules,
add them in the install_contrib_modules option,
finally start ejabberd (or reload config).
2023-06-09 10:27:13 +02:00
Badlop
0bbc255814
Dialyzer dirty workarounds because re:mp() is not an exported type
...
Since Erlang/OTP 26, Dialyzer by default reports unknown types.
ejabberd's type specs refer to the re:mp() type,
but that isn't exported in the OTP source code,
and cannot be used in any other modules.
This commit provides very dirty workarounds, and any cleaner
alternative is very welcomed.
2023-06-09 00:02:15 +02:00
Badlop
436074c67a
When installing module already configured, keep config as example
...
When installing a module using ext_mod, if it has already configuration
in the modules section, copy its specific config file as an example
(copy file and rename it).
This may happen when using the new install_contrib_modules option.
2023-06-09 00:02:02 +02:00
Paweł Chmielowski
bb8e892323
Add alternate version of mysql upsert
...
This one works by issuing select and then insert or update or skip depending
on what select returns. We use this on mysql 5.7.26 and 8.0.20 where
previous implementation using 'replace' or 'on conflict update' can cause
excessive deadlocks.
2023-06-07 16:38:07 +02:00
Paweł Chmielowski
3eecf4ae8a
Remove existing role information for users that are kicked from room
...
This should fix issue reported in #4035
2023-05-24 12:15:20 +02:00
Paweł Chmielowski
4a53d4cb56
Expand rule "mucsub subscribers are members in members only rooms" to more places
2023-05-24 11:26:48 +02:00
Paweł Chmielowski
1818a29c29
Don't crash in mod_shared_roster_ldap:get_member_jid on empty output
...
This based on crash from issue #3614
2023-05-22 12:48:29 +02:00
Paweł Chmielowski
dd2efc360b
Fix return values from calculate_diff inside mod_privacy_sql
2023-05-02 15:59:40 +02:00