Evgeniy Khramtsov
c102a45fac
Rename some keys and functions for clarity
2018-02-15 15:50:20 +03:00
Evgeniy Khramtsov
52ded14b7f
Update incoming stanzas counter on invalid XML
2018-02-15 15:42:55 +03:00
Evgeniy Khramtsov
e5ba7c3f3c
Better solution for a previous fix
2018-02-15 10:48:59 +03:00
Evgeniy Khramtsov
51aa9d98a7
Don't forget to add invalid XML responses to sending queue
2018-02-15 10:18:06 +03:00
Evgeniy Khramtsov
a65500b6aa
Fix external components unregistration
2018-02-14 13:09:27 +03:00
Evgeniy Khramtsov
032f796292
Introduce option 'global_routes' for ejabberd_service
...
The option emulates legacy behaviour which registers all routes
defined in `hosts` on a component connected. This behaviour
is considered harmful in the case when it's desired to multiplex
different components on the same port, so, to disable it,
set `global_routes` to `false`. The default value is `true`,
e.g. legacy behaviour is emulated: the only reason for this is
to maintain backward compatibility with existing deployments.
2018-02-14 11:53:52 +03:00
Evgeniy Khramtsov
516f4d03a1
Fix indentation
2018-02-14 11:42:43 +03:00
Paweł Chmielowski
60a8623929
Change formatting of commands markdown documentation
2018-02-13 16:27:39 +01:00
Christophe Romain
9dbdeba6c1
Add case on create_room, avoid useless call
2018-02-13 11:08:13 +01:00
Evgeniy Khramtsov
4632f5520f
Really run use_cache/1 and cache_nodes/1 callbacks for mod_mam
2018-02-13 11:38:41 +03:00
Evgeniy Khramtsov
ffe02c46e4
Let a MUC room to route presences from its bare JID
...
The goal for this is to provide entity capabilities (XEP-0115) and
vCard-based avatar hash (XEP-0153)
2018-02-12 17:37:36 +03:00
Tobias Koch
9188a7b838
Dialyzer checks always failed because the return value of the function 'get_subscribed_rooms' in 'mod_muc_sql' is different to the defined value in 'mod_muc'. Fix was to update the return value in 'mod_muc.erl'.
2018-02-12 15:12:46 +01:00
Evgeniy Khramtsov
66fc1bf3b6
Remove 'iqdisc' option
...
Since we got rid of all bottle-neck processes and we have
a connection pool for every database, the option is no longer
needed and in fact is detrimental: in practice what you get
is just a bunch of overloaded processes in the IQ handlers pool
no matter how much you increase the `iqdisc` value.
Given that there are close to zero operators understanding
the meaning of the option and, hence, not using it all,
it's not simply deprecated but completely removed.
The commit also deprecates the following functions:
- gen_iq_handler:add_iq_handler/6
- gen_iq_handler:handle/5
- gen_iq_handler:iqdisc/1
2018-02-11 12:54:15 +03:00
Evgeniy Khramtsov
97f913b8d9
Merge branch 'master' of github.com:processone/ejabberd
2018-02-10 11:36:48 +03:00
Evgeniy Khramtsov
6c1a1bd000
Rely on use_cache/1 callback in mod_caps
2018-02-10 11:36:39 +03:00
Holger Weiss
9fb2253aa9
mod_stream_mgmt: Abort connection on count error
...
If the client acknowledged more stanzas than the server sent, close the
connection with a stream error rather than hiding client bugs by silently
adjusting the server's count.
2018-02-10 00:06:19 +01:00
Evgeniy Khramtsov
672c2f75d3
Introduce option 'validate_stream'
...
If set to `true`, all incoming XML packets are fully validated
against known schemas. If an error occurs, the packet will be bounced
with the corresponding error reason. The default value is `false`.
The option might be useful to protect client software from sofisticated
bugs related to XML validation as well as for client developers
who want to catch validation errors at early stage of development.
Note that the option might have slight performance impact, so use it
with care on loaded machines.
2018-02-09 18:12:50 +03:00
Evgeniy Khramtsov
5c85106a41
Fix type spec
2018-02-07 22:20:12 +03:00
Badlop
c2911222e4
Commands markdown also lack arguments when policy=user
2018-02-07 16:39:18 +01:00
Evgeniy Khramtsov
232b66b0f4
Introduce 'rate_limit' option of mod_avatar
...
The option controls how many avatars a user can upload per minute.
The option takes positive integer values. The default is 10.
Note that the option only takes effect when an avatar is about
to convert to a different format, i.e. it implies that `convert`
option is configured.
2018-02-05 23:12:36 +03:00
Evgeniy Khramtsov
c65dcfeda7
Export is_online/1 function
2018-02-05 15:13:13 +03:00
Evgeniy Khramtsov
c990abf222
Improve log message when module startup has failed
2018-02-02 13:16:14 +03:00
Paweł Chmielowski
f6ebbe4c78
Fix compilation ordering in mix by s/-behavior/-behaviour/
2018-01-31 14:57:43 +01:00
Paweł Chmielowski
fc3c605945
Use correct default when getting list of modules from config
2018-01-30 19:44:27 +01:00
Paweł Chmielowski
3b646cc2ec
Run tests only on backends enabled by configure
2018-01-30 15:30:37 +01:00
Paweł Chmielowski
bb58307190
Match all possible values in mod_privilege checks, or we get crashes
2018-01-30 13:10:22 +01:00
Paweł Chmielowski
53870c854e
Fix exception in mod_privilege:process_presence_in
...
This should fix problem reported in issue #2248
2018-01-30 12:52:38 +01:00
Paweł Chmielowski
ddf6076328
Fix elixir tests
2018-01-29 18:28:02 +01:00
Paweł Chmielowski
d2974cf48a
Fix processing of ldap_memberattr_format_re option
...
This makes sure that "" value is handled as before options processing
overhaul.
This fixed ldap shared roster testcase
2018-01-29 17:25:31 +01:00
Paweł Chmielowski
dc601610b6
Don't return undefined from ejabberd_config:get_myhosts()
2018-01-29 11:05:59 +01:00
Paweł Chmielowski
c47366ba97
Restore original return value to ejabberd_config:add_option
2018-01-29 09:46:11 +01:00
Holger Weiss
f31782a252
mod_caps: Only store CAPS if contact is subscribed
...
If a user is subscribed to a contact but not vice versa, don't store the
contact's CAPS. This makes sure no PEP items are leaked to the contact.
2018-01-29 01:07:38 +01:00
Holger Weiss
d0af61f488
mod_caps: Fix indentation
2018-01-29 00:02:15 +01:00
Evgeniy Khramtsov
795efb2ee1
Improve logging of idle s2s connections
2018-01-28 11:10:22 +03:00
Evgeniy Khramtsov
6e5439db5c
Find and fix typos using 'codespell'
2018-01-27 19:35:38 +03:00
Evgeniy Khramtsov
5d582080be
Fix a typo in call to create_captcha()
...
Thanks to Paul Schaub for spotting this
2018-01-26 22:56:49 +03:00
Evgeniy Khramtsov
4b012a99d2
Introduce option 'captcha' for mod_block_strangers
...
When the option is set to `true`, the module will generate
CAPTCHA challenges for incoming subscription requests. The option
also implies that option `drop` is set to `true`. Note that
the module won't generate CAPTCHA challenges for messages: they
will still be rejected if `drop` is set to `true`.
Fixes #2246
2018-01-26 15:02:06 +03:00
Evgeniy Khramtsov
2269d290d8
Switch to newer fast_xml and xmpp and update record fields in the code
2018-01-25 20:02:47 +03:00
Paweł Chmielowski
56d4224e08
Handle ignore from xmpp_socket callback start
...
This should help with issue #2244
2018-01-24 17:32:24 +01:00
Holger Weiss
666da60cba
Reduce log level for unexpected XML input
...
Log a warning rather than an error when, for example, a client sends a
stanza before opening the stream.
2018-01-24 12:04:52 +01:00
Holger Weiss
e8f1de8785
mod_block_strangers: Bounce groupchat to bare JID
...
If a blocked message is of type 'groupchat', address the error message
to the bare JID (rather than sending it as MUC PM).
2018-01-24 11:49:31 +01:00
Evgeniy Khramtsov
1f6c0022dd
Fix a typo in mod_caps
2018-01-23 23:20:10 +03:00
Evgeniy Khramtsov
a917f4d451
Merge branch 'mod-default-options'
2018-01-23 11:00:00 +03:00
Evgeniy Khramtsov
ba2b650464
Introduce new gen_mod callback: mod_options/1
...
The callback is supposed to provide known options and their default
values, as long as the documentation. Passing default values into
get_mod functions is now deprecated: all defaults should be provided
by the Mod:mod_options/1 callback.
2018-01-23 10:54:52 +03:00
Holger Weiss
818ff5a263
Update 'pubsub_node' column name for DB export
...
The 'type' column has been renamed in commit
44700d91ba
.
2018-01-19 13:10:14 +01:00
Evgeniy Khramtsov
c0ef054f6f
Do not try to start ezlib application too frequently
...
This may overload Erlang applicaton controller
2018-01-16 18:06:31 +03:00
Evgeniy Khramtsov
d35a8805b0
Return debug message back
2018-01-16 17:57:21 +03:00
Evgeniy Khramtsov
7b0fa7e6e2
Improve validation of 'convert' option
2018-01-16 01:06:20 +03:00
Evgeniy Khramtsov
d3aab2ea18
Get rid of a call to misc:have_eimp()
2018-01-15 13:14:51 +03:00
Evgeniy Khramtsov
b970c88941
Merge branch 'master' of github.com:processone/ejabberd
2018-01-15 13:00:19 +03:00
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
Konstantinos Kallas
15dd88385f
Delete a development acme module
2017-08-19 16:58:06 +03:00
Konstantinos Kallas
f581e391ac
Merge remote-tracking branch 'upstream/master'
2017-08-19 13:42:05 +03:00
Konstantinos Kallas
dd42d52ff9
Merge remove_account_option branch
2017-08-19 13:36:42 +03:00
Konstantinos Kallas
e45f7ddfec
Cleanup some comments:
2017-08-19 13:32:13 +03:00
Konstantinos Kallas
7cc7b74f1e
Add acme certificates for all configured hosts in ejabberd_pkix
2017-08-19 12:50:40 +03:00
Konstantinos Kallas
ddfe8742c7
Add behaviour ejabberd_config in ejabberd_acme in order to validate the config
2017-08-19 11:35:15 +03:00
Holger Weiss
ba9a79c89c
Apply cosmetic changes to previous commit
2017-08-18 16:50:08 +02:00
Holger Weiss
13ad754ecc
Suppress push notifications for online clients
...
When a client enabled push notifications during the current session,
notifications should be suppressed as long as the client is online.
Suppressing the notification didn't work for the case where the
notification was triggered by MAM, but this is now fixed.
2017-08-18 16:44:32 +02:00
Badlop
0b02d42836
Fix mod_multicast start and reading of configured limits ( #1949 )
2017-08-18 14:09:49 +02:00
Evgeniy Khramtsov
ee0a8d2966
Preserve correct order of deserialized XML elements
...
Fixes #1939
2017-08-18 10:20:27 +03:00
Evgeniy Khramtsov
6e20e9bcf9
Get rid of deprecated crypto functions
2017-08-17 19:32:15 +03:00
Holger Weiss
b8d2a72333
mod_stream_mgmt: Delete 'c2s_init' hook
...
Delete the 'c2s_init' hook when the last 'mod_stream_mgmt' instance is
stopped.
2017-08-17 18:25:06 +02:00
Holger Weiss
0760c7273c
mod_stream_mgmt: Remove outdated TODO comment
...
The CSI queue is now flushed from mod_client_state.
2017-08-17 18:19:04 +02:00
Evgeniy Khramtsov
9bd099013f
Don't attempt to access(2) a certificate file
...
Fixes #1375
2017-08-17 14:33:41 +03:00
Christophe Romain
68fb12153e
Revert "Temporary remove recent last_item refactor"
...
This reverts commit 1820b4f63b
.
2017-08-14 15:25:45 +02:00
Holger Weiss
e19d1e9571
Merge remote-tracking branch 'processone/pr/1938'
...
* processone/pr/1938:
Let 'domain_certfile' take higher precedence
2017-08-14 14:43:03 +02:00
Christophe Romain
1820b4f63b
Temporary remove recent last_item refactor
2017-08-14 09:43:02 +02:00
Holger Weiss
64150cc7c5
Let 'domain_certfile' take higher precedence
...
If a 'domain_certfile' is specified, use that instead of the
's2s_certfile' (or 'c2s_certfile').
2017-08-13 20:31:03 +02:00
Evgeniy Khramtsov
63aabed320
Apply URL decoding wherever possible
...
Fixes #1936
2017-08-13 19:18:19 +03:00
Konstantinos Kallas
051e2c639c
Change some specs
2017-08-12 18:00:46 +03:00
Konstantinos Kallas
3b22efeaee
Add throws when http requests fail
...
This was done in order to show the unexpected code in the top level
2017-08-12 17:26:07 +03:00
Konstantinos Kallas
a72a7f830a
Add support to revoke a certificate by providing the pem
...
This is important so that a user can revoke a certificate that is not acquired or logged from our acme client
2017-08-12 17:14:23 +03:00
Konstantinos Kallas
73f0b6707a
Move the ca_url to the config file
2017-08-12 15:59:54 +03:00
Christophe Romain
fd7bf7fed3
Fix typo from 9c5427e0c
2017-08-11 17:54:53 +02:00
Konstantinos Kallas
1aadb797b3
Remove the new account option from get certificate. There is no reason for having this
2017-08-11 14:10:55 +03:00
Konstantinos Kallas
7140c8d844
Format expired certificates differently in list_certificates
2017-08-11 13:28:17 +03:00
Christophe Romain
7a90cda8ff
Process on_user_offline only from valid sessions
2017-08-11 12:05:14 +02:00
Evgeniy Khramtsov
35eeaa5869
Fix regression introduced by b82b93f8f0
...
Fixes #1928
2017-08-11 11:43:16 +03:00
Christophe Romain
024713a441
Remove temporary debug
2017-08-11 10:53:19 +02:00
Christophe Romain
32fbfe1981
Use correct c2s process sending PEP with multi devices
2017-08-11 10:32:36 +02:00
Christophe Romain
9c5427e0c2
PubSub: refactor send_last_items remove send_loop
2017-08-11 10:20:33 +02:00
Holger Weiss
7d3609d954
prosody2ejabberd: Support PEP import
2017-08-10 19:49:20 +02:00
Holger Weiss
fc7ba53c37
prosody2ejabberd: Remove superfluous 'catch'
2017-08-10 18:54:00 +02:00
Konstantinos Kallas
2b1fea01cd
Renew certificate now renews all saved certificates that are close to expire
...
Before this commit renew_certificate only checked the hosts in the config file and renewd the certificates for those. However the user can request certificates apart from the hosts in the config file so he should be able to also renew them.
2017-08-10 18:54:26 +03:00
Konstantinos Kallas
c20bfb3422
Revoke Certificate: Jose Private Key
...
Instead of signing the jose object with the account private key, it now signs the object using the certificate private key. This is useful in case the user wants to revoke a old certificate whose account key doesn't exist anymore.
2017-08-10 17:23:13 +03:00
Konstantinos Kallas
011b7ac3f2
Support getting certificates for domains not specified in the configuration file
2017-08-10 15:26:35 +03:00
Evgeniy Khramtsov
a96d72330d
Rename remove_room hook back
2017-08-10 14:49:05 +03:00
Christophe Romain
7d626b4f5c
Add support of section 4.9.3.16 on rfc6120
2017-08-10 12:17:31 +02:00
Christophe Romain
e903348dd3
Fix pubsub send_loop after 3fec7824
2017-08-09 11:34:36 +02:00
Konstantinos Kallas
97a4d57f2e
Remove some debugging functions
2017-08-08 18:00:37 +03:00
Evgeniy Khramtsov
3fec782494
Introduce 'hosts' option
...
The option can be used as a replacement of 'host' option
when several (sub)domains are needed to be registered for the module.
Note that you cannot combine both 'host' and 'hosts' in the config
because 'host' option is of a higher priority. Example:
mod_pubsub:
...
hosts:
- "pubsub1.@HOST@"
- "pubsub2.@HOST@"
Fixes #1883
2017-08-08 17:46:26 +03:00
Konstantinos Kallas
9756b452d6
Implement renew_certificate command
...
This command renews the certificates for all domains that already have a certificate that has expired or is close to expiring. It is meant to be run automatically more often than the renewal process because if the certificates are valid nothing happens
2017-08-08 16:38:19 +03:00
Konstantinos Kallas
7fa9a387ae
Try catch when formatting certificates
2017-08-08 12:45:57 +03:00
Konstantinos Kallas
48254a1e10
Change certificate notAfter to 90 days
...
As stated in Let's Encrypt FAQ: https://letsencrypt.org/docs/faq/
2017-08-08 12:23:13 +03:00
Christophe Romain
8679cfd2f3
Rename stop_all_connections to stop_s2s_connections for consistency
2017-08-07 15:06:07 +02:00
Evgeniy Khramtsov
2bceebc39d
Get rid of export_all
2017-08-05 21:01:29 +03:00
Evgeniy Khramtsov
92532a0d66
Replace gen_fsm with p1_fsm to avoid warnings in OTP20+
2017-08-05 20:58:21 +03:00
Holger Weiss
e1aaa1c99d
ejabberd_c2s: Fix priority of 'certfile' option
...
Use the 'certfile' listener option rather than a 'domain_certfile' for
ejabberd_c2s listeners that have "tls: true" configured. A
'domain_certfile' should only be preferred for STARTTLS connections.
Closes #1911 .
2017-08-05 18:59:32 +02:00
Badlop
101e808124
Fix warning in previous commit
2017-08-04 13:09:17 +02:00
Christophe Romain
766b7c65a6
Merge pull request #1881 from weiss/push
...
Support XEP-0357: Push Notifications
2017-08-04 12:58:06 +02:00
Badlop
0516a3dc0e
Remove unused 'managers' option, related to the deferred XEP-0321 ( #1443 )
2017-08-04 12:29:15 +02:00
Christophe Romain
3d185c0fb8
Fix missing validation from 633b68db1
( #1900 )
2017-08-04 11:53:32 +02:00
Christophe Romain
06450f4a82
Keep disco#info on PEP compatible with XEP-0060 ( #1717 )
2017-08-03 15:48:23 +02:00
Christophe Romain
ce0beb550c
Move pubsub sql export to pubsub_db_sql module
2017-08-03 15:34:01 +02:00
Christophe Romain
96c0483533
Fix Xref from 5dcc97c
2017-08-03 14:54:06 +02:00
Paweł Chmielowski
1274bcdba9
Change policy of user_resources command
...
This fixes issue #1908
2017-08-03 13:49:06 +02:00
Badlop
5dcc97c85a
Preliminary export PubSub data from Mnesia tables to SQL file ( #1571 )
2017-08-03 10:53:01 +02:00
Konstantinos Kallas
e6e8e64f84
Improve return format of get_certificates command
2017-08-02 21:10:49 +03:00
Konstantinos Kallas
ac7105d39e
Implement verbose list_certificates option
2017-08-02 19:36:11 +03:00
Christophe Romain
9edcbadd60
Fix clustering table reg_users_counter ( #1889 )
2017-08-02 14:36:32 +02:00
Christophe Romain
73509686f1
Fix getting cached last item ( #1814 )
2017-08-02 12:24:34 +02:00
Jing Sun
50511fcff7
Fix spec for mod_pubsub:subscribe_node
2017-08-02 10:31:42 +02:00
Christophe Romain
5e26190b98
Fix PubSub send last published items ( #1572 )
2017-08-01 17:00:52 +02:00
Christophe Romain
f22bd6eb46
Fix PEP node removal ( #1839 )
2017-08-01 15:40:34 +02:00
Christophe Romain
0ba6c78ed0
Fix disco#items on PEP service
2017-08-01 15:15:01 +02:00
Christophe Romain
636d68e0a9
Fix PEP node identity ( #1717 )
2017-08-01 14:41:16 +02:00
Christophe Romain
7e6d1c24c2
Update spec from custom and allow modules dependencies ( #1740 )
2017-08-01 13:33:14 +02:00
Konstantinos Kallas
3abe3aeeec
Finish revoke_certificate and add specs
...
1. Add a try catch in the final revoke_certificate function
2. Also delete the certificate from persistent memory when it is done revoked
2017-07-29 19:10:06 +03:00
Paweł Chmielowski
51fa438340
Request basic auth dialog from browser
2017-07-28 16:08:05 +02:00
Christophe Romain
35a11526f9
Revert "Fix get_module_opt call in mod_block_strangers"
...
This reverts commit e5f64bc24a
.
2017-07-27 18:23:10 +02:00
Paweł Chmielowski
0cfec92c14
Generate log messages when websocket is closed due timeouts
2017-07-27 17:53:16 +02:00
Alexey Shchepin
e5f64bc24a
Fix get_module_opt call in mod_block_strangers
2017-07-27 17:48:41 +02:00
Konstantinos Kallas
cc6f4b90fb
Support certificate revocation
2017-07-27 18:25:44 +03:00
Paweł Chmielowski
5c48ba4609
Set high water mark in lager for all backends
2017-07-27 17:14:03 +02:00
Jérôme Sautret
3ca62a797a
Fix nick bug with MUC on riak
2017-07-27 17:06:34 +02:00
Christophe Romain
b66dab1313
Add muc related hooks
2017-07-27 17:02:06 +02:00
Marco Adkins
ea96615460
Ability to filter passwords from the log in mod_http_api ( #1888 )
...
* Ability to filter passwords from the log when creating users through the mod_http_api
2017-07-27 15:30:56 +02:00
Konstantinos Kallas
61d1411ab3
Sync fork with upstream
2017-07-26 09:54:23 +03:00
Konstantinos Kallas
92e38190aa
Encode strings using a library function and not my custom made
2017-07-25 14:13:40 +03:00
Konstantinos Kallas
09918b5912
Add a try catch arounf list certificates
2017-07-23 21:47:22 +03:00
Christophe Romain
2e88d001d6
Fix errors from 1a0db3d
2017-07-21 11:42:03 +02:00
Badlop
1a0db3de3a
Describe commands arguments and results in ejabberd_sm, ext_mod, mod_mam
2017-07-21 11:26:53 +02:00
Badlop
250876ea1a
Fix indentation of commands lines
2017-07-21 11:26:47 +02:00
Holger Weiss
66510c1d78
Add mod_push_keepalive
...
This module tries to keep pending stream management sessions of push
clients alive (as long as the disconnected clients are reachable via
push notifications).
2017-07-21 01:07:36 +02:00
Holger Weiss
d6f1d3df5b
Support XEP-0357: Push Notifications
...
Closes #1379 .
2017-07-20 20:22:50 +02:00
Paweł Chmielowski
e216654c52
Don't add indentation after single item result in docs
2017-07-18 17:48:53 +02:00
Christophe Romain
cc3391cc1c
Use string:join instead of lists:join
2017-07-18 15:43:46 +02:00
Christophe Romain
b8d56a7c11
Improve formatting of documented API parameters
2017-07-18 15:01:01 +02:00
Konstantinos Kallas
9ce1f12b66
Pretty print list-certificates
2017-07-18 13:28:44 +03:00
Paweł Dorofiejczyk
de1a66dfbe
Fix old route record in mnesia's route table haven't been remove when restarting in some cases ( #1184 )
2017-07-17 15:14:30 +02:00
Konstantinos Kallas
2e18122cd9
Print validity in list-certificates
2017-07-17 13:40:53 +03:00
Konstantinos Kallas
8fe551cc68
Add a stub for the list-certificates command
2017-07-17 11:39:27 +03:00
Konstantinos Kallas
09c3496ff1
Remove httpdir from some function arguments as we now use the built in ejabberd http server for authorizations
2017-07-17 10:48:57 +03:00
Konstantinos Kallas
fa3108e6e2
Save acquired certificates in persistent storage
2017-07-17 10:42:09 +03:00
Konstantinos Kallas
9cf596c67b
Change the persistent data structure from a record to a proplist
...
This is done so that possible future updates to the data structure don't break existing code.
With this change it will be possible to update the data structure and keep the same old persistent data file, which will still have the expected list format but with more properties
2017-07-17 09:59:38 +03:00
Konstantinos Kallas
478a12637d
Separate the persistent data structure functions
2017-07-17 09:40:36 +03:00
Konstantinos Kallas
4d977535f2
Make some persistent data wrapper functions
2017-07-17 09:35:37 +03:00
Paweł Chmielowski
2cd193f97c
Expand catch block used to report errors in doc generator
2017-07-14 17:18:07 +02:00
Paweł Chmielowski
33a9d6a3c3
Fix args_examples from last commit
2017-07-14 17:17:26 +02:00
Badlop
fdb863ce70
Describe even more command arguments and results in mod_admin_extra
2017-07-14 16:43:30 +02:00
Konstantinos Kallas
77a96b0ec6
Solve acme challenges using built in http server
2017-07-12 19:23:52 +03:00
Konstantinos Kallas
5199ede4a2
Changle acme file permissions
...
Also changed some specs
2017-07-11 11:11:00 +03:00
Konstantinos Kallas
c50f6c218f
Clean up code by adding throws instead of passing the error value
2017-07-07 18:32:07 +03:00
Konstantinos Kallas
5866124138
Clean up get_certificate code
2017-07-07 17:37:44 +03:00
Holger Weiss
f6bdc6fdb2
mod_privacy: Don't crash while copying c2s state
...
Don't assume 'privacy_active_list' is set when c2s_copy_session/2 is
called.
2017-07-07 14:28:22 +02:00
Holger Weiss
8f25baada6
mod_privacy: Apply cosmetic change to type spec
2017-07-07 14:25:55 +02:00
Badlop
aaef1a14b4
Fix set_presence command to work in recent ejabberd
2017-07-07 10:55:08 +02:00
Evgeniy Khramtsov
22e8f5fd51
Add copyright and fix description for some sources
2017-07-06 21:27:04 +03:00
Paweł Chmielowski
3b0eee785f
Handle new possible result from ejabberd_config.add_option
2017-07-06 17:19:22 +02:00
Evgeniy Khramtsov
ffdaff3740
Make ejabberd_cluster modular
...
For setting the cluster backend new global option 'cluster_backend' is
introduced. The default and only available value at the moment is 'mnesia'
2017-07-06 15:47:35 +03:00
Paweł Chmielowski
56d273477e
Remove old command calling interface
2017-07-06 14:24:25 +02:00
Evgeniy Khramtsov
a35b9dd9cc
Close accepted socket if sockname/peername has failed
...
Fixes #1834
2017-07-06 14:49:21 +03:00
Konstantinos Kallas
56fc0efbc8
Split ACME module into two
...
1. A communications module that handles all requets/responses and other low level stuff that have to do with the ACME CA
2. A head module that will do all the useful stuff
2017-07-04 11:44:22 +03:00
Konstantinos Kallas
d3c477646f
Add support for command get_certificates, very crude
2017-07-03 13:37:32 +03:00
Paweł Chmielowski
a58de70f06
Fix invalid argument in get_messages_susbset
...
This should fix #1818
2017-06-30 14:24:35 +02:00
Christophe Romain
800965a957
Avoid useless calls on simples subscriptions ( #1313 )
2017-06-29 15:24:18 +02:00
Alexey Shchepin
fcf672c50e
Add allow_local_users to mod_block_strangers ( #1804 , #1809 )
2017-06-29 14:55:24 +03:00
Badlop
b66e369a1d
Fix Salt import from prosody SCRAMmed password ( #1803 )
2017-06-29 10:28:44 +02:00
Badlop
3c7c71cfa6
In offline export to SQL, first write all DELETE, later all INSERT ( #1509 )
2017-06-28 11:14:59 +02:00
Konstantinos Kallas
637d9b054b
Support get-cert, revoke-cert. Also cleaned some typespecs
2017-06-26 19:03:21 +03:00
Badlop
1bfb0ab39c
Fix username in mam export ( #1510 )(thanks to themaverik)
2017-06-26 14:38:12 +02:00
Badlop
4ef1cdec12
Write validator for mod_multicast's limits option
2017-06-26 13:39:50 +02:00
Badlop
0534678028
Use YAML syntax for limits option in mod_multicast
2017-06-26 11:26:53 +02:00
Paweł Chmielowski
70606d7f1a
Catch exception that may happen when sending data over websocket
...
This fixes #1667
2017-06-23 17:19:37 +02:00
Evgeny Khramtsov
54e6e1a5fb
Merge pull request #1793 from marcphilipp/bugfix/set_room_affiliation_master
...
Fix mod_muc_admin:set_room_affiliation
2017-06-22 18:28:12 +04:00
Evgeniy Khramtsov
5bb7a0b0db
Don't let a receiver to crash if a controller is unavailable
...
Fixes #1796
2017-06-22 16:58:46 +03:00
Konstantinos Kallas
330456bcf0
Indent using Emacs
2017-06-22 14:47:56 +03:00
Konstantinos Kallas
396bd5eb3d
Removed some ?INFO_MSG
2017-06-22 11:38:40 +03:00
Konstantinos Kallas
dd79dea81d
Support new_cert, make certificate request
2017-06-22 11:31:50 +03:00
Marc Philipp
976a8c9cc9
Fix mod_muc_admin:set_room_affiliation
2017-06-21 17:20:58 +02:00
Holger Weiss
950aca380c
mod_client_state: Reset state on session resume
...
Don't restore the previous CSI state when a stream management session is
resumed.
2017-06-21 01:05:46 +02:00
Holger Weiss
985b0a1933
mod_stream_mgmt: Add missing function specs
2017-06-21 01:00:29 +02:00
Christophe Romain
a7841ed486
Improve API documentation generator
2017-06-20 14:45:57 +02:00
Christophe Romain
a11e833a98
Make ext_mod api return rescode
2017-06-20 14:45:31 +02:00
Paweł Chmielowski
62ee051c6e
Fix invalid {args,result}_examples in mod_muc_admin
2017-06-19 16:31:07 +02:00
Paweł Chmielowski
5424ead01d
Generate better errors when not being able to generate documentation
2017-06-19 16:30:45 +02:00
Paweł Chmielowski
96d385bf82
Another tweak to md generator
2017-06-19 15:10:34 +02:00
Paweł Chmielowski
8e2258b16a
Update markdown api document generator
2017-06-19 15:02:02 +02:00
Konstantinos Kallas
dc4c00a78c
Add support for solving http-01 challenge
2017-06-18 13:20:47 +03:00
Konstantinos Kallas
1d1250b056
Cleanup acme_challenge.erl, move types and records in ejabberd_acme.hrl
2017-06-17 19:06:39 +03:00
Badlop
f87b46f454
Fix srg_user_add/del for non-Mnesia database backends ( #1780 )
2017-06-15 11:05:41 +02:00
Konstantinos Kallas
133d2ae6d5
Derive the alg field of the JWS object using a erlang-jose library function rather than hardcoding
2017-06-15 11:47:29 +03:00
Christophe Romain
5418b37314
Add pubsub import from prosody/metronome
2017-06-15 09:56:05 +02:00
Konstantinos Kallas
4fc3d511ce
Synchronize fork
2017-06-14 12:35:01 +03:00
Konstantinos Kallas
032ce9e53c
Refactor get requests, Implement authorization handling functions
2017-06-14 12:12:43 +03:00
Evgeniy Khramtsov
0aa64381ff
Fix IP address parsing for mod_metrics
2017-06-13 16:54:29 +03:00
Konstantinos Kallas
4b1c59e199
Major Refactoring, Separated Logic from Requests
2017-06-12 21:35:43 +03:00
Konstantinos Kallas
c25aa8378f
Add new-authz, refactor the http requests that all used the same code
2017-06-12 15:31:48 +03:00
Badlop
63b6e0d381
Switch access rule delete_old_users with protect_old_users ( #1772 )
2017-06-09 19:18:47 +02:00
Konstantinos Kallas
911b8188d2
Refactor the http response handlers.
...
Encapsulate some dangerous calls with try catch.
2017-06-09 19:47:50 +03:00
Konstantinos Kallas
167edacb5f
Make Stylistic Changes in order to conform to guidelines:
...
1. Remove trailing whitespace
2. Remove Macros
3. Handle all erroneous response codes the same way
4. Add specs
Also don't return nonces anymore when the http response is negative.
2017-06-09 18:53:54 +03:00
Konstantinos Kallas
53d47483c8
Implement some basic account handling functions
2017-06-09 15:49:27 +03:00
Paweł Chmielowski
62806607bf
Add missing ,
2017-06-09 12:10:40 +02:00
Badlop
b25b5c2f98
Improve export2sql explanation; remove obsolete and duplicated command
2017-06-09 12:02:49 +02:00
Badlop
ee8bbccb2a
Fix and document push_roster_all command
2017-06-08 19:54:34 +02:00
Konstantinos Kallas
926de60f5d
Support for new_cert
2017-06-05 17:10:37 +03:00
Konstantinos Kallas
df5d673e63
Solve http-01 challenge
2017-06-03 12:34:15 +03:00
Badlop
f6767ed061
Fix rooms list in WebAdmin ( #1753 )
2017-06-01 19:27:41 +02:00
Badlop
0982a9bc3c
Parse correctly presence_broadcast option in change_room_option command
2017-05-29 12:49:53 +02:00
Evgeniy Khramtsov
50327a0cfc
Fix case clause
...
Fixes #1746
2017-05-25 13:46:17 +03:00
Holger Weiss
5802062746
Cosmetic change: Fix indentation errors
2017-05-24 17:16:16 +02:00
Evgeniy Khramtsov
69de1780a0
Introduce --enable-stun and --enable-sip configure options
...
STUN/TURN and SIP is not compiled by default anymore.
Use --enable-stun, --enable-sip or --enable-all to enable them.
2017-05-23 13:12:48 +03:00
Evgeniy Khramtsov
6e8895f9e9
Get rid of sql_queries.erl
2017-05-23 12:25:13 +03:00
Evgeniy Khramtsov
e93762a720
Deprecate misc:encode_base64/1 and misc:decode_base64/1
2017-05-23 10:43:26 +03:00
Evgeniy Khramtsov
268065e5c4
Validate all certfiles on startup
2017-05-23 09:27:52 +03:00
Evgeniy Khramtsov
d7878ef131
Implement cache for mod_announce
2017-05-22 16:14:28 +03:00
Badlop
908bedeaa6
Describe command arguments and results in mod_muc_admin
2017-05-22 12:55:32 +02:00
Evgeniy Khramtsov
504860f065
Don't leak with UDP sockets
2017-05-22 11:29:53 +03:00
Evgeniy Khramtsov
3a96d72a7f
Implement cache for mod_private
2017-05-22 10:34:57 +03:00
Evgeniy Khramtsov
d88e4d495f
Don't store messages via a single process
2017-05-21 23:21:13 +03:00
Evgeniy Khramtsov
66a4e405e0
Improve mod_metrics
...
* Do not spawn a process per event
* Avoid UDP socket creation on every event
* Get rid of calls to str.erl module
* Add options 'ip' and 'port'
2017-05-21 14:24:57 +03:00
Evgeniy Khramtsov
0a77b9f43e
Get rid of a workaround against old Erlang bug
2017-05-21 13:30:46 +03:00
Evgeniy Khramtsov
470669fa6b
Get rid of db_type warning for mod_vcard_xupdate
2017-05-21 11:40:24 +03:00
Evgeniy Khramtsov
af29fb21df
Get rid of detection of modules' db_type detection
...
The detection sometimes leads to errorneous warnings.
We need to improve it later. For now I just remove the
detection as it doesn't fully work anyway.
2017-05-21 11:33:16 +03:00
Evgeniy Khramtsov
be50d57ddd
Declare ejabberd_oauth behaviour
2017-05-21 11:31:30 +03:00
Evgeniy Khramtsov
35d19b32f4
Implement cache for mod_privacy/mod_blocking
2017-05-20 22:36:32 +03:00
Paweł Chmielowski
654d907dcf
export_all is not needed here
2017-05-19 17:03:41 +02:00
Paweł Chmielowski
b013c29c7e
Fix values put in args_examples
2017-05-19 16:56:37 +02:00
Evgeniy Khramtsov
0ed23980a6
Get rid of Mnesia transaction in get_vcard/2
2017-05-18 21:24:47 +03:00
Evgeniy Khramtsov
a78862e05e
The default 'iqdisc' is now 'no_queue'
2017-05-18 19:13:18 +03:00
Evgeniy Khramtsov
bcb44ccb6f
Implement cache for mod_last
2017-05-18 13:21:17 +03:00
Evgeniy Khramtsov
736a182544
?SQL_UPSERT returns 'ok' on success
2017-05-18 12:10:36 +03:00
Evgeniy Khramtsov
97bb1250ba
Avoid erroneous usage of ?MODULE macro
2017-05-18 12:09:28 +03:00
Evgeniy Khramtsov
b0b7ac101c
Fix function_clause after authentication refactoring
...
Fixes https://github.com/processone/ejabberd-contrib/issues/213
2017-05-18 09:51:04 +03:00
Evgeniy Khramtsov
6691c59a7a
Clean up database code related to mod_vcard_xupdate
2017-05-17 19:29:19 +03:00
Evgeniy Khramtsov
1391d5a304
Use disc_only_copies for oauth_token Mnesia table
2017-05-17 17:42:22 +03:00
Evgeniy Khramtsov
8f595b58a7
Increase gen_mod's supervisor shutdown time
2017-05-17 17:33:07 +03:00
Evgeniy Khramtsov
1925b94131
Implement cache for mod_vcard and mod_vcard_xupdate
2017-05-17 17:13:34 +03:00
Konstantinos Kallas
ddb043aa71
More account support(Update/Info)
2017-05-17 16:55:26 +03:00
Evgeniy Khramtsov
fc794b680a
Add cache options to the validator
2017-05-17 16:03:41 +03:00
Evgeniy Khramtsov
a71065fcda
Ciphers should be a binary string
2017-05-17 15:42:18 +03:00
Evgeniy Khramtsov
7165196211
Get rid of unused variable
2017-05-17 15:24:32 +03:00
Evgeniy Khramtsov
f782955c06
Implement cache for roster
2017-05-17 14:47:35 +03:00
Evgeniy Khramtsov
3f13396d73
Fix use_cache/1 callback
2017-05-15 08:58:37 +03:00
Konstantinos Kallas
88365ed507
New account functional, very crude
2017-05-15 01:41:09 +03:00
Evgeniy Khramtsov
061d5f2380
Shut up dialyzer/xref if public_key:short_name_hash/1 is not available
2017-05-13 13:11:08 +03:00
Evgeniy Khramtsov
2d17a2850c
Only validate certfiles if public_key:short_name_hash/1 is available
2017-05-12 17:51:17 +03:00
Evgeniy Khramtsov
cc58ce6301
Introduce Certficate Manager
...
The major goal is to simplify certificate management in ejabberd.
Currently it requires some effort from a user to configure certficates,
especially in the situation where a lot of virtual domains are hosted.
The task is splitted in several sub-tasks:
* Implement basic certificate validator. The validator should check all
configured certificates for existence, validity, duration and so on. The
validator should not perform any actions in the case of errors except
logging an error message. This is actually implemented by this commit.
* All certificates should be configured inside a single section (something
like 'certfiles') where ejabberd should parse them, check the full-chain,
find the corresponding private keys and, if needed, resort chains and
split the certficates into separate files for easy to use by fast_tls.
* Options like 'domain_certfile', 'c2s_certfile' or 's2s_certfile' should
probably be deprecated, since the process of matching certificates with the
corresponding virtual hosts should be done automatically and these options
only introduce configuration errors without any meaningful purpose.
2017-05-12 16:27:09 +03:00
Evgeniy Khramtsov
d3c8fb7705
Check presence of some files during option validation
2017-05-12 09:34:57 +03:00
Evgeniy Khramtsov
9fe16a29e1
Gracefully process malformed passwords during password change
2017-05-11 17:15:23 +03:00
Evgeniy Khramtsov
31a3cc7b10
Gracefully process malformed passwords during registration
2017-05-11 17:09:26 +03:00
Evgeniy Khramtsov
a8dc5f80d1
Add 'access_remove' ACL to mod_register
2017-05-11 16:37:01 +03:00
Evgeniy Khramtsov
cdb191bb48
Rename is_user_exists -> user_exists
2017-05-11 15:49:06 +03:00
Evgeniy Khramtsov
633b68db11
Use cache for authentication backends
...
The commit introduces the following API incompatibilities:
In ejabberd_auth.erl:
* dirty_get_registered_users/0 is renamed to get_users/0
* get_vh_registered_users/1 is renamed to get_users/1
* get_vh_registered_users/2 is renamed to get_users/2
* get_vh_registered_users_number/1 is renamed to count_users/1
* get_vh_registered_users_number/2 is renamed to count_users/2
In ejabberd_auth callbacks
* plain_password_required/0 is replaced by plain_password_required/1
where the argument is a virtual host
* store_type/0 is replaced by store_type/1 where the argument is
a virtual host
* set_password/3 is now an optional callback
* remove_user/3 callback is no longer needed
* remove_user/2 now should return `ok | {error, atom()}`
* is_user_exists/2 now must only be implemented for backends
with `external` store type
* check_password/6 is no longer needed
* check_password/4 now must only be implemented for backends
with `external` store type
* try_register/3 is now an optional callback and should return
`ok | {error, atom()}`
* dirty_get_registered_users/0 is no longer needed
* get_vh_registered_users/1 is no longer needed
* get_vh_registered_users/2 is renamed to get_users/2
* get_vh_registered_users_number/1 is no longer needed
* get_vh_registered_users_number/2 is renamed to count_users/2
* get_password_s/2 is no longer needed
* get_password/2 now must only be implemented for backends with
`plain` or `scram` store type
Additionally, the commit introduces two new callbacks:
* use_cache/1 where the argument is a virtual host
* cache_nodes/1 where the argument is a virtual host
New options are also introduced: `auth_use_cache`, `auth_cache_missed`,
`auth_cache_life_time` and `auth_cache_size`.
2017-05-11 14:37:21 +03:00
Badlop
e890525788
Use misc:atom_to_binary/1 instead of the deprecated jlib.erl ( #1510 )
2017-05-10 12:05:52 +02:00
Badlop
6b8c61b3a2
Update comment: aux.erl was renamed to misc.erl
2017-05-10 12:03:13 +02:00
Badlop
4849ac9781
Use jid:encode/1 instead of the deprecated jid:to_string/1 ( #1510 )
2017-05-10 11:22:15 +02:00
Lamtei W
cd18d3d8a7
Fix: update sql statement, added missing delimeter for sql queries
2017-05-10 11:22:11 +02:00
Lamtei W
a0908ba393
Added export function for mam module
2017-05-10 11:22:07 +02:00
Konstantinos Kallas
02dbe39b06
Examining jose functionality
2017-05-09 23:27:37 +03:00
Konstantinos Kallas
67a00939db
Small improvements to the acme module
2017-05-08 20:29:58 +03:00
Evgeniy Khramtsov
5d7a704ca5
Remove forgotten 'export_all'
2017-05-08 17:23:29 +03:00
Evgeniy Khramtsov
cee90a886e
Don't list 'redis_pool_size' option multiple times
2017-05-08 17:22:34 +03:00
Evgeniy Khramtsov
6b6d07745d
Split some functions in smaller ones
2017-05-08 16:29:01 +03:00
Konstantinos Kallas
05362b9a7d
Very basic acme client, only stubs
2017-05-08 15:35:11 +03:00
Evgeniy Khramtsov
8368a0850a
Don't call gen_mod:get_opt() outside of modules
2017-05-08 14:34:35 +03:00
Evgeniy Khramtsov
01a2c9fe12
Add type specs for Module:opt_type/1
2017-05-08 12:59:28 +03:00
Evgeniy Khramtsov
3241c2506b
Introduce 'sql_connect_timeout' option ( #1698 )
2017-05-05 16:25:10 +03:00
Evgeniy Khramtsov
48d6ae1def
Introduce 'sql_query_timeout' option
...
Fixes #1698
2017-05-05 13:20:28 +03:00
Evgeniy Khramtsov
f2dc8c0442
Emit deprecation warning for SM related listening options
2017-05-05 12:31:17 +03:00
Evgeniy Khramtsov
b174e2c9c6
Improve validation of second-level options
2017-05-05 11:11:17 +03:00
Evgeniy Khramtsov
fb17c1b99f
Make it possible to validate second-level options
2017-05-04 17:34:32 +03:00
Paweł Chmielowski
c64e77a08c
Catch exceptions from acl:add_list in web admin
2017-05-04 12:01:22 +02:00
Evgeniy Khramtsov
cf53d834e9
Introduce 'iqdisc' global option
2017-05-04 12:24:47 +03:00
Evgeniy Khramtsov
a2a4a4970e
Validate module options on start_module/2
2017-05-04 09:09:10 +03:00
Badlop
31fa36003f
Parse ldap_uids in mod_vcard_ldap like in eldap_utils ( #319 )
2017-05-03 23:32:56 +02:00
Evgeniy Khramtsov
54cc49bc70
Validate new options before module reloading
2017-05-01 14:01:12 +03:00
Evgeniy Khramtsov
fe662c1a0a
Don't forget to delete digraph
2017-05-01 10:14:00 +03:00
Evgeniy Khramtsov
fddd6110e0
Don't validate an option in gen_mod:get*opt() functions
...
The changes are very similar to those from previous commit:
* Now there is no need to pass validating function in
gen_mod:get_opt() and gen_mod:get_module_opt() functions,
because the modules' configuration keeps already validated values.
* New functions gen_mod:get_opt/2 and gen_mod:get_module_opt/3 are
introduced.
* Functions gen_mod:get_opt/4 and get_module_opt/5 are deprecated.
If the functions are still called, the "function" argument is
simply ignored.
* Validating callback Mod:listen_opt_type/1 is introduced to validate
listening options at startup.
2017-04-30 19:01:47 +03:00
Evgeniy Khramtsov
2b63d07329
Merge branch 'new-option-validation'
2017-04-29 11:48:57 +03:00
Evgeniy Khramtsov
b82b93f8f0
Don't validate an option in ejabberd_config:get_option() functions
...
The commit introduces the following changes:
* Now there is no need to pass validating function in
ejabberd_config:get_option() functions, because the configuration
keeps already validated values.
* New function ejabberd_config:get_option/1 is introduced
* Function ejabberd_config:get_option/3 is deprecated. If the function
is still called, the second argument (validating function) is simply
ignored.
* The second argument for ejabberd_config:get_option/2 is now
a default value, not a validating function.
2017-04-29 11:39:40 +03:00
Evgeniy Khramtsov
7129aebe76
Don't re-define validation functions in multiple places
2017-04-28 13:23:32 +03:00
Paweł Chmielowski
2bcf822637
Fix elixir tests
2017-04-28 10:08:09 +02:00
Evgeniy Khramtsov
0b93cb7ece
Store options using p1_options module
2017-04-27 19:44:58 +03:00
Badlop
d18d99e8ec
Bug requesting non-existent data with private_get command ( #1690 )
2017-04-26 23:14:30 +02:00
Holger Weiss
9b8364b6c8
Merge remote-tracking branch 'processone/pr/1699'
...
* processone/pr/1699:
Add support for HTTP File Upload, version 0.3.0
2017-04-26 21:18:16 +02:00
Badlop
c0eb85ce53
Allow a room admin also to subscribe another JID
2017-04-26 01:30:12 +02:00
Holger Weiss
56a4bf8f3c
mod_stream_mgmt: Fix typo in variable name
2017-04-25 22:37:27 +02:00
Holger Weiss
9cc332d6b3
mod_stream_mgmt: Fix 'if_offline' detection
2017-04-25 22:32:03 +02:00
Evgeniy Khramtsov
120682ec8b
Include original 'id' and 'type' attributes in offline event
2017-04-25 17:59:26 +03:00
Evgeniy Khramtsov
069bf6dec6
Make sure only jabber ❌ event tag is present in offline event
2017-04-25 17:21:24 +03:00
Holger Weiss
d0f3696596
randoms: Keep compatibility with Erlang/OTP 17
2017-04-24 23:51:01 +02:00
Evgeniy Khramtsov
c923bb5c10
Avoid changing configuration on listener deletion
2017-04-23 16:42:54 +03:00
Evgeniy Khramtsov
9a93acc62a
Improve Mnesia tables creation and transformation
2017-04-23 16:37:58 +03:00
Evgeniy Khramtsov
8770fc98e1
Use round-robin algorithm when selecting worker from DB pool
2017-04-23 11:54:56 +03:00
Evgeniy Khramtsov
18433e289f
Add clear_cache admin command
2017-04-22 11:33:39 +03:00
Holger Weiss
168712ebbd
Add support for HTTP File Upload, version 0.3.0
...
Support the current XEP-0363 version in addition to the previous
revisions.
2017-04-21 18:36:53 +02:00
Evgeniy Khramtsov
02790b105e
Speedup Mnesia tables initialization
2017-04-21 12:27:15 +03:00
Evgeniy Khramtsov
d88c08e074
Use new cache API in mod_shared_roster_ldap
2017-04-21 10:43:14 +03:00
Evgeniy Khramtsov
9937cb48fd
Use new cache API in ejabberd_oauth
2017-04-21 09:02:10 +03:00
Evgeniy Khramtsov
5444475b1d
Correct option validation
2017-04-20 18:55:16 +03:00
Evgeniy Khramtsov
264a40f217
Use new cache API in mod_mam
2017-04-20 18:52:16 +03:00
Evgeniy Khramtsov
a26f90a346
Use new cache API in mod_caps
2017-04-20 18:18:26 +03:00
Badlop
ca9d04ba6b
Fix private_get command sending a proper xmlel ( #1683 )
2017-04-20 16:50:08 +02:00
Badlop
4e86a71ab2
When getting user rooms, filter by the serverhost as expected ( #1683 )
2017-04-20 16:49:32 +02:00
Holger Weiss
3682888655
mod_stream_mgmt: Preserve stanza count on timeout
...
If a pending stream management session times out, call
ejabberd_c2s:process_terminated/2 *before* storing the incoming stanza
count. Without this change, the session table entry that holds the
stanza count was purged while closing the session.
2017-04-19 23:04:20 +02:00
Holger Weiss
3adf720bc1
Use #jid{} type for #muc_unsubscribe.jid
2017-04-19 22:18:23 +02:00
Badlop
d7a999eaf5
Don't use jid:from_string as it's deprecated, see jid.erl line 43
2017-04-19 21:47:59 +02:00
Evgeniy Khramtsov
64333f69ea
Don't try to load already loaded applications
2017-04-19 11:40:58 +03:00
Holger Weiss
b8a7720986
ejabberd_c2s: Don't close session on stream resume
...
Don't let ejabberd_c2s close the session and unset presence if a
'c2s_terminated' callback stops hook execution, as is done in
mod_stream_mgmt:c2s_terminated/2 on resumption.
Fixes #1680 .
2017-04-19 01:20:28 +02:00
Evgeniy Khramtsov
7c9415356d
Function fix_from_to/2 should not crash when 'from' is undefined
...
Fixes #1678
2017-04-18 01:38:35 +03:00
getong
ab751d290a
lager_crash_log in some cases not run, catch it
2017-04-17 12:07:23 +08:00
Evgeniy Khramtsov
f496d22074
Improve logging message
2017-04-16 23:56:12 +03:00
Evgeniy Khramtsov
86b680a3ad
Move compile_exprs() to misc module
2017-04-16 20:05:46 +03:00
Evgeniy Khramtsov
78dba217bf
Speedup configuration options lookup
...
We now avoid excessive ETS lookups; instead, we use dynamically
compiled module 'ejabberd_options' keeping the configuration options
2017-04-16 15:29:10 +03:00
Evgeniy Khramtsov
878c762cdf
Log human readable description when configuration file is not found
2017-04-16 01:22:55 +03:00
Evgeniy Khramtsov
920f2678ac
Report configuration file location on startup
2017-04-16 01:02:46 +03:00
Evgeniy Khramtsov
b6182e6fe8
Speedup loading of translation files
...
A dump of 'translations' ETS table is now stored on disc.
The table is only re-created when new/deleted/modified translation
files are detected; otherwise, the ETS table is restored from
the dump file on startup.
2017-04-16 00:29:55 +03:00
Evgeniy Khramtsov
41fe062a8d
Lower log level for some messages
2017-04-15 15:47:00 +03:00
Evgeniy Khramtsov
4c5f97bb9a
Add Riak as mod_proxy65 RAM backend
2017-04-15 15:38:48 +03:00
Evgeniy Khramtsov
f9c24ab16d
Add Riak as mod_carboncopy RAM backend
2017-04-15 14:41:14 +03:00
Evgeniy Khramtsov
72b536b52d
Add Riak as BOSH RAM backend
2017-04-15 13:52:36 +03:00
Evgeniy Khramtsov
598c79ff86
Fix cleaning of Riak route table
2017-04-15 13:36:29 +03:00
Evgeniy Khramtsov
da66eb5714
Add Riak as router RAM backend
2017-04-15 13:07:56 +03:00
Evgeniy Khramtsov
c290b4284f
Fix closing of outbound S2S connections
2017-04-15 11:15:50 +03:00
Evgeniy Khramtsov
fcb978248f
Add Riak as session manager RAM backend
2017-04-15 10:02:32 +03:00
Evgeniy Khramtsov
5774edfe79
Improve ejabberd_c2s:close()
2017-04-15 08:30:41 +03:00
Evgeniy Khramtsov
5c23187d2c
Make sure stream trailer is sent in the very end
2017-04-14 20:56:01 +03:00
Evgeniy Khramtsov
0a7eb33772
Better process session close
2017-04-14 20:41:25 +03:00
Evgeniy Khramtsov
9de075029b
Fix a typo
2017-04-14 20:40:39 +03:00
Evgeniy Khramtsov
d110cbb6e2
Fix ejabberd_router:is_my_route/1
2017-04-14 20:34:00 +03:00
Evgeniy Khramtsov
e40baf0bda
Use cache in front of Redis/SQL RAM backends
2017-04-14 13:57:52 +03:00
Badlop
177d5fec86
Allow a room admin to unsubscribe another JID
2017-04-13 22:37:39 +02:00
Holger Weiss
87ae2d7996
mod_muc_room: Replace deprecated function call
...
Use jid:decode/1 instead of jlib:string_to_jid/1.
2017-04-11 13:38:33 +02:00
Christophe Romain
b1acd1183f
Rename aux.erl as misc.erl
...
Thanks Microsoft Windows to not support some filenames
2017-04-11 12:13:58 +02:00
Badlop
1e82db5655
New muc_register_nick command (thanks to Peter Marheine)( #1407 )
2017-04-10 12:23:14 +02:00
Christophe Romain
f2ca4cb3cd
Merge pull request #1666 from weiss/fix-csi
...
Let CSI keep latest stanzas of each given full JID
2017-04-07 15:10:39 +02:00
Christophe Romain
cf784772c9
Merge pull request #1664 from weiss/fix-routing
...
Fix routing of groupchat and headline messages
2017-04-07 15:10:26 +02:00
Christophe Romain
0567d528c6
Let ext_mod be aware of p1_utils includes
2017-04-07 12:51:43 +02:00
Christophe Romain
36e3f4bc2a
Generate ejabberd lib dir when not available in code server ( #1665 )
...
This is the case if running ejabberd from development directory
when code:lib_dir(ejabberd) returns {error, nad_name}.
2017-04-07 12:09:43 +02:00
Christophe Romain
1510ee0b3c
Merge pull request #1660 from michal800106/master
...
Fix order of starting supervisors.
2017-04-07 10:04:38 +02:00
Evgeniy Khramtsov
3729acc5b0
Improve logging of Redis errors
2017-04-07 09:10:33 +03:00
Holger Weiss
9fa5f37f74
mod_client_state: Remove some empty lines
2017-04-06 23:00:53 +02:00
Holger Weiss
0ddd2e0ebf
mod_client_state: Queue stanzas of each full JID
...
Keep the latest stanzas of each given full JID, rather than dropping
them when stanzas from a different resource are received. This change
makes sure the recipient receives the latest status of all clients of
each contact. It also ensures the recipient will see the current list
of occupants of joined MUC rooms.
2017-04-06 22:19:00 +02:00
Holger Weiss
7827faae4b
mod_client_state: Don't keep track of queue size
...
Use maps:size/1 rather than keeping track of the size ourselves.
2017-04-06 21:01:26 +02:00
Evgeniy Khramtsov
245fe04289
Improve type specs and return values
2017-04-06 20:56:46 +03:00
Evgeniy Khramtsov
6876a37e61
Add Redis pool support
...
Fixes #1624
2017-04-06 17:56:37 +03:00
michal
81fe380de2
Fix order of starting supervisors.
...
ExtMod should be loaded before GenModSupervisor because ext_mod adds proper paths to ebin from modules (ejabberd-contrib).
Without this change you have to add -pa parameter with path to module's ebin.
2017-04-06 08:50:23 +02:00
Holger Weiss
179e8934cf
ejabberd_sm: Fix routing of headline messages
...
As per RFC 6121, silently drop headline messages sent to the bare JID of
an offline user or to the full JID of an unavailable resource.
2017-04-05 21:03:13 +02:00
Holger Weiss
8bfb6fdd4e
ejabberd_sm: Fix routing of groupchat messages
...
As per RFC 6121, don't (re)route groupchat messages sent to a bare JID
or to an unavailable resource.
2017-04-05 20:41:10 +02:00
Holger Weiss
89f81c89da
ejabberd_sm: Fix typo in debug message
2017-04-05 20:23:28 +02:00
Evgeniy Khramtsov
ad948d33c0
Add description to feature-not-implemented error
2017-04-05 15:19:00 +03:00
Evgeniy Khramtsov
6fa55e7c38
Set 'read_concurrency' for some ETS tables
2017-04-05 15:10:18 +03:00
Evgeniy Khramtsov
2febbe5ffb
Don't misuse monotonic_time/0
2017-04-05 10:42:42 +03:00
Evgeniy Khramtsov
f5b0cd1793
Don't log warning on successful ping reply
2017-04-04 17:14:24 +03:00
Evgeniy Khramtsov
3a0b4ad8da
Merge branch 'master' of github.com:processone/ejabberd
2017-04-04 09:53:45 +03:00
Evgeniy Khramtsov
408f9b515e
Fix c2s connection close on demand
...
Fixes #1652
2017-04-04 09:52:42 +03:00
Alexey Shchepin
f45dc46856
Forget prepared SQL queries on database connect ( #1325 )
2017-04-03 16:42:41 +03:00
Christophe Romain
b75780b9cd
Always init pubsub_index when using mnesia
2017-04-03 12:13:20 +02:00
Alexey Shchepin
19614678e9
Change mnesia dir detection
2017-04-03 12:57:47 +03:00
Christophe Romain
55ea097bce
Remove obsolete mnesia migration calls
...
Now that plugins directly use ejabberd_mnesia and can include their own
transform handler, we don't need pubsub_migrate anymore.
People upgrading from 2.1.1x version must upgrade to 17.01 first.
pubsub_migrate module remains to support any manual process requiring it
2017-04-03 11:37:07 +02:00
Evgeniy Khramtsov
9d9037856c
Improve redis related code
2017-04-02 11:56:09 +03:00
Evgeniy Khramtsov
5087e9c2df
Use ejabberd_sql:abort/1 instead of exit/1
2017-03-31 19:10:07 +03:00
Evgeniy Khramtsov
178a0a3e1b
Merge branch 'master' of github.com:processone/ejabberd
2017-03-31 19:08:16 +03:00
Evgeniy Khramtsov
05ef009552
Add Redis as mod_proxy65 RAM backend
2017-03-31 19:07:56 +03:00
Alexey Shchepin
316da00345
Add ejabberd_sql:abort/1 and ejabberd_sql:restart/1
2017-03-31 17:37:24 +03:00
Evgeniy Khramtsov
f449df161a
Add SQL as mod_proxy65 RAM backend
2017-03-31 08:16:28 +03:00
Evgeniy Khramtsov
3e4ed83cb3
Raise bad_node instead of node_down for consistency reason
2017-03-30 17:51:37 +03:00
Evgeniy Khramtsov
f5f353d90a
Do not duplicate enc_pid/dec_pid functions
2017-03-30 17:44:43 +03:00
Christophe Romain
bfde473c3b
Add missing jlib->aux convertion
2017-03-30 14:28:55 +02:00
Christophe Romain
c93bf732db
Refactor pubsub's get_last_items
2017-03-30 14:26:30 +02:00
Evgeniy Khramtsov
7bcbea2108
Deprecate jlib.erl in favor of aux.erl
...
Since the main goal of jlib.erl is lost, all auxiliary functions
are now moved to aux.erl, and the whole jlib.erl is now deprecated.
2017-03-30 14:17:13 +03:00
Christophe Romain
997ac58329
Merge pull request #1646 from weiss/custom-headers
...
Add custom_headers option for ejabberd_http listeners
2017-03-30 12:47:42 +02:00
Evgeniy Khramtsov
085b61eea5
Add Redis as mod_carboncopy RAM backend
2017-03-30 11:45:09 +03:00
Evgeniy Khramtsov
31fd83b2ae
Add SQL as mod_carboncopy RAM backend
2017-03-30 10:31:51 +03:00
Badlop
4b4c039fde
oauth_list_tokens and oauth_revoke_token work only in Mnesia ( #1644 )
2017-03-29 12:41:27 +02:00
Evgeniy Khramtsov
0b3cf26406
Fix a typo
2017-03-29 13:20:15 +03:00
Evgeniy Khramtsov
12e01a5119
Add SQL as mod_muc RAM backend
2017-03-29 12:58:01 +03:00
Evgeniy Khramtsov
ba6c88cb90
Add Redis as mod_bosh RAM backend
2017-03-28 21:12:26 +03:00
Evgeniy Khramtsov
e5815553cb
Add SQL as mod_bosh RAM backend
2017-03-28 20:33:57 +03:00
Evgeniy Khramtsov
cba6e1b3ab
Add Redis as router RAM backend
2017-03-28 19:34:04 +03:00
Evgeniy Khramtsov
117f31125d
Add SQL as router RAM backend
2017-03-28 16:31:37 +03:00
Holger Weiss
510fde58d8
mod_http_upload: Don't add "Server" header line
...
Administrators can add the "Server" header line using the new listener
option "custom_headers", if desired.
2017-03-28 00:03:17 +02:00
Holger Weiss
191fc1b4e8
ejabberd_http: Expand @VERSION@ in custom headers
...
Let ejabberd_http expand the @VERSION@ keyword to the ejabberd version
if specified in the "custom_headers" listener option.
Closes #1414 .
2017-03-27 23:52:49 +02:00
Holger Weiss
41de5e78d0
ejabberd_http: Add "custom_headers" option
...
If the new listener option "custom_headers" is specified, include those
headers with the HTTP(S) response.
Closes #517 .
2017-03-27 23:19:11 +02:00
Christophe Romain
5b6d042de2
Fix PEP issues ( #1636 )
2017-03-27 16:24:24 +02:00
Evgeniy Khramtsov
e30d41e5f0
Merge branch 'new_queue'
...
Conflicts:
rebar.config
src/mod_muc_admin.erl
2017-03-24 13:27:56 +03:00
Evgeniy Khramtsov
e1f01f0c8a
Avoid PID collisions
...
Fixes #1470
2017-03-24 11:03:23 +03:00
Holger Weiss
e469b6ffb4
prosody2ejabberd: Fix offline message record type
...
mod_offline now expects a #message{} rather than an #xmlel{} record.
2017-03-21 18:35:07 +01:00
Holger Weiss
a1068df602
prosody2ejabberd: Fix message attribute removal
...
Actually remove the 'stamp' and 'stamp_legacy' attributes from imported
offline messages as intended.
2017-03-21 18:23:55 +01:00
Paweł Chmielowski
f819272b88
Fix crash in mod_muc_admin, we operate on integers here not lists
2017-03-21 15:36:42 +01:00
Alexey Shchepin
9fb188afbc
Don't block contacts with subscription=to in mod_block_strangers ( #1609 )
2017-03-21 15:42:38 +03:00
Christophe Romain
70050b52ad
Use item creation date in rsm order ( #1516 )
2017-03-21 12:45:41 +01:00
Evgeny Khramtsov
44484fa4ae
Merge pull request #1626 from weiss/fix-scram-import
...
prosody2ejabberd: Fix SCRAM hash conversion
2017-03-21 15:44:29 +04:00
Evgeniy Khramtsov
f3ecba0445
Use new xdata compiler API
2017-03-20 09:57:11 +03:00
Evgeniy Khramtsov
06f42bc749
Better log s2s auth failures when TLS is not available
2017-03-18 13:59:24 +03:00
Evgeniy Khramtsov
72da5bd062
Log startup time
2017-03-18 10:24:42 +03:00
Edward Chow
c5af421cee
Fixed wrong parameter values in mod_muc_admin
...
Corrected wrong parameter values passing to register_online_room(Room, Host, Pid) of mod_muc
2017-03-18 03:07:23 +08:00
Evgeniy Khramtsov
91245141e9
Set translation callback on startup
2017-03-17 21:35:02 +03:00
Paweł Chmielowski
2d67ff2249
Teach mod_http_fileserver ability to send 304 Not Modified
2017-03-17 11:58:40 +01:00
Holger Weiss
0ef6973457
prosody2ejabberd: Fix SCRAM hash conversion
...
Closes #1549 .
2017-03-16 23:15:08 +01:00
Badlop
1aeaa794e1
Encode in base64 when getting scram data with import_prosody ( #1549 )
2017-03-15 11:42:26 +01:00
Evgeniy Khramtsov
b932afb0cd
Use correct pid when registering local route
...
This fixes #1600
2017-03-15 10:27:22 +03:00
Alexey Shchepin
9a142eb807
Update cyrsasl_oauth to internal API changes
2017-03-14 17:25:09 +03:00
Alexey Shchepin
069d28b1ed
Get rid of p1_sha calls
2017-03-14 02:31:51 +03:00
Paweł Chmielowski
301b1b7a7a
Fix handling of xmlrpc request without authentication structure
...
This is problem from issue #1602
2017-03-13 16:41:52 +01:00
Badlop
113ed66f49
In module_install copy also deps/ebin and priv files (ejabberd-contrib#200)
2017-03-13 11:26:58 +01:00
Evgeniy Khramtsov
071c1dcb64
Return 'closed' instead of 'einval' on closed sockets
2017-03-12 08:55:54 +03:00
Evgeniy Khramtsov
4b1bdb563e
Improve overloaded S2S queue processing
2017-03-10 20:21:04 +03:00
Paweł Chmielowski
0822108fc8
Teach web admin about ip acl rules
2017-03-10 14:39:47 +01:00
Evgeniy Khramtsov
02064ae12a
Add support for file-based queues
...
It's now possible to use files as internal packet queues.
The following options are introduced:
* queue_type: the option can be set to `ram` (default) or `file`.
The option can be set per virtual host.
* queue_dir: path to the directory where queues will be allocated.
The default is 'queue' directory inside Mnesia directory.
This is a global option and cannot be set per virtual host.
2017-03-10 15:12:43 +03:00
Paweł Chmielowski
782caaa678
Improve formatting of erlang terms shown in web admin
2017-03-10 10:33:16 +01:00
Badlop
ee849338dd
Include shared groups also when contact is is personal roster ( #1585 )
2017-03-09 19:21:45 +01:00
Badlop
7e2380ab0c
Remove mod_pubsub from ejd2sql export, as it isn't implemented ( #1584 )
2017-03-08 16:23:01 +01:00
Badlop
b0a950b6dd
Fix handling ejabberd_sql:sql_transaction result ( #1584 )
2017-03-08 16:22:13 +01:00
Evgeniy Khramtsov
dd11ed82d7
Report more TLS errors
2017-03-08 08:27:54 +03:00
Evgeniy Khramtsov
bdc278399d
Fix typo and spec
2017-03-07 22:21:44 +03:00
Evgeniy Khramtsov
b71c4c0e52
Remove forgotten compile_all
2017-03-07 21:40:39 +03:00
Evgeniy Khramtsov
d0a185f2d9
Report some TLS errors
2017-03-07 18:46:02 +03:00
Evgeniy Khramtsov
8b29af629b
Best Practices for Use of SASL EXTERNAL with Certificates (XEP-0178) support
...
It is now possible for client connections to login using PKIX certificates.
This is disabled by default, to enable it:
- either set 'tls_verify: true' and 'cafile: /path/to/CAfile'
in the corresponding listener's section
- or set equivalent per-vhost options 'c2s_tls_verify' and 'c2s_cafile'
2017-03-07 14:20:50 +03:00
Evgeniy Khramtsov
e5aac80cb4
Better handle errors in ejabberd_receiver calls
2017-03-02 16:02:44 +03:00
Evgeniy Khramtsov
4e014b4c5c
Fix previous commit
2017-03-02 15:34:26 +03:00
Evgeniy Khramtsov
cebdb87387
Revert "Remove relict mod_service_log"
...
This reverts commit 0d4e1abbd1
.
However, stanzas are now encapsulated into forwarded element
(as per XEP-0297) instead of <route/> nonza.
2017-03-02 15:30:34 +03:00
Evgeniy Khramtsov
8e41bdc25e
Improve reporting of unavailable SASL mechanisms
2017-03-01 15:23:22 +03:00
Evgeniy Khramtsov
28f4131d50
Resolve all addresses from SRV lookup
2017-03-01 14:37:35 +03:00
Evgeniy Khramtsov
f6e2840947
External components must always provide 'to' attribute
2017-03-01 00:17:27 +03:00
Evgeniy Khramtsov
c3ef56702a
Add s2s work-around for gmail.com
2017-02-28 20:15:05 +03:00
Evgeniy Khramtsov
489385d565
Make sure all hooks are called with proper host in ejabberd_c2s
2017-02-28 16:47:31 +03:00
Paweł Chmielowski
ce3317da7a
Fix bug in api_permission parsing
2017-02-28 13:36:34 +01:00
Jerome Sautret
d6a9ef5bc1
Propagate the TRANSACTION_TIMEOUT to pgsql driver (EJAB-1266)
2017-02-28 12:19:07 +01:00
Evgeniy Khramtsov
ac74b7dca1
Don't crash on malformed IP addresses
2017-02-28 13:11:49 +03:00
Evgeniy Khramtsov
d81b07bd5f
Improve logging of outbound s2s auth failures
2017-02-28 12:13:35 +03:00
Evgeniy Khramtsov
95a8f58314
Improve logging of dialback failures
2017-02-28 10:13:09 +03:00
Evgeniy Khramtsov
f3594ec881
Resend stream header before calling handle_auth_success/2 callback
2017-02-28 10:12:11 +03:00
Paweł Chmielowski
7a186e242d
Fix compilation on R17
2017-02-27 20:38:59 +01:00
Paweł Chmielowski
b2e16ffb12
Fix parsing of acl/access rules inside oauth sections of api_permissions
...
This should fix problem reported in #1568
2017-02-27 20:23:37 +01:00
Evgeniy Khramtsov
719b4d1183
Don't perform useless resourceprep
2017-02-27 13:58:57 +03:00
Paweł Chmielowski
6808865068
Return ok from start/2
2017-02-27 10:05:35 +01:00
Evgeniy Khramtsov
7a9fa52e91
Change loglevel on configuration reload
2017-02-27 11:11:29 +03:00
Evgeniy Khramtsov
d523357ba8
Invalidate access permissions on configuration reload
2017-02-27 09:55:54 +03:00
Evgeniy Khramtsov
933351ab4c
Fix log message format
2017-02-26 16:27:26 +03:00
Evgeniy Khramtsov
fadcc85553
Put more stuff under supervision
2017-02-26 15:10:59 +03:00
Evgeniy Khramtsov
7decd58aaa
Don't fail on elements decoding
2017-02-26 11:53:41 +03:00
Evgeniy Khramtsov
c1439ddd5b
Get rid of jid:to_string/1 and jid:from_string/1
2017-02-26 10:07:12 +03:00
Evgeniy Khramtsov
603ec9cb19
Don't pass empty resource to jid:make()
2017-02-25 10:01:01 +03:00
Evgeniy Khramtsov
485aae8134
Don't pass 'from' and 'to' along with stanza in hooks' arguments
2017-02-24 21:25:25 +03:00
Evgeniy Khramtsov
039ac46963
Don't polute log with known content types
2017-02-24 20:57:24 +03:00
Evgeniy Khramtsov
4892b01eb4
Get rid of unused variable warning
2017-02-24 17:48:17 +03:00
Evgeniy Khramtsov
03e2b0f0bf
Remove previous options when the config gets reloaded
2017-02-24 17:03:11 +03:00
Evgeniy Khramtsov
0124d292b5
Add gen_mod:is_loaded_elsewhere/2
2017-02-24 16:31:39 +03:00
Evgeniy Khramtsov
b8fbac72ac
Restart listeners on configuration reload
2017-02-24 15:18:10 +03:00
Paweł Chmielowski
e8c0e21f71
We don't like now()
2017-02-24 12:08:57 +01:00
Evgeniy Khramtsov
0db99ccb4b
Improve config reloading support by ejabberd_auth
2017-02-24 14:06:47 +03:00
Paweł Chmielowski
6aab450c16
Make sure that addr_re is always initialized when creating http state
2017-02-24 11:30:36 +01:00
Evgeniy Khramtsov
c15d230a57
Return ejabberd_sm:stop/0 back
2017-02-24 12:39:44 +03:00
Paweł Chmielowski
f310d7bb12
Make host header parser work correctly with ipv6 literal addresses
2017-02-24 10:25:26 +01:00
Evgeniy Khramtsov
67d6ca9f10
Improve startup procedure
2017-02-24 12:05:47 +03:00
Evgeniy Khramtsov
5b112c86bf
Fix a case clause and run c2s_filter_send on send_error/3
2017-02-24 07:57:57 +03:00
Badlop
57181c0a76
get_last now always returns tuple with UTC XEP-0082 and status ( #1565 )
2017-02-23 23:27:57 +01:00
Badlop
6314a96b05
Protect users from delete_old_users command using a fixed access rule ( #1462 )
2017-02-23 19:38:17 +01:00
Badlop
4294ba6b52
Separate list of strings with \n for srg_get_info in mod_http_api ( #1500 )
2017-02-23 19:23:24 +01:00
Evgeny Khramtsov
33e82de475
Merge pull request #1499 from weiss/offline-stanza-id
...
Include stanza ID with archived offline messages
2017-02-23 20:36:05 +04:00
Holger Weiss
b475df2250
Include stanza ID with archived offline messages
...
Fixes #1480 .
2017-02-23 16:55:35 +01:00
Christophe Romain
720741b725
Avoid orphan_item leak on affiliation/subscription removal ( #1563 )
2017-02-23 16:43:22 +01:00
Evgeniy Khramtsov
6cdead166b
Start/stop auth modules when host is added/deleted
2017-02-23 16:19:22 +03:00
Evgeniy Khramtsov
0542c65a07
Stop all s2s connections via supervisor calls
2017-02-23 16:18:29 +03:00
Evgeniy Khramtsov
a3ea6e7723
Improve reload_config admin command
2017-02-23 11:14:49 +03:00
Evgeniy Khramtsov
7d68112265
Start/stop virtual hosts when reloading configuration file
2017-02-23 10:12:19 +03:00
Evgeniy Khramtsov
ed34b04e9b
Remove unused macro
2017-02-22 20:48:51 +03:00
Evgeniy Khramtsov
96a690f607
Merge branch 'master' of github.com:processone/ejabberd
2017-02-22 19:47:00 +03:00
Evgeniy Khramtsov
3c4057ff55
Reload modules when reloading configuration file
2017-02-22 19:46:47 +03:00
Evgeniy Khramtsov
ff67860cdb
Make sure all hooks are called with proper host
2017-02-22 19:45:12 +03:00
Christophe Romain
87b5e2500b
Fix match of itemid on get_cached_item, fixes 14e771d8
2017-02-22 17:44:47 +01:00
Evgeniy Khramtsov
6ffd5ffd0c
Test stream management queue overload
2017-02-21 12:38:03 +03:00
Evgeniy Khramtsov
adbd174959
Rename mod_sm -> mod_stream_mgmt
2017-02-21 09:18:58 +03:00
Evgeniy Khramtsov
bbfd089b7e
Don't count resent stanzas
...
Thanks to Holger Weiß for an advise
2017-02-21 08:44:39 +03:00
Holger Weiss
61cdee97fc
ejabberd_c2s: Don't drop 'user_send_packet' result
...
When handling a <session/> IQ, use the stanza returned by the
'user_send_packet' hook.
Thanks to Evgeniy for spotting this.
2017-02-20 13:07:34 +01:00
Badlop
7d767fac7f
Support scrammed passwords in ejabberdctl import_prosody ( #1549 )
2017-02-20 12:47:56 +01:00
Evgeniy Khramtsov
9426c67302
Fix s2s_dns_timeout issues
2017-02-20 10:42:16 +03:00
Holger Weiss
7c159e3881
Let ejabberd_c2s handle <session/> IQ
...
This fixes the counting of incoming stanzas for stream management.
2017-02-19 22:43:10 +01:00
Evgeniy Khramtsov
70bfc5b4a8
Get rid of non-breaking space
2017-02-18 12:13:48 +03:00
Evgeniy Khramtsov
940ca9311d
Fix some dialyzer warnings
2017-02-18 09:36:27 +03:00
Peter Lemenkov
1a2dd3680f
Mark local/global config functions as deprecated
...
See discussion in PR #1548 .
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
2017-02-17 19:20:44 +03:00
Badlop
a1e8d3c3dc
Commands documentation lack arguments when policy=user ( #1514 )
2017-02-17 12:37:42 +01:00
Peter Lemenkov
009a5007ff
Use ejabberd_config:add_option/2 instead of ejabberd_config:add_local_option/2
...
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
2017-02-16 20:47:47 +03:00
Peter Lemenkov
cb30f7733d
Use ejabberd_config:get_option/2 instead of ejabberd_config:get_local_option/2
...
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
2017-02-16 20:41:57 +03:00
Paweł Chmielowski
eec63dbefe
Correct access_matches spec
2017-02-16 15:38:44 +01:00
Evgeniy Khramtsov
218eeae797
Fix some dialyzer warnings
2017-02-16 14:18:36 +03:00
Evgeniy Khramtsov
8b2d308498
Change routing API
...
Now 'From' and 'To' arguments must be omitted in functions
and structures related to routing.
The commit deprecates the following functions:
ejabberd_router:route/3 in favor of ejabberd_router:route/1
ejabberd_router:route_error/4 in favor of ejabberd_router:route_error/2
ejabberd_local:route_iq/4 in favor of ejabberd_local:route_iq/2
ejabberd_local:route_iq/5 in favor of ejabberd_local:route_iq/3
The format of {route, From, To, Packet} is changed in favor of {route, Packet}
2017-02-16 11:10:24 +03:00
Evgeniy Khramtsov
0d4e1abbd1
Remove relict mod_service_log
2017-02-16 00:22:48 +03:00
Evgeniy Khramtsov
f2b5153a8c
Report password change in the log
2017-02-14 17:10:16 +03:00
Evgeniy Khramtsov
6fd89f5fe0
Attach IP metadata to every stanza received from stream
2017-02-14 17:09:25 +03:00
Evgeniy Khramtsov
f61c933a7a
Only use GEN_SERVER macro where appropriate
2017-02-14 15:39:57 +03:00
Evgeniy Khramtsov
28f66ddd7c
Attach modules to gen_mod's supervisor
2017-02-14 12:39:26 +03:00
Evgeny Khramtsov
a1e45ab56c
Merge pull request #1539 from lemenkov/use_crypto_sha
...
RFE: Use crypto:hash/2 function
2017-02-14 11:38:05 +04:00
Evgeniy Khramtsov
f664e39374
Improve modules start/stop procedures
2017-02-14 10:25:08 +03:00
Peter Lemenkov
e7733ce7d9
Use crypto:hash/2 function
...
Use crypto:hash/2 function instead of ones from p1_sha.
This function exists since commit
erlang/otp@208f9ad382 and also implemented
as NIF, so I believe it's safe to use it.
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
2017-02-13 18:42:50 +03:00
Evgeniy Khramtsov
e1ba499bd6
Check result of gen_mod:start/2 callback ( #1534 )
2017-02-13 11:11:41 +03:00
Evgeniy Khramtsov
fd885d0818
Apply SASLprep before storing/converting passwords
...
Fixes #996 and #1295
2017-02-12 10:06:30 +03:00
Evgeniy Khramtsov
67c9de6461
Use p1_server behaviour in xmpp_stream layer
2017-02-08 17:16:18 +03:00
Paweł Chmielowski
ca0dd09944
Accept "add_commands: admin" in commands section not only "add_commands: - admin"
...
This fixes issue reported in #1518 , and restores compatibility with
what older version were accepting and what is documented.
2017-02-06 21:40:37 +01:00
Paweł Chmielowski
b703b4f022
Don't shadow binding in match
2017-02-06 11:38:51 +01:00
Evgeniy Khramtsov
f30c9d49f7
Add TLS support for external components
2017-02-06 13:30:58 +03:00
Paweł Chmielowski
af5457ba09
Make sure that api_permissions always have "console commands" section
...
If user didn't override it in config file, default version which allows
executing all commands will be added
2017-02-03 15:22:35 +01:00
Badlop
a31154c035
Set subscribers nicks when recreating room (thanks to Girdhar Sojitra)( #1495 )
2017-01-31 19:18:39 +01:00
Badlop
b2a2e0f135
Support non-JID lines in command create_rooms_file
2017-01-31 17:50:04 +01:00
Christophe Romain
589bc73838
Don't warn if custom schema is not available
2017-01-31 09:53:52 +01:00
Evgeny Khramtsov
649d3b753b
Merge pull request #1502 from lemenkov/ignore_output_val
...
No need to explicitly return ok here
2017-01-30 18:15:25 +04:00
Peter Lemenkov
c377708da1
No need to explicitly return ok here
...
No need to explicitly return ok here. Return value will be ignored
anyway.
Signed-off-by: Peter Lemenkov <lemenkov@redhat.com>
2017-01-30 14:52:04 +01:00
Paweł Chmielowski
44a9ceac0b
More changes that are required from p1_pam -> epam
2017-01-29 14:35:22 +01:00
Evgeniy Khramtsov
9d144bd495
Do not drop default TLS options
...
Fixes #1484
2017-01-26 10:58:26 +03:00
Evgeniy Khramtsov
99fd621aed
Speedup features list when a lot of virtual hosts configured
2017-01-24 10:38:29 +03:00
Evgeniy Khramtsov
0c57044c59
Make mod_disco handle features of mod_ping
2017-01-23 22:33:46 +03:00
Evgeniy Khramtsov
0ce3a3665a
Make sure only {exit, normal} is not catched when executing a hook
2017-01-23 21:52:25 +03:00
Alexey Shchepin
8b5e6e4a13
Compatibility with R17 in mod_block_strangers
2017-01-23 19:04:22 +03:00
Alexey Shchepin
43bfa0efbc
Check message subject in mod_block_strangers
2017-01-23 17:10:28 +03:00
Evgeniy Khramtsov
48d8498dbb
Avoid using maps:get/2 to keep compatibility with OTP 17.5
2017-01-23 16:30:16 +03:00
Evgeniy Khramtsov
19bec62eb5
Fix calling to mod_offline:store_packet
2017-01-23 15:00:46 +03:00
Paweł Chmielowski
5e5a8bbdcf
Don't use maps:take it available in R19 only
2017-01-23 12:56:08 +01:00
Evgeniy Khramtsov
435e5e6263
Make test suite working again
2017-01-23 13:51:05 +03:00
Evgeniy Khramtsov
e564f9ae31
Make a message is not bounced if it's archived
2017-01-21 13:47:47 +03:00
Evgeniy Khramtsov
68cf45a8b9
Archive message before delivering it to offline storage ( #1348 )
2017-01-21 11:47:04 +03:00
Evgeniy Khramtsov
94b23482a9
Send <compressed/> in correct order
2017-01-21 10:47:55 +03:00
Holger Weiss
14e771d871
mod_pubsub: Fix last item cache for multiple hosts
...
Don't let the last item cache intermix PubSub items of different virtual
domains.
2017-01-21 00:14:56 +01:00
Evgeniy Khramtsov
56ef607904
Add stanza-id to every archived message ( #1477 )
2017-01-20 23:21:06 +03:00
Evgeniy Khramtsov
17fe272dc5
Update copyright headers in new files
2017-01-20 19:56:19 +03:00
Evgeniy Khramtsov
d5d906184f
Merge branch 'new_stream'
...
Conflicts:
src/cyrsasl.erl
src/ejabberd_c2s.erl
src/ejabberd_cluster.erl
src/ejabberd_frontend_socket.erl
src/ejabberd_node_groups.erl
src/ejabberd_router.erl
src/mod_bosh.erl
src/mod_ip_blacklist.erl
src/mod_muc_mnesia.erl
src/mod_offline.erl
src/mod_proxy65_sm.erl
2017-01-20 19:35:46 +03:00
Paweł Chmielowski
1f02567507
Make shim for mod_http_api admin_ip_access more robust
2017-01-20 10:19:09 +01:00
Christophe Romain
4f5d54f062
Try db migration only when mnesia is configured ( #1458 )
2017-01-20 09:26:13 +01:00
Evgeniy Khramtsov
fc2b71a04e
Restore muc_invite_hook ( #1467 )
2017-01-19 18:24:29 +03:00
Evgeniy Khramtsov
87b964a7f6
Make sure 'jabber:client' namespace is added to forwarded messages ( #1474 )
2017-01-19 18:03:07 +03:00
Evgeniy Khramtsov
4cf83ca3a7
Restore multiple invitations support ( #1468 )
2017-01-19 17:26:08 +03:00
Evgeniy Khramtsov
3d9997288d
Don't forget to convert muc#roomconfig_mam
2017-01-19 16:42:04 +03:00
Evgeniy Khramtsov
527472f18c
Support legacy muc#roomconfig values ( #1469 )
2017-01-19 11:12:27 +03:00
Christophe Romain
d2b8569452
Fix typo
2017-01-18 17:11:08 +01:00
Christophe Romain
3482ee5c75
Reset table only if new def change from runtime
2017-01-18 17:02:03 +01:00
Christophe Romain
3029e84faf
Improve check of mnesia schema opearations
2017-01-18 16:53:36 +01:00
Evgeniy Khramtsov
044e55b98e
Fix reporting dialback failures
2017-01-18 18:26:31 +03:00
Evgeniy Khramtsov
60a09285b7
Don't attempt to resolve _jabber._tcp SRV record
2017-01-18 17:54:42 +03:00
Evgeniy Khramtsov
ba47fd4649
Improve <delay/> tag insertion
2017-01-18 14:09:39 +03:00
Evgeniy Khramtsov
2de2d00f14
Cope with malformed values in 'rosterusers' SQL table ( #1466 )
2017-01-18 11:59:46 +03:00
Evgeniy Khramtsov
7b8c01da12
Better log bytestream termination
2017-01-17 23:06:55 +03:00
Evgeniy Khramtsov
9021ba01ac
Use crypto:exor/2 instead of hand-crafted bxor
2017-01-17 22:37:44 +03:00
Evgeniy Khramtsov
b8db0a8ed6
Reset XML stream before sending SASL <success/>
2017-01-17 22:06:26 +03:00
Christophe Romain
2a68591181
Remove wrong index setting
2017-01-17 16:23:45 +01:00
Christophe Romain
94ac777f93
Let ejabberd_mnesia handles copy_type
2017-01-17 15:05:14 +01:00
Christophe Romain
0ea6c1dcf6
Fix index processing ( #1461 )
2017-01-17 14:53:41 +01:00
Christophe Romain
2ce6d49a40
Speedup table setup, no io if EJABBERD_SCHEMA_PATH not set ( #1461 )
2017-01-17 14:22:12 +01:00
Evgeniy Khramtsov
c7476875e6
Avoid stopping mod_offline before supervisor termination ( #1464 )
2017-01-17 14:31:00 +03:00
Evgeniy Khramtsov
22ee16fd9d
Get rid of ejabberd_frontend_socket
2017-01-17 14:00:01 +03:00
Evgeniy Khramtsov
c68ac1d5eb
Improve error reporting for forbidden servers
2017-01-17 13:38:05 +03:00
Alexey Shchepin
a23c76fb82
Drop only messages with <body/> in mod_block_strangers
2017-01-17 01:34:40 +03:00
Alexey Shchepin
fd4f5c0996
Stop hook on message drop in mod_block_strangers
2017-01-16 18:45:26 +03:00
Alexey Shchepin
b080b8f54d
Use user_receive_packet hook in mod_block_strangers
2017-01-16 18:40:30 +03:00
Alexey Shchepin
5a8dea1591
Remove stub in mob_block_strangers
2017-01-16 18:21:36 +03:00
Alexey Shchepin
fedfe5427c
Add mod_block_strangers
2017-01-16 18:14:14 +03:00
Evgeniy Khramtsov
22c25e4413
Don't allow raw elements in process_iq/3
2017-01-16 16:40:11 +03:00
Evgeniy Khramtsov
557820707b
Implement database backend interface for mod_proxy65
2017-01-16 15:28:11 +03:00
Evgeniy Khramtsov
0078a3b904
Correctly set gen_server's name
2017-01-16 11:43:35 +03:00
Evgeniy Khramtsov
65d352d5de
Remove handle_event/1 callback
2017-01-16 11:34:49 +03:00
Paweł Chmielowski
ce42b6be01
Add example api_permisions: definition to config template
...
Also expand default config to have rule for admin oauth
2017-01-13 16:53:48 +01:00
Evgeniy Khramtsov
7606be93d5
Decode message before checking for expiration ( #1458 )
2017-01-13 14:20:25 +03:00
Badlop
e2665c5da9
Usable size for Shared rosters members textarea (EJAB-1753)
2017-01-13 12:16:23 +01:00
Evgeniy Khramtsov
32d548d99b
Fix configuration commands ( #1432 )
2017-01-13 13:36:28 +03:00
Evgeniy Khramtsov
25ddb6c69d
Add forgotten -include_lib()
2017-01-13 13:28:55 +03:00
Evgeniy Khramtsov
0baaad30b1
Implement database backend interface for MUC, BOSH and auth_anonyous
2017-01-13 12:03:39 +03:00
Evgeniy Khramtsov
31491ebe16
Fix some corner cases while re-reading RFC6120
2017-01-13 11:35:47 +03:00
Evgeniy Khramtsov
b10e10efae
Ignore unexpected events
2017-01-11 16:50:11 +03:00
Evgeniy Khramtsov
02f96d0f41
Implement database backend interface for ejabberd_router
2017-01-11 16:25:43 +03:00
Evgeniy Khramtsov
2129a33077
Fix attaching ejabberd_s2s_out process to a supervisor
2017-01-11 11:09:56 +03:00
Evgeniy Khramtsov
5cfe57ece5
Add 'supervisor' listening option
...
If set to 'true' (this is the default), new processes spawned by
ejabberd_listener will be attached to the corresponding supervisor.
No such processes will be attached to a supervisor otherwise.
Setting this to 'false' will improve performance of high loaded
systems where new C2S/S2S processes are spawned very rapidly.
2017-01-11 10:56:04 +03:00
Evgeniy Khramtsov
03667d0c73
Add SSL support for SQL connections
...
Currently only PostgreSQL is supported.
This requires p1_pgsql-1.1.2 and higher.
2017-01-10 17:40:38 +03:00
Christophe Romain
efccee55e3
pubsub_subscription may is not used (migration is optional)
2017-01-10 13:53:23 +01:00
Christophe Romain
6ff81946cf
Fix migration of old pubsub database ( #1409 )
2017-01-10 12:10:11 +01:00
Evgeniy Khramtsov
08d482b064
Allow old-stype mod_vcard_ldap in the config ( #1410 )
2017-01-10 11:29:01 +03:00
Evgeniy Khramtsov
dd5389df23
Don't forget to advertise disco features
2017-01-10 11:25:12 +03:00
Evgeniy Khramtsov
e01bece552
Make stream related calls module independent
2017-01-09 22:03:42 +03:00
Badlop
3d0d9cb354
Fix typo in previous commit
2017-01-09 17:54:10 +01:00
Badlop
afc7f5aa37
Simplify setting allow_subscription ( #1404 )
2017-01-09 15:56:25 +01:00
Evgeniy Khramtsov
f14a966680
Set from/to in every routed packet
2017-01-09 17:51:08 +03:00
Evgeniy Khramtsov
6c564775c4
Remove unused mod_ip_blacklist module
2017-01-09 17:22:31 +03:00
Evgeniy Khramtsov
1e55e018e5
Adopt remaining code to support new hooks
2017-01-09 17:02:17 +03:00
Badlop
9605e2b2a4
Fix problem with get_vcard command ( #1447 )
2017-01-06 16:13:57 +01:00
Christophe Romain
a910ab8171
Get nodes from ejabberd_cluster instead of mnesia
2017-01-03 17:21:02 +01:00
Christophe Romain
32e5781a6a
Cleanup file headers
2017-01-03 15:58:52 +01:00
Badlop
f5290a8e44
Specify that process_rosteritems command works only with Mnesia storage
2017-01-03 01:38:56 +01:00
Badlop
5fdd1c39fe
Update copyright date automatically ( #1442 )
2017-01-02 21:42:06 +01:00
Paweł Chmielowski
769975f6d7
Remove mod_http_bind and migration code to mod_bosh
2017-01-02 15:53:25 +01:00
Evgeniy Khramtsov
5ef60bf594
Correctly process errors from new cyrsasl API
2017-01-02 15:02:03 +03:00
Evgeniy Khramtsov
666608544b
Improve return values in cyrsasl API
2017-01-02 14:55:06 +03:00
Evgeniy Khramtsov
3dd2a614ac
Get rid of "jlib.hrl" header in some files
2017-01-02 14:45:52 +03:00
Evgeniy Khramtsov
50682b98d6
Better cope with IPv6 domains
2016-12-31 17:43:40 +03:00
Evgeniy Khramtsov
cf87c5664f
Reflect cyrsasl API changes in remaining code
2016-12-31 13:48:55 +03:00
Evgeniy Khramtsov
247ca872f6
Improve return values in cyrsasl API
2016-12-31 13:47:35 +03:00
Evgeniy Khramtsov
e7fe4dc474
More refactoring on session management
2016-12-30 00:00:36 +03:00
Badlop
c6b5dd6c4f
Fix case clauses when using compression ( #1431 )(thanks to Evgeniy Khramtsov)
2016-12-29 15:18:42 +01:00
Evgeniy Khramtsov
309bdfbe28
Add xmpp_stream_out behaviour and rewrite s2s/SM code
2016-12-28 09:47:11 +03:00
Christophe Romain
ed679279fd
Cleanup file headers
2016-12-27 10:57:50 +01:00
Badlop
fad7612cf1
Allow subscriber to create room, then set allow_subscription=true ( #1404 )
2016-12-26 21:16:17 +01:00
Holger Weiss
df92d96d4f
Revert "Fix 'nodetree' configuration lookups for PEP"
...
This reverts commit 7ef8dfb4e0
.
The config/3 function copes with the PEP case.
2016-12-25 01:24:40 +01:00
Holger Weiss
7ef8dfb4e0
Fix 'nodetree' configuration lookups for PEP
2016-12-25 00:58:20 +01:00
Badlop
3811a61573
Extract correctly the text from #stanza_error ( #1425 )
2016-12-17 11:46:16 +01:00
Badlop
cc14e223c6
Describe command arguments and results in ejabberd_admin
2016-12-12 13:19:17 +01:00
Evgeniy Khramtsov
7f653cfe76
Rewrite ejabberd_service to use new XMPP stream API
2016-12-11 18:24:51 +03:00
Evgeniy Khramtsov
5cc8e807df
Initial version of new XMPP stream behaviour (for review)
2016-12-11 15:03:37 +03:00
Badlop
1a4f63f058
Copy recent make_opts function from mod_muc_room.erl
2016-12-09 13:07:48 +01:00
Christophe Romain
bcc04d93e1
Enforce pubsub node removal, revert previous commit ( #1320 )
...
This reverts commit 2976c2d921
.
and enforce node purge/removal instead
2016-12-09 12:51:08 +01:00
Christophe Romain
2976c2d921
Enforce affiliation removal, remove corresponding items ( #1320 )
2016-12-09 11:35:51 +01:00
Paweł Chmielowski
a50247c20d
Improve handling on acl rules in api_permissions
2016-12-08 18:08:54 +01:00
Mickael Remond
fdf69dcd0d
API call does not necessary use token, it could use basic auth
2016-12-08 16:28:47 +01:00
Paweł Chmielowski
a3b12fd745
Recognize "- who:" not only "who:" syntax in api_permissions
2016-12-08 12:01:24 +01:00
Christophe Romain
8a7ea85a7e
Cleanup ext_mod and fix compilation path
2016-12-07 09:27:21 +01:00
Christophe Romain
1883a98d1c
Fix compilation of external module with new xmpp lib
2016-12-06 12:01:04 +01:00
Christophe Romain
0c2491d9ea
Remove obsolete remove_node api (use leave_cluster)
2016-12-05 14:17:57 +01:00
Christophe Romain
23f7075313
Fix reload_config
2016-12-02 16:29:46 +01:00
Badlop
847376924e
Add password support in muc_subscribe ( #1306 )
2016-12-02 16:18:35 +01:00
Badlop
d7e1f6d7b3
When unsubscribes, check if room should get closed ( #1396 )
2016-12-01 22:09:57 +01:00
Badlop
34f2a8a4f2
Fix error formatting, which closed client connection ( #1389 )
2016-12-01 21:02:54 +01:00
Mickael Remond
309fd56fb4
Merge branch 'master' of github.com:processone/ejabberd
2016-12-01 15:05:09 +01:00
Christophe Romain
32f484a349
Fix typo introduced by 92db9ff
changes
2016-11-30 13:50:46 +01:00
Christophe Romain
92db9ff105
Improve handling of mnesia schema
2016-11-30 11:09:17 +01:00
Christophe Romain
95a4b1b266
Cleanup admin_extra, add few functions
2016-11-30 10:31:36 +01:00
Christophe Romain
fc7e52df71
Adds optional post_install and pre_uninstall hooks (thanks Igor Manturov Jr.)( #1300 )
2016-11-28 17:15:57 +01:00
Evgeniy Khramtsov
56b30ab598
Improve translation of some messages
2016-11-26 10:05:22 +03:00
Evgeniy Khramtsov
ca1b22bdd4
Use ejabberd_router:route_error/4 wherever possible
2016-11-25 11:41:24 +03:00
Evgeniy Khramtsov
e1539e5769
Get rid of compile warnings
2016-11-25 09:48:26 +03:00
Evgeniy Khramtsov
0f11b1be36
Don't forget to erase cache on user removal
2016-11-24 18:40:20 +03:00
Evgeniy Khramtsov
49f1275e20
Get rid of excessive (io)list_to_binary/1 calls
2016-11-24 15:06:06 +03:00
Paweł Chmielowski
b14843d098
Add missing -callbacks
2016-11-24 12:44:21 +01:00
Evgeny Khramtsov
8f692f51d8
Merge pull request #1391 from weiss/mark-copies
...
Mark messages as copies by attaching metadata
2016-11-24 15:43:38 +04:00
Holger Weiss
560038c808
Use xmpp:put_meta/3 to update metadata
2016-11-24 10:47:26 +01:00
Christophe Romain
12683b4aaf
Fix typo in copyright date
2016-11-23 14:36:11 +01:00
Evgeniy Khramtsov
5d434c1aea
Move copyright definition to ejabberd.hrl
2016-11-23 15:51:48 +03:00
Evgeniy Khramtsov
6f2f1e87c9
Don't use deprecated functions from jlib.erl
2016-11-23 10:41:26 +03:00
Holger Weiss
3325e69ae6
Let mod_carboncopy mark copied messages
...
Carbon copies are now marked with a 'carbon_copy' flag. This makes it
easier to identify them.
2016-11-22 22:21:34 +01:00
Holger Weiss
114ca786ee
Let ejabberd_sm mark copied messages
...
When multiple resources have the same (highest) priority, ejabberd_sm
dispatches messages addressed to the bare JID (or to an unavailable
resource) to each of these resources. Such messages are now marked with
an 'sm_copy' flag for all but one of the resources. This makes it
easier for other modules to identify those duplicates.
Resolves #1356 .
2016-11-22 19:25:20 +01:00
Christophe Romain
ee8cc1dac2
Fix xref issue injected by fbfbb96
2016-11-22 17:51:21 +01:00
Christophe Romain
9ab169bc63
Fix get_roster issue injected by fbfbb96
2016-11-22 16:59:02 +01:00
Christophe Romain
24ef90c556
Fix vcard_ldap exports
2016-11-22 16:23:02 +01:00
Christophe Romain
c0e7b298db
Add missing export
2016-11-22 16:12:19 +01:00
Christophe Romain
cc63bcc997
Fix issues on import improvements
2016-11-22 16:01:08 +01:00
Paweł Chmielowski
ebadcf71c2
New bosh module
2016-11-22 15:26:15 +01:00
Christophe Romain
fbfbb96872
Improve ODBC import
2016-11-22 14:48:01 +01:00
Evgeniy Khramtsov
3189bb3bb9
Set 'sql_pool_size' to 1 by default for sqlite
2016-11-21 21:34:56 +03:00
Evgeniy Khramtsov
04fdf69737
Fix non-empty disco-nodes processing
2016-11-21 14:21:34 +03:00
Badlop
c5e7b4738f
Fix handling mod_http_upload disco#info queries: need decoded elements
...
As reported in
https://www.ejabberd.im/forum/28605/ejabberd-modhttpupload-error-405-not-allowed
2016-11-21 12:06:11 +01:00
Evgeniy Khramtsov
e6365979bd
Merge branch 'master' of github.com:processone/ejabberd
2016-11-21 12:14:37 +03:00
Evgeniy Khramtsov
274303f248
Fix conference disco#items when running multiple virtual hosts
2016-11-21 12:14:24 +03:00
Paweł Chmielowski
3f91668c46
Log more data for failed s2s connection
2016-11-21 09:52:36 +01:00
Evgeniy Khramtsov
c7ae916afc
Don't forget to start XMPP application
2016-11-21 10:23:09 +03:00
Evgeniy Khramtsov
049a6d97f1
Fix RSM for conference disco#items
2016-11-20 18:08:49 +03:00
Evgeniy Khramtsov
13c6039700
Use xmpp_util.erl from XMPP library
2016-11-19 13:57:25 +03:00
Evgeniy Khramtsov
de7a143a2c
Transform ejabberd_commands on the start
2016-11-19 13:05:13 +03:00
Evgeniy Khramtsov
9aff7e52a8
Switch to stand-alone XMPP library
2016-11-19 13:03:33 +03:00
Christophe Romain
45e77ea483
Remove useless NO_EXT_LIB flag
2016-11-18 12:25:01 +01:00
Evgeniy Khramtsov
f57f267c54
Merge branch 'master' of github.com:processone/ejabberd
...
Conflicts:
test/ejabberd_SUITE.erl
2016-11-18 13:39:10 +03:00
Evgeniy Khramtsov
b8dcc911a3
Make common tests working again
2016-11-18 13:38:08 +03:00
Paweł Chmielowski
995c97671d
Add auth to mod_http_fileserver
2016-11-17 12:59:46 +01:00
Christophe Romain
1c90b19d74
Fix typo
2016-11-16 18:24:12 +01:00
Badlop
3cd174cb56
Ensure that presence_broadcast room option is stored ( #1380 )
2016-11-16 13:35:50 +01:00
Badlop
b1723c6e2d
Handle correctly p1_http:request result
2016-11-16 13:11:23 +01:00
Christophe Romain
2929f5b5bc
Minor cosmetic changes on pubsub code
2016-11-15 18:35:20 +01:00
Christophe Romain
4d4ad922a2
Cosmetic validator changes
2016-11-15 18:14:21 +01:00
Christophe Romain
8df68266f2
Add missing verbs for RESTfull operation
2016-11-15 14:35:26 +01:00
Christophe Romain
2b93de6912
apply string optimizations
2016-11-15 14:32:22 +01:00
Paweł Chmielowski
5ffc01db53
Fix types in check_password_hash
2016-11-15 10:02:21 +01:00
Paweł Chmielowski
717159a98f
Make string args in http_api be list strings
2016-11-15 10:02:21 +01:00
Christophe Romain
309962fb8b
Use p1_http from p1_utils 1.0.6
2016-11-14 16:52:03 +01:00
Evgeniy Khramtsov
3765210698
Fix IQ result processing
2016-11-13 16:56:05 +03:00
Evgeniy Khramtsov
13d5da4da6
Add some copyright notices
2016-11-13 16:46:04 +03:00
Evgeniy Khramtsov
ebefd0d8d6
Add more control for decoding IQ payloads
2016-11-13 14:17:21 +03:00
Evgeniy Khramtsov
7e9f1a6dc1
Don't auto-decode forwarded payload
2016-11-13 13:41:04 +03:00
Evgeniy Khramtsov
21d78ed7f4
Don't use jlib.hrl outside of jlib.erl
2016-11-13 10:56:36 +03:00
Evgeniy Khramtsov
b8f22ff538
Deprecate most of the functions from jlib.erl
2016-11-13 10:44:53 +03:00
Evgeniy Khramtsov
534e73f732
Uncomment forgotten block of code
2016-11-12 14:51:43 +03:00
Evgeniy Khramtsov
de81c50199
Revert "Support to provide password when subscribing to a room ( #1306 )"
...
This reverts commit 566ac872fe
.
2016-11-12 14:47:29 +03:00
Evgeniy Khramtsov
5d552c8463
Merge branch 'master' into xml-ng
2016-11-12 14:41:37 +03:00
Evgeniy Khramtsov
78a44e0176
Merge branch 'master' into xml-ng
...
Conflicts:
src/adhoc.erl
src/cyrsasl_oauth.erl
src/ejabberd_c2s.erl
src/ejabberd_config.erl
src/ejabberd_service.erl
src/gen_mod.erl
src/mod_admin_extra.erl
src/mod_announce.erl
src/mod_carboncopy.erl
src/mod_client_state.erl
src/mod_configure.erl
src/mod_echo.erl
src/mod_mam.erl
src/mod_muc.erl
src/mod_muc_room.erl
src/mod_offline.erl
src/mod_pubsub.erl
src/mod_stats.erl
src/node_flat_sql.erl
src/randoms.erl
2016-11-12 13:27:15 +03:00
Badlop
566ac872fe
Support to provide password when subscribing to a room ( #1306 )
2016-11-10 20:48:43 +01:00
Mickael Remond
42bede77a1
Merge branch 'master' of github.com:processone/ejabberd
2016-11-09 09:04:58 +01:00
Mickael Remond
35506f5470
Expose unregister API command
2016-11-09 09:04:52 +01:00
Evgeniy Khramtsov
e841a6ec34
Add more tests for offline storage
2016-11-08 15:15:19 +03:00
Evgeniy Khramtsov
e9dd3ffe9c
Merge branch 'xml-ng' of github.com:processone/ejabberd into xml-ng
2016-11-07 10:11:40 +03:00
Evgeniy Khramtsov
56c91d3c58
Add roster tests
2016-11-07 10:10:57 +03:00
Badlop
bd060bc1bb
Support several groups separated by ; in add_rosteritem command
2016-11-04 18:45:27 +01:00
Badlop
49d3b7ec1d
Throw error if room name or host has invalid characters ( #1360 )
2016-11-04 17:28:28 +01:00
Badlop
5e723bc90e
Fix reading room jids from file for create and destroy_rooms_file commands
2016-11-04 16:54:31 +01:00
Paweł Chmielowski
62db030942
Merge mod_opt_type from db sub-modules to main module mod_opt_type
2016-11-04 12:58:08 +01:00
Holger Weiss
2a63d0e95a
mod_mam: Use user JID for stanza ID 'by' attribute
...
Use the user (or room) JID instead of the server JID for the 'by'
attribute of <stanza-id/> and <archived/> tags. That's what the
examples in XEP-0313 v0.2 and XEP-0359 v0.3.0 suggest.
2016-11-01 08:47:08 +01:00
Badlop
149cc9654f
Append ; to privacy_list_data exporting lines (thanks to Marcio Luciano Donada)
2016-10-24 13:42:33 +02:00
Evgeniy Khramtsov
9d977e484a
Use base64:mime_decode/1 for SASL packets
...
It will be now possible to accept SASL packets with only
single '=' character set as required by RFC6120
2016-10-22 13:09:11 +03:00
Evgeniy Khramtsov
f6236d456d
Add more tests for privacy lists and blocking command
2016-10-22 13:01:45 +03:00
Prasad Vaidya
cdafd3254b
Rollback minor change, to avoid redundant use of fail-safe function
2016-10-21 15:02:39 +05:30
Prasad Vaidya
509776a0d1
Fix: Replace erlang function with fail-safe jlib function.
2016-10-21 13:57:47 +05:30
Badlop
2ab72bcd00
Nidx may be integer or binary, so use jlib:i2l instead
...
As reported in
https://www.ejabberd.im/forum/28580/erlang-function-integertobinary1-throwing-badargs-exception
2016-10-20 21:56:19 +02:00
Badlop
0212559ca7
If a participant can change subject, let asubscriber too ( #1345 )
2016-10-20 20:35:00 +02:00
colm
3b876875e9
mod_muc: made the constant MAX_ROOMS_DISCOITEMS configurable
2016-10-18 21:59:34 +01:00
Evgeniy Khramtsov
d19552f464
Fix randoms:uniform/1 return
...
Make sure randoms:uniform/1 returns values from the same interval
as deprecated random:uniform/1
2016-10-18 08:35:47 +03:00
Evgeniy Khramtsov
4c5460f0bd
Get rid of compile warnings for random/crypto modules on R19
2016-10-18 08:17:21 +03:00
badlop
90acec8a2b
Merge pull request #1338 from marcphilipp/muc_invite_hook
...
Introduce muc_invite hook
2016-10-17 17:46:25 +02:00
Jerome Sautret
305d4c05dc
Fix delete_old_messages command for SQL backends
2016-10-17 17:02:23 +02:00
Evgeniy Khramtsov
67720c7713
Add more MUC tests
2016-10-17 13:37:23 +03:00
Paweł Chmielowski
fd6f0f94b5
Convert ejabberd_xmlrpc to new api_permissions
2016-10-14 13:55:50 +02:00
Marc Philipp
a1faecc4c9
Introduce muc_invite hook
...
This adds a new hook that is triggered for each invite to an MUC room:
- muc_invite(RoomJID, RoomConfig, From, To, Reason) -> ok
where
- RoomJID = From = To = #jid (see jlib.h)
- RoomConfig = #config (see mod_muc_room.hrl)
- Reason = binary()
2016-10-14 12:52:59 +02:00
Holger Weiss
d97e777c9b
Always include <actions/> with ad-hoc responses
...
XEP-0050 says: "The result for each stage (other than the last) of a
command's execution SHOULD include an <actions/> element." Some clients
insist on this.
2016-10-13 22:34:29 +02:00
Holger Weiss
b693601dd1
Don't let MAM messages go into offline storage
2016-10-12 23:10:25 +02:00
badlop
4935ac8866
Merge pull request #1331 from weiss/send-message-omit-copies
...
Don't let "send_message" duplicate the message
2016-10-12 13:52:27 +02:00
Holger Weiss
ead7e21037
Ignore offline sessions in statistics
...
Offline sessions should not be counted when reporting the number of
connected resources.
Apart from that, this number is now also reported when using a
non-default session management backend.
2016-10-11 22:20:22 +02:00
Evgeniy Khramtsov
a915fd161e
Create room on configuration request as per XEP-0045, 10.1.3
2016-10-10 10:51:39 +03:00
Holger Weiss
dffcfe74d4
Don't let "send_message" duplicate the message
...
In the past, the "send_message" command sent a copy of the message to
each resource if the message was addressed to the bare JID of a local
online user. When message carbons are enabled, this creates duplicates;
and with MAM enabled, each copy is archived. Therefore, "send_message"
no longer creates copies of the message.
2016-10-10 00:17:17 +02:00
Evgeniy Khramtsov
6a3691ef7c
Add xdata generator and make some code using it
2016-10-07 10:31:03 +03:00
Holger Weiss
d701230555
Make map syntax compatible with Erlang/OTP 17
2016-10-07 00:36:47 +02:00
Holger Weiss
e54ba3db5b
XEP-0198: Cope with invalid 'from'/'to' attributes
...
Check whether the 'from' and 'to' attributes are valid before bouncing
or resending a stanza from the stream management queue. They might be
invalid in certain corner cases.
Thanks to Evgeniy for spotting this.
2016-10-06 23:20:45 +02:00
Paweł Chmielowski
b01fbfadf3
Use correct field for oauth scope
2016-10-06 11:03:26 +02:00
Paweł Chmielowski
438dbc8bda
Make handling of oauth clauses be more consistent with other rules
2016-10-06 10:59:43 +02:00
Paweł Chmielowski
8accb8ee0c
Use proper default value for api_permissions
2016-10-06 10:59:43 +02:00
Paweł Chmielowski
98e0123ca4
New api permissions framework
2016-10-05 13:21:11 +02:00
s.budaev
026394a314
Added option to disable prepared statements (postgresql only)
2016-10-05 04:27:08 +04:00
Holger Weiss
9cee3760db
ejabberd_sm: Clean up old offline session entries
...
If the number of offline sessions exceeds the 'max_user_sessions' limit,
remove the oldest entry from the table.
2016-10-02 22:01:03 +02:00
Christophe Romain
1de0bb83a0
PubSub: creation jid must be bare jid
2016-09-30 07:51:33 +03:00
Christophe Romain
7566e267a7
PubSub: fix error type on item deletion with insufficient priviledge
2016-09-30 07:51:17 +03:00
Christophe Romain
15ebb79160
PubSub: creation jid must be bare jid
2016-09-29 16:10:11 +02:00
Christophe Romain
767dba8f3b
PubSub: fix notification on subscription change
2016-09-29 12:00:59 +02:00
Christophe Romain
a42bf67957
PubSub: fix error type on item deletion with insufficient priviledge
2016-09-29 11:20:56 +02:00
Badlop
6f538545b4
Fix 404 response formatting (thanks to Kaggggggga)( #1306 )
2016-09-28 11:03:46 +02:00
Holger Weiss
d4b4f35a0e
ejabberd_http: Handle missing POST data gracefully
...
Return a "bad request" error instead of crashing if receiving POST/PUT
data fails.
2016-09-27 23:22:30 +02:00
Alexey Shchepin
acab2270f1
Use inets instead of lhttpc in http_p1
2016-09-27 07:12:10 +03:00
Alexey Shchepin
ac6f701033
Add http_p1.erl, rest.erl, and oauth2 ReST backend for tokens.
2016-09-27 05:57:14 +03:00
Evgeniy Khramtsov
3112a7187f
Test anonymous auth
2016-09-25 09:57:56 +03:00
Evgeniy Khramtsov
fa31e3ef23
Deprecate jlib:integer_to_binary/1 and jlib:binary_to_integer/1
2016-09-24 23:34:28 +03:00
Evgeniy Khramtsov
58969fb854
Improve namespace handling
2016-09-24 14:17:21 +03:00
Evgeniy Khramtsov
53209b9ab1
Add tests for s2s code
2016-09-23 12:30:33 +03:00
Evgeniy Khramtsov
ceda073766
Add tests for external component
2016-09-21 10:45:11 +03:00
Evgeniy Khramtsov
a4ec064455
Add more tests for C2S
2016-09-20 14:04:07 +03:00
Holger Weiss
e7787e2f33
mod_carboncopy: Don't copy MUC PMs
...
Carbon copies of private MUC message are generally not desired,
especially not when multiple clients joined the room with the same nick.
In this case, the MUC service usually sends PMs to all joined resources
anyway, so carbon-copying those PMs would create duplicates.
2016-09-19 22:46:36 +02:00
Badlop
5bcfcf4c5e
When getting list of subscribed rooms, check all including temporary ones ( #1242 )
2016-09-19 13:46:01 +02:00
Badlop
9fa92092bf
Revert "Fix getting of subscribed rooms: consider also temporary ones ( #1242 )"
...
This reverts commit f2cc81dfea
.
2016-09-19 12:54:19 +02:00
Badlop
f2cc81dfea
Fix getting of subscribed rooms: consider also temporary ones ( #1242 )
2016-09-19 12:35:53 +02:00
Badlop
8244c1fa8c
Store the Allow Subscription room option ( #1301 )
2016-09-19 12:35:32 +02:00
Badlop
ed62d705d8
Don't worry about storage_type of the Acl mnesia table ( #1206 )
2016-09-19 11:59:40 +02:00
Badlop
da291d804c
Use mnesia calls instead of ets for Acl and Access tables ( #1206 )
2016-09-19 11:56:22 +02:00
Holger Weiss
27999a122f
node_mb_sql: Add missing (SQL-specific) functions
2016-09-15 23:02:04 +02:00
Evgeniy Khramtsov
151668ac10
Fix dialyzer warnings for mod_mam
2016-09-13 16:56:34 +03:00
Christophe Romain
c39501a48d
Merge branch 'push-requirements' of https://github.com/weiss/ejabberd into weiss-push-requirements
2016-09-13 14:29:14 +02:00
Christophe Romain
c3543e002d
Allow to create room with custom config
2016-09-13 11:52:59 +02:00
Evgeniy Khramtsov
e987b88848
Make common tests working again
2016-09-13 12:30:05 +03:00
Paweł Chmielowski
2f596b0e10
Expand parsing of json input to be able to handle update_roster command
2016-09-13 11:27:59 +02:00
Paweł Chmielowski
054382f074
Add X-Admin and basic auth header to CORS allowed headers in http_api
2016-09-12 15:40:38 +02:00
Paweł Chmielowski
96d05dad8f
Properly process OPTIONS header in http_api for all paths
2016-09-12 15:40:38 +02:00
Evgeniy Khramtsov
1aca541639
Fix nick-to-jid mapping for MUC subscribers
2016-09-12 14:41:33 +03:00
Badlop
d0761039ff
Support multiple room invitations ( #1285 )
2016-09-09 12:18:27 +02:00
Evgeniy Khramtsov
fe1bf27ef3
Fix subscribed rooms list retreivement
2016-09-09 13:04:47 +03:00
Holger Weiss
d222fed228
XEP-0198: Cancel timer when waiting for resumption
...
If an ACK timer is active while going into the 'wait_for_resume' state,
cancel that timer.
2016-09-09 00:21:36 +02:00
Holger Weiss
8fd888eb2b
Revert "Don't log an [error] message if Elixir is missing"
...
This reverts commit 41386d718d
. The issue
was fixed with commit 4bd45bada7
.
2016-09-08 18:11:54 +02:00
Holger Weiss
41386d718d
Don't log an [error] message if Elixir is missing
...
The Elixir support is still optional.
Closes #1250 .
2016-09-08 17:59:40 +02:00
Christophe Romain
26a040e2d5
Fix typo on previous commit ( #1284 )
2016-09-08 16:32:16 +02:00
Paweł Chmielowski
4bd45bada7
Start elixir config code only if elixir was enabled in configure script
2016-09-08 16:29:45 +02:00
Christophe Romain
ad39da0b0a
Full jid entity subscriptions should include bare jid records ( #1284 )
2016-09-08 16:27:16 +02:00
Evgeniy Khramtsov
c29a48695d
Rename #error{} record to #stanza_error{}
2016-09-08 17:08:48 +03:00
Evgeniy Khramtsov
36ab9cc2ea
Fix message routing from subscribers
2016-09-08 16:39:34 +03:00
Evgeniy Khramtsov
5ec972b00f
Improve pubsub code
2016-09-08 15:49:27 +03:00
Paweł Chmielowski
6c943aa293
Merge pull request #1287 from weiss/ack-timeout
...
New stream management option: ack_timeout
2016-09-08 12:45:16 +02:00
gabrielgatu
803270fc6b
Support for Elixir configuration file #1208
...
Contribution for Google Summer of code 2016 by Gabriel Gatu
2016-09-08 11:37:14 +02:00
Paweł Chmielowski
d2621130a3
Typo
2016-09-08 10:27:14 +02:00
Paweł Chmielowski
a8368278ec
Properly normalize resource_regexp acl rule
...
This fixes issue #1288 .
2016-09-08 08:45:10 +02:00
Holger Weiss
621f0e2b7c
New stream management option: ack_timeout
...
Close the connection if a stream management client fails to respond to
an acknowledgement request within 60 seconds. This number of seconds
can be changed with the new "ack_timeout" option, and the mechanism can
be disabled by specifying 'infinity'.
As a side effect of this change, a new acknowledgement is no longer
requested before the response to the previous request is received.
2016-09-07 23:16:54 +02:00
Christophe Romain
7a538bb88b
Enforce pathtype use with config path ( #1264 )
2016-09-07 17:38:35 +02:00
Christophe Romain
af0a493c66
Merge pull request #1253 from Amuhar/xep0356
2016-09-07 14:34:31 +02:00
Evgeniy Khramtsov
f304149615
Create room on configuration request as per XEP-0045, 10.1.3
2016-09-07 11:15:19 +03:00
Evgeniy Khramtsov
3803a8de3c
Link MUC subscription to bare JID
2016-09-07 10:33:37 +03:00
Holger Weiss
1edca899ff
Add SQL support for microblogging node plugin
2016-09-07 07:15:12 +02:00
Evgeniy Khramtsov
c6afb9731b
Handle <subscriptions/> request to list MUC subscribers
2016-09-06 19:06:02 +03:00
Evgeniy Khramtsov
5ec2874a96
Do not update muc_online_users table on MUC/Sub operations
2016-09-06 18:17:30 +03:00
Evgeniy Khramtsov
417284a921
Add get_subscribers command to list MUC subscribers
2016-09-06 17:55:18 +03:00
Holger Weiss
af2999a783
node_mb: Call node_pep instead of node_hometree
2016-09-06 00:30:46 +02:00
Holger Weiss
48ce34987d
node_mb: Fix configuration documentation
...
A node plugin used in a 'pep_mapping' must explicitly be added to the
list of 'plugins'.
2016-09-06 00:08:43 +02:00
Holger Weiss
e29f47893f
mod_pubsub: Remove outdated comment
2016-09-06 00:05:54 +02:00
Evgeniy Khramtsov
45eb49125b
Rewrite mod_pubsub to use XML codec
2016-08-30 09:48:08 +03:00
Igor Manturov Jr
f1afea223b
Fixed typo in Stream Management option name
2016-08-23 02:21:09 +06:00
Igor Manturov Jr
d5659735b3
Fixed #1260 Stream Management feature for the websocket connections
2016-08-23 00:59:39 +06:00
Holger Weiss
23d9fb0592
mod_muc_admin: Accept 'allow_subscription' option
...
Allow for setting the new 'allow_subscription' option using the
'change_room_option' command.
2016-08-22 01:17:32 +02:00
Badlop
8af85d913f
Erlang R17 has a Time limit in erlang:send_after ( #1246 )
2016-08-16 18:32:06 +02:00
Holger Weiss
20a510d877
mod_mam: Add 'store_mam_message' hook
...
The new 'store_mam_message' hook is invoked whenever a MAM message is
stored.
2016-08-15 23:28:36 +02:00
Holger Weiss
8821cf8b27
mod_offline: Add 'store_offline_message' hook
...
The new 'store_offline_message' hook is invoked whenever an offline
message is stored.
2016-08-15 22:30:08 +02:00
Holger Weiss
4d19fb518f
ejabberd_c2s: Add XEP-0198 resumption hooks
...
The new 'c2s_session_pending' and 'c2s_session_resumed' hooks are
invoked when a stream management session is pending and resumed,
respectively.
2016-08-15 21:49:58 +02:00
Holger Weiss
e7217e6320
Add functions to get/set some c2s state elements
2016-08-15 20:24:43 +02:00
Badlop
5b4f347da8
Support sql backend in mod_shared_roster commands ( #1244 )
2016-08-15 15:53:35 +02:00
Evgeny Khramtsov
38666cfd58
Merge pull request #1245 from hamano/clean_redis_table
...
fix clean redis table
2016-08-15 15:12:20 +04:00
HAMANO Tsukasa
877d0752e2
fix clean redis table
2016-08-15 17:51:06 +09:00
Badlop
0ab08f4eeb
Don't delete ejabberd_commands table, it's problematic in cluster ( #1210 )
2016-08-14 20:35:25 +02:00
Holger Weiss
4ee8af633b
Store announcements for offline users
...
Add a <store/> hint to announcements (unless they are explicitly sent to
online users). Without that hint, announcements weren't delivered to
offline users, since they are sent as messages of type "headline".
2016-08-13 00:07:27 +02:00
Holger Weiss
bf9d6b5534
Honor <store/> hint for any non-"error" message
...
XEP-0334 says: "A message containing the <store/> hint that is not of
type 'error' SHOULD be stored by the entity."
2016-08-12 21:13:10 +02:00
Holger Weiss
28dde294e5
mod_mam: Don't store messages of type "headline"
...
XEP-0313 says: "a server SHOULD include in a user archive all of the
messages a user sends or receives of type 'normal' or 'chat' that
contain a <body> element."
2016-08-12 20:38:17 +02:00
Evgeniy Khramtsov
31faa4eb9a
Add more type specs
2016-08-12 13:17:42 +03:00
Evgeniy Khramtsov
ffba664f2c
Add a requirement for full JID in subscribe_room command
2016-08-11 17:13:20 +03:00
Paweł Chmielowski
50596dc4d3
Provide proper args_desc in oauth_issue_token command
2016-08-10 11:26:04 +02:00
Paweł Chmielowski
e63fe5c216
Fix result type of subscribe_room command
2016-08-10 11:22:19 +02:00
Evgeniy Khramtsov
1fc58ace2f
Add commands for MUC subscriptions management
2016-08-09 13:36:43 +03:00
Evgeniy Khramtsov
522a186a38
Improve some type specs
2016-08-09 10:56:32 +03:00
Mickael Remond
efc744092b
We do not force yet access rules check on register command
2016-08-07 18:27:16 +02:00