Evgeniy Khramtsov
0f86559d83
Always build eimp dependency
...
Even if no suitable C graphics libraries are detected
at compile time, the package is still usable because it
provides `eimp:get_type/1` which is used by mod_avatar.
2018-01-15 12:54:57 +03:00
Paweł Chmielowski
3df78d3a8f
Copy sh_to_ask function from xmerl_regexp.erl
...
This way we don't need to include xmerl application in our docker container
2018-01-15 10:31:26 +01:00
Evgeniy Khramtsov
f66a004821
Improve logging of failed s2s EXTERNAL authentication
2018-01-13 13:01:40 +03:00
Paweł Chmielowski
df8888ab38
Send privileges if at least one of them is set, don't require all to be set
2018-01-09 15:50:42 +01:00
Evgeniy Khramtsov
9d94361466
Process 'name' option for all route-registering modules
...
The option allows to set arbitrary text for disco#info identity name.
Previously, option 'name' was supported by mod_proxy65 and mod_http_upload
only. Now, all the following modules support this option as well:
- mod_disco
- mod_irc
- mod_muc
- mod_multicast
- mod_pubsub
- mod_vcard
Example:
```
modules:
...
mod_disco:
name: "Cool XMPP Server"
...
```
2018-01-08 11:29:17 +03:00
Evgeniy Khramtsov
cdc7c1d1ed
Update copyright dates
2018-01-05 23:18:58 +03:00
Evgeniy Khramtsov
fb07c9929a
Return true
or false
from send() callback
...
Fixes #2209
2018-01-05 12:15:28 +03:00
Evgeny Khramtsov
946754536c
Merge pull request #2202 from weiss/bounce-to-stranger
...
mod_block_strangers: Bounce an error message
2018-01-05 11:43:18 +03:00
Paweł Chmielowski
4c799528c7
Fix ejabberd command privacy_set
...
This fixes issue #2205
2018-01-04 14:57:36 +01:00
Marc Schink
264add87fa
mod_proxy65: Expand @HOST@ keyword in 'hostname' option
2018-01-03 22:31:06 +01:00
Holger Weiss
835360733b
mod_block_strangers: Bounce an error message
...
Return a stanza error when a message is rejected, in order to make
legitimate users aware of the issue.
Closes #2197 .
2018-01-03 15:41:30 +01:00
Evgeniy Khramtsov
240977a0da
Repair hosts check during certfiles validation
2017-12-28 21:36:57 +03:00
Evgeniy Khramtsov
529d6d8a93
Return default certificate on domain mismatch
2017-12-28 17:24:23 +03:00
Christophe Romain
439fe0b504
Fix check_opt_range when no boundary is configured
2017-12-28 13:51:26 +01:00
Christophe Romain
08e54dd621
Don't force rsm when max_items is not defined ( #2189 )
2017-12-28 11:48:54 +01:00
Christophe Romain
8918227fc3
Revert "Include os_mon application"
...
This reverts commit 56241feb58
.
That was a mistake, breaking application start
2017-12-28 10:32:21 +01:00
Paweł Chmielowski
5ba13df519
Revert "Start os_mon application"
...
This reverts commit 82b3bbf360
.
2017-12-27 17:21:17 +01:00
Evgeniy Khramtsov
dd4d45fd28
Fix a regression in xmpp_socket
2017-12-27 18:49:25 +03:00
Paweł Chmielowski
82b3bbf360
Start os_mon application
2017-12-27 16:23:04 +01:00
Paweł Chmielowski
e6d1ff85f1
Use bare jid when processing roster subscriptions
2017-12-27 16:14:47 +01:00
Christophe Romain
56241feb58
Include os_mon application
2017-12-27 12:28:13 +01:00
Holger Weiss
60b6a508e0
Forget old access/shaper rules and ACLs on reload
2017-12-26 19:37:11 +01:00
Evgeniy Khramtsov
2d43c07c62
Get rid of ejabberd receiver
...
ejabberd receivers were meant to serve connections from frontends
to backends. However, this approach was not popular and frontend
related code was removed in previous releases. Now, ejabberd receiver's
code was also removed, making the code shorter and cleaner. Also, in
stress tests ejabberd now handles load more robustly, without
c2s processes overload (even with disabled shapers).
ejabberd_socket.erl is renamed to xmpp_socket.erl: it's supposed to
be finally moved into stand-alone xmpp library.
2017-12-26 18:55:57 +03:00
Evgeniy Khramtsov
4e49919d16
Revert "Don't set twice"
...
This reverts commit 6dca89f616
.
2017-12-25 08:41:51 +03:00
Evgeniy Khramtsov
9ba471e210
Fix a typo in comment :)
2017-12-24 12:53:50 +03:00
Evgeniy Khramtsov
6dca89f616
Don't set twice
2017-12-24 12:34:47 +03:00
Evgeniy Khramtsov
1698956f34
Rely on Server Name Indication for incoming Direct-TLS connections
...
This commit also deprecates `certfile` option for ejabberd_http
listener.
2017-12-24 12:27:51 +03:00
Holger Weiss
b54e1e49ba
Don't let privacy list prevent local roster update
2017-12-23 22:45:01 +01:00
Holger Weiss
5e4c547856
mod_muc_admin: Fix last timestamp retrieval
2017-12-22 14:32:47 +01:00
Badlop
50b19b47e0
Fix commands rooms_unused_list and _destroy
2017-12-21 17:00:43 +01:00
Christophe Romain
a3083b5d71
Fix race between join_cluster and ejabberd_mnesia ( #2079 )
2017-12-21 14:07:29 +01:00
Christophe Romain
af9183cd54
Add pubsub#multi-items to features list ( #2162 )
2017-12-20 11:54:12 +01:00
Christophe Romain
242c3c1da5
Fix mix_sql features and options
2017-12-20 11:53:18 +01:00
badlop
212d44f419
Merge pull request #2164 from angelo-chan/master
...
add muc_online_rooms_by_regex to mod_muc_admin to filter list online r…
2017-12-19 23:10:20 +01:00
Holger Weiss
63a60f1cd8
ejabberd_sm: Fix get_session_sid/3
...
Let get_session_sid/3 cope with multiple session table entries for a
given resource.
2017-12-19 18:59:25 +01:00
Evgeniy Khramtsov
08ce16f7ca
Change loglevel of TLS failures
2017-12-19 15:33:30 +03:00
Christophe Romain
051e1be832
send_direct_invitations accepts only user jids
2017-12-19 10:24:07 +01:00
Evgeniy Khramtsov
9bccac03f5
Set disk_almost_full_threshold to 99%
2017-12-19 09:55:19 +03:00
Evgeniy Khramtsov
c9333f247a
Don't crash on malformed IQ
...
Fixes #2175
2017-12-19 09:15:35 +03:00
Evgeniy Khramtsov
c658f871a5
Log a warning when a disk is almost full
2017-12-18 12:30:10 +03:00
Evgeniy Khramtsov
a0607f6740
Disable default alarm handler
2017-12-18 12:15:49 +03:00
Evgeniy Khramtsov
47c2118fa7
Handle also process_memory_high_watermark alarm
2017-12-18 10:41:11 +03:00
Evgeniy Khramtsov
59f4efe3dd
Kill and restart lager when it's overloaded
2017-12-17 21:03:40 +03:00
Evgeniy Khramtsov
bd1ff0e897
Fix processing order
2017-12-17 20:19:44 +03:00
Evgeniy Khramtsov
5b42fc1d0d
Avoid excessive logging of SQL failures
2017-12-17 19:46:55 +03:00
Evgeniy Khramtsov
515f8b22c0
Rewrite ejabberd system monitor
...
Previous version was inefficient: it had a lot of false positives
along with a lot of false negatives, making its usage pointless.
The new verion is based on memsup(3erl) application: the OOM watchdog is
only started when total OS memory consumption is more than 80%.
A watchdog periodically inspects all running processes and collects
statistics about overloaded ones (those queueing a lot of messages).
If the OOM killer is enabled (`oom_killer: true`), all overloaded
processes would be killed. By default, OOM killer is enabled.
When memory consumption is back to normal, the OOM watchdog is stopped.
2017-12-17 18:52:37 +03:00
Holger Weiss
5968bc9318
Send last PEP items to owner on initial presence
...
Closes #2112 .
2017-12-13 18:59:06 +01:00
Evgeniy Khramtsov
08e642b988
Only allow compression after SASL
...
See XEP-0170 for details
Thanks to Vitaly Takmazov for spotting this
2017-12-13 16:52:44 +03:00
Christophe Romain
42932fd19e
PubSub: Add missing Nidx building records from sql result
2017-12-13 11:35:36 +01:00
Angelo Chan
b204f9349f
add muc_online_room_by_regex to mod_muc_admin to filter list online rooms
2017-12-13 11:07:12 +08:00
Holger Weiss
03246f5ff4
mod_pubsub: Send last items on initial presence
...
Wait until we got initial presence from the client before sending the
last items of nodes the JID is subscribed to.
Closes #2132 .
2017-12-12 12:21:33 +01:00
Holger Weiss
b661bee4b1
Support pubsub#publish-options PRECONDITIONs
...
Support PubSub publishing options that are specified as PRECONDITIONs as
per XEP-0060 v1.14.
2017-12-12 01:04:14 +01:00
Evgeniy Khramtsov
303eea5e4d
Fix typos in mod_legacy_auth and mod_register
2017-12-11 10:00:16 +03:00
Evgeniy Khramtsov
bd064fa3fc
Use xmpp:try_subtag/2 wherever possible
2017-12-11 09:46:26 +03:00
Evgeniy Khramtsov
ae66c17ec0
Include <x/> tag in presence errors related to nick change
...
Refer to example 52 and example 53 of XEP-0045 for details.
Thanks to Daniel Gultsch for spotting this.
2017-12-09 23:13:20 +03:00
Evgeniy Khramtsov
614bd9dd72
Better process subtag decoding errors
2017-12-09 22:39:43 +03:00
Evgeniy Khramtsov
e15a9a2b9e
Log warning on empty wildcard paths
2017-12-08 12:50:10 +03:00
Evgeniy Khramtsov
f1ac793d56
Don't call pkix_is_self_signed/1 too frequently
2017-12-07 17:24:34 +03:00
Evgeniy Khramtsov
97c9058246
Eat less memory during building certificates graph
2017-12-07 16:41:49 +03:00
Evgeniy Khramtsov
a303373b0f
Speedup certificate chains creation and validation
2017-12-07 14:32:12 +03:00
Evgeniy Khramtsov
344a2611f2
Avoid infinite loop between self-signed certs
2017-12-07 00:29:19 +03:00
Holger Weiss
c2b22bd6c1
mod_muc_room: Fix typo
...
Thanks to Evgeniy for spotting this.
2017-12-06 16:50:45 +01:00
Evgeniy Khramtsov
7a9d2cabc0
Improve code using new xmpp API
2017-12-06 17:21:57 +03:00
Evgeniy Khramtsov
e4a4839880
Use ejabberd_cluster:send() in SM/C2S
2017-12-06 14:15:20 +03:00
Holger Weiss
ab2a90181c
mod_offline: Always ignore groupchat messages
2017-12-02 21:35:09 +01:00
Holger Weiss
418718de31
mod_muc_room: Include 110 status on shutdown
...
Add the 110 status code to the presence unavailable stanzas sent to room
occupants on system shutdown.
2017-11-30 23:58:01 +01:00
Holger Weiss
0b1a6d7e79
mod_mam: Never store MUC messages in user archives
...
Even if a groupchat message is tagged with a <store/> hint, don't store
it in a user archive. The hint should only be honored by the MUC
archive.
2017-11-30 22:15:33 +01:00
Christophe Romain
395b74a89f
Windows does not have /tmp, fallback to /home/chris/conf
2017-11-30 15:32:09 +01:00
Christophe Romain
a5849a0dab
Fix num_subscribers on node metadata ( #2122 )
2017-11-30 15:27:34 +01:00
Alexey Shchepin
8639da0e00
Fix session table cleanup
2017-11-30 13:31:23 +03:00
Evgeniy Khramtsov
10edbe3e09
Improve muc#roominfo and muc#roomconfig forms
...
Now 'muc#roominfo_contactjid' and 'muc#roominfo_pubsub' fields
are returned within muc#roominfo form. Also, both 'muc#roominfo_pubsub'
and 'muc#roomconfig_pubsub' are now validated.
2017-11-27 13:07:10 +03:00
Evgeniy Khramtsov
783ebd1080
Introduce option 'ca_file'
...
The option is supposed to be used as a fallback for certificates
validation. For instance, the option will be used if 's2s_cafile'
option is not set. The value should be a path to a file containing
CA certificate(s) in PEM format, e.g.:
ca_file: "/etc/ssl/certs/ca-bundle.pem"
2017-11-26 18:10:25 +03:00
Evgeniy Khramtsov
242b3d3968
Don't crash on unexpected XML events
...
In fact, seems like this is a problem in the receiver code
(or fast_xml?) and should be fixed there
2017-11-24 19:38:20 +03:00
Evgeniy Khramtsov
5676adff30
Get rid of unused variable compile warning
2017-11-24 12:11:01 +03:00
Evgeniy Khramtsov
e31f6409a6
Fix function clause on filelib:wildcard/1
2017-11-24 12:10:03 +03:00
Evgeniy Khramtsov
a57c694f21
Fix SQL serialization
...
The regression is introduced in 11829906ac
Fixes #2121
2017-11-24 09:45:22 +03:00
Badlop
0e5b343f1b
Add Id attribute in stanza built by send_message command
2017-11-23 17:14:39 +01:00
Evgeniy Khramtsov
25f7f974b9
Use ejabberd_pkix API in mod_sip
2017-11-23 11:09:40 +03:00
Evgeniy Khramtsov
fbd6ea8a48
Move 'certfile' based options in a single place
2017-11-23 11:04:47 +03:00
Evgeniy Khramtsov
3a02c4369f
Get rid of meaningless log message
2017-11-22 10:12:49 +03:00
Alexey Shchepin
19975962ea
Fix a bug introduced in the previous commit in ejabberd_sql_pt
2017-11-20 15:14:44 +03:00
Evgeniy Khramtsov
49c4aa238f
Change file mode of ACME certficates
2017-11-19 10:10:21 +03:00
Evgeniy Khramtsov
e709d6561c
Re-read ACME certificates on config reload
2017-11-19 09:56:05 +03:00
Evgeniy Khramtsov
f06805534c
Fix renew_certificates ejabberdctl command
...
Thanks to Konstantinos Kallas
2017-11-17 18:37:49 +03:00
Evgeniy Khramtsov
3202b7a9a1
Log a message when a user gets registered
2017-11-17 18:02:12 +03:00
Evgeniy Khramtsov
4f12359b9c
Don't forget to include intermediate ACME certificate
...
Thanks to Konstantinos Kallas
2017-11-17 17:17:19 +03:00
Evgeniy Khramtsov
f599c2ef82
Fix ACME options validation
2017-11-17 15:55:33 +03:00
Badlop
b2680a776b
Prepare user and host arguments in get_user_rooms command ( #2064 )
2017-11-17 13:23:27 +01:00
Evgeniy Khramtsov
224a3e13c9
Improve ACME options validation
2017-11-17 13:06:04 +03:00
Evgeniy Khramtsov
4835537776
Move ejabberdctl ACME commands to other location
2017-11-17 12:50:27 +03:00
Evgeniy Khramtsov
ce98226603
Make ACME code working with ejabberd_pkix
2017-11-17 11:59:40 +03:00
Christophe Romain
514c25caef
PubSub: PEP services must send notifications to the account owner ( #2108 )
2017-11-16 15:31:28 +01:00
Christophe Romain
00e32ee4b6
Allow writing custom modules in own path ( #1327 )
...
in ejabberdctl, just add this to EJABBERD_OPTS
external_beams /path/to/my/beams
then all beams file /path/to/my/beams/*.beam will be known
by ejabberd_config, and allowed to be loaded.
2017-11-16 14:48:47 +01:00
Christophe Romain
44700d91ba
PubSub: Cleanup tree requests, rename pubsub_node.type->pubsub_node.plugin
2017-11-16 11:38:04 +01:00
Evgeniy Khramtsov
2531f37e5c
Let validator know about c2s_dhfile
2017-11-16 00:40:36 +03:00
Christophe Romain
62aab0fce4
Fix select_type race on plugin_init
2017-11-15 19:04:47 +01:00
Christophe Romain
e706e24b92
Cleanup pubsub subscriptions quering, fix pep case
2017-11-15 11:16:15 +01:00
Evgeniy Khramtsov
1f21f64d5f
Improve some error log messages
2017-11-15 11:54:38 +03:00
Evgeniy Khramtsov
ebb97bec44
Fix mod_mam reloading
2017-11-15 11:23:22 +03:00
Evgeniy Khramtsov
b04c6b7d75
Merge branch 'lets_encrypt_acme_support' of git://github.com/angelhof/ejabberd into angelhof-lets_encrypt_acme_support
...
Conflicts:
rebar.config
src/ejabberd_pkix.erl
2017-11-15 10:01:30 +03:00
Holger Weiss
af49472373
mod_stream_mgmt: Improve logging on timeout
...
Produce a better error message if a pending stream management session
times out.
2017-11-15 01:11:37 +01:00
Holger Weiss
75f150f7ae
mod_mam: Simplify 'message_is_archived' callback
2017-11-15 00:36:07 +01:00
Holger Weiss
98419c6662
mod_mam: Improve handling of forked messages
...
Make sure a message that was forked in ejabberd_sm will really only be
tagged with a stanza ID if (another copy of) it was stored in MAM.
2017-11-15 00:30:38 +01:00
Holger Weiss
2b3890f1b0
Announce support for stanza IDs
...
Announce the namespace for stanza IDs as per XEP-0359 v0.5.0.
2017-11-15 00:18:25 +01:00
Holger Weiss
06d4f1ff33
mod_mam: Add a few function specifications
2017-11-14 22:58:16 +01:00
Holger Weiss
5ae23a7301
mod_mam: Apply minor cosmetic changes
2017-11-14 22:36:46 +01:00
Holger Weiss
8376370ae1
mod_mam: Don't store from 'sm_receive_packet' hook
...
Let mod_mam use the 'sm_receive_packet' hook to generate stanza IDs for
incoming messages, but not to actually store them. The latter would
require additional changes to make sure modules such as mod_privacy and
mod_block_strangers continue to affect MAM.
2017-11-14 22:02:48 +01:00
Evgeniy Khramtsov
054413d8f4
Halt ejabberd if the top supervisor fails to start
2017-11-14 18:41:28 +03:00
Konstantinos Kallas
ce99db0595
Explain what is needed for the acme configuration and other small changes
...
1. Add a request handler in ejabberd_http and explain how to configure the http listener so that the challenges can be solved.
2. Make acme configuration optional by providing defaults in ejabberd_acme.
3. Save the CA that the account has been created in so that it creates a new account when connecting to a new CA.
4. Small spec change in acme configuration.
2017-11-14 14:12:33 +02:00
Evgeniy Khramtsov
f953621ed2
Use xmpp:io_format_error/1 wherever possible
2017-11-14 09:02:43 +03:00
Christophe Romain
474536817e
Implement parentnodes seek for hometree ( #1921 )
2017-11-13 18:13:31 +01:00
Christophe Romain
daed6a05a6
Rewrite pubsub export to sql ( #1571 )
2017-11-13 17:34:37 +01:00
Evgeniy Khramtsov
9daf2dd925
Assign failed_auth ETS table to another owner
2017-11-13 14:34:59 +03:00
Evgeniy Khramtsov
b06adf1df2
Get rid of forgotten debug message
2017-11-13 11:26:49 +03:00
Evgeniy Khramtsov
11829906ac
Properly store <subject/> element
...
Fixes #2099
2017-11-13 11:25:35 +03:00
Evgeniy Khramtsov
76e9555d55
Improve some type specs
2017-11-11 09:33:42 +03:00
Evgeniy Khramtsov
e77172a784
Improve a diagnostic text
2017-11-11 09:30:19 +03:00
Holger Weiss
54c8ae4d2b
mod_mam: Make sure archived message isn't bounced
...
If mod_offline is disabled but a message is archived by mod_mam, no
error bounce should be generated. This functionality got lost when
mod_mam stopped using the 'offline_message_hook'.
2017-11-10 18:09:33 +01:00
Christophe Romain
5c6a37b20f
Cleanup some headers
2017-11-10 17:51:22 +01:00
Evgeniy Khramtsov
50b3206f06
Add forgotten type specs
2017-11-10 18:11:04 +03:00
Evgeniy Khramtsov
7a3092a859
Use new API for IQ routing
...
Functions ejabberd_local:route_iq/2,3 are now depecated:
ejabberd_router:route_iq/2,3,4 should be used instead.
2017-11-10 18:02:22 +03:00
Holger Weiss
d1df522fd9
mod_push: Avoid notification duplicates (again)
...
Now that mod_mam no longer uses the 'offline_message_hook', avoid
duplicating notifications for messages written to both MAM and offline
storage in another way.
2017-11-10 01:11:24 +01:00
Holger Weiss
28661d20bd
mod_mam: Always strip stanza IDs
...
XEP-0359 v0.5.0 says: "Stanza ID generating entities, which encounter a
<stanza-id/> element where the 'by' attribute matches the 'by' attribute
they would otherwise set, MUST delete that element even if they are not
adding their own stanza ID."
2017-11-09 01:10:24 +01:00
Holger Weiss
9c174e30b2
mod_mam: Fix indentation
2017-11-09 01:00:15 +01:00
Holger Weiss
40d725e9c1
mod_mam: Ignore non-message stanzas earlier
...
Let mod_mam's hook callbacks ignore non-message stanzas using pattern
matching.
2017-11-09 00:48:19 +01:00
Holger Weiss
5cf4e200ba
mod_mam: Make sure a stanza ID is always added
...
Let mod_mam store incoming messages from a new hook in ejabberd_sm.
This makes sure all messages are tagged with a stanza ID, including
those that are forked to multiple resources in ejabberd_sm.
Closes #1344 .
2017-11-09 00:21:40 +01:00
Evgeniy Khramtsov
902c6d476b
Prepare version 0.6.1 of XEP-0313 (MAM) support
2017-11-08 15:15:39 +03:00
Evgeniy Khramtsov
fe9b191382
Erase transient certificates on exit
2017-11-07 09:04:20 +03:00
Badlop
cbbfe32d8b
Unregister commands when stopping node only if it's last one ( #2083 )
2017-11-06 16:53:49 +01:00
Holger Weiss
41c393466c
mod_push: Avoid notification duplicates
...
Don't let mod_mam and mod_offline both trigger push notifications for
the same message.
Closes #2078 .
2017-11-06 00:26:20 +01:00
Alexey Shchepin
44293235e5
Simulate vars usage in ejabberd_sql_pt to avoid unused var warnings
2017-11-03 17:43:21 +03:00
Paweł Chmielowski
90e1f3f29d
Use correct table field name in sql query
2017-11-03 12:17:34 +01:00
Evgeniy Khramtsov
c72e0a6ca6
Log warnings for c2s/s2s certfile option
2017-11-03 08:32:34 +03:00
Konstantinos Kallas
189d02cee0
Bug Fix
...
The dictionary returned after the directory call contains a meta key
whose value is a JSON dictionary. This is now taken care so that only
bitstring values are kept as resource URIs
2017-11-02 19:05:12 +02:00
Alexey Shchepin
79a9a0ed29
Disable server_host warnings
2017-11-02 19:48:35 +03:00
Alexey Shchepin
78dfb832b8
Add SQL_INSERT macro and update SQL queries to use server_host field
2017-11-02 18:21:40 +03:00
Paweł Chmielowski
354a710e70
Fix pkix:validate() return value
2017-11-02 11:28:23 +01:00
Evgeniy Khramtsov
a22aad0a4b
Remove -include() directive for unused header
2017-11-01 10:59:28 +03:00
Evgeniy Khramtsov
ae07fd7f10
Clarify some error/warning messages
2017-11-01 10:14:34 +03:00
Evgeniy Khramtsov
86809dff06
Avoid using "bag" ETS type for certificate storage
2017-11-01 08:47:07 +03:00
Evgeniy Khramtsov
35dc164233
Start even if there are problems with fs application
2017-11-01 08:34:14 +03:00
Evgeniy Khramtsov
170be1fbd5
Lower log level
2017-11-01 00:55:05 +03:00
Evgeniy Khramtsov
35b7203e01
Introduce 'certfiles' global option
...
The option is supposed to replace existing options 'c2s_certfile',
's2s_certfile' and 'domain_certfile'. The option accepts a list
of file paths (optionally with wildcards "*") containing either
PEM certificates or PEM private keys. At startup, ejabberd sorts
the certificates, finds matching private keys and rebuilds full
certificates chains which can be used by fast_tls. Example:
certfiles:
- "/etc/letsencrypt/live/example.org/*.pem"
- "/etc/letsencrypt/live/example.com/*.pem"
2017-11-01 00:20:27 +03:00
Paweł Chmielowski
efc4996625
Fix sql query
2017-10-31 17:59:55 +01:00
Paweł Chmielowski
88558453fb
Typo
2017-10-31 17:11:17 +01:00
Paweł Chmielowski
ee2b5be7f4
Use store_room where possible
2017-10-31 16:12:35 +01:00
Paweł Chmielowski
5f2e33bdd0
Don't use depraced functions
2017-10-31 14:21:34 +01:00
Christophe Romain
0452ffc1df
Optimize muc subscriptions handling
2017-10-31 14:00:41 +01:00
Christophe Romain
e24e05c6af
Enforce module_name/1
2017-10-31 12:06:40 +01:00
Christophe Romain
e697a3e262
Add missing type conversion from 675cc3e
2017-10-31 11:59:53 +01:00
Christophe Romain
8cb71255eb
Do not bind unused tail from 675cc3e
2017-10-31 11:25:01 +01:00
Christophe Romain
675cc3e0ea
Allow auth and pubsub plugin to use Elixir module
2017-10-31 11:04:32 +01:00
Paweł Chmielowski
5f0a84a331
Show real jid in mucsub subscription change events
2017-10-30 17:54:55 +01:00
Paweł Chmielowski
0633dd5802
Fix last commit
2017-10-30 13:27:37 +01:00
Paweł Chmielowski
2b363c7aee
Add mucsub event for subscribers list changes
2017-10-30 12:34:09 +01:00
Evgeny Khramtsov
2aeee9eab4
Merge pull request #2028 from weiss/increase-queue-sizes
...
Increase max_fsm_queue and max_ack_queue sizes
2017-10-29 12:18:23 +04:00
Christophe Romain
dbdda745af
Delete cached item on node removal ( #2071 )
2017-10-27 21:16:25 +02:00
Evgeniy Khramtsov
24df1262bb
Don't store xdata() in Mnesia table
2017-10-27 11:46:37 +03:00
Evgeniy Khramtsov
484e5de072
Simplify backend interface for mod_push
2017-10-27 10:55:48 +03:00
Evgeniy Khramtsov
568ab526e2
Improve ejd2sql logging
2017-10-27 08:59:49 +03:00
Evgeniy Khramtsov
a8238d6a54
Fix typo
2017-10-27 08:12:24 +03:00
Evgeniy Khramtsov
9eb2685f90
Make it possible to export push_session table to SQL
2017-10-26 21:05:09 +03:00
Evgeniy Khramtsov
db57394399
Add SQL support for mod_push
2017-10-26 20:11:43 +03:00
Evgeniy Khramtsov
2161063e5e
Don't forget to convert ljid() to jid()
2017-10-26 10:29:23 +03:00
Evgeniy Khramtsov
29462f0053
Make it possible to convert to SQL for any current db_type
...
It is now possible to run `export` command even when the current `db_type` is not `sql`
2017-10-25 21:21:52 +03:00
Christophe Romain
3162ec0d66
Allow dynamic node options on sql backends
2017-10-25 15:40:42 +02:00
Badlop
e4054aab79
Get next record before deleting previous on, in case it's last one ( #2069 )
2017-10-25 12:58:07 +02:00
Christophe Romain
8028a9545a
Cosmetic change, remove useless case
2017-10-25 11:48:56 +02:00
Christophe Romain
17e3ed513b
Fix delete item from unregistered user ( #2067 )
2017-10-25 11:16:54 +02:00
Evgeniy Khramtsov
65c85eab03
Fix another typo ;)
2017-10-25 11:47:02 +03:00
Evgeniy Khramtsov
5151136d17
Fix typo
2017-10-25 11:44:53 +03:00
Evgeniy Khramtsov
debbddb763
Mix _xmpp-server and _xmpps-server SRV records
...
XEP-0368 describes this procedure as following:
> Both 'xmpp-' and 'xmpps-' records SHOULD be treated as
> the same record with regard to connection order as specified
> by RFC 2782 [3], in that all priorities and weights are mixed.
> This enables the server operator to decide if they would
> rather clients connect with STARTTLS or direct TLS.
2017-10-25 11:39:20 +03:00
Christophe Romain
8b588d2ff3
Add basic PubSub meta-data support ( #1421 )
2017-10-25 10:34:11 +02:00
Evgeniy Khramtsov
90ee405d81
Mention XEP-0368 support
2017-10-25 10:01:05 +03:00
Christophe Romain
b0fa27395f
Add missing fix from 07a193d4d
, Fix purge_offline ( #2057 )
2017-10-24 15:35:01 +02:00
Evgeniy Khramtsov
1bb2bae62b
Reflect changes in the xmpp lib
2017-10-13 20:48:21 +03:00
Evgeniy Khramtsov
152e0d77c1
Send presence-unavailable when expulsing a participant
2017-10-13 09:17:22 +03:00
Evgeniy Khramtsov
e5e64c99f3
Don't crash when Host header is missing
2017-10-11 18:53:53 +03:00
Evgeniy Khramtsov
5a184b0433
Don't include CSS, javascript and image data directly in the code
2017-10-09 23:35:42 +03:00
Evgeniy Khramtsov
d22ee24e72
Better handle mobile devices in CSS of mod_register_web
...
Thanks to Marek Foss. Fixes #2039
2017-10-09 21:46:38 +03:00
Evgeniy Khramtsov
a6e5a5ca9a
Resend presences and history if presence possesses <x/> MUC element
...
Behave according to the new rule from XEP-0045, section 7.2.2:
> When a MUC service receives an <x/> tagged join stanza from an
> already-joined client (as identified by the client's full JID),
> the service should assume that the client lost its synchronization,
> and therefore it SHOULD send exactly the same stanzas to the client
> as if it actually just joined the MUC.
2017-10-09 17:59:22 +03:00
Evgeniy Khramtsov
6efdd0f350
Don't crash when 'from' is undefined
...
c2s_filter_send hook may pass a stanza with undefined from/to (due to
legacy auth for example). Work around this problem.
Fixes #2036
2017-10-06 21:48:54 +03:00
Badlop
4bd5846d40
More fix in mod_http_fileserver to log URLs with/out query elements ( #2021 )
2017-10-06 13:16:13 +02:00
Evgeniy Khramtsov
6f922275eb
Improve logging of mismatched Hosts
2017-10-05 11:33:29 +03:00
Evgeniy Khramtsov
94de13981b
Log request in access.log even when Host doesn't match
2017-10-05 11:16:05 +03:00
Evgeniy Khramtsov
43e729293a
Don't report Host mismatch as an error
2017-10-05 11:08:58 +03:00
Evgeniy Khramtsov
f3af117108
Correctly handle mod_client_state (re)load
2017-10-05 11:03:36 +03:00
Evgeniy Khramtsov
bd06bc00e2
Accept routes in Host header and map them to vhosts
2017-10-05 10:26:10 +03:00
Holger Weiss
532aba993b
mod_stream_mgmt: Increase 'max_ack_queue' default
...
Users with large rosters and/or certain transports might receive a very
large number of (e.g.) presence and/or PEP stanzas after logging in.
Clients might take some time to acknowledge them, especially over slow
(mobile) connections.
2017-10-03 01:37:10 +02:00
Holger Weiss
79685da90b
Increase 'max_fsm_queue' default
...
The old default was becoming too small for some workloads.
2017-10-03 01:29:52 +02:00
Badlop
280aa2f1b0
Fix crash in mod_http_fileserver when logging URL with query elements ( #2021 )
2017-10-02 15:36:38 +02:00
Christophe Romain
a3da27e917
Fix race introduced by ffdaff374
on ejabberd_mnesia init
2017-09-28 15:14:11 +02:00
Evgeniy Khramtsov
2732c8f6fc
Fix function clause introduced by c17ec50e3a
2017-09-28 12:24:24 +03:00
Evgeniy Khramtsov
3192687334
Don't forget to route presence-unavailable
...
When a user has several resources joined to a room using the same
nick attempts to leave the room from a single resource, route
presence-unavailable back to this (and only this) resource.
Fixes #2007
2017-09-28 11:58:36 +03:00
Christophe Romain
126653e01b
Pubsub: implment '6.5.7 Requesting the Most Recent Items'
2017-09-27 20:54:50 +02:00
Christophe Romain
ce7acafe37
Remove useless condition
2017-09-27 20:40:07 +02:00
Christophe Romain
216a0c97b9
PubSub: add RSM support for mnesia backend
2017-09-27 20:39:54 +02:00
Christophe Romain
3c8308bb8d
PubSub: enforce controls on publish and delete
2017-09-27 17:37:38 +02:00
Christophe Romain
8c026582ab
Fix xref error
2017-09-27 12:34:40 +02:00
Christophe Romain
81df1ae3af
Unbind unused variable
2017-09-27 12:13:45 +02:00
Christophe Romain
22435ca562
Remove calls to deprecated functions
2017-09-27 11:43:59 +02:00
Christophe Romain
89e504c55f
PubSub: fix get_items behaviour with mnesia
2017-09-27 11:18:12 +02:00
Christophe Romain
c1d3d1318e
Merge branch 'master' of github.com:processone/ejabberd
2017-09-27 11:12:09 +02:00
Christophe Romain
d120e0ad91
PubSub: add correct order when requesting all items
2017-09-27 11:12:01 +02:00
Evgeniy Khramtsov
c17ec50e3a
Add support for XEP-0368: SRV records for XMPP over TLS
...
Currently this is only supported for outgoing s2s connections.
For such connections ejabberd is now able to resolve SRV records
of type "_xmpps-server._tcp". Also, SNI and ALPN fields are set
during TLS handshake. No additional configuration is required.
2017-09-27 12:03:05 +03:00
Evgeniy Khramtsov
abc09054e5
Remove forgotten export_all
2017-09-27 11:56:22 +03:00
Christophe Romain
07a193d4dc
PubSub: fix RSM support ( #1994 )(#2Â014)
2017-09-27 10:51:37 +02:00
Christophe Romain
cf09ed2df2
PubSub: fix node_options, default options only apply on first plugin
2017-09-27 09:29:04 +02:00
Holger Weiss
0cc1ae0a6a
mod_http_upload: Don't ignore 'custom_headers'
...
Don't ignore the 'custom_headers' option if the domain part of the
'put_url' doesn't match the XMPP domain.
Closes #1482 .
2017-09-26 21:40:56 +02:00
Evgeniy Khramtsov
e1efd29156
Improve presence-error processing
...
When a presence-error is received from a participant in a MUC, kick
only this particular participant's full JID, leaving other resources
untouched. This will prevent from erroneous kicking all user's resources
in the presence of "multi-session nicks".
2017-09-26 19:01:54 +03:00
Badlop
2198fbce97
Fix command set_last that always returned code 1, error ( #2010 )
2017-09-25 18:43:24 +02:00
Evgeniy Khramtsov
251756de00
Catch all p1_fsm errors
...
Fixes #2012
2017-09-25 13:01:00 +03:00
Evgeniy Khramtsov
3e987d3bae
Use eimp instead of ImageMagick calls for thumbnails creation
2017-09-25 12:41:12 +03:00
Holger Weiss
59ec3d36f4
mod_mam: Simplify check for anon MUC JID filtering
...
Refuse filtering anon MUC MAM queries by JID even if it's the client's
own JID. Clients probably won't perform such queries in practice, so
the additional complexity is unnecessary.
2017-09-24 15:04:09 +02:00
Evgeniy Khramtsov
d7250111ce
Reuse some translation strings
2017-09-24 14:32:37 +03:00
Evgeniy Khramtsov
adfb924808
Replace translate:mark/1 with ?T() macro
2017-09-24 12:42:35 +03:00
Holger Weiss
48f2adde98
mod_mam: Refuse filtering anon MUC queries by JID
...
Return an empty result set if a non-moderator attempts to filter by JID
while querying the archive of an anonymous MUC room.
2017-09-24 02:05:50 +02:00
Evgeniy Khramtsov
c378ea403e
Add script to extract translation strings
2017-09-24 00:08:01 +03:00
Holger Weiss
692ccd2e20
mod_push_mnesia: Fix typo in error message
2017-09-22 23:36:51 +02:00
Evgeniy Khramtsov
db41643bea
Also replace vcard-x-update in direct presences
2017-09-18 14:17:34 +03:00
Christophe Romain
7ad525b542
PubSub: broadcast updated configuration ( #1945 )
2017-09-18 12:48:20 +02:00
Evgeniy Khramtsov
5bf64381cb
Add 'width' and 'height' to avatar info
2017-09-18 09:33:57 +03:00
Evgeniy Khramtsov
f435d0a103
Add GIF support
2017-09-17 17:34:31 +03:00
Evgeniy Khramtsov
e4d21c1941
Introduce mod_avatar
...
The purpose of the module is to cope with legacy and modern
XMPP clients posting avatars. It automatically converts vCard based
avatars (XEP-0153) to PEP based avatars (XEP-0084) and vice versa.
Also, the module supports convertation between avatar image formats on
the fly: this is controlled by `convert` option. For example, to
convert all avatars into PNG format, configure the module as:
mod_avatar:
convert:
default: png
In order to convert only `webp` format to `jpeg`, set the following:
mod_avatar:
convert:
webp: jpeg
Note: the module depends on mod_vcard, mod_vcard_xupdate and mod_pubsub.
Also, ejabberd should be built with --enable-graphics option.
2017-09-17 10:26:48 +03:00
Holger Weiss
e6b1521b29
mod_push_keepalive: Remove unused 'db_type' option
2017-09-11 23:48:25 +02:00
Evgeniy Khramtsov
dfd2045523
Introduce option 'allow_transports'
...
This is a boolean option. If set to `true` and some server's JID
is in user's roster, then messages from any user of this server are
accepted even if no subscription present.
The option is enabled by default.
2017-09-08 23:10:01 +03:00
Badlop
d87151aee6
Simple optimization in get_room_occupants_number command ( #1964 )
2017-09-07 18:32:26 +02:00
Evgeniy Khramtsov
4ecd8a0780
Really delete cache on set_data()
...
Fixes #1991
2017-09-07 19:27:48 +03:00
Evgeniy Khramtsov
803c31f760
Always accept messages from local (sub)domains
2017-09-07 13:53:42 +03:00
Evgeniy Khramtsov
978c92f5e1
Fix a typo and improve logging message
2017-09-07 13:41:51 +03:00
Konstantinos Kallas
f55a8d045d
Solve Travis build xref problem
...
Travis build failed on xref because some functions that I used did not exist in OTP versions 17.5, 18.3
Those functions are: ets:take/2, lists:join/2, erlang:timestamp/0.
2017-09-06 18:10:38 +03:00
Evgeniy Khramtsov
1a58a201f8
Block messages from strangers before mod_mam/mod_offline processing
...
Fixes #1713
2017-09-02 22:54:46 +03:00
Evgeniy Khramtsov
2acbf4625b
Deprecate s2s_use_starttls: required_trusted
...
The functionality can be now obtained by using
`s2s_use_starttls: required` with `mod_s2s_dialback`
being unloaded.
2017-09-02 11:45:06 +03:00
Evgeniy Khramtsov
7566d254e4
Introduce 'redirect_url' option for mod_register
...
The option enables registration redirection as described in
https://xmpp.org/extensions/xep-0077.html#redirect
Fixes #1976
2017-09-01 12:14:01 +03:00
Badlop
68dee8cbb3
Fix deletion of multiple offline messages using WebAdmin ( #1962 )
2017-08-25 12:44:53 +02:00
Evgeniy Khramtsov
f7e8d287d5
Fix a typo
2017-08-25 12:47:33 +03:00
Konstantinos Kallas
80b44d8c15
Remove some unused variable warnings, replace lists:join with string join
2017-08-25 12:08:16 +03:00
Evgeniy Khramtsov
30bca124f4
Add forgotten caching options to the validator (thanks to Jan Pinkas)
2017-08-24 21:40:54 +03:00
Badlop
1d396b4716
Rewrite muc_register_nick and muc_unregister_nick to be DB independent ( #1954 )
...
Notice: The arguments expected have changed, instead of
muc_register_nick Tim tim@example.org muc.example.org
muc_unregister_nick Tim
it expects now:
muc_register_nick Tim tim@example.org example.org
muc_unregister_nick tim@example.org example.org
2017-08-24 10:40:54 +02:00
Evgeniy Khramtsov
47175adc74
Explicitly match against <domain/resource>
...
Fixes #1958
2017-08-23 09:00:13 +03:00
Konstantinos Kallas
f1ea67817c
More whitespace changes
2017-08-22 14:58:12 +03:00
Konstantinos Kallas
30e729a150
Whitespace change
2017-08-22 14:54:23 +03:00
Konstantinos Kallas
a59ccc6c9c
Merge remote-tracking branch 'upstream/master' into lets_encrypt_acme_support
2017-08-22 14:51:21 +03:00
Konstantinos Kallas
62903155fd
Show SANs in list_Certificates
2017-08-22 14:44:19 +03:00
Konstantinos Kallas
25ca6e5582
Acquire certificates for all subdomains of a host and include them in SAN
2017-08-22 13:36:34 +03:00
Konstantinos Kallas
10f7b5a548
Remove partial RSA key support
2017-08-22 10:25:37 +03:00
Konstantinos Kallas
f2876bdad7
Add certfile when acquired
2017-08-22 10:12:42 +03:00
Badlop
05c2995c7a
When creating room, set option to ensure config is set in muc_room table ( #1954 )
2017-08-21 15:58:10 +02:00
Badlop
2fa6e2fd90
Fix crash when destroying room without providing reason ( #1954 )
2017-08-21 15:57:48 +02:00
Konstantinos Kallas
9b3e160e18
Remove some debugging INFO_MSGs
2017-08-19 17:47:05 +03:00