24
1
mirror of https://github.com/processone/ejabberd.git synced 2024-07-21 00:19:53 +02:00
Commit Graph

6553 Commits

Author SHA1 Message Date
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