25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-12-24 17:29:28 +01:00
Commit Graph

9690 Commits

Author SHA1 Message Date
Badlop
8e9ea2d98c Update Bulgarian translation (thanks to MrEddX) 2024-12-17 12:31:49 +01:00
Badlop
1024cbe5b3 Result of running "make doap" 2024-12-17 12:31:48 +01:00
Badlop
a16ef68a49 Result of running "make format" 2024-12-17 12:31:47 +01:00
Badlop
7726904f79 Fix comment about file names 2024-12-17 12:31:45 +01:00
Badlop
1481734f47 Update version number to 24.12 2024-12-17 12:31:42 +01:00
Paweł Chmielowski
01955b867d Fix dialyzer warning 2024-12-17 11:13:56 +01:00
Paweł Chmielowski
549a2b0790 Remove message left from debugging 2024-12-17 11:01:11 +01:00
Paweł Chmielowski
2caaa09c99 Add support for XEP-0484: Fast Authentication Streamlining Tokens 2024-12-17 10:56:11 +01:00
Badlop
da06a50072 WebAdmin: Use lowercase username and server authentication credentials 2024-12-17 10:13:00 +01:00
Badlop
2b02af13ba CONTAINER.md: Add kubernetes yaml examples to use with podman 2024-12-17 10:12:57 +01:00
Badlop
ae238bc984 mod_http_api: Fix crash when module not enabled (for example, in CT tests) 2024-12-17 10:12:55 +01:00
Badlop
3d2036db61 mod_http_api: New option default_version
The server administrator can define default API version
for a vhost using the new module option:

modules:
  mod_http_api:
    default_version: 1

The server administrator can define default API version
for a port using the path:

listen:
  -
    request_handlers:
      /api/v2: mod_http_api

The client can use a specific API version,
regardless of what the admin has set,
by appending it in the URL:

http://localhost:5280/api/v2/get_loglevel/v3
2024-12-17 10:12:53 +01:00
Badlop
b8360cae08 Rename argument "name" to "room" for consistency
And thanks to args_rename, both argument names can be used,
either "name" or "room". So, this doesn't involve an API
version change.
2024-12-17 10:12:51 +01:00
Badlop
790cb104cd Change arguments and result to consistent names (API v3)
Commands accept as argument: user, host, room, service
and return as result JIDs

Commands that change in API v3:
get_room_affiliations
muc_register_nick
muc_unregister_nick
set_room_affiliation
status_list
status_list_host
subscribe_room
subscribe_room_many
unsubscribe_room
2024-12-17 10:12:48 +01:00
Badlop
f3c935d2e1 Fix some documentation syntax, add links to toplevel, modules and API 2024-12-09 17:25:27 +01:00
Alexey Shchepin
e589265921 Fix dialyzer errors 2024-12-06 21:56:02 +03:00
Alexey Shchepin
eb6f242d99 Experimental support for joining Matrix rooms as MUC rooms 2024-12-06 20:20:12 +03:00
Badlop
ce6d5aa6a0 Redis: Disable some dialyzer warnings when using old Erlang 20 2024-12-05 13:03:43 +01:00
Badlop
f269d5b613 Redis: Add support for unix domain socket (#4318) 2024-12-05 13:01:40 +01:00
Badlop
a84c492130 Redis: Use the recommended eredis:start_link/1 function 2024-12-05 13:01:38 +01:00
Badlop
3ae636b454 Redis: Use eredis 1.7.1 from Nordix when using mix/rebar3 and Erlang 21+ 2024-12-05 13:01:37 +01:00
Badlop
06e3f9f0a4 Runtime: Disable edoc when using old problematic Elixir versions 2024-12-05 13:01:35 +01:00
dependabot[bot]
1669303a40 Bump ex_doc from 0.34.2 to 0.35.1
Bumps [ex_doc](https://github.com/elixir-lang/ex_doc) from 0.34.2 to 0.35.1.
- [Release notes](https://github.com/elixir-lang/ex_doc/releases)
- [Changelog](https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/elixir-lang/ex_doc/compare/v0.34.2...v0.35.1)

---
updated-dependencies:
- dependency-name: ex_doc
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-05 13:01:33 +01:00
Badlop
39e37b6175 Add support to define macros as environment variables
Define and macro by setting as environment variable:
  EJABBERD_MACRO_ + macro name

For example, if you configure in ejabberd.yml:
  define_macro:
    LOGLEVEL: 4
  loglevel: LOGLEVEL

You can define (and overwrite) that macro definition when starting ejabberd:
  EJABBERD_MACRO_LOGLEVEL=5 make relive
2024-12-05 13:01:31 +01:00
Badlop
c72ba1f188 mod_scram_upgrade: Update XEP-0480 supported version (processone/xmpp#80) 2024-12-05 13:01:30 +01:00
Badlop
4d625e5574 Erlang/OTP 27 finally exports re:mp/0 2024-12-05 13:01:28 +01:00
Badlop
803f95050f WebAdmin: Fix calculation of node's uptime days 2024-12-05 13:01:26 +01:00
Badlop
c021cf34be Explain that join_cluster returns immediately (since 5a34020, 24.06) 2024-12-05 13:01:23 +01:00
Holger Weiss
7fce7d1049 Merge remote-tracking branch 'processone/pr/4323'
* processone/pr/4323:
  Enable allow_unencrypted_sasl2 on websockets
2024-12-03 18:58:25 +01:00
Mark Zealey
bd36895afe Enable allow_unencrypted_sasl2 on websockets
https://github.com/processone/ejabberd/commit/47232838 added the
allow_unencrypted_sasl2 option, but this was not added to websockets.
2024-12-03 17:39:58 +00:00
Holger Weiss
b90c48f837 mod_scram_upgrade: Don't abort the upgrade
Fix a matching mistake that made the SASL mechanism upgrade fail.
2024-12-01 20:23:52 +01:00
Holger Weiss
344775aa8e mod_pubsub: Send notifications on PEP item retract 2024-11-30 20:38:33 +01:00
Badlop
7d0c20e133 mod_shared_roster: The name of a new group is lowercased
Until now it was possible to create a shared roster group with name
"Group1", and it was a different group that "group1".

From now on, new group names will be stored lowercase,
just like the username in a Jabber ID.

This only affects commands srg_add and srg_create.
All the other commands are still case sensitive, to allow admins of
existing databases with case-sensitive groups manage them.
2024-11-27 16:20:53 +01:00
Badlop
ab5a2e8d10 mod_shared_roster: Get back support for groupid@vhost in displayed
Feature first implemented by 262157c in ejabberd 2.1.10
Bug introduced with cache improvements by 5b0f0d8 in ejabberd 21.07
2024-11-27 13:54:02 +01:00
Badlop
e34c1ebcba WebAdmin: Fix link to displayed group when it is from another vhost 2024-11-27 13:54:00 +01:00
Badlop
73dbc01c2e WebAdmin: Shared group names are case sensitive, use original case instead of lowercase 2024-11-27 13:53:58 +01:00
Badlop
f0773c4ab8 mix:exs: When development tools is enabled, add debugger and wx 2024-11-25 17:23:32 +01:00
Badlop
cc5c9f6008 Fix problems introduced in two recent commits 2024-11-25 17:23:28 +01:00
Badlop
da9c591eed Improve create_rooms_file command to support vhosts with different config
Until now it created all the rooms in the storage of the first vhost
listed in the ejabberd configuration file. Similarly, it used only
the default room options defined for the first vhost.
2024-11-25 16:20:30 +01:00
Badlop
6790ab01e8 Improve example Elixir modules 2024-11-25 16:20:19 +01:00
Badlop
f9cecca362 Rename mod_presence_demo.ex to mod_example.ex 2024-11-25 16:20:16 +01:00
badlop
f4009939a6
Merge pull request #4315 from Quobis/support-loading-elixir-modules-for-auth
feat: support loading Elixir modules for auth
2024-11-25 16:08:54 +01:00
Marcos de Vera Piquero
17b5b34e3c feat: support loading Elixir modules for auth
Allow to specify an Elixir module name in `auth_method`.

If the referenced module, `M`,  cannot be loaded as `ejabberd_auth_M`,
try to load it as `Elixir.M`.
2024-11-25 15:31:27 +01:00
Badlop
c291c20a3b Fix problem starting ejabberd when first host uses SQL, other one mnesia
The problem appeared when there are several vhosts,
the first vhost uses SQL for persistent data (and RAM for volatile),
and another vhost wants to use Mnesia

Example config to trigger the problem:

  hosts:
    - mysql.localhost
    - localhost
  host_config:
    mysql.localhost:
      default_db: sql

In that case, ejabberd crashed at start with an error like:
[critical] Internal error of module mod_muc has occurred during start:
...
** exception exit: {aborted,
                     {no_exists,
                         [muc_room,
                          [{{muc_room,{'_',<<"conference.localhost">>},'_'},
                            [],
                            ['$_']}]]}}
2024-11-22 19:25:52 +01:00
Badlop
22e7ce37d4 Fix typos in previous commit 2024-11-22 19:25:49 +01:00
Badlop
2137602a6a Makefile: Add support to run "make format" when compiling with mix 2024-11-22 10:53:43 +01:00
dependabot[bot]
c7b29b5a9a Bump dialyxir from 1.4.4 to 1.4.5
Bumps [dialyxir](https://github.com/jeremyjh/dialyxir) from 1.4.4 to 1.4.5.
- [Release notes](https://github.com/jeremyjh/dialyxir/releases)
- [Changelog](https://github.com/jeremyjh/dialyxir/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jeremyjh/dialyxir/compare/1.4.4...1.4.5)

---
updated-dependencies:
- dependency-name: dialyxir
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-22 10:53:04 +01:00
Badlop
715b5b64c6 Runtime: Test Dialyzer in Rebars jobs (#4281)
The CI workflow uses ubuntu-24.04 and setup-beam action,
so it can test only Erlang/OTP 24 and higher.

To ensure Dialyzer is also ran with older Erlang versions,
let's add Dialyzer testing to the Runtime workflow,
which uses the erlang container, and that allows
to run Erlang/OTP 20 in ubuntu-24.04.
2024-11-14 13:58:14 +01:00
Badlop
c20ed8c7b3 Runtime: Try using elixir container for Rebar3+Elixir and Mix jobs (#4281) 2024-11-14 13:58:11 +01:00
Badlop
d3baacd78e Workflows: Bump ubuntu from 22.04 to 24.04 when possible (#4281) 2024-11-14 13:58:07 +01:00