25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-24 16:23:40 +01:00
Commit Graph

6687 Commits

Author SHA1 Message Date
Badlop
d19bac70ce Update version number of new commands, options and protocols to 24.06 2024-06-27 14:54:40 +02:00
Badlop
9b9eb409b2 join_cluster: Handle also atom arguments, useful for mod_libcluster 2024-06-27 14:54:38 +02:00
Badlop
f3ad49ebc4 Fix copy deps *.app file, and strip *.src if present 2024-06-27 14:54:36 +02:00
Badlop
394ba26d1d ext_mod: Support to compile nested *.erl, and include other deps *.hrl
This is useful to compile as a dependency
https://github.com/deadtrickster/prometheus.erl
2024-06-27 14:54:35 +02:00
Badlop
0b6d40c9df Log messages not only when node joins the cluster, also when leaves it 2024-06-25 17:05:41 +02:00
Badlop
f28e7b37bc Fix call to atom_to_binary/1 for Erlang/OTP older than 23 2024-06-25 17:05:21 +02:00
Badlop
eceb9b729f WebAdmin: New login box in the left menu bar 2024-06-25 10:51:23 +02:00
Badlop
ce348596b7 WebAdmin: Improve CSS of welcome page, docs links, anchor element 2024-06-25 10:51:22 +02:00
Badlop
b85cd9a487 join_cluster_here: New command to join a remote node into our local cluster 2024-06-25 10:51:20 +02:00
Badlop
9a6bd83aa1 Remove obsolete code for Erlang/OTP older than 20.0 2024-06-25 10:51:17 +02:00
Holger Weiss
40c27b54b0 ejabberd_ctl: Fix output of UTF-8-encoded binaries
Converting binary results to char() lists using binary_to_list/1 yields
incorrect results for characters outside the ISO Latin-1 range.
2024-06-19 19:51:50 +02:00
Badlop
899b77cdf4 ejabberd_ctl: Improve parsing of commas in arguments 2024-06-19 17:59:38 +02:00
Badlop
5a34020d23 WebAdmin: Move content to commands; new pages; hook changes; new commands
Also:
- Added support to view user subpages in the menu
- Webadmin hooks now get the full request
- New commands added to be used in webadmin pages
2024-06-19 17:59:38 +02:00
Badlop
2b1d4ff98d Commands with 'internal' tag: don't list and block execution by frontends 2024-06-19 17:59:38 +02:00
Badlop
ed4843b0ed Document 'any' argument and result type, useful for internal commands
Also 'atom' may be used as argument type by some internal commands,
for example the ones that refer to erlang node names.
2024-06-19 17:59:38 +02:00
Badlop
30bd8f1570 WebAdmin: Add make_command functions to produce HTML command element
Support to sort tables using Sortable library from:
  https://github.com/tofsjonas/sortable
2024-06-19 17:59:38 +02:00
Badlop
74d6f0a68d WebAdmin: logo-fill.png is useless since the visual refresh in commit 9eeee67 2024-06-19 17:59:38 +02:00
Badlop
5872ccc992 WebAdmin: Sort alphabetically the menu items, except the most used ones 2024-06-19 17:59:38 +02:00
Badlop
9ee23d3649 WebAdmin: Improve home page
- Update ejabberd WebAdmin logo
- Add hyperlink in disclaimer text
- Add welcome paragraph
2024-06-19 17:59:38 +02:00
Badlop
724f304e48 WebAdmin: Unauthorized response: include some text to direct to the logs 2024-06-19 11:56:16 +02:00
Badlop
a16e5a7055 WebAdmin: Remove webadmin_view for now, as commands allow more fine-grained permissions 2024-06-19 11:56:16 +02:00
Badlop
701d2ce0f6 Define kick_user command version 2, useful for the WebAdmin command usage 2024-06-19 11:56:16 +02:00
Badlop
103a30df2c Document that XEP-0485 is available in mod_pubsub_serverinfo 2024-06-10 19:03:25 +02:00
Badlop
882cd8faf5 ejabberd_access_permissions: Fix debug lines indentation that were hard to read 2024-06-10 19:03:06 +02:00
Holger Weiss
7ba9f2e4e8 mod_private: Cope with bookmark decoding errors
Handle invalid XEP-0048 bookmarks gracefully while attempting to publish
them to an XEP-0402 node.
2024-05-28 21:07:04 +02:00
Badlop
b840ab9907 Revert "Disable update_sql_schema by default"
The update_sql_schema feature was published half a year ago,
included in two releases, it is used by the CI tests,
and consequently it's stable enough to be enabled by default.

This reverts commit ec20691188.
2024-05-28 15:36:39 +02:00
Badlop
b977eb7193 Add support for XEP-0425 version 0.3.0, keep supporting 0.2.1 (#4193) 2024-05-28 15:36:39 +02:00
Badlop
1b81af00b2 Update p1_pgsql and mysql to support Unix Domain Socket (#3716) 2024-05-28 15:20:57 +02:00
Badlop
d04f92d44e mod_muc_room: Use ejabberd hooks instead of function calls to mod_muc_log (#4191) 2024-05-28 15:20:53 +02:00
Badlop
80dc95fc03 Remove unnecessary case from recent commit 599cddf 2024-05-28 15:14:08 +02:00
Badlop
599cddfb67 ejabberd_sql_schema: Rewrite recent commit cb49fcf
lists:search is available since OTP 21.0, and ejabberd is said to
support since OTP 20.0.
Also, that code wouldn't work if ejabberd uses different database types
(MySQL, PgSQL, ...), as this would only update the first database.
2024-05-24 13:21:16 +02:00
Badlop
034af6aefd Set process flags when Erlang/OTP 27 to help debugging
https://www.erlang.org/blog/highlights-otp-27/#process-labels
2024-05-24 13:21:15 +02:00
Badlop
a05dbcc2b2 Add some XEPs support that was forgotten 2024-05-24 13:21:00 +02:00
Badlop
01f2697faf mod_muc_admin: Update module to the new gen_mod API 2024-05-24 13:20:58 +02:00
Badlop
fba915e04e gen_mod: Add support to specify a hook global, not vhost-specific 2024-05-24 13:20:56 +02:00
Badlop
0d1cbc62d4 mod_muc_rtbl: Change this module attribute name to the main one: behaviour
https://erlang.org/documentation/doc-15.0-rc3/doc/system/modules.html#behaviour-module-attribute
2024-05-24 13:20:52 +02:00
Alexey Shchepin
cb49fcf459 Fix handling of mqtt_pub table definition from mysql.sql and fix should_update_schema/1 in ejabberd_sql_schema.erl 2024-05-18 05:18:24 +03:00
Badlop
38fd9a3ed2 Update URLs of module documentations 2024-05-10 16:04:28 +02:00
Badlop
696e42b5b4 Use json module when Erlang/OTP 27, jiffy with older ones 2024-05-07 11:28:17 +02:00
Badlop
0ad1d315e8 Use maps instead of tuple+list+tuple as arguments in jiffy functions 2024-05-07 11:28:16 +02:00
Badlop
13ebe89fdc Remove unused format_status/2 callback that is deprecated in OTP 27 2024-04-30 18:00:32 +02:00
Badlop
0da767f568 ban_account/unban: When mod_private is disabled, return meaningful error (#4201) 2024-04-30 18:00:21 +02:00
Badlop
395a73bbe0 Handle case when mod_private is not enabled (#4201) 2024-04-30 18:00:18 +02:00
Badlop
94a0aa6967 Add support to provide ban detail when account logins (#4201) 2024-04-30 18:00:14 +02:00
Badlop
2bfc4b0f5d Use "jabber:" namespace that clients cannot use (#4201)
As mentioned in:
  Certain namespaces are reserved in Jabber (namespaces beginning with
  'jabber:' or 'http://jabber.org/', as well as 'vcard-temp').
  If a user attempts to get or set jabber:iq:private data in a reserved
  namespace, historically some server implementations have chosen to
  return an error (commonly "Not Acceptable") to the sender.

  https://xmpp.org/extensions/xep-0049.html#example-5
2024-04-30 18:00:12 +02:00
Badlop
374f6b8e7d Improve recent commit so users cannot prevent banning, fixes 44bafa4 (#4201) 2024-04-30 18:00:11 +02:00
Badlop
33c6b3700e Ammend ejabberd_admin:update/0 from adbccbe to be used by Rebar3 Sync 2024-04-30 18:00:08 +02:00
Badlop
5c6a399f5b Update links to some moved content in docs.ejabberd.im 2024-04-25 02:55:02 +02:00
Badlop
0b16cbddde Remove vcard example config in mod_proxy65, it breaks PDF Docs generation 2024-04-24 13:20:47 +02:00
Badlop
45ca11ecd0 Improve markdown of generated documentation 2024-04-24 13:20:44 +02:00
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