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

6082 Commits

Author SHA1 Message Date
Badlop
4520d5f3c1 Support for simple limiting the number of items in PubSub with RSM (#3618)
This fixes crash in Example 1 from "2.1 Limiting the Number of Items":
https://xmpp.org/extensions/xep-0059.html#limit
2021-06-08 19:00:39 +02:00
Holger Weiß
3b5ddf0254
mod_muc_room: Don't leak owner JIDs (#3615)
Avoid publishing room owner JIDs (via the muc#roominfo form) without
their explicit consent.

Closes #3609.
2021-05-28 16:43:49 +02:00
Badlop
d94bae241c Align numbers in WebAdmin tables to the right 2021-05-19 15:00:22 +02:00
Badlop
58a623778f Show uptime date in WebAdmin, it's easier to understand that uptime seconds 2021-05-19 15:00:19 +02:00
Badlop
494ba9a635 Show mnesia table memory in bytes, not in words 2021-05-19 15:00:16 +02:00
Badlop
16af8a4739 New simple webadmin pages to view mnesia tables information and content 2021-05-17 16:16:26 +02:00
Badlop
57202d958a Use G macro name for tag, as T overlapped T from translation 2021-05-17 16:14:39 +02:00
Badlop
d741f6f5f2 Update documentation references for import_prosody and export2sql 2021-05-14 16:07:03 +02:00
Badlop
20b4deffe3 Apply improvement from 29462f005 to delete/2, and fix delete/3 (#3564) 2021-05-14 16:06:59 +02:00
Badlop
ee3796b925 When exporting for SQLite, use its specific escape options (#2576) 2021-05-14 16:06:43 +02:00
Badlop
8e08703833 Tell io_lib:print to not care about line length, to avoid newlines in SQL export 2021-05-14 16:06:39 +02:00
Paweł Chmielowski
3b716d2cb0 Update econf:vcard() to generate correct vcard_temp record 2021-05-12 21:46:36 +02:00
Badlop
160cd11c83 Minor fixes for new_sql_schema support in SQLite (#3303) 2021-05-11 18:36:16 +02:00
Badlop
4fdebd296a Document that update_sql command only supports postgresql (#3439) 2021-05-11 18:36:14 +02:00
Badlop
f61607df65 Don't add ejabberd version in API page either, following 3e4ebfae7 2021-05-11 18:36:08 +02:00
Badlop
916653e234 Cast as boolean when exporting privacy_list_data to PostgreSQL (#1773) 2021-05-10 12:04:52 +02:00
Badlop
6db228fcb3 Document that sql_ssl can be used with MySQL too 2021-05-05 11:57:08 +02:00
Badlop
c2821be94c Use the new 'note' field to annotate changes in 20.01..21.03 2021-05-05 11:57:05 +02:00
Badlop
999d0af502 New 'note' field in commands and options documentation 2021-05-05 11:57:02 +02:00
Paweł Chmielowski
78c09789f7 Fix invalid_encoding error when using extended plane characters in vcard. 2021-04-29 14:21:37 +02:00
Paweł Chmielowski
5a8f1ca528 Display extender error message in ejabberdctl
This for example makes error from register explain what account
can't be registered

For reference https://github.com/processone/ejabberd/discussions/3584
2021-04-22 11:56:58 +02:00
Jindrich Sarson
dcc5d8704f delete cache after performing change to be sure that in cache will be up to date data 2021-04-17 19:07:21 +02:00
Jindrich Sarson
c10e4fa275 update srg_create API to use label parameter instead of name 2021-04-17 18:49:26 +02:00
Paweł Chmielowski
e462f0a584 Fix dialyzer warnings 2021-04-16 11:55:48 +02:00
Paweł Chmielowski
45bbbd0284 Fix syntax not recognized by older erlang 2021-04-16 10:46:28 +02:00
Paweł Chmielowski
5b0f0d8352 Improve database and caching in mod_shared_roster
This makes us keep cache of groups that use wildcards no matter
of cache settings, and tries to not same fetch data multiple times
in roster get operations.
2021-04-16 10:34:32 +02:00
Paweł Chmielowski
54916caf65 Use proper source for cache options in mod_shared_roster 2021-04-16 10:20:13 +02:00
Paweł Chmielowski
c8afb5ceb6 Reconfigure cache in mod_shared_roster when options change 2021-04-16 10:19:09 +02:00
Badlop
0ec69f0279 Major changes in ejabberdctl help output (#3569)
ejabberdctl: show list of commands
ejabberdctl some-command: if wrong number of arguments, shows command help
ejabberdctl help: show explanation of how to use "help"
ejabberdctl help tags: list tags with list of commands
ejabberdctl help commands: list tags with commands details
ejabberdctl help whatever*: filters commands and tags
2021-04-15 20:25:52 +02:00
Badlop
6f565147cb Change tag name because there's already a command called "stats" 2021-04-15 20:25:49 +02:00
Badlop
f8a02f5d9d Get the arguments definition from the record (#3569)
This fixes "ejabberdctl help help"
2021-04-15 20:25:47 +02:00
Badlop
327dc31e62 Copy a change from include file available since OTP 17.0
See:
5e575f6562
2021-04-15 20:25:44 +02:00
Badlop
b860a25c82 When using OTP 24.0, use the new 'application' record definition (#3568)
This fixes "ejabberdctl update_list", "update", and the equivalent feature
on ejabberd's WebAdmin that got broken when using Erlang/OTP 24
2021-04-14 17:12:08 +02:00
Robert Schuh
0e93f70e38 allow shared roster group placeholder in mqtt topic 2021-04-08 23:21:15 +02:00
Holger Weiss
10905b0447 mod_push: Handle MUC/Sub events correctly
Unwrap MUC/Sub messages so that our check for a message body yields the
correct result.

Many thanks to Robert Schuh for pointing out the issue and suggesting a
fix.

Closes #3565.
2021-04-08 19:36:16 +02:00
badlop
c0dafc074d
Merge pull request #3558 from fdie/fix_node_get_state_return_value
fix gen_pubsub_node:get_state return value
2021-03-29 15:52:04 +02:00
Badlop
3e4ebfae7e Revert "Add ejabberd version number to man pages"
That versioning just added noise to the git log in each release.
This reverts commit aa0ed37034.
2021-03-26 11:01:45 +01:00
fdie
edae3c9cc5 fix gen_pubsub_node:get_state return value 2021-03-25 14:32:24 +01:00
Badlop
1f88a26f60 When unregistering XMPP account close its MQTT sessions (#3426) 2021-03-19 15:12:48 +01:00
Badlop
c6f2d0c3eb Improve wording of sql_pool_size option documentation (#2541) 2021-03-19 15:12:43 +01:00
Badlop
13e1307ab1 When occupant is banned, remove his subscriptions too (#2451) 2021-03-18 16:15:17 +01:00
Badlop
f6c6ff561a Document that send_stanza_c2s requires an existing sender C2S session 2021-03-18 16:15:07 +01:00
Badlop
c4d45ec08c Revert "Close pgsql ports on ejabberd_sql process termination (#2541)"
This reverts commit 404ae56e07.
2021-03-18 16:14:49 +01:00
Holger Weiss
7008ae231c Don't fail on PEP unsubscribe
Don't crash if a PEP node is explicitly unsubscribed.  This fixes a
regression introduced by 45eb49125b.

Thanks to Melvin Keskin for reporting the bug.
2021-03-16 17:26:47 +01:00
Badlop
14c8e1226f Generate enabled_backends in ejabberd.app instead of configure (#3549)
Passing a list of atoms in vars.config.in (introduced in 3c16f214)
breaks rebar2 in "make rel"
2021-03-15 10:11:05 +01:00
Badlop
404ae56e07 Close pgsql ports on ejabberd_sql process termination (#2541) 2021-03-09 00:58:36 +01:00
Badlop
2946df357c Update FORM_TYPE from captcha to register (#3045) 2021-03-09 00:58:31 +01:00
Badlop
5318bf3743 If stanza is type error, allow it passing (#3290) 2021-03-09 00:58:22 +01:00
Badlop
0f43c2c528 New command get_user_subscriptions (#3403) 2021-03-09 00:57:41 +01:00
Badlop
b5da0ffd7e Show in WebAdmin the erlang node where the room resides
https://www.ejabberd.im/forum/29687/muc-mangement#comment-67685
2021-03-09 00:57:35 +01:00
Badlop
7ee018ad23 Obtain and provide photo type in vCard LDAP (#3541) 2021-03-08 16:33:30 +01:00
Badlop
31884f6c9d Fix remove_mam_for_user_with_peer when removing room archive (#3536) 2021-03-08 16:33:23 +01:00
Badlop
e648cd7397 Sort libraries alphabetically, so they're easier to check manually 2021-03-08 16:33:03 +01:00
Badlop
bf1600891b Get back description and simplify processing (#3507) 2021-03-04 16:41:22 +01:00
Paweł Chmielowski
ca5d5f3b4c Use monitors to track muc rooms
This should prevent keeping rooms that were hard killed from in
online table.
2021-03-03 11:32:05 +01:00
badlop
7209486386
Merge pull request #3507 from slezakattack/master
Allow ejabberd to be compatible as a dependency for an Erlang project…
2021-03-02 19:01:33 +01:00
Badlop
69be0abdba Fix Dialyzer warning about function contract that changed in fad14ff31 2021-02-19 17:00:35 +01:00
Paweł Chmielowski
7da033f733 Fix muc tests 2021-02-17 13:09:29 +01:00
Paweł Chmielowski
14871c54ac Take in account subscriber's affiliation when checking access to moderated room
This should fix issue #3525
2021-02-17 10:45:30 +01:00
Michael Slezak
3c16f21413 Allow ejabberd to be compatible as a dependency for an Erlang project using rebar3 2021-02-16 10:28:30 -07:00
Paweł Chmielowski
14d87cb5e9 Skip reading roster in one more case in mod_caps 2021-02-16 13:39:34 +01:00
Badlop
72ecf91f08 Return modules errors in set_vcard callback (#3502) 2021-02-16 13:09:33 +01:00
Badlop
4495f0f0b9 For OTP<22 define LAGER macro in ext_mod like in rebar.config (#3493) 2021-02-16 13:09:21 +01:00
Paweł Chmielowski
fad14ff319 Make fetching roster in mod_privacy lazy 2021-02-16 10:57:55 +01:00
Paweł Chmielowski
8cb7ff7a88 Add fallback branch to last commit 2021-02-16 10:40:35 +01:00
Paweł Chmielowski
96929a5084 Don't request roster in mod_caps when not needed 2021-02-16 10:13:29 +01:00
Stu Tomlinson
1f194e417d
fix eldap certificate verification (#3528)
Reported in #3527. Add hostname matching function, and specify SNI

Also, OTP 23 dropped backwards compatibility for 0, 1, 2 values for verify, so
replace with combination of verify_none/verify_peer and fail_if_no_peer_cert
as appropriate
2021-02-15 14:29:58 +01:00
Badlop
e3fd120fd4 According to fast_tls, only atom and binary may accompany error tuple 2021-02-11 20:38:51 +01:00
Badlop
7b8bd960c6 Fix URL of CAPTCHA section 2021-02-11 20:38:45 +01:00
Paweł Chmielowski
3d7fa15be7 Add argument guards to roster commands 2021-02-09 13:46:23 +01:00
Frank
2d79a69719
Fix PONG responses (#3515)
Co-authored-by: Frank Diebolt <frank.diebolt@al-enterprise.com>
2021-02-04 19:57:20 +01:00
Badlop
bb397bb424 Fix bug handling jid:decode/1 return, introduced in cdb286d1d (#3461) 2021-02-01 00:10:33 +01:00
Badlop
b3d9c0d1f7 Fix bug in send_message introduced in 7fc500dae (#3485) 2021-02-01 00:09:18 +01:00
Holger Weiss
6a6b771e0b mod_mam: Add missing semicolon 2021-01-29 20:27:07 +01:00
Paul Fariello
d6e9e03422 Remove queryid from MAM fin element
According to xep, fin element is not supposed to have a queryid attribute.
2021-01-29 19:21:45 +01:00
Paweł Chmielowski
8c5b312601 Add cache for displayed groups in ldap_shared_cache
This is based on pull request by Ivan Agarkov:
 https://github.com/processone/ejabberd/pull/952
2021-01-28 12:57:47 +01:00
Paweł Chmielowski
f7004f793d Fix delete_old_message when using sqlite spool table
This fixes issue #3503
2021-01-27 19:41:21 +01:00
Badlop
5ec8cf9e09 Document the recent oauth_cache_rest_failure_life_time option 2021-01-27 17:44:17 +01:00
Badlop
6e0161470e Update newest copyright year to 2021 (#3464) 2021-01-27 17:02:06 +01:00
Paweł Chmielowski
faaee94060 Add oauth_cache_rest_failure_life_time option
This allows to use shorted life time for failures in rest oauth
backend than specified in oauth_cache_life_time.
2021-01-27 11:23:39 +01:00
Paweł Chmielowski
3516d2053c Add 'ejabberdctl foreground-quiet'
This starts ejabberd without detaching process but setups
console logging to display only critical messages.
2021-01-27 09:24:05 +01:00
Paweł Chmielowski
b977320091 Don't fetch subscribers list in room_unused_* 2021-01-26 11:13:23 +01:00
Paweł Chmielowski
bb87b6f948 Rename function arguments 2021-01-25 20:00:07 +01:00
Paweł Chmielowski
07d28c3898 Skip reading pep nodes that we know won't be requested due to caps 2021-01-25 19:58:38 +01:00
Holger Weiss
6c2bd91f01 ejabberd_stun: Block loopback addresses by default
Don't accept loopback addresses as TURN peers by default.  This makes
sure the TURN service won't allow remote clients to access local UDP
services.

However, this will break the case where the 'turn_ipv4_address' was set
to 127.0.0.1 as fallback and TURN worked "by accident" if both clients
were using the same TURN service.  The service then talked to itself on
the loopback interface.
2021-01-22 16:20:24 +01:00
Holger Weiss
b6f86187f3 Update 'stun' dependency
The 'stun' application now rejects Teredo and 6to4 TURN peers
unconditionally.  Therefore, remove those networks from the default
'turn_blacklist'.
2021-01-22 16:12:48 +01:00
Badlop
8098b83114 Revert "mod_register language reworked"
This reverts commit 3906b5300c.

# Conflicts:
#	src/mod_register_web.erl
2021-01-22 14:23:05 +01:00
Badlop
e4155b6f16 Revert "ejabberd_oauth language reworked"
This reverts commit 3d1efd14dc.
2021-01-22 14:23:02 +01:00
Badlop
50ebe2e415 Revert "mod_roster language reworked"
This reverts commit 72cf63c0a8.
2021-01-22 14:22:59 +01:00
Jing Sun
5af7532504
mod_muc/mod_muc_room: add option limits for password and captcha_whitelist (#2255) 2021-01-21 16:58:05 +01:00
Paweł Chmielowski
5212b0aaa6 Validate affiliations in set_room_affiliation command 2021-01-21 14:20:30 +01:00
Allan Nordhøy
72cf63c0a8
mod_roster language reworked 2021-01-16 09:17:44 +01:00
Allan Nordhøy
3d1efd14dc
ejabberd_oauth language reworked 2021-01-14 10:21:07 +01:00
Paweł Chmielowski
7fc500dae6 Don't include empty <subject/> in messages sent by send_message
Please refer issue #3485
2021-01-13 20:58:13 +01:00
Badlop
b6d90cc55c Allow non-occupant non-subscribed service admin send private MUC message (#3474) 2021-01-13 16:49:45 +01:00
Badlop
59d5cf4d47 Uniformize terms create->register, delete->unregister (#3482) 2021-01-13 16:12:00 +01:00
badlop
aff1a62607
Merge pull request #3482 from comradekingu/patch-1
mod_register language reworked
2021-01-13 15:57:29 +01:00
Paweł Chmielowski
95c157409b Fix handling of log_rotate_size: infinity
This should fix issue reported in #3462
2021-01-13 11:48:46 +01:00
Allan Nordhøy
3906b5300c
mod_register language reworked 2021-01-13 09:35:36 +01:00
Badlop
50f74c932b Replace Jabber->XMPP and Ejabberd (thanks to Neustradamus)(#3469) 2021-01-11 21:11:20 +01:00
Paweł Chmielowski
446cb485ac Don't use REPLACE for upsert when there are "-" fields.
This should fix problem reported in #3476
2021-01-11 14:20:17 +01:00
Badlop
a670451447 Apply cosmetic changes from documentation 2021-01-08 18:34:38 +01:00
Paweł Chmielowski
9be3d948b2 Make ext_mod compile module with debug_info flags
This should fix issue #3472
2021-01-07 15:10:39 +01:00
Holger Weiss
e919171393 ejabberd_systemd: Fix comment 2021-01-06 18:52:22 +01:00
Holger Weiss
6f026ca26d Integrate nicely with systemd
Support systemd's watchdog feature and enable it by default in the unit
file, so that ejabberd is auto-restarted if the VM becomes unresponsive.
Also, set the systemd startup type to 'notify', so that startup of
followup units is delayed until ejabberd signals readiness.  While at
it, also notify systemd of configuration reload and shutdown states.

Note: "NotifyAccess=all" is required as long as "ejabberdctl foreground"
runs the VM as a new child process, rather than "exec"ing it.  This way,
systemd views the ejabberdctl process itself as the main service
process, and would discard notifications from other processes by
default.
2021-01-06 00:20:12 +01:00
Neustradamus
4132aedb9c
XEP-0033 (#3467)
XEP-0033
2021-01-05 10:05:42 +01:00
Badlop
b8178c79a7 Clarify documentation of log_rotate_size option (#3462) 2021-01-04 13:05:28 +01:00
Paweł Chmielowski
aefe3f8585 Document ldap_userjidattr option 2020-12-31 10:30:12 +01:00
ethoms
cdb286d1d1
Add multi-domain support (and flexibility) to LDAP shared roster (rev2). (#3461) 2020-12-31 10:19:43 +01:00
Pouriya
c056002f7c
JWT enhancement (#3460)
* ref: run the default JWT verifier as hook callback

* ref: add system timestamp to JWT debug log
2020-12-28 10:06:45 +01:00
Badlop
705f401961 Fix a pair of pubsub specs to please Dialyzer 2020-12-18 20:40:26 +01:00
Badlop
ac24d6ee9f Fix typo in case clause detected by Dialyzer 2020-12-18 20:40:17 +01:00
Paweł Chmielowski
9f851008f6 Update spec for get_room_pid 2020-12-18 12:36:31 +01:00
Badlop
1b7502acbc Old passwd scram tuples do not conform to current records definitions 2020-12-18 10:54:59 +01:00
Paweł Chmielowski
2ab7da1e8f Use better fallback value for room activity time when skipping room in decide_room 2020-12-17 09:55:12 +01:00
Licaon_Kter
65c5208905
Reword auth_scram_hash info (#3448) 2020-12-15 17:47:56 +01:00
Paweł Chmielowski
28186ddf19 Document auth_scram_hash option 2020-12-15 15:40:16 +01:00
Paweł Chmielowski
d8d9ef32ad Make anonymous auth not override sasl mechaninsm offered by other modules
This stop overriding store_type when anonymous is enabled with other
auth modules, we don't really need that since anonymous is not taking
passwords anyway, and this was disabling scram mechanisms.

This fixes issue #2803.
2020-12-14 16:42:14 +01:00
Paweł Chmielowski
a9ed26e484 Fix getting age of newly created rooms in rooms_unused_* 2020-12-14 09:47:25 +01:00
Pouriya
a76531b90b
feat: add hook to check decoded JWT after success authentication (#3446) 2020-12-14 08:14:58 +01:00
Paweł Chmielowski
af9d642a71 Improve auth_mnesia:transform 2020-12-10 14:02:28 +01:00
Paweł Chmielowski
6a659d7475 Improve handling of old scram data in auth_mnesia 2020-12-10 14:00:13 +01:00
Paweł Chmielowski
e5cad9be65 Add hash to scramed password stored in mnesia by earlier version 2020-12-08 12:18:03 +01:00
Paweł Chmielowski
1dc0ecd1e9 Allow to use different hash for storing scram passwords 2020-12-08 12:06:52 +01:00
Paweł Chmielowski
0c09599d7b Normalize names passed to destroy_room 2020-12-08 09:19:29 +01:00
badlop
e95ae66d3c
Merge pull request #3435 from fdie/fix_odbc_binary_errors
also convert embedded errors to binary
2020-12-04 13:48:13 +01:00
Paweł Chmielowski
5f9d480f6a Simplify updating disk room options in set_room_affiliation 2020-12-04 13:06:53 +01:00
Paweł Chmielowski
d34227cae1 Use specialized upsert with mysql 2020-12-04 13:03:55 +01:00
Paweł Chmielowski
72867f8d1e Fix more places that needed changes after scram.erl api modifications 2020-12-04 09:20:59 +01:00
Frank Diebolt
8f04491a4d also convert embedded errors to binary 2020-12-03 19:56:58 +01:00
Paweł Chmielowski
0371b0f664 Add support for SCRAM-SHA-{256,512}-{PLUS} authentication 2020-12-03 15:07:09 +01:00
Paweł Chmielowski
02cc212f16 Fix typo in last commit 2020-12-01 15:39:17 +01:00
Paweł Chmielowski
0fe64674ee Make decide room better handle rooms that were just hibernated 2020-12-01 15:30:23 +01:00
Paweł Chmielowski
e937ff62fe Handle unix sockets in misc:ip_to_list 2020-12-01 15:29:58 +01:00
Badlop
d75d69d5d5 Trigger user_send_packet when send_stanza API is called (#3431) 2020-12-01 13:14:24 +01:00
Badlop
3581d90d9d Provide name when pushing new roster item in shared roster group (#3427) 2020-11-19 17:07:23 +01:00
Paweł Chmielowski
9e1f3862cb Fix room_unused_destroy on hibernated rooms 2020-11-19 09:31:14 +01:00
Paweł Chmielowski
c2a3f037bb Update muc_room just_created timestamp when message is received
This together with last history message is used by room_unused_* command
to determine for how long room was not used, this change allow us to skip
checking history, and works even when history is disabled.
2020-11-18 17:14:28 +01:00
Paweł Chmielowski
bf1aacefcb We don't use persistent field in decide_room 2020-11-18 16:49:43 +01:00
Paweł Chmielowski
e306cb0797 Fix logic that determines room age when history_size=0 2020-11-18 16:49:43 +01:00
Paweł Chmielowski
2e8023158d Allow room_unused_list/destroy work on hibernated rooms
This required adding hibernation time to data stored for room to be able
determine how old was a room, rooms that aren't stored with that
information will use node start time as timestamp for that.
2020-11-16 16:05:16 +01:00
Paweł Chmielowski
81e872c110 Don't do double utf-8 conversion on translated strings in str:format
This caused garbled text in some places in webadmin when using language
that used characters > 128.

Thanks to chengshq for noticing this and providing preliminary patch.
2020-11-09 12:20:35 +01:00
Badlop
9ed2ca5079 Document sql_odbc_driver option (copied from docs site) 2020-11-06 16:39:02 +01:00
Badlop
e7e9ca54df Document outgoing_s2s_ipv4_address and ipv6 options (#3396) 2020-11-06 15:52:33 +01:00
Holger Weiss
23a18b1a60 Apply cosmetic changes to outgoing s2s IP options 2020-11-04 13:12:06 +01:00
Holger Weiss
0a88f9c8a9 Merge remote-tracking branch 'processone/pr/3396'
* processone/pr/3396:
  Add outbound s2s out interface (ipv4/ipv6)
2020-11-04 12:19:49 +01:00
Paweł Chmielowski
de51ba331e Make sure that jid used as base in mam xml_compress is bare 2020-11-04 10:56:49 +01:00
Holger Weiss
d37b2f851d mod_push: Fix log message argument 2020-11-04 10:10:20 +01:00
Holger Weiss
f40c5c304d mod_push: Fix API call return type on error
A call that yields a 'rescode' isn't supposed to return an error tuple.
2020-11-04 09:07:30 +01:00
Holger Weiss
37c75f556d mod_push: Support cache config changes on reload 2020-11-04 09:04:30 +01:00