263 Commits

Author SHA1 Message Date
Stefan Strigler 5721f77d5a fix: set overuse limits
This is an effort to detect abuse where accounts get created to create more
invites (invite chaining) and so on.
2026-03-06 17:11:09 +01:00
Pawel Chmielowski ca56f11dc6 Add abilty to mark that column can be null in e_sql_schema 2026-02-27 09:47:40 +01:00
badlop 1bcd52300f Merge pull request #4512 from sstrigler/roster-pre-approval
Roster Subscription Pre-Approval
2026-02-24 16:00:42 +01:00
Pawel Chmielowski 7732984133 Move occupant_id storage and processing to mod_muc_room 2026-02-05 13:56:55 +01:00
Stefan Strigler 47d898bb8b add support for roster pre-approval
Implementation of RFC 6121 section 3.4: Pre-Approving a Subscription Request
https://datatracker.ietf.org/doc/html/rfc6121#section-3.4
2026-01-30 10:36:38 +01:00
Stefan Strigler 480c6e0995 add support for 'great invitations' as mod_invites 2026-01-19 17:03:42 +01:00
Pawel Chmielowski 8ac3661bcf Add db_serialize support in mnesia modules 2026-01-14 13:41:32 +01:00
Metalhearf 5f94b5252b Update copyright year to 2026 2026-01-05 12:22:57 +01:00
Pawel Chmielowski 7a5319251e Extend timestamp type handling in sql macros 2025-12-05 19:42:31 +01:00
Badlop e8eab55d4f mod_muc: Set enable_hats room option true by default 2025-12-02 18:22:41 +01:00
Pawel Chmielowski 220eb98f2e Add db serialization to mod_muc_sql 2025-12-02 12:38:06 +01:00
Pawel Chmielowski 5b83603d51 New database export/import infrastructure 2025-11-20 12:24:50 +01:00
Badlop 7e1237bb0f Remove COMPILER_REPORTS_ONLY_LINES 2025-11-13 18:24:10 +01:00
Badlop c472aad566 Remove LAGER 2025-11-13 18:24:04 +01:00
Badlop b7aa7dc64c mod_muc: New functions to get registered nick/nicks 2025-10-23 20:50:57 +02:00
Badlop 0f2d64c10d mod_adhoc_api: Add support for async command calling 2025-10-20 13:04:22 +02:00
Badlop 803e6d743a Fix small typo 2025-10-20 13:04:17 +02:00
Pawel Chmielowski f666cd4643 Fix dialyzer warning 2025-10-14 13:53:15 +02:00
badlop 127c909f0f Merge pull request #4456 from badlop/multihost
Rename New SQL schema to Multihost, and Default to Singlehost
2025-10-09 12:15:10 +02:00
Badlop 2b7285e0b2 Update implementation of XEP-0317 Hats to version 0.3.1 (#4380) 2025-09-30 10:00:05 +02:00
Badlop c3a24ffdf8 Revert "mod_muc_room.hrl: Work around old Dialyzer bug"
This reverts commit c4f6c9dfe7.
2025-09-30 09:58:14 +02:00
Pawel Chmielowski 19b7106124 Remove EX_RULE and EX_STACK macros
As we no longer targer R19, we no longer need to carry those.
2025-09-23 11:25:17 +02:00
Badlop 5575d4e78e Rename New SQL schema to Multihost, and Default to Singlehost
Right now all names are supported, the previous (obsolete)
and the renamed (preferred). The changes relevant to the usage are:

When preparing configuration, the arguments:
  ./configure --enable-new-sql-schema
  ./configure --enable-multihost-sql-schema

When configuring ejabberd, the toplevel options:
  new_sql_schema: true
  sql_schema_multihost: true

When developing source code, the functions:
  ejabberd_sql:use_new_schema()
  ejabberd_sql:use_multihost_schema()
2025-09-17 11:12:38 +02:00
Badlop d70ac7f7c5 ejabberd_logger: Print log lines colorized in console when using rebar3 2025-08-13 16:49:42 +02:00
Alexey Shchepin 31cb4b06e4 Matrix gateway updates
- Partially rewritten state resolution
- Support for Hydra rooms
- Use double colon for separating a matrix server from a room ID in JID
  with Hydra rooms
- Partially rewritten mod_matrix_gw_s2s
- Add notary_servers option
2025-08-11 19:44:50 +03:00
Badlop 5e93725044 Replace options rtbl_host and rtbl_domains_node with rtbl_services 2025-07-07 17:42:05 +02:00
Badlop bddcf0624e mod_antispam: Move some definitions to a header file 2025-06-23 09:44:33 +02:00
Alexey Shchepin 038491d2ec Support older Matrix rooms versions starting from version 4 2025-05-28 13:30:00 +03:00
Paweł Chmielowski 7862c6a7db Add support for storing multiple passwords formats per user
This adds option 'auth_stored_password_types' that can be used to setup
storage of multiple passwords for each user. When this is set, on each
password set, database will now store password in each format specified.
2025-03-26 11:03:39 +01:00
Badlop 8ebbb45a19 Update copyright year to 2025 (#4139) 2025-01-03 11:49:37 +01:00
Badlop 71ad7c368d Minor improvements to support mod_tombstones
New check_register_user hook in ejabberd_auth.erl
to allow blocking account registration when a tombstone exists.

Modified room_destroyed hook in mod_muc_room.erl
Until now the hook passed as arguments: LServer, Room, Host.
Now it passes: LServer, Room, Host, Persistent
That new Persistent argument passes the room persistent option,
required by mod_tombstones because only persistent rooms should generate
a tombstone, temporary ones should not.
And the persistent option should not be completely overwritten, as we must
still known its real value even when room is being destroyed.

mod_tombstones is available in experimental mode in ejabberd-contrib git.

Initial feature request: #2546
2024-10-28 12:06:48 +01:00
Badlop ce348596b7 WebAdmin: Improve CSS of welcome page, docs links, anchor element 2024-06-25 10:51:22 +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 2378ea9c07 Dialyzer: Replace re:mp dirty workaround from 0bbc255 with other less dirty 2024-03-06 15:25:38 +01:00
Alexey Shchepin f44e23b8cc Add mod_matrix_gw 2024-02-14 06:59:23 +03: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 1326a7764a ejabberd_commands: Update -type and remove obsolete @type 2024-01-04 21:53:14 +01:00
Alexey Shchepin 4f6730621a Add default value to #archive_msg.origin_id 2023-12-27 09:28:02 +03:00
Alexey Shchepin a4bb695fc3 Support for XEP-0424 "Message Retraction" 2023-12-27 08:59:20 +03: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
Alexey Shchepin c1af36ac20 Automatically create and update SQL schema 2023-10-16 18:21:08 +03: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
Paweł Chmielowski 84ee724aa3 Fix dialyzer warning 2023-07-25 18:49:45 +02:00
Paweł Chmielowski da7fe59834 Commit changes to ejabberd_sql.hrl as well 2023-07-25 18:24:24 +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 243697e25a Update copyright year to 2023 (#3967) 2023-01-10 13:52:04 +01:00
Badlop cde8c8ce7d Remove unused header files which content is already in xmpp library 2022-09-16 16:34:53 +02:00