Holger Weiss
7a1ed065fe
mod_carboncopy: Copy outgoing MUC PMs
...
Incoming MUC PMs aren't carbon-copied, as the MUC service usually forks
them. However, don't suppress copying of outgoing PMs, where no such
forking takes place.
2018-02-22 00:40:09 +01:00
Evgeniy Khramtsov
ec0f0f7c72
Move some log messages to debug level
2018-02-21 17:12:50 +03:00
Evgeniy Khramtsov
0acc69e303
Use nicks in disco#items or disco#info report
2018-02-21 10:25:15 +03:00
Evgeniy Khramtsov
4bf4193d55
Add 'negotiation_timeout' to the known options list
2018-02-20 19:47:50 +03:00
Evgeniy Khramtsov
d625e24029
Introduce 'negotiation_timeout'
...
The option can be used to specify a period (in seconds) for a stream
negotiation to complete. If the timer fires, the stream is considered
as failed and the underlying connection gets closed. This is a global
option (you cannot set it per domain) and the default is 30 seconds.
2018-02-20 11:38:00 +03:00
Holger Weiss
a875195940
mod_admin_extra: Fix srg_get_info with '@all@'
...
Don't let the srg_get_info command crash if the roster group has '@all@'
or the '@online@' users as members.
2018-02-20 00:44:47 +01:00
Evgeniy Khramtsov
06c480106f
Don't emit validator's warning if the module is not found
2018-02-19 22:07:09 +03:00
Evgeniy Khramtsov
e070e6bccb
Replace ?MYLANG with connection's language wherever possible
2018-02-19 21:47:20 +03:00
Evgeniy Khramtsov
de49e7631f
Push blocking related IQs from bare JID
...
Fixes #2287
2018-02-18 18:00:20 +03:00
Evgeniy Khramtsov
25abf8b634
Don't inject node name inside "id" attribute
...
Fixes #2284
2018-02-18 11:54:40 +03:00
Evgeniy Khramtsov
ff06bdf144
Don't ask other nodes to invalidate cache when the key is not updated
2018-02-18 09:02:23 +03:00
Evgeniy Khramtsov
d5afc767e6
Fix 'badmatch' crash
...
The crash was introduced in 4b012a99d2
2018-02-17 20:06:50 +03:00
Evgeniy Khramtsov
5704a980c5
Introduce 'access' option for mod_block_stranger
...
The option is supposed to be used when `allow_local_users`
and `allow_transports` are not enough. It's an ACL where `deny`
means the message will be rejected (or a CAPTCHA would be
generated for a presence), and `allow` means the sender is
whitelisted and the stanza will pass through.
The default value is `none`, which means nothing is whitelisted.
2018-02-17 18:53:35 +03:00
Evgeniy Khramtsov
cffdb06b66
Cache 'isuser' queries to external auth program
2018-02-16 20:50:22 +03:00
Christophe Romain
7e1df0752a
Export helper function
2018-02-16 09:53:38 +01:00
Christophe Romain
f0ccdebf7f
Export helper functions
2018-02-16 09:52:29 +01:00
Evgeniy Khramtsov
32e5a3255d
Export aux functions from mod_muc_room
2018-02-16 08:28:33 +03:00
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
Mickael Remond
a0c8012c66
Do not force command line to pass a credentials
2016-08-07 18:24:08 +02:00
Holger Weiss
b62aa3d2dc
mod_client_state: Let other modules filter stanzas
...
Don't stop execution of the 'csi_filter_stanza' hook if mod_client_state
won't queue the stanza.
2016-08-06 13:36:27 +02:00
Holger Weiss
91e26fbf7a
Add user's JID to CSI hook arguments
...
Add the JID of the CSI user to the arguments of the 'csi_filter_stanza'
and 'csi_flush_queue' hooks.
2016-08-05 23:47:18 +02:00
Holger Weiss
c2ef55a075
Cosmetic change: Set CSI state 'active' on resume
...
The CSI state is always set to 'active' when a stream management session
is resumed; so there's no need to apply the CSI state of the old c2s
process, first.
2016-08-05 20:09:52 +02:00
Evgeniy Khramtsov
4ff8d7918a
Change code to reflect recent changes in fxml_gen
2016-08-05 08:41:08 +03:00
Holger Weiss
9a5f0751be
mod_mam: Simplify "assume_mam_usage" option
...
The "assume_mam_usage" option now takes a boolean value. Setting it to
"true" has the same effect as "if_enabled" had before. The "on_request"
behavior is no longer offered, as it made the option (and its
documentation) overly complex.
2016-08-05 01:57:01 +02:00
Evgeniy Khramtsov
b487ccfb34
Delete mod_configure2
...
The module doesn't work properly for many years and nobody reported
this, which means nobody is using it. Also, mod_configure does
the same (and more) in a standard compliant way (XEP-0133).
2016-08-04 16:45:33 +03:00
Evgeniy Khramtsov
ca217dc105
Rewrite HTTP Bind and Web Admin code to use XML generator
2016-08-04 13:41:38 +03:00
Evgeniy Khramtsov
8b81b9ecb1
Rewrite PIEFXIS code to use XML generator
2016-08-04 13:37:07 +03:00
Evgeniy Khramtsov
cbdc106427
Rewrite jd2ejd to use XML generator
2016-08-04 12:34:12 +03:00
Evgeniy Khramtsov
bc33a3873d
Rewrite multicast code to use XML generator
2016-08-04 11:49:17 +03:00
Christophe Romain
72b0fb49e8
Fix type convertion bug injected by 4ccc40b
( #1229 )
2016-08-04 09:49:23 +02:00
Alexey Shchepin
111aa83f5e
Add tokens cache to ejabberd_oauth
2016-08-04 01:59:28 +03:00
Evgeniy Khramtsov
abb4446b51
Fix calls to undefined functions
2016-08-03 21:00:22 +03:00
Evgeniy Khramtsov
a417fbf45b
Rewrite mod_irc to use XML generator
2016-08-03 20:57:05 +03:00
Evgeniy Khramtsov
5d06c6acbf
Rewrite mod_configure to use XML generator
2016-08-03 10:34:54 +03:00
Holger Weiss
78fa9e08a5
XEP-0198: Handle timeouts during stream resumption
...
If session resumption failed because requesting the #state from the old
c2s process took too long, the new c2s process will usually receive the
response. Let the new process handle that case gracefully.
2016-08-03 02:28:46 +02:00
Holger Weiss
3c1e4f0dfd
XEP-0198: Increase timeout for stream resumption
...
During stream resumption, the #state is transferred from the old c2s
process to the new one. This is usually very fast, but under certain
conditions, it can take longer than five seconds.
2016-08-03 02:15:15 +02:00
Alexey Shchepin
4add262090
Add OAUTH SQL backend
2016-08-01 16:55:43 +03:00
Mickaël Rémond
2ef58a33a9
Merge pull request #1223 from processone/expand_api
...
More API fixes and improvements
2016-08-01 15:36:47 +02:00
Mickael Remond
d02d7b2b6a
Remove compile warning
2016-08-01 15:35:54 +02:00
Mickael Remond
90ea3ca361
Improve error message when try to call api on api root
2016-08-01 15:29:47 +02:00
Christophe Romain
bf45c9eeee
Switch mix worker to transient
2016-08-01 14:09:16 +02:00
Christophe Romain
a9c6748ec7
Add missing comas in sql statement ( #1219 )
2016-08-01 10:55:02 +02:00
Mickael Remond
c5c394e929
Fix HTTP process return formatting
2016-08-01 08:58:49 +02:00
Mickael Remond
6ea7153e31
Improve error handling
2016-07-31 22:48:24 +02:00
Evgeniy Khramtsov
c0272ae766
Rewrite mod_stats to use XML generator
2016-07-31 14:51:16 +03:00
Evgeniy Khramtsov
e258462b6b
Improve vCard creation from LDAP result
2016-07-31 14:17:17 +03:00
Evgeniy Khramtsov
0bcbd12776
Rewrite mod_mix to use XML generator
2016-07-31 08:51:47 +03:00
Mickael Remond
2a49f8cae7
Change name of result key for offline count to value
...
This is more user friendly and should be more consistent with other commands.
2016-07-30 20:12:04 +02:00
Mickael Remond
674a8039ef
Add support for sending back missing scope error to API ReST command calls
2016-07-30 18:51:54 +02:00
Mickael Remond
4bf8ce7681
Make s2s stats commands more robust
2016-07-30 18:50:58 +02:00
Evgeniy Khramtsov
eb1d385d4e
Get rid of "jlib.hrl" dependency in mod_service_log
2016-07-30 18:42:17 +03:00
Evgeniy Khramtsov
5cd1cf5096
Get rid of "jlib.hrl" dependency in some modules
2016-07-30 18:37:57 +03:00
Evgeniy Khramtsov
792e6a7c1c
Rewrite mod_http_upload to use XML generator
2016-07-30 17:48:52 +03:00
Mickael Remond
19ad6e6145
Ensure ejabberdctl status result is in valid shell supported range
2016-07-30 13:18:39 +02:00
Mickael Remond
39640b67c7
Add support for rich error reporting for API
2016-07-30 13:08:30 +02:00
Evgeniy Khramtsov
d2d3b961eb
Rewrite mod_sic to use XML generator
2016-07-30 13:30:29 +03:00
Mickael Remond
fb2603d3cd
Return 409 conflict error code on register if user already exists
2016-07-30 11:50:04 +02:00
Mickaël Rémond
4a49dfecf3
Merge pull request #1221 from processone/expand_api
...
Do not crash on check when we do not have JID
2016-07-30 10:55:39 +02:00
Evgeniy Khramtsov
f19d2fdcff
Rewrite mod_shared_roster backends module to use XML generator
2016-07-30 08:39:30 +03:00
Evgeniy Khramtsov
a093e9d441
Rewrite mod_shared_roster to use XML generator
2016-07-30 08:37:34 +03:00
Mickael Remond
42e6f72ee9
Do not crash on check when we do not have JID
2016-07-29 20:38:05 +02:00
Evgeniy Khramtsov
9bf1bac7df
Rewrite mod_vcard_ldap to use XML generator
2016-07-29 17:39:13 +03:00
Evgeniy Khramtsov
f91f2bc3d2
Rewrite several modules to use XML generator
2016-07-29 13:21:00 +03:00
Christophe Romain
a080322055
Switch workers from temporary to transient
2016-07-29 11:18:42 +02:00
Paweł Chmielowski
fd365b2893
Display data that is send to websocket connection in debug log level
...
This should help with detecting problems like in #1097
2016-07-28 16:20:28 +02:00
Christophe Romain
fad088a3c4
Merge pull request #1193 from gabrielgatu/support-elixir-module-installer
...
Fix issue #625 : Writing Elixir modules
2016-07-28 16:06:12 +02:00
gabrielgatu
91865c66c0
Start elixir application after ejabberd_app:start_apps()
2016-07-28 15:57:35 +02:00
Mickaël Rémond
7a74a4836a
Merge pull request #1211 from processone/expand_api
...
There is still work to do, be we reached a stable state and can merge up to this point.
2016-07-28 14:57:48 +02:00
Evgeniy Khramtsov
b31ebd2ea0
Rewrite captcha to use XML generator
2016-07-28 15:10:41 +03:00
Evgeniy Khramtsov
96e912b09a
Rewrite mod_register to use XML generator
2016-07-27 18:06:54 +03:00
Evgeniy Khramtsov
8275e95a16
Swap variables in their correct places
2016-07-27 18:06:34 +03:00
Evgeniy Khramtsov
1097d31d63
Fix type spec for set_from_to/3
2016-07-27 18:05:11 +03:00
Evgeniy Khramtsov
c409ed2f2c
Rewrite S2S and ejabberd_service code to use XML generator
2016-07-27 10:45:08 +03:00
Holger Weiss
72445bb374
mod_http_upload_quota: Apply cosmetic changes
...
Use "fun f/1" syntax in place of "fun(X) -> f(X) end".
2016-07-27 00:28:47 +02:00
Evgeniy Khramtsov
984c4cf6bd
Add 'allow_subscription' MUC configuration option
2016-07-26 14:37:28 +03:00
Mickael Remond
7781f39b74
Clarify command module API
2016-07-26 12:15:03 +02:00
Mickael Remond
e5fd1ee4f6
Avoid starting several time the owner process
2016-07-26 12:12:48 +02:00
Mickael Remond
9ff7257287
Make jlib ETS table more resilient
2016-07-26 11:58:14 +02:00
Mickael Remond
12f74b4aa7
Fix list appending bug
2016-07-26 11:57:38 +02:00
Evgeniy Khramtsov
23858469b7
Get rid of "jlib.hrl" dependency in some files
2016-07-26 11:29:17 +03:00
Evgeniy Khramtsov
c26d38a893
Remove jlib dependency from acl.erl
2016-07-26 10:01:59 +03:00
Evgeniy Khramtsov
da310a5173
Rewrite mod_adhoc and mod_announce to use XML generator
2016-07-26 09:52:29 +03:00
Alexey Shchepin
839490b0d9
Add DB backend support for ejabberd_oauth
2016-07-25 20:08:30 +03:00
Mickael Remond
c183092aa4
Simplify code for command policy group expansion
2016-07-25 18:28:05 +02:00
Badlop
5d4f8bcf0d
Export acl:parse_ip_netmask/1 for mod_rest (ejabberd-contrib#175)
2016-07-25 16:57:05 +02:00
Evgeniy Khramtsov
179fcd9521
Rewrite mod_mam and mod_muc to use XML generator
2016-07-25 13:50:30 +03:00
Mickael Remond
d7ad99f147
Initial attempt on access on commands
...
May change and will require more work / test / refactor
2016-07-25 11:43:49 +02:00
Holger Weiss
4b0d71d402
Don't return error for blocked MUC PMs
...
If a message stanza is blocked as per XEP-0016 or XEP-0191 and the
stanza is marked as a private MUC message, don't return an error. This
makes sure users won't be kicked from MUC rooms when blocking other
participants.
2016-07-24 20:55:11 +02:00
Mickael Remond
b4a430541d
Return more user friendly, human readable error description
2016-07-24 14:10:12 +02:00
Mickael Remond
bfa61eaa46
Make default OAuth token TTL values more user friendly
2016-07-23 18:57:57 +02:00
Mickael Remond
68555ff466
Add support for checking access rules conformance for commands
2016-07-23 18:21:45 +02:00
Mickael Remond
1485b56211
Move any access rules check to ACL module
2016-07-23 18:21:45 +02:00
Mickael Remond
2c70c572c8
Clean-up of error codes and format json structure
2016-07-23 18:21:45 +02:00
Holger Weiss
d4d1941133
XEP-0198: Log debug message when dropping stanza
...
Log a debug message when an unacknowledged message is neither resent nor
bounced because it's archived.
2016-07-23 01:23:24 +02:00
Holger Weiss
814b80c644
Preserve PID for offline sessions
...
Don't set the PID to 'undefined' when a session goes offline, as this
looses the information which node created the session table entry.
Fixes #1196 .
2016-07-23 01:08:05 +02:00
Pablo Polvorin
4332dddbc4
Support oauth password grant type
...
As in https://tools.ietf.org/html/rfc6749#section-4.3
2016-07-22 19:17:12 -03:00
Pablo Polvorin
caf7b54305
oauth: single jid field instead of username/password fields
2016-07-22 15:37:48 -03:00
Badlop
c5d9d35e7b
Convert password provided by web form to UTF8 before passing it ( #375 )
2016-07-22 16:52:13 +02:00
Jerome Sautret
ffbe97d988
Quote postgresql database name ( #1136 )
2016-07-22 16:33:40 +02:00
Paweł Chmielowski
bdfef09c0f
Fix handling of complex values as arguments in http_api
2016-07-22 15:26:27 +02:00
Evgeny Khramtsov
dd38bef8b1
Merge pull request #1201 from xmppjingle/master
...
External Component Connection Hooks
2016-07-22 00:35:43 +04:00
xmppjingle
6983dfa21f
External Component Hook
...
Changed Hook Trigger Event and included a Reason upon
component_disconnected/2 Hook
2016-07-21 14:03:01 -03:00
Pablo Polvorin
cbfab687e8
Oauth callback must pass expires_in as ttl instead of epoch
2016-07-20 14:47:11 -03:00
Pablo Polvorin
b5a90be3cb
Merge branch 'master' of github.com:processone/ejabberd
2016-07-19 20:19:17 -03:00
Pablo Polvorin
1d317e8068
Let user choose the desired oauth token TTL
2016-07-19 20:18:07 -03:00
Holger Weiss
8f8c499cfa
mod_mam: Fix handling of result set page limit
...
Restore function clause for handling a client-specified result set page
limit that doesn't exceed mod_mam's upper threshold.
2016-07-19 21:23:30 +02:00
Holger Weiss
9fcb81dea9
mod_mam: Always limit result set page size
...
Limit the number of messages returned for a given MAM request even if
the client didn't specify an RSM set (not just if the client specified
an RSM set without a limit).
This is still not done for MAM v0.2 requests though, as that version of
the XEP doesn't require clients to support RSM.
2016-07-19 21:08:13 +02:00
Evgeniy Khramtsov
5d90292849
Fix hooks de-registration
2016-07-19 15:33:17 +03:00
Paweł Chmielowski
655cbf6055
Make access rules in ejabberd_web_admin configurable
2016-07-19 11:27:45 +02:00
Evgeniy Khramtsov
bc802a4049
Rewrite mod_blocking to use XML generator
2016-07-19 10:07:04 +03:00
Evgeniy Khramtsov
a4a9dd7f03
Rewrite mod_offline to use XML generator
2016-07-19 07:56:14 +03:00
Pablo Polvorin
483ef09263
Fix command argument formatting
2016-07-19 00:51:04 -03:00
Pablo Polvorin
33e0283f0d
Add 'ejabberd:user' and 'ejabberd:admin' oauth scopes
...
'ejabberd:user' includes all commands defined with policy "user".
'ejabberd:admin' includes commands defined with policy "admin".
2016-07-19 00:24:06 -03:00
Pablo Polvorin
673a654c47
Fix ce0d1704c6
...
Original request was to allow ejabberd sysadmin to generate
tokens for specific users. JIDs must not be passed as argument
when requesting the tokens.
2016-07-18 20:25:23 -03:00
xmppjingle
48c88b61b6
Merge remote-tracking branch 'processone/master'
2016-07-18 17:55:31 -03:00
xmppjingle
fca2f24231
External Component Connection Hooks
2016-07-18 17:55:10 -03:00
Holger Weiss
8bc3dc9c49
jlib: Don't try to keep just one <delay/> tag
...
It seems unclear whether XEP-0203 really mandates that stanzas may not
have multiple <delay/> tags. Editing/removing existing tags doesn't
seem worth the effort, especially as we'd have to take more care which
tag to keep if the stanza already has more than one.
2016-07-18 22:31:08 +02:00
Evgeniy Khramtsov
9a8e197d7e
Initial version based on XML generator
2016-07-18 15:01:32 +03:00
Holger Weiss
749033598d
Omit [info] message with number of queued stanzas
...
Just log a debug message if a stream management session times out and
some stanzas weren't acknowledged.
2016-07-10 22:21:57 +02:00
Evgeniy Khramtsov
f6e960d326
Fix compilation error
2016-07-10 08:45:24 +03:00
Evgeniy Khramtsov
786bd4f26c
Use hooks instead of direct calls to mod_mam
2016-07-09 12:43:01 +03:00
Holger Weiss
5f48d2641b
mod_http_upload_quota: Depend on mod_http_upload
...
mod_http_upload_quota uses mod_http_upload's "docroot" option, so the
mod_http_upload configuration must be parsed, first. Fixes #1025 .
2016-07-08 20:47:02 +02:00
Christophe Romain
6b38d19085
Do send last items only for subscription on current plugin type
2016-07-08 15:18:39 +02:00
Evgeniy Khramtsov
661b041302
Rename MUC/Sub's namespace
2016-07-08 15:07:26 +03:00
Evgeniy Khramtsov
368b202144
Handle MUC/Sub subscriptions list request
2016-07-08 15:07:10 +03:00
Evgeniy Khramtsov
caaf02eaa0
Advertise MUC/Sub support in MUC service disco#info
2016-07-08 15:06:08 +03:00
Evgeniy Khramtsov
32de9a56a5
Experimental MUC/Sub support
2016-07-08 15:05:50 +03:00
Evgeniy Khramtsov
71f27ee7d4
Get rid of warnings
2016-07-07 12:17:38 +03:00
Evgeniy Khramtsov
c718cbbd9f
Warn on cyclic modules dependencies
2016-07-07 11:34:17 +03:00
Badlop
12c0d888b1
Revert "Recover fix of 907e239
lost in 9deb294
(thanks to Alexey Shchepin)" ( #1183 )
...
This reverts commit 53f3a45803
.
2016-07-06 17:54:37 +02:00
Evgeniy Khramtsov
4220a2b98c
Make modules loading in a dependent order ( #1191 )
2016-07-06 14:58:48 +03:00
Christophe Romain
de9f80f2ce
Add missing '/' for jid matching from commit e300f80
2016-07-06 10:06:17 +02:00
Alexey Shchepin
be3a4acb55
Fix missed escaping in node_flat_sql.erl
2016-07-05 17:45:37 +03:00
Christophe Romain
3820aaa421
Quote reserver 'type' keyword for pgsql to fix e300f80
2016-07-05 16:16:40 +02:00
Christophe Romain
e300f8095d
Fix use of like parameter in sql pubsub's requests
2016-07-05 15:43:59 +02:00
gabrielgatu
b31c0d9e2e
Support elixir module installer
2016-07-05 12:36:49 +02:00
Holger Weiss
8e04a7ef4d
mod_configure: Fix editing of access rules
2016-07-03 22:58:54 +02:00
Paweł Chmielowski
0737958b45
Fix compilation issues on R19
2016-07-01 21:20:10 +02:00
Holger Weiss
8be1d49961
mod_mam_mnesia: Force garbage collection
...
The VM fails to collect the garbage generated during MAM lookups
automatically, so mod_mam_mnesia's memory usage easily goes up to
several gigabytes if we don't force garbage collection.
2016-06-29 22:32:59 +02:00
Holger Weiss
10d4c16a97
mod_client_state: Throttle PEP stanzas by default
2016-06-29 22:22:49 +02:00
Pablo Polvorin
ce0d1704c6
Allow generation of oauth tokens from command line
...
Oauth tokens can be generated for commands (scopes) having admin|user|open
policy. Restricted commands are not available as those are only usable
from ejabberdctl command line.
Four new commands are available:
$ejabberdctl oauth_issue_token "stats;get_roster"
Generates a token authorized to call both stats and get_roster
commands. Note scopes must be separated by semicolon.
$ejabberdctl oauth_list_tokens
List tokens generated from the command line, with their scope
and expirity time.
$ejabberdctl oauth_list_scopes
List scopes available
$ejabberdctl oauth_revoke_token "Lbs7qdJfdKXOWzVrArgyckY055tE1xnt"
Revokes the given token
2016-06-29 00:22:28 -03:00
Paweł Chmielowski
3446aba753
Include correct version in stream:stream when reporting errors
...
This fixes issue #1174
2016-06-27 16:40:57 +02:00
Paweł Chmielowski
f56cff925c
acl: ACLName rule should match if any part of ACLName matches
2016-06-24 15:09:51 +02:00
Holger Weiss
1794dd19d0
mod_pubsub: Fix matching of set_node/1 result
...
nodetree_tree_sql:set_node/1 returns {result, NodeIdx} on success, not
{ok, NodeIdx}. Thanks to Christophe Romain for spotting this.
2016-06-23 14:23:24 +02:00
Paweł Chmielowski
1b5c50a384
When convertion of xmlrpc argument to type fails, report it as error
2016-06-23 10:41:16 +02:00
Holger Weiss
065f5272e6
mod_blocking_sql: Handle default list corner case
...
Handle the situation where a list of the name "Blocked contacts" was
created by an XEP-0016 client, but no default list exists.
2016-06-22 22:36:27 +02:00
Christophe Romain
cd0244eb71
Merge pull request #1120 from anagromataf/feature/archive-id-in-message-carbons
...
Send unique stanza id and archived tag also in the message carbons
2016-06-22 15:47:27 +02:00
Christophe Romain
f029488260
Restore get_items conditions when not using RSM ( #1147 )
2016-06-22 13:12:40 +02:00
Badlop
eeeb190680
Set HTTP/1.0 so github accepts the request ( #1157 )
2016-06-22 12:43:24 +02:00
Christophe Romain
95ff94b054
Fix PubSub RSM on get_items ( #1147 )
2016-06-22 12:25:41 +02:00
Christophe Romain
7744339347
Update supported xep version
2016-06-22 11:24:01 +02:00
Christophe Romain
2efa8677c9
Fix pgsql compatibility on delete_old_messages ( #1137 )
2016-06-22 11:21:11 +02:00
Holger Weiss
c928956d73
XEP-0198: Apply cosmetic changes
2016-06-21 23:17:17 +02:00
Holger Weiss
7ddeac38b6
XEP-0198: Also count stanzas when socket is closed
...
Don't forget to count stanzas received from the stream management client
that are processed right after the connection was lost.
2016-06-21 22:54:41 +02:00
Paweł Chmielowski
3a8da27d86
Use {access,shaper}_rules_validator in other places where access rules are used
2016-06-21 13:18:24 +02:00
Paweł Chmielowski
52d45604ba
Use new access_rules_validator in couple places
2016-06-21 12:28:53 +02:00
Paweł Chmielowski
804190e4a8
Add acl:{access,shaper}_rules_validator for use in {mod_}opt_type()
2016-06-21 12:26:31 +02:00
Paweł Chmielowski
4b9613e8fe
Allow {mod_}opt_type to transform values passed to it, and for better error reporting
2016-06-21 12:25:29 +02:00
Christophe Romain
b2f53fb962
Avoid cleanup on bag when disc_only, switch in memory ( #1161 )
2016-06-21 10:43:19 +02:00
Holger Weiss
c91c5aa352
Fix handling of queued stanzas on session timeout
...
Don't fail to resend or bounce unacknowledged stanzas if the stream
management session timed out.
Closes #1160 .
2016-06-19 23:32:15 +02:00
Paweł Chmielowski
1fb1e8721b
Allow using shaper defined by name like in in s2s_shaper: fast
2016-06-16 11:04:01 +02:00
Paweł Chmielowski
0a09f27373
Typo in option name
2016-06-16 11:00:38 +02:00
Paweł Chmielowski
7b308e0d41
Add shorter version of some common access rules definitions
...
This add conversion of
- allow
to
- allow: all
and
- allow: acl_name
to
- allow:
- acl: acl_name
(this works also for deny, and number in shapers)
2016-06-15 19:23:55 +02:00
Badlop
9004608181
Check password with jid:resourceprep when registering account ( #996 )
2016-06-14 23:35:47 +02:00
Holger Weiss
26bce5dee3
mod_mam: Fix "assume_mam_usage: if_enabled"
2016-06-14 16:40:46 +02:00
Badlop
34cf693231
Recover ec6c58a
which was reverted in 100827e
(thanks to Alexey Shchepin)
2016-06-10 13:18:32 +02:00
Badlop
4ccc40bce5
push_roster must convert read strings to binaries ( #1075 )
2016-06-08 21:16:30 +02:00
Badlop
53f3a45803
Recover fix of 907e239
lost in 9deb294
(thanks to Alexey Shchepin)
2016-06-08 19:34:05 +02:00
Badlop
858d880675
Allow again multiple fqdn values in configuration (EJAB-1578)
2016-06-08 19:28:17 +02:00
badlop
a4f213837e
Merge pull request #1125 from vthriller/roster-push
...
mod_roster should probably respect roster item changes introduced with roster_process_item hooks upon pushing
2016-06-08 13:57:52 +02:00
Badlop
5173de503c
Produce mod_last entry on account creation ( processone/ejabberd-contrib#62 )
2016-06-08 13:02:20 +02:00
Badlop
8a7b31ca63
When stopping ejabberd, stop modules after broadcasting c2s shutdown ( #1144 )
2016-06-07 18:41:38 +02:00
Holger Weiss
78d4200f05
mod_pubsub: Fix node configuration changes for SQL
...
nodetree_tree_sql:set_node/1 returns {ok, NodeIdx} rather than 'ok' on
success.
2016-06-06 00:18:24 +02:00
Holger Weiss
60803f5780
Simplify check for carbon-copied chat states
...
Let jlib:is_standalone_chat_state/1 unwrap carbon copies rather than
leaving this to the caller. We still export jlib:unwrap_carbon/1, as
this function might also be useful for other purposes.
2016-06-05 22:36:56 +02:00
Holger Weiss
5c3074c0fb
mod_client_state: Fix handling of chat states
...
Fix the check for chat states sent from other resources of the same
user.
2016-06-05 22:04:38 +02:00
Holger Weiss
4789ddf1ee
mod_client_state: Simplify handling of PEP stanzas
...
Let mod_client_state simply queue the most recent item of a given PEP
node (from a given contact) instead of also taking the payload namespace
into account.
2016-06-05 21:48:03 +02:00
Holger Weiss
8305cc293b
XEP-0352: Pass chat states of other resources
...
Don't hold back (carbon copies of) chat states from other resources, as
they might be used to sync the state of conversations across clients.
E.g., if one client becomes active, another one might want to remove a
notification (immediately).
2016-06-03 21:52:11 +02:00
Holger Weiss
4d5eab6662
Unwrap carbon copies when checking for chat states
...
Detect standalone chat states that were carbon-copied.
2016-06-03 20:28:48 +02:00
Holger Weiss
3a1fc6fb66
Ignore <delay/> when checking for chat states
...
Ignore XEP-0203 elements when checking whether a message stanza is a
standalone chat state.
2016-06-03 19:02:26 +02:00
Holger Weiss
5c1db176a9
Fix "unused variable" warning
2016-06-03 12:58:20 +02:00
Badlop
0503d899cf
Fix problem in dfee843
when non-occupant admin kicks an occupant ( #1135 )
2016-06-03 00:10:25 +02:00
Alexey Shchepin
d201f013b2
Stronger tests in the test suite, SQL updates and fixes
2016-06-02 18:09:58 +03:00
Badlop
5352037680
Report in SQL when scram is enabled but the stored password isn't ( #1096 )
2016-06-01 20:48:52 +02:00
Holger Weiss
bbb90b9928
Ignore offline sessions
...
Let mod_admin_extra and mod_configure ignore offline sessions when
querying the session table.
2016-06-01 01:01:54 +02:00
Christophe Romain
e7843bf92b
Fix set_presence API
2016-05-31 11:47:08 +02:00
Paweł Chmielowski
fc2b7018cc
More strict check for commands with policy user
2016-05-30 23:06:29 +02:00
Paweł Chmielowski
e81302dc79
Allow @ inside acl user{,_glob,_regexp} to pass both user and server in single string
2016-05-30 12:30:44 +02:00
Paweł Chmielowski
1981e13326
Allow passing username and ip to ejabberd_comamnds, and use it in mod_http_api
2016-05-26 11:08:53 +02:00
Paweł Chmielowski
fffae97940
Use acl:access_matches in c2s
2016-05-26 11:08:53 +02:00
Paweł Chmielowski
49658e1655
New ACL infrastructure
2016-05-26 11:08:53 +02:00
Paweł Chmielowski
c55319c81e
Do not call transform_terms multiple times on configs when merging them
2016-05-26 11:08:53 +02:00
Badlop
ca329826cb
Retrieve parenthesis for easy reading, lost in old commit 9deb294
2016-05-25 12:44:05 +02:00
Evgeny Khramtsov
14b53fbcb0
Merge pull request #1131 from weiss/failed-resume-h
...
XEP-0198: Indicate number of handled stanzas if resumption fails
2016-05-25 11:56:47 +04:00
Evgeny Khramtsov
b055c2a13a
Merge pull request #1126 from weiss/muc-send-affiliation
...
Notify on MUC affiliation changes of non-occupants
2016-05-25 11:55:06 +04:00
Holger Weiss
c958fa2f06
Add support for PubSub publishing options
...
Add code necessary to support publishing options as described in
XEP-0060, #7.1.5. A node plugin that expects publishing options must
add <<"publish-options">> to the features/0 list and then handle the
publishing options handed over to the publish_item/7 call.
Signed-off-by: Christian Ulrich <christian@rechenwerk.net>
2016-05-25 08:40:12 +02:00
Holger Weiss
30e814dd4b
XEP-0198: Add 'h' attribute to <failed/> element
...
If a resume request is rejected because the session timed out, indicate
the number of handled stanzas as per version 1.5 of XEP-0198.
2016-05-24 22:20:58 +02:00
Holger Weiss
8c16fdf59f
mod_mam_mnesia: Clarify error message
2016-05-24 07:58:07 +02:00
Holger Weiss
a2f0e157bc
ejabberd_auth*: Fix indentation
2016-05-24 00:40:25 +02:00
Holger Weiss
2a9dd548b5
mod_mam_mnesia: Don't exceed table size limit
...
Don't write MAM messages into an Mnesia archive if the size of the table
comes close to the 2 GB limit for tables with disc-only copies. That
way, the table is at least not corrupted when the limit is reached.
2016-05-24 00:25:52 +02:00
Holger Weiss
3f3ecad981
mod_mam_mnesia: Use transactions when writing
...
Let mod_mam_mnesia use transactions when storing or deleting messages.
If old messages of a user are to be removed, delete the user's archive
and rewrite it from scratch, as that seems to be much faster than
removing individual records with delete_object/1.
Closes #1065 .
2016-05-24 00:08:23 +02:00
Holger Weiss
70452ba25a
mod_register: Only set timeout on success
...
Don't set the registration timeout if the password was rejected for
being too weak.
2016-05-23 23:27:42 +02:00
Holger Weiss
9d87a4a6d4
mod_muc_room: Notify on affiliation changes
...
Notify the current room occupants if the affiliation of a non-occupant
is changed as per example 195 of XEP-0045. In anonymous rooms, only
moderators are notified, though.
2016-05-20 01:28:16 +02:00
vthriller
f6ba91ff97
mod_roster should probably respect roster item changes introduced with roster_process_item hooks upon pushing
2016-05-19 13:45:42 +03:00
Holger Weiss
420ae65590
mod_client_state: Add function specifications
...
Add function specifications and apply cosmetic changes to
mod_client_state.
2016-05-18 21:30:38 +02:00
Holger Weiss
8f72c27b88
mod_client_state: Add "queue_pep" option
...
If the new "queue_pep" option is enabled and the client is inactive, PEP
notifications are throttled in a similar way to presence stanzas and
chat states. Only the most recent notification of a given node and
payload type will be queued from a given contact.
2016-05-17 22:12:04 +02:00
Holger Weiss
4f009e64fc
mod_client_state: Queue chat state notifications
...
Queue standalone chat states instead of simply dropping them when the
client is inactive. Only the most recent chat state of a given client
is queued.
2016-05-17 20:55:45 +02:00
Holger Weiss
ba74c1c367
Move CSI queue handling into mod_client_state
...
Let mod_client_state handle the queueing of stanzas, not just their
classification. This simplifies the ejabberd_c2s code and gives
(custom) CSI modules more flexibility.
2016-05-17 19:27:18 +02:00
Badlop
ba2680df61
Delete duplicated command export_sql, use export2sql instead ( #1118 )
2016-05-16 17:57:57 +02:00
Tobias Kräntzer
2529acc36c
Send unique stanza id and archived tag also in the message carbons
...
- Change order of the hooks in mod_mam for sending and receiving packets. Messages are archived before a carbon copy is send to the other recourcces.
- Add archived tag and unique stanza id to the outgoing packet to have message carbons with the archive information.
- Add additional hook (in mod_mam) to strip the archive tag for outgoing packets after message carbons have been send.
2016-05-15 20:13:25 +02:00
Holger Weiss
ff199a323d
Fix jid:from_string/1 function specification
2016-05-15 16:19:13 +02:00
Alexey Shchepin
792f47b4bd
Update SQL escaping
2016-05-13 17:56:48 +03:00
Evgeniy Khramtsov
be2a9e35ae
Fix C2S session data leak ( #1078 )
2016-05-09 14:18:47 +03:00
Evgeniy Khramtsov
068db1a2d9
Handle Redis connection in a separate module
2016-05-09 08:36:30 +03:00
Holger Weiss
4717d64d7a
mod_client_state: Delete only the configured hooks
2016-05-08 16:45:31 +02:00
Holger Weiss
f7f40cf9a6
Let client retry HTTP upload on file size mismatch
...
Let the main mod_http_upload process look at the size of an HTTP upload
rather than performing this check in the ejabberd_http handler. This
way, the upload slot won't be invalidated if the size of the uploaded
file doesn't match the size requested for the slot. The PUT request is
still rejected, but the client now has a chance to retry the upload.
2016-05-08 15:36:51 +02:00
Holger Weiss
ff4a0e1808
XEP-0198: Use different error message for bounces
...
When stanzas are bounced from the stream management queue (because the
session timed out or was closed for some other reason), use a different
error message so that this situation can be distinguished from other
cases.
2016-05-06 14:12:22 +02:00
Holger Weiss
51238bff83
Bounce messages sent to server JID
...
If a message is sent to the server JID (without node part), generate an
error message rather than dropping the message silently.
2016-05-06 13:59:21 +02:00
Alexey Shchepin
b2ffa1db96
Add missed jlib:term_to_expr and jlib:expr_to_term functions
2016-05-05 16:42:48 +03:00
Alexey Shchepin
0ea0ba3004
Update more SQL queries
2016-05-05 15:51:58 +03:00
Holger Weiss
d6700bdc5b
Merge remote-tracking branch 'processone/pr/1088'
...
* processone/pr/1088:
Process messages of unknown type consistently
2016-05-05 00:20:15 +02:00
Christophe Romain
13c6430341
Add missing odbc->sql in comment from commit 1aae8a9f
2016-05-04 09:11:18 +02:00
Holger Weiss
12a8d915cd
Merge remote-tracking branch 'processone/pr/1087'
...
* processone/pr/1087:
Return error when blocking last activity request
2016-05-04 00:16:56 +02:00
Holger Wei
6cb60aaff5
Cosmetic change: Make variable names consistent
...
Use the same variable names in both mod_mam:select/8 clauses to avoid
confusion.
2016-05-03 19:12:57 +02:00
Holger Weiss
6da07d78b5
Merge remote-tracking branch 'processone/pr/1086'
...
* processone/pr/1086:
Return error when blocking message to offline user
2016-05-02 21:08:06 +02:00
Christophe Romain
8a6c51290a
Pass noauth when auth isn't provided
2016-05-02 15:07:00 +02:00
Christophe Romain
07196b6c62
Fix sender in case of explicit pep subscriptions
2016-05-02 15:04:14 +02:00
Paweł Chmielowski
53e1100cc4
Don't halt program when include_config_file is missing/can't be read
2016-05-02 14:52:23 +02:00
Evgeniy Khramtsov
47050db6b8
Don't forget to import mod_opt_type/1 in mod_metrics
2016-05-02 12:18:18 +03:00
Holger Weiss
d54f211514
Add mod_opt_type/1 callback to gen_mod behaviour
2016-05-01 22:09:40 +02:00
Holger Weiss
b46ed7044a
Cope with modules that don't export mod_opt_type/1
2016-05-01 22:06:15 +02:00
Evgeniy Khramtsov
82082f1799
Add behaviour to mod_vcard_xupdate DB modules
2016-05-01 11:03:20 +03:00
Evgeniy Khramtsov
3493a87469
Fix typo in mod_mam:select() ( #1098 )
2016-04-30 21:37:18 +03:00
Christophe Romain
6a10916dda
Let shaper cope with low resolution system clock
...
We no longer rely on getting unique values from clock source, so we need
to handle cope with systems which does not have a microsecond resolution
on system clock (such as MS Windows)
2016-04-29 10:57:34 +02:00
Christophe Romain
639c2fb640
Add pubsub subscribe/unsubscribe hook
2016-04-28 15:57:55 +02:00
Evgeniy Khramtsov
c585f74730
Better formatting of configuration problem log message
2016-04-28 09:03:05 +03:00
Evgeniy Khramtsov
9c369b7a8c
Improve detection of databases supported by modules ( #1092 )
2016-04-27 17:10:50 +03:00
Evgeniy Khramtsov
52fde758b3
Get rid of "internal" DB type. This also fixes #1092
2016-04-27 09:44:32 +03:00
Christophe Romain
ef90a389c1
Fix use of pubsub node plugin when configured with default_node_config
2016-04-25 09:44:46 +02:00
Holger Weiss
36164d9446
Return error when blocking last activity request
...
As per XEP-0016 and XEP-0191, return a service-unavailable error when an
incoming last activity query was blocked by a privacy list (just as we
do for other IQ requests).
2016-04-25 09:33:47 +02:00
Holger Weiss
45321fa2e2
Process messages of unknown type consistently
...
If an incoming message sent to an unavailable resource has an unknown
type, handle it like messages of type "normal" (as mandated by RFC 6121,
section 5.2.2). The same is already done for messages of unknown type
sent to the bare JID of an offline user.
2016-04-25 01:13:41 +02:00
Holger Weiss
65ad70d7dc
Fix error text for message bounces
2016-04-25 00:53:48 +02:00
Holger Weiss
a37cf33358
Drop headline messages sent to offline resources
...
Don't bounce an error when a message of type "headline" is sent to an
unavailable resource. This is consistent with how headline messages
sent to the bare JID of an offline user are dropped, and it avoids a
presence leak.
2016-04-25 00:02:12 +02:00
Holger Weiss
58478e52bf
Don't omit bounces for messages of type "result"
2016-04-24 22:47:53 +02:00
Holger Weiss
cebdfb6523
Return error when blocking message to offline user
...
As per XEP-0016 and XEP-0191, return a service-unavailable error when an
incoming message sent to an offline user was blocked by a privacy list.
The same is done for a message sent to an online user, so this avoids a
presence leak.
2016-04-24 22:00:15 +02:00
Holger Weiss
b79f09d0eb
Match namespace when checking for chat states
...
When checking for standalone chat states, match the namespace rather
than the names of the elements defined in the current XEP-0085 revision.
2016-04-24 17:16:28 +02:00
Holger Weiss
beeb1c82d9
Fix check for standalone chat state notifications
...
Ignore whitespace (and other XML CDATA) when checking whether a message
stanza is a standalone chat state notification.
2016-04-24 17:09:56 +02:00
badlop
2660dcabba
Merge pull request #931 from cclam0827/dev/mod_ping
...
change mod_ping Timers using maps instead of dict
2016-04-22 13:07:03 +02:00
Holger Weiss
f0e6def3ed
Set default value for pubsub#itemreply option
2016-04-21 23:47:07 +02:00
Paweł Chmielowski
97e3a33077
Accept commands: add_commands syntax (along commands: - add_commands)
2016-04-21 11:16:36 +02:00
Evgeniy Khramtsov
1aae8a9fda
Rename odbc to sql everywhere
2016-04-20 13:25:42 +03:00
Evgeniy Khramtsov
fafeeb80c2
Rename ejabberd_sm_odbc -> ejabberd_sm_sql
2016-04-20 09:11:02 +03:00
Christophe Romain
655c22021b
Fix hometree root check ( #1070 )
2016-04-19 15:18:32 +02:00
Holger Weiss
382c6ce1fb
Specify type of second terminate/2 parameter
2016-04-19 09:15:09 +02:00
Badlop
e5e4f39c01
Remove --auth in ejabberd_ctl.erl as it's useless, still useful for mod_rest
2016-04-15 15:35:57 +02:00
Evgeniy Khramtsov
222572bd56
Clean mod_carboncopy.erl from DB specific code
2016-04-15 15:48:56 +03:00
Evgeniy Khramtsov
fb0ecf3361
Merge branch 'move-db-code'
2016-04-15 15:12:12 +03:00
Evgeniy Khramtsov
52571e8624
Clean mod_mam.erl from DB specific code
2016-04-15 15:11:31 +03:00
Evgeniy Khramtsov
901d2e0aed
Clean mod_offline.erl from DB specific code
2016-04-15 13:44:33 +03:00
Evgeniy Khramtsov
860db2ddca
Clean mod_blocking.erl from DB specific code
2016-04-14 14:17:20 +03:00
Evgeniy Khramtsov
c8c4a41b66
Clean mod_privacy.erl from DB specific code
2016-04-14 14:16:32 +03:00
Evgeniy Khramtsov
79d64e0d71
Clean mod_irc.erl from DB specific code
2016-04-14 12:18:04 +03:00
Evgeniy Khramtsov
f8e3560ad2
Clean mod_shared_roster.erl from DB specific code
2016-04-14 11:45:43 +03:00
Evgeniy Khramtsov
398f1de5ae
Clean mod_roster.erl from DB specific code
2016-04-14 10:58:32 +03:00
Evgeniy Khramtsov
0b439a7d5b
Clean mod_muc.erl from DB specific code
2016-04-13 21:07:32 +03:00
Evgeniy Khramtsov
ae69f09257
Clean mod_vcard.erl from DB specific code
2016-04-13 17:37:52 +03:00
Evgeniy Khramtsov
ef70ce65ab
Clean mod_private.erl from DB specific code
2016-04-13 14:09:34 +03:00
Evgeniy Khramtsov
b5d1ce795f
Clean mod_announce.erl from DB specific code
2016-04-13 13:04:04 +03:00
Evgeniy Khramtsov
cd094bc903
Clean mod_caps.erl from DB specific code
2016-04-13 11:41:04 +03:00
Evgeniy Khramtsov
2d7e03f5e1
Clean mod_vcard_xupdate.erl from DB specific code
2016-04-13 11:06:59 +03:00
Evgeniy Khramtsov
7fd4808cde
Clean mod_last.erl from DB specific code
2016-04-13 09:59:39 +03:00
Evgeniy Khramtsov
5eef8a8bcf
Make it possible to get DB backend of a module
2016-04-13 09:56:10 +03:00
Mickael Remond
cd2e2b1a88
Synchronizing master changes
2016-04-12 10:34:24 +02:00
Mickael Remond
5958a91428
Fix typo in error message
2016-04-12 10:27:43 +02:00
Holger Weiss
15d184a909
Disable TLS compression for s2s by default
...
TLS compression is not recommended, and it's already disabled by default
for c2s connections and for ejabberd_http.
2016-04-11 22:50:11 +02:00
Badlop
8c8a6869be
process2/2 is needed by mod_rest to provide its own AccessCommands
...
See processone/ejabberd-contrib#161
2016-04-11 17:21:44 +02:00
Matthias Rieber
b67dc00db2
Fix check_password
2016-04-10 15:37:36 +02:00
Mickael Remond
127342449e
Allow testing user pattern directly in access rules
2016-04-08 19:45:25 +02:00
Paweł Chmielowski
86dfbe6ece
Make sure that ejabberd_sm sid are unique
2016-04-08 10:52:29 +02:00
Evgeniy Khramtsov
b83ec483e9
Send stream trailer at the very end
2016-04-08 11:49:50 +03:00
Paweł Chmielowski
afd3accf75
Generate shorted jid for anonymous connections
2016-04-07 16:47:30 +02:00
Paweł Chmielowski
d5c29360fb
Fix anonymous auth
2016-04-07 10:02:37 +02:00
Mickael Remond
47039aed15
Allow clearing all ACL and access rules
2016-04-06 18:13:08 +02:00
Mickael Remond
5ad8c790c7
Export add_access/3 to allow setting ACL outside of yaml config file
2016-04-06 18:13:08 +02:00
Badlop
27b4217a9d
Tweak srg_get_info result formatting ( #1048 )
2016-04-06 17:55:19 +02:00
Mickael Remond
abf768274a
Fix error message paramater formatting
2016-04-06 15:05:19 +02:00
badlop
d9f1061b8a
Merge pull request #1051 from genric/patch-1
...
Fix mod_muc_admin:set_room_affiliation options persistence
2016-04-06 13:44:12 +02:00
badlop
dd654fa794
Merge pull request #1052 from genric/patch-2
...
Fix mod_muc_admin:get_room_options
2016-04-06 13:25:46 +02:00
Mickael Remond
67b9b82261
We need to set hosts in options to be able to retrieve 'MYHOSTS'
2016-04-06 12:59:27 +02:00
genric
be7f65da05
Fix mod_muc_admin:get_room_options
...
Fix mod_muc_admin:get_room_options to match the ejabberd_commands result spec.
2016-04-05 14:13:28 +02:00
Evgeniy Khramtsov
232915184c
Merge branch 'add-error-reason'
2016-04-05 13:10:09 +03:00
Evgeniy Khramtsov
9ac6e4edf7
Replace more ?ERR_* macros with ?ERRT_*
2016-04-05 13:09:44 +03:00
genric
490aa2c6a6
Fix mod_muc_admin:set_room_affiliation
...
Add missing options so they are stored when set_room_affiliation is invoked, instead of being ignored and set to default values after muc restart.
2016-04-04 14:02:34 +02:00
Mickael Remond
e24da5789e
Apply fixes and remove tests for missing methods
2016-04-01 13:05:41 +02:00
Mickael Remond
47266de6d7
Do not use underscore variable
2016-04-01 12:24:49 +02:00
Mickael Remond
f243c30847
Rollback mod_admin_extra
2016-04-01 12:24:00 +02:00
Mickael Remond
b5f1479763
Fix tests, they are now running fine locally
2016-04-01 11:13:48 +02:00
Mickael Remond
ef2e2e45b3
Fix failing tests
2016-03-31 17:34:58 +02:00
Mickael Remond
7988e2e350
Merge lastest commits from master
2016-03-31 15:37:21 +02:00
Alexey Shchepin
3dc55c6d47
Commands refactor, first pass.
...
- add API versionning
- changed error handling, based on exception
- commands moved/merged from mod_admin_p1 to mod_admin_extra
- command bufixes
- add some elixir unit test cases
Squashed commit of the following:
commit dd59855b3486f78a9349756e4f102e79b3accff8
Merge: 14e8ffc 506e08e
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Fri Oct 30 11:43:18 2015 +0100
Merge branch '3.2.x' into api
commit 14e8ffce78cbea6c8605371d1fc50a0c1d1e012c
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Tue Oct 27 16:35:17 2015 +0100
Added OAuth tests to ejabberd_commands
commit f81c550c14628edfe4861c228576cb767924366a
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Tue Oct 27 16:34:55 2015 +0100
Added some mod_http_api tests
commit 6a64578d5b2ba532a2feb6503ed98561e56d5d53
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Mon Oct 26 15:29:36 2015 +0100
Fix get_last command test
Previous version won't work with dst.
commit 27e0cde9e9c1f001effe68f8424a365ad947c068
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Fri Oct 23 17:59:34 2015 +0200
Add tests on admin command policy
commit 19dad8d54f54c9fabd454280483cccfb06c8e78a
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Fri Oct 23 16:49:36 2015 +0200
Added command related tests (http api & user policy)
commit e0e596ab4a3f3a70aba5f374f028939ab794de33
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Fri Oct 23 16:49:16 2015 +0200
Fix command call.
commit 128cd7d1ede3c47a34f8ec3a750c980ccad2c61d
Merge: 60c4c4c 447313c
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Thu Oct 22 14:48:39 2015 +0200
Merge branch '3.2.x' into api
commit 60c4c4c0751302524c14219c6bc8c56a6069a689
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Thu Oct 22 14:45:57 2015 +0200
Fix ejabberd_commands spec.
commit 8e145c28c5da762c2b93ee32327eff1db94ebfed
Merge: 397273a f13dc94
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Wed Oct 21 18:26:07 2015 +0200
Merge branch '3.2.x' into api
commit 397273a23ed415feac87aed33da6452229793387
Merge: c30e89b f289e27
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Wed Oct 21 15:27:45 2015 +0200
Merge branch '3.2.x' into api
commit c30e89bb8a0013bff37e61e4c6953350c9c1f313
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Wed Oct 21 12:47:02 2015 +0200
Merge mod_http_api
commit 7b0db22b4acd48ff6fabce41c1b2525e6580a3c5
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Fri Oct 16 11:55:48 2015 +0200
Fix exunit tests to run with common_test suites
commit d8b1a89800ac7379a57a7eb4a09c3c93c3e1e5eb
Merge: 2879ae8 63455b3
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Thu Oct 15 11:39:45 2015 +0200
Merge branch '3.2.x' into api
commit 2879ae87ff3eee369ef3d780136b96ecff5285d1
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Wed Oct 14 14:53:44 2015 +0200
Fix update_roster command.
commit a1d453dd7a3afda9861a8d747494a45057ad574b
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Tue Oct 13 16:14:28 2015 +0200
API commands refactor
Moving and/or merging commands from mod_admin_p1 to mod_admin_extra
commit b709ed26b0fc0ca4f3bdd5a59fa58ec7e3db97fa
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Wed Oct 7 15:10:01 2015 +0200
Add tests on commands
commit 6711687bee9c672cb3d5aed0744e13420ecf6dbd
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Tue Sep 29 15:58:16 2015 +0200
Add ejabberd_commands tests
commit df8682f419cf3877e77e36a19bca0fc55dc991f8
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Mon Sep 28 14:54:39 2015 +0200
Added API versioning for ejabberdctl and rest commands
commit cd017b0e3aac431bc3ee807ceb7f8641e1523ef5
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Fri Sep 18 11:21:45 2015 +0200
Better error handling of HTTP API commands.
commit ca5cb6acd8e4643f9d6c484d2277b0d7e88471e5
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Tue Sep 15 15:03:05 2015 +0200
add commands to mod_admin_extra:
- get_offline_count
- get_presence
- change_password
commit 7f583fa099e30ac2b0915669fd8f102ac565b833
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Tue Sep 15 15:02:16 2015 +0200
Improve REST API error handling
commit 14753b1c02cdce434a786b7f80f6c09f0d210075
Author: Jerome Sautret <jerome.sautret@process-one.net>
Date: Mon Sep 14 10:51:17 2015 +0200
Change REST API return codes for integer type.
2016-03-31 14:53:31 +03:00
Mickaël Rémond
7c2998a55d
Merge pull request #1044 from processone/http-api
...
Add ability to call open ejabberd commands through ReST API
2016-03-31 11:37:14 +02:00
Evgeniy Khramtsov
fced8dc3d9
Replace some ?ERR_* macros with ?ERRT_*
2016-03-31 11:00:29 +03:00
Mickael Remond
3c480a5b0b
Fix Dialyzer inconsistency
2016-03-30 16:47:40 +02:00
Paweł Chmielowski
b160bd7ac1
Provide authzid in scream response
2016-03-30 16:08:04 +02:00
Mickael Remond
809057678b
Better error report when command is not exposed through API
2016-03-30 15:59:29 +02:00
Mickael Remond
36ac1cd6c7
Returns unauthorized error when we do not have correct credentials
2016-03-30 14:49:19 +02:00
Mickael Remond
ead83b008c
HTTP ReST API now supports 'open' ejabberd commands
2016-03-30 14:23:09 +02:00
Mickael Remond
82cf7f7ca8
Adds support for option admin_ip_access on mod_http_api
...
This allows granting access to admin commands to backend, by using IP address restrictions.
(Pawel Chmielowski)
2016-03-29 19:40:20 +02:00
Badlop
78a44d8099
Move start and stop_modules/0 from ejabberd_app to gen_mod ( #1039 )
2016-03-29 15:26:34 +02:00
Mickael Remond
b49a615e21
Fix commands api option
2016-03-29 13:19:16 +02:00
Mickael Remond
3b2d0fd24a
Fix commands access check.
...
Fixes ECS-20
2016-03-29 13:06:13 +02:00
Mickael Remond
aa15148898
Fix commands access check.
2016-03-29 13:05:12 +02:00
Badlop
3809b898aa
Pass noauth when auth isn't provided, reverts a1129dc
( processone/ejabberd-contrib#159 )
2016-03-29 12:51:26 +02:00
Mickael Remond
221d8e0e5d
Merge branch 'master' of github.com:processone/ejabberd
2016-03-29 11:21:58 +02:00
Mickael Remond
53d12caa56
Fix log printout
...
Log is not only called for admin commands. It is call for all commands call.
2016-03-29 11:21:53 +02:00
Evgeniy Khramtsov
7a9e93839a
Fix some LIMIT related problems with MSSQL
2016-03-29 11:34:00 +03:00
Mickaël Rémond
4afe0b195c
Merge pull request #1036 from processone/shared-roster-ldap
...
Fix issue getting shared roster
2016-03-25 19:36:10 +01:00
Evgeny Khramtsov
915ccbbdfb
Merge pull request #684 from wcy123/master
...
bug fix: ejabberd:start_app need to pass Type to application:start
2016-03-25 21:00:35 +04:00
Mickael Remond
381065397f
Fix issue getting shared roster
...
I rollbacked to correct version and slightly refactored the code
2016-03-25 17:44:12 +01:00
Evgeniy Khramtsov
46568fb959
Merge commit 'refs/pull/524/head' of github.com:processone/ejabberd into sasl-api-change
2016-03-25 18:16:50 +03:00
Mickael Remond
a3a33bd5fc
Allow running test groups independently
...
We need to be able to run only a few test groups, even if we do not have all
database backends installed and configured locally.
ejabberd test suite configures a specific host per backend. I changed ejabberd
to allow ignoring some hosts from config file on start, by providing the exact
list of hosts we want to start.
This is done by setting an ejabberd app Erlang environment variable 'hosts' and
passing the list of hosts we want to actually define.
When doing so, the backend specific hosts defined in ejabberd test configuration file
are simply ignored. As a result, we do not try to connect to unavailable backends.
I linked that part to CT run test by defining the hosts list based on environment variable
CT_BACKENDS. This variable is expected to be a comma separated list of available backends.
When Erlang Common Tests are run with that environment variable set, only the host matching
the name of the backend will be set, plus the default "localhost", common to many tests.
This can be combined with rebar ct groups list.
Example commands to run tests:
CT_BACKENDS=riak,mnesia rebar ct suites=ejabberd
CT_BACKENDS=mnesia rebar ct suites=ejabberd groups=mnesia
2016-03-24 10:02:13 +01:00
Evgeniy Khramtsov
cb27a3540e
Fix is_connected/0 function
2016-03-22 20:01:23 +03:00
Evgeniy Khramtsov
61e914a83f
Keep alive Riak connections by default
2016-03-22 19:32:30 +03:00
Evgeniy Khramtsov
57f7b34b90
Do not auto append IP suffix to usernames ( #1008 )
2016-03-22 13:25:34 +03:00
Badlop
e7ef65a22d
Improve ban_account command to work with other DBs than Mnesia ( #977 )
2016-03-21 18:30:05 +01:00
Badlop
107569a17d
New command delete_mnesia deletes all tables that can be exported
2016-03-21 16:19:06 +01:00
Mickael Remond
31c194a682
Add simple Elixir unit test on jid:from_string
2016-03-21 09:44:23 +01:00
HAMANO Tsukasa
2d103b4ae1
support riak authentication
2016-03-19 01:41:14 +09:00
Paweł Chmielowski
ef02053a9d
Fix issue #1015
2016-03-17 18:41:39 +01:00
Paweł Chmielowski
7b72247b2c
Don't use jlib:jid_remove_resource
2016-03-16 13:32:19 +01:00
Paweł Chmielowski
34bc698526
Merge pull request #1011 from oxoWrk/master
...
Bare JID in 'from' of Roster Push (RFC 6121 section 2.1.6) in mod_adm…
2016-03-16 11:37:25 +01:00
Paweł Chmielowski
efbaba5d04
Make auto generated resources shorter
2016-03-16 11:30:45 +01:00
Badlop
c985a2bd3d
Start ezlib only if required, as it's optional ( #1006 )
2016-03-16 11:11:43 +01:00
root
058b3d96bf
Bare JID in 'from' of Roster Push (RFC 6121 section 2.1.6) in mod_admin_extra
2016-03-15 10:57:56 +05:00
Evgeny Khramtsov
dcefb6bbe3
Merge pull request #980 from sharewax/EJAB-1480
...
EJAB-1480: fix issue with retreiving user roster
2016-03-14 17:49:01 +03:00
Badlop
5351e8236d
Fix Addresses element which lacked others local destinations
...
When sending single packet, in addresses include all other group
destinations, not only oneself
2016-03-14 12:53:14 +01:00
Holger Weiss
b871fbba1b
Fix result type of "connected_users_info" command
...
Closes #1002 .
2016-03-14 00:51:12 +01:00
Holger Weiss
91573a8e82
Don't store watchdog notifications in MAM archives
2016-03-14 00:05:50 +01:00
Evgeniy Khramtsov
55c567ff00
Unregister route at the very end
2016-03-13 17:37:39 +03:00
Evgeniy Khramtsov
5a4b7817df
Add ODBC backend for MIX
2016-03-13 15:38:50 +03:00
Evgeniy Khramtsov
5045fb584d
Define pubsub node configuration per route/host explicitly
2016-03-13 13:16:43 +03:00
Evgeniy Khramtsov
357e48fb6b
Make it possible to get virtual host of a registered route
2016-03-13 11:38:40 +03:00
Christophe Romain
9297782868
Fix config fetch after host/serverhost cleanup
2016-03-11 17:25:46 +01:00
Elias Rohrer
8b03c0a385
Minimal auth_method ordering fix
2016-03-10 17:52:55 +01:00
Mickael Remond
92a0181932
Lager to Elixir Logger bridge is now compliant with ejabberd loglevel set / get
...
This should fix #966
2016-03-09 22:30:46 +01:00
Mickael Remond
035c63fd2a
Fix call to lager_util:is_loggable/3
2016-03-09 21:03:06 +01:00
Mickael Remond
9e6efaf9bc
Use p1_time_compat util for generating timestamp
2016-03-09 20:57:01 +01:00
Mickael Remond
f4ee8a2505
Add Elixir Logger Backend to bridge logs from lager
...
We will need to support loglevel bridging.
It should help with #966
2016-03-09 19:12:56 +01:00
Evgeniy Khramtsov
e31799a3b1
Define mod_opt_type/1 callback
2016-03-09 11:19:15 +03:00
Evgeniy Khramtsov
1860801e36
Unregister hooks and iq handlers on terminate
2016-03-09 11:14:45 +03:00
Holger Weiss
ae4fa22180
mod_http_upload: Add XEP-0363 v0.2 support
...
Include the maximum file size in the service discovery information, as
specified by XEP-0363, version 0.2.
2016-03-09 00:27:06 +01:00
Evgeniy Khramtsov
b5121a346d
Experimental MIX (XEP-0369) support
2016-03-08 20:04:29 +03:00
badlop
6e40573c13
Merge pull request #989 from galambalazs/patch-1
...
fix syntax highlighting by keeping "~s" together
2016-03-07 19:06:59 +01:00
badlop
eb0890284a
Merge pull request #988 from tnull/edoc_fix
...
Fixed type specifications for 'rebar doc'
2016-03-07 18:44:05 +01:00
Badlop
16c1b9a5c2
Fix format_result also in xmlrpc, after aa5caa3
( #982 )
2016-03-07 17:34:08 +01:00
Balázs Galambosi
83accedded
fix syntax highlighting by keeping "~s" together
2016-03-07 16:06:18 +01:00
Elias Rohrer
8e6a301026
Fixed type specifications for 'rebar doc'
...
- Fixed type @specs and -specs to remove 'rebar doc' errors
- Removed a lot of wrong and deprecated documentation in ejabberd_piefxis.erl
2016-03-07 15:06:19 +01:00
Anton Samets
4013629e5d
EJAB-1480: fix issue with retreiving user roster
2016-03-04 15:52:38 +03:00
Paweł Chmielowski
6e14a47316
Define opt_type required be ejabberd_config behaviour.
2016-03-04 11:45:18 +01:00
Badlop
9c3d57e63e
Mark get_queue_length obsolete, and use count_offline_messages ( #970 )
2016-03-04 11:09:14 +01:00
Christophe Romain
44978ce978
ext_mod: switch to fast_xml and remove old p1_logger reference
2016-03-03 15:46:15 +01:00
Christophe Romain
10d6c330a5
Fix pubsub disco after host/serverhost cleanup
2016-03-03 14:52:03 +01:00
Evgeniy Khramtsov
e95cf420a2
Enable flexible offline on disco#info as well
2016-03-03 14:10:40 +03:00
Alexey Shchepin
79853ad44f
Missed a few calls in previous commits
2016-03-02 02:00:02 +03:00
Alexey Shchepin
9a049442ff
Raise an error when there are no fields to set in ?SQL_UPSERT
2016-03-02 00:12:49 +03:00
Alexey Shchepin
e21f25f5b9
Update more SQL queries
2016-03-02 00:12:49 +03:00
Alexey Shchepin
1f9fd25ff8
Update more SQL queries
2016-03-02 00:12:49 +03:00
Alexey Shchepin
d8fbe8a289
Update more SQL queries
2016-03-02 00:12:49 +03:00
Alexey Shchepin
6d7ce0237a
Update mod_last SQL queries to the new API
2016-03-02 00:12:49 +03:00
Alexey Shchepin
2d042f078e
New parse transform for ?SQL_UPSERT and ?SQL_UPSERT_T
2016-03-02 00:12:49 +03:00
Alexey Shchepin
3d8219d8f9
Update mod_roster and ejabberd_auth_odbc SQL queries to the new API
2016-03-02 00:12:49 +03:00
Alexey Shchepin
7f3bffe821
Allow balanced expressions inside @(...) in ejabberd_sql_pt
2016-03-02 00:12:49 +03:00
Alexey Shchepin
99255631dd
Updated some mod_offline SQL queries to the new API
2016-03-02 00:12:11 +03:00
Alexey Shchepin
ba35c1ed9d
Use 'any' to match any DBMS in sql_query
2016-03-01 22:50:20 +03:00
Alexey Shchepin
437e768e4a
Better error handling in ejabberd_sql_pt
2016-03-01 22:50:07 +03:00
Alexey Shchepin
c58a4be6ee
Support for run-time SQL queries selection depending on DBMS version
2016-03-01 22:49:56 +03:00
Alexey Shchepin
6374ef4866
New parse transform for SQL queries, use prepare/execute calls with Postgres
2016-03-01 22:48:30 +03:00
Evgeniy Khramtsov
382c7c21ad
Do not call to deprected/undefined functions from mod_shared_roster_ldap
2016-02-29 16:35:45 +03:00
Holger Weiss
6d8c7232d8
mod_register_web: Choose the right error messages
2016-02-29 00:39:57 +01:00
Evgeniy Khramtsov
6b126171da
Improve LDAP shared roster support (EJAB-1480)
2016-02-26 17:27:12 +03:00
Christophe Romain
56523784e1
Implementation of pubsub#itemreply (EJAB-1347)( #928 )
2016-02-26 10:32:03 +01:00
Christophe Romain
1c6d20924b
Fix host/serverhost usage ( #902 )
2016-02-26 09:33:07 +01:00
Marek Foss
ebaf750a9b
Fix for #935
2016-02-25 18:56:43 +01:00
Paweł Chmielowski
a9de13c5d9
Don't include empty line after java example
2016-02-25 12:14:17 +01:00
Christophe Romain
576c10ee3a
Make caps warning less confusing ( #955 )
2016-02-23 14:14:24 +01:00
Holger Weiss
44f581c3b5
mod_http_upload: Also expand @HOST@ in 'docroot'
...
In some environments, it might be desirable to use separate document
roots for each virtual host.
2016-02-20 20:13:30 +01:00
Holger Weiss
b971449f12
mod_http_upload: Expand 'docroot' before using it
...
Expand the @HOME@ keyword within the 'docroot' value before setting the
permissions of the document root directory.
2016-02-20 18:21:38 +01:00
Holger Weiss
5b4aefbacd
Accept stream compression request after SASL
...
This is an updated version of the patch submitted to EJAB-1382 by
Alexey (thanks!).
2016-02-19 18:53:28 +01:00
Evgeniy Khramtsov
4b0860e7de
Make it possible to define 'sm_db_type' per virtual host
2016-02-19 16:38:43 +03:00
Badlop
eece6e69cb
Fix format_result so get_room_options command works again after aa5caa3
2016-02-17 20:43:35 +01:00
badlop
c9c59f00ad
Merge pull request #953 from cdroege/fix_css
...
Fix the color of links in tables in web admin
2016-02-15 12:52:54 +01:00
Paweł Chmielowski
47a67c7320
Allow to pass \n in argument to ejabberdctl
2016-02-12 23:38:39 +01:00
Christian Dröge
c579313821
Fix the color of links in tables in web admin
2016-02-12 18:45:45 +01:00
Holger Weiss
eaaab45c14
mod_muc_room: Let members see admin/owner JIDs
...
Let members retrieve all affiliation lists in non-anonymous rooms, not
just the list of members.
2016-02-11 22:52:27 +01:00
Holger Weiss
041e886b87
mod_muc_room: Don't expose JIDs in anonymous rooms
...
Don't let room members retrieve the member list unless the room is
non-anonymous.
2016-02-11 22:24:14 +01:00
Holger Weiss
17be70339c
mod_mam: Send new preferences when they are set
...
If a client updates the archiving preferences, include the new
preferences with the IQ result (as mandated by XEP-0313).
2016-02-10 23:06:31 +01:00
Badlop
02a519a11e
Mention new XEP support
2016-02-08 21:35:46 +01:00
Badlop
1de085ec23
Prepare room JID in create_room command
2016-02-08 21:35:26 +01:00
Paweł Chmielowski
217b6da5fd
Fix example value for rescode return type
2016-02-09 16:44:57 +01:00
Paweł Chmielowski
d5b3e6af00
More documentation of arguments in mod_admin_extra
2016-02-09 16:33:32 +01:00
Evgeniy Khramtsov
4839ba5ae4
XEP-0013: Flexible Offline Message Retrieval support
2016-02-09 17:59:54 +03:00
Paweł Chmielowski
2bca8d5121
Remove remanants of pre-binary strings
2016-02-09 15:50:35 +01:00
Christophe Romain
583476380a
Use muc_online_room record for pattern matching
2016-02-09 15:33:00 +01:00
Paweł Chmielowski
c0da9b43ce
Better presentation of result description in docs
2016-02-09 13:18:01 +01:00
Paweł Chmielowski
30d171e79e
Start documenting arguments in mod_admin_extra commands
2016-02-09 13:03:40 +01:00
Paweł Chmielowski
d36c351fc7
Typo in markdown generator
2016-02-09 13:03:40 +01:00
Holger Weiss
10ed4a1c85
Add most status codes only to initial MUC presence
2016-02-08 20:10:20 +01:00
Badlop
04a315eb52
Fix section links to the Guide in the WebAdmin
2016-02-08 16:16:53 +01:00
badlop
cf2f80bd09
Merge pull request #944 from cdroege/configureable_host-mod_register_web
...
Allow to modify host when deleting account or changing password over web
2016-02-08 13:48:11 +01:00
Evgeny Khramtsov
2bfb619d19
Merge pull request #914 from weiss/mam-expose-jid
...
Expose occupant JID in MUC MAM messages whenever possible
2016-02-08 14:23:19 +03:00
Mickael Remond
0b1620a45c
Remove compile warnings
2016-02-08 10:50:28 +01:00
Holger Weiss
bf49c292f8
Omit redundant check for overcrowded MUC room
...
The send_update_presence/4 function already checked whether the room is
overcrowded before calling send_update_presence1/4, so there's no need
to have send_new_presence/4 perform the same check.
2016-02-08 00:46:33 +01:00
Holger Weiss
8098f7d9a8
mod_mam: Don't let outcasts access MUC archive
...
XEP-0313 says: "A MUC archive MUST check that the user requesting the
archive has the right to enter it at the time of the query [...]. In
the case of open MUC rooms, the MUC archives can generally be accessed
by any users [...] who do not have an affiliation of 'outcast'".
2016-02-08 00:16:02 +01:00
Holger Weiss
a31f59ea31
XEP-0198: Fix session timeout corner case
...
If the "resend_on_timeout" option is set to 'if_offline' and a pending
stream management session is terminated because a new session is opened
by the same resource (while no other resource is online), resend
unacknowledged messages rather than bouncing error messages.
2016-02-06 22:28:55 +01:00
Badlop
7435ee464f
Rename option to regexp_room_id for consistency with other options ( #905 )
2016-02-05 12:09:27 +01:00
HAMANO Tsukasa
268f0b30ec
add room_id_regexp option
2016-02-05 12:09:18 +01:00
Christian Dröge
30388fa2bf
Allow to modify host when deleting account or changing password over web
2016-02-04 21:31:16 +01:00
Pablo Polvorin
942072cf9d
Make hibernate timeouts configurable
...
Two *global* options added:
c2s_hibernate and receiver_hibernate.
Default if not specified is 90000, the previous hardcoded value.
2016-02-04 15:45:29 -03:00
Mickael Remond
dfc29ea03c
Switch to Fast XML module
2016-02-03 19:03:17 +01:00
Mickael Remond
71ee0d56fa
Switch to fast_tls and update app names
2016-02-03 16:13:16 +01:00
Mickael Remond
9ae1371c6e
Convert more dependencies to new repository / packages
2016-02-03 12:30:12 +01:00
Mickael Remond
0de222d998
Convert code to use Fast YAML
2016-02-03 11:30:48 +01:00
Mickael Remond
b137ee3beb
Move to new dependencies for SIP and STUN
2016-02-03 11:26:14 +01:00
Mickael Remond
99b5c5712c
Move to new iconv package
2016-02-03 11:17:24 +01:00
Mickael Remond
e8ba7bce24
Use stringprep app name
2016-02-03 10:12:25 +01:00
Nathan Bruning
80fc34fb0c
Fix presence-based delivery
2016-02-02 14:06:07 +01:00
Paweł Chmielowski
fa55ac5c8f
More strict checking for MUC initial presence
2016-02-01 12:09:58 +01:00
Paweł Chmielowski
dc52ec904c
Send presence with code 170 only in initial presence from MUC
2016-02-01 11:30:49 +01:00
Evgeniy Khramtsov
d3ee2a9c18
Add 'import_prosody' command
2016-01-29 14:30:50 +03:00
Evgeniy Khramtsov
54dc2f56c6
Import privacy lists from Prosody
2016-01-29 14:14:08 +03:00
Richard
ae77b1300a
change mod_ping Timers using maps instead of dict
2016-01-29 00:07:38 +08:00
Evgeniy Khramtsov
b20db3b736
Initial version of migration script from Prosody to ejabberd
2016-01-28 14:23:51 +03:00
Paweł Chmielowski
aaa84dc118
Need extra line before ## in markdown
2016-01-27 11:42:13 +01:00
Paweł Chmielowski
239b1c6f74
Always use lagger
2016-01-26 14:34:58 +01:00
Christophe Romain
b2c6e397fc
Set set utf8mb4 charset on mysql connection
2016-01-26 13:47:24 +01:00
Paweł Chmielowski
621dff7307
Add header to generated markdown file
2016-01-26 10:46:38 +01:00
Paweł Chmielowski
bdeb4a7e32
Add a way to get all ejabberd_commands, not only those that was registered
...
This is part of (TECH-1828).
2016-01-26 10:00:28 +01:00
Paweł Chmielowski
22696e8388
Geenarte markdown that is acceptable by docs.ejabberd.org processor
2016-01-25 16:51:54 +01:00
Paweł Chmielowski
a2a692d081
Merge pull request #919 from hamano/rename_timestamp_function
...
rename timestamp function #917
2016-01-24 07:51:25 +01:00
Mickael Remond
a3931e6b73
lager is the default logger, we need to reverse the define flag
2016-01-23 18:43:06 +01:00
HAMANO Tsukasa
5a85b0fb52
rename timestamp function #917
2016-01-23 17:58:10 +09:00
Holger Weiss
b62607037a
mod_mam: Expose MUC occupant JID in more cases
...
Include the occupant JID with MUC MAM messages if the room is not
anonymous, and also when the MAM user sent the MUC message himself (not
just in the case where he is a room moderator).
2016-01-20 00:02:40 +01:00
Christophe Romain
2ddbd032ee
Add error handling to send_stanza
2016-01-19 16:16:04 +01:00
Holger Weiss
5e4ed4266d
mod_mam: Strip existing JID tags from MUC messages
...
Strip any pre-existing <x/> tags which have an <item/> child with a
'jid' attribute from MUC MAM messages. This way, if such a tag exists,
clients can be sure it was added by mod_mam.
2016-01-19 00:39:10 +01:00
Alexey Shchepin
a150bf8fdc
Make C2S session establishment optional (ECS-11)
2016-01-18 16:33:57 +03:00
Holger Weiss
bd383fb8c1
mod_mam: Remove unused code
...
This mod_mam version doesn't store groupchat messages in user archives,
and it also doesn't support the "store_body_only" option.
2016-01-18 13:27:29 +01:00
Holger Weiss
63777f830d
Use maps instead of dicts in HTTP upload modules
...
ejabberd currently depends on Erlang/OTP 17.1 or higher, so we can now
use maps.
2016-01-16 01:30:22 +01:00
badlop
6ac839dd76
Merge pull request #906 from hamano/stats_processes
...
add stats processes command
2016-01-15 19:26:23 +01:00
Evgeniy Khramtsov
a83c5a8f3a
Do not redefine records
2016-01-15 15:44:50 +03:00
Evgeniy Khramtsov
1d452c98c1
Describe option type of 'domain_balancing'
2016-01-15 14:32:10 +03:00
Holger Weiss
ddaa409ee2
XEP-0198: Let MAM take care of pending messages
...
If a stream management session times out for a user who appears to be
using MAM, drop any unacknowledged messages rather than resending or
bouncing them. This avoids duplicates or bogus error messages.
However, this is only done if the new mod_mam option "assume_mam_usage"
is set to 'if_enabled' or 'on_request'. In the former case, a user is
assumed to be using MAM if archiving is enabled for his account. In the
latter case, MAM usage is assumed only if archiving was explicitly
requested by the client, or if archiving was enabled by means of
mod_mam's "request_activates_archiving" option.
2016-01-15 01:08:22 +01:00
HAMANO Tsukasa
6cb1905f7c
add stats processes command
2016-01-15 00:27:15 +09:00
Holger Weiss
db04cdf2ca
mod_mam: Sort messages returned by Mnesia
...
Sort the messages retrieved from an Mnesia archive before selecting the
subset limited by the <max/> value. This makes sure the desired subset
of messages is sent to the client.
2016-01-14 02:27:02 +01:00
Holger Weiss
58c8fc5770
mod_mam: Limit result set page size
...
If the client doesn't specify a maximum number of messages to retrieve
per page, set a limit of 50 messages. If the client specifies a limit
larger than 250, cap the number to 250 messages.
These limits aren't enforced for MAM v0.2 requests though, as that
version of the XEP doesn't require clients to support RSM. The newer
revisions say that "a server MAY place a reasonable limit on how many
stanzas may be pushed to a client in one request. Whether or not the
client query included a <set/> element, the server MAY simply return its
limited results, modifying the <set/> element it returns appropriately."
2016-01-14 02:12:28 +01:00
Holger Weiss
35ec0d58a4
mod_mam: Reject <index/>-based paging
...
If an <index/> is specified in the MAM request, reject the request
rather than ignoring the desired index and returning wrong results.
XEP-0059 says that the server "MAY return a <feature-not-implemented/>
error."
2016-01-14 01:39:19 +01:00
Holger Weiss
11afa45646
mod_mam: Remove unused variable
2016-01-14 01:15:11 +01:00
Holger Weiss
89f63a4fdf
mod_mam: Check whether MUC message is desired
2016-01-14 01:13:16 +01:00
Holger Weiss
85f4f90b45
mod_mam: Support XEP-0313 v0.2 MUC archive queries
2016-01-14 00:58:48 +01:00
Holger Weiss
8117092e6a
mod_mam: Respond to form requests
...
If the client requests a data form with the supported filters, return it
as per XEP-0313 v0.3 and newer.
2016-01-13 23:56:05 +01:00
Holger Weiss
89b1700279
mod_mam: Add 'from' attribute to <delay/> tag
2016-01-13 23:17:23 +01:00
Holger Weiss
9cd048c442
mod_mam: Improve binary comparison of message UIDs
...
Make sure the binary comparison performed when clients use message UIDs
to page through Mnesia archives yields correct results even if the
specified UIDs don't have the same number of digits as the UIDs of the
stored messages. This way, MAM will continue to work as expected after
migrating from mod_mam_mnesia to mod_mam.
2016-01-13 23:01:51 +01:00
Holger Weiss
3dccc20d8b
mod_mam: Add "delete_old_mam_messages" command
...
The new "delete_old_mam_messages" command allows for purging all MAM
messages of the specified type older than the specified number of days.
(Currently only implemented for Mnesia archives.)
2016-01-13 22:46:30 +01:00
Holger Weiss
a61b0c303d
mod_mam: Add "request_activates_archiving" option
...
Enabling "request_activates_archiving" tells mod_mam not to store any
messages for a user until his client issued a MAM request, regardless of
mod_mam's "default" option. Once a MAM request is issued, messages are
archived as usual.
2016-01-13 21:38:08 +01:00
Holger Weiss
0183b2487e
Advertise MUC MAM v0.4.1 in room JID's disco#info
2016-01-13 20:30:44 +01:00
Badlop
f448ff608a
Update copyright to 2016 ( #901 )
2016-01-13 12:29:14 +01:00
Evgeniy Khramtsov
fd3e3a99c5
Log failed SQL requests
2016-01-13 14:13:32 +03:00
Evgeniy Khramtsov
776fe8b32a
Fix MAM MUC for v0.4.1
2016-01-13 11:45:08 +03:00
Holger Wei
64d96778b4
Don't return error for blocked MUC messages
...
If a message stanza is blocked as per XEP-0016 or XEP-0191, return an
error only if the type of the blocked message is "normal" or "chat".
This makes sure users won't be kicked from MUC rooms when blocking other
participants.
Closes #897 .
2016-01-12 10:20:35 +01:00
Holger Weiss
3e1425b905
Merge remote-tracking branch 'processone/pr/899'
...
* processone/pr/899:
mod_http_upload: Use application/octet-stream instead of text/html for security reasons
2016-01-11 12:38:51 +01:00
Evgeniy Khramtsov
65e6dfb9dd
Do not fail on incorrect data coming from SQL (898)
2016-01-11 14:35:11 +03:00
Evgeniy Khramtsov
c7931b4a4f
CVE-2016-1232: Add Dialback Key Generation and Validation support (XEP-0185)
2016-01-11 14:22:17 +03:00
Matthias Rieber
0ad0fd2187
mod_http_upload: Use application/octet-stream instead of text/html for security reasons
2016-01-11 12:13:19 +01:00
Badlop
c7b67ff00b
Clarify a little more room error string (thanks to Genghis Khan)
2016-01-08 13:14:40 +01:00
Holger Weiss
e1539a11be
mod_http_upload: Use full PUT URL for process name
...
Don't just use the "put_url" domain name, but also any path components
of the specified URL, to generate a mod_http_upload process name. This
way, a single domain name can be used for multiple virtual hosts by
specifying a "put_url" such as "https://example.com/@HOST@/ ".
2016-01-06 00:12:36 +01:00
Holger Weiss
3f5a20c90a
mod_http_upload: Rename variable for clarity
2016-01-05 22:06:34 +01:00
Badlop
c01e3f24a5
Error converting times in mod_fail2ban ( #889 )
2016-01-05 12:29:21 +01:00
Paweł Chmielowski
da45a064a8
Fix handling of some options in old style configs
...
This fixes issue #893 .
2016-01-04 22:06:19 +01:00
Alexey Shchepin
fb8a511365
Use crypto:rand_uniform instead of random:uniform
2016-01-04 13:59:37 +03:00
Holger Weiss
94c620cc27
mod_http_upload: Fix logging of file size mismatch
2016-01-04 01:01:14 +01:00
Holger Weiss
5deb6a91f7
mod_admin_extra: Replace deprecated function calls
2016-01-02 21:27:48 +01:00
Holger Weiss
b73678992b
mod_muc_admin: Allow for setting MAM option
...
Fixes #890 .
2016-01-02 20:57:01 +01:00
Badlop
91d205715e
New send_stanza command (ejabberd_contrib#142)
2015-12-30 12:53:40 +01:00
Holger Weiss
1d2dc6cdc1
mod_muc_room: Replace deprecated function call
2015-12-29 11:11:50 +01:00
Holger Weiss
4cdb30d59e
mod_mam: Use <stanza-id/> tags for deduplication
...
Use <stanza-id/> elements instead of <delay/> tags to check for messages
resent by the stream management code. The <stanza-id/> element is
preferable, as it is added by mod_mam itself.
2015-12-29 09:54:48 +01:00
Badlop
0df6d7ae39
Improve explanation in registration page ( #876 )
2015-12-28 15:08:59 +01:00
Paweł Chmielowski
a18a3dfbb1
Add commands for generating html or markdown documentation for commands
2015-12-28 12:20:06 +01:00
Evgeniy Khramtsov
babb484cfc
Restrict access to MAM archives for members-only rooms
2015-12-24 15:04:06 +03:00
Badlop
c42e026f9c
Degenderise room error message ( #747 )
2015-12-23 19:34:23 +01:00
Holger Weiss
8cf0d31ee9
Revert "mod_mam: Keep 'to' attribute for MUC MAM messages"
...
This reverts commit 0e330da2a6
. XEP-0313
says: "When sending out the archives to a requesting client, the 'to' of
the forwarded stanza MUST be empty".
2015-12-22 13:20:23 +01:00
Paweł Chmielowski
cfe0aea219
Use built-in nif for integer_to_binary/binary_to_integer
2015-12-22 11:49:12 +01:00
Badlop
88c9991f90
Adding WEBIRC, custom realname & ident, ISO-8859-15 (thanks to iwalkalone69)( #877 )
2015-12-21 16:20:20 +01:00
Alexey Shchepin
d88d5d6807
Support presence_broadcast in default_room_options mod_muc option
2015-12-21 02:25:31 +03:00
Holger Weiss
2d22507636
ejabberd_http: Cope with large POST/PUT requests
...
gen_tcp returns 'enomem' if we try to receive more than 64 MiB.
2015-12-20 23:30:11 +01:00
Holger Weiss
d039b9b72b
ejabberd_http: Log debug message on receive errors
2015-12-20 23:26:57 +01:00
Christophe Romain
bb5a8a42c3
Fix pubsub virtual nodetree plugin
2015-12-17 10:16:17 +01:00
Christophe Romain
6957e892dd
Fix last item message type as message attribute
2015-12-16 17:04:45 +01:00
Christophe Romain
c8986ffa5e
Use correct notification_type for last items ( #827 )
2015-12-16 16:19:35 +01:00
Alexey Shchepin
c6798fc515
Add accept_interval option in ejabberd_listener
2015-12-16 17:26:44 +03:00
Christophe Romain
08b0530164
Don't read pubsub options when plugin does not use them
...
This also revert commit 6052f7b
2015-12-16 12:56:06 +01:00
Holger Weiss
5fd1aa0d04
Advertise MAM in disco info for account/room JID
...
As per XEP-0313 version 0.2 and newer, advertise the MAM feature in the
service discovery information for the bare account (or MUC room) JID.
Some clients check the server's discovery information instead, so we'll
continue to advertise the feature there as well.
2015-12-16 00:08:23 +01:00
Holger Weiss
11ad96fced
Use MUC domain for 'by' attribute of <stanza-id/>
...
Let mod_mam specify only the domain part of the room JID in the 'by'
attribute of <stanza-id/> tags.
2015-12-15 21:37:41 +01:00
Holger Weiss
0e330da2a6
mod_mam: Keep 'to' attribute for MUC MAM messages
2015-12-15 21:05:04 +01:00
Christophe Romain
6efdf78ce3
PubSub plugin for online users only
2015-12-15 16:23:04 +01:00
Christophe Romain
3b69d26368
Fix pubsub headers
2015-12-15 16:12:20 +01:00
Paweł Chmielowski
6052f7bfa8
Fix pubsub test error
2015-12-14 10:21:23 +01:00
Christophe Romain
e3005f68e7
Remove undefined macro injected in 3bdd5d0d
2015-12-11 15:33:22 +01:00
Christophe Romain
8ee5f9fb6f
Remove http supervisors
2015-12-11 14:13:24 +01:00
Christophe Romain
3bdd5d0d25
Remove receiver's supervisor
2015-12-11 14:11:44 +01:00
Christophe Romain
1a32f20c07
Disable use of multi-subscribe and subscription-option on standard plugins
2015-12-11 12:46:49 +01:00
Christophe Romain
6357ea1d5d
Limit number of subscriptions per node and allow custom default node configuration
2015-12-11 12:46:44 +01:00
Christophe Romain
86a8606fd1
Virtual nodetree is not attached to any backend
2015-12-11 12:46:40 +01:00
Christophe Romain
c4943cffe8
Follow pubsub configuration when using virtual nodetree
2015-12-11 12:46:35 +01:00
Christophe Romain
10c920ef13
Don't force max_items_node to MAXITEMS if not defined
2015-12-11 12:30:16 +01:00
Holger Weiss
469e93f37b
mod_mam: Don't store resent messages
...
Make sure messages that were resent by the stream management code aren't
stored in MAM.
2015-12-09 22:44:45 +01:00
Holger Weiss
e09afe367f
Document XEP-0334 support
2015-12-09 22:28:44 +01:00
Evgeniy Khramtsov
4c47ee63f2
Do not forget to include xmlns in mam prefs response ( #859 )
2015-12-09 12:53:02 +03:00
Paweł Chmielowski
be4d687a86
Fix problem with handling of old db entries in mod_mam
2015-12-09 09:47:03 +01:00
Holger Weiss
07baf2d973
Don't let "reopen_log" rotate files (EJAB-1243)
...
Make sure the "reopen_log" command really just reopens log files without
also rotating them. For rotating log files, the new "rotate_log"
command can be used.
2015-12-08 22:48:04 +01:00
Holger Weiss
325c17f277
mod_mam: Update record field type
2015-12-08 22:21:39 +01:00
Holger Weiss
14609dbfa2
mod_mam: Remove unused code
2015-12-08 22:15:55 +01:00
Holger Weiss
59ba09826b
mod_offline: Fix outdated comments
2015-12-08 21:58:54 +01:00
Holger Weiss
90fd7f3780
mod_offline: Honor <store/> hint
...
Ignore the "store_empty_body" option for messages that have a <store/>
hint as described in XEP-0334, version 0.2.
2015-12-08 21:46:36 +01:00
Alexey Shchepin
c2f6bf0343
Improve muc#roomconfig_presencebroadcast support
2015-12-08 21:53:42 +03:00
Paweł Chmielowski
67f93b0d60
Don't keep 10 sec timeout that i used for testing...
2015-12-08 11:28:03 +01:00
Paweł Chmielowski
7a69dab596
Add ability to disable timeout for ejabberdctl command
2015-12-08 11:25:26 +01:00
Holger Weiss
5ce0b062ff
mod_mam: Honor Message Processing Hints (XEP-0334)
2015-12-08 00:10:00 +01:00
Badlop
3e57850da7
If mod_register access_from is 'none', then don't advertise IBR ( #857 )
2015-12-07 18:30:52 +01:00
Paweł Chmielowski
95a9100623
Fix more places where random:seed is used
2015-12-07 16:48:29 +01:00
Paweł Chmielowski
d0df7be722
Fix randoms.erl on R17 that don't have random:seed(integer())
2015-12-07 16:37:40 +01:00
Paweł Chmielowski
5ac10d6555
Remove now() in pubsub code
2015-12-07 16:16:11 +01:00
Paweł Chmielowski
29db302808
More now() replacements
2015-12-07 16:09:48 +01:00
Paweł Chmielowski
b9f751e099
Fix bug in last commit
2015-12-07 10:26:51 +01:00
Paweł Chmielowski
0a846d03bf
More now() removal
2015-12-06 15:58:46 +01:00
Paweł Chmielowski
5c329a7699
Remove now() - part 1
2015-12-04 15:08:43 +01:00
Badlop
daad71bc7e
trusted_proxies option not parsed correctly ( #860 )
2015-12-04 13:14:39 +01:00
Holger Weiss
ba916c3162
XEP-0198: Fix stanza counting corner case issue
...
Don't forget to count outgoing stanzas that are processed while the
ejabberd_c2s process is already waiting for stream resumption.
2015-12-02 19:25:10 +01:00
Badlop
f9e12d900c
No need for a top menu link as there's a top page link
2015-12-02 17:10:23 +01:00
Badlop
e412438aba
When user joins logged room, he must be warned (EJAB-726)
2015-12-02 12:07:29 +01:00
Badlop
086fbc6a50
Only filter rooms in Service Disco when more than 100 (EJAB-343)
2015-12-02 02:32:25 +01:00
Badlop
ff22782752
List in Service Disco non-empty rooms and provide Node for empty (EJAB-343)
2015-12-02 01:51:39 +01:00
Mickael Remond
e5ae35c66b
Update cache_tab app name
2015-12-01 19:17:51 +01:00
Evgeny Khramtsov
3397a9be5e
Merge pull request #849 from weiss/discard-chat-states
...
mod_offline: Support discarding chat state notifications
2015-12-01 14:57:49 +03:00
Evgeniy Khramtsov
f1ecbf80fb
Fix archive preference retreiving ( #848 )
2015-12-01 14:06:23 +03:00
Christophe Romain
9eeee67da7
Webadmin console visual refresh (thanks to Marek Foss) (EJAB-1142)
2015-11-30 11:35:53 +01:00
Evgeniy Khramtsov
9cc5a5d467
Simplify external components configuration
2015-11-28 17:38:34 +03:00
Holger Weiss
44f5e411c5
mod_offline: Support discarding chat states
...
XEP-0160 says that standalone chat state notifications should not be
stored offline. By default, mod_offline discards them now.
Closes #842 .
2015-11-26 08:35:49 +01:00
Holger Weiss
fee2530b1c
Always use occupant JID as 'from' for room subject
...
When sending the room subject to a new participant, always use the
occupant JID that corresponds to the subject author as the 'from'
address. It was already done this way when the subject was sent as part
of the room history.
2015-11-25 00:05:24 +01:00
Evgeniy Khramtsov
87fb5132be
Make JID related functions from jlib.erl deprecated
2015-11-24 20:31:26 +03:00
Evgeniy Khramtsov
95265dd3ad
Move JID related functions to jid.erl ( #847 )
2015-11-24 18:44:13 +03:00
Christophe Romain
16881597c9
Remove useless export_all flag
2015-11-23 12:03:08 +01:00
Christophe Romain
f3ff660eae
Export content_type/3 needed by mod_http_upload
2015-11-23 11:53:36 +01:00
Christophe Romain
4480749a52
Merge branch 'cluster_fix'
2015-11-20 14:52:36 +01:00
Christophe Romain
b4ae1b63bc
Allow longer command execution time
2015-11-20 10:39:32 +01:00
Christophe Romain
67a70b9107
Integrate join/leave cluster as ejabberd command
2015-11-20 10:39:27 +01:00
Evgeny Khramtsov
0e29307ad5
Merge pull request #840 from cenobites/mod_ping
...
Adding ping_ack_timeout in mod_opt_type configuration
2015-11-18 16:35:49 +03:00
Badlop
2659e2c4a0
Explain that reload_config only affects to ACL and Access
2015-11-18 13:25:19 +01:00
Nycholas de Oliveira e Oliveira
49a8de7c56
Adding ping_ack_timeout in mod_opt_type configuration
...
Avoid the error output
```
2015-11-18 12:02:40.297 [error] <0.37.0>@gen_mod:validate_opts:250 unknown option 'ping_ack_timeout' for module 'mod_ping' will be likely ignored, available options are: 'iqdisc', 'ping_interval', 'send_pings', 'timeout_action'
2015-11-18 12:02:40.334 [error] <0.37.0>@gen_mod:validate_opts:250 unknown option 'ping_ack_timeout' for module 'mod_ping' will be likely ignored, available options are: 'iqdisc', 'ping_interval', 'send_pings', 'timeout_action'
```
In setting mod_opt_type default, ping_ack_timeout parameter was added.
2015-11-18 10:25:01 -02:00
Holger Weiss
43626f5c97
mod_http_upload: Return error atoms, not strings
...
Don't convert error atoms to strings before actually logging them. This
avoids a bogus error message when a user who has no uploaded files is
removed.
2015-11-17 00:12:20 +01:00
Badlop
53d72bd85a
Disable vJUD by default also in mod_vcard_ldap source code
2015-11-13 19:33:23 +01:00
Badlop
f6d8f47451
Disable vJUD search in the default config and when not specified
2015-11-13 19:30:11 +01:00
Alexey Shchepin
aa5caa30e2
Support for muc#roomconfig_presencebroadcast option
2015-11-12 19:53:10 +03:00
Paweł Chmielowski
3ee5195b7a
Fix problem with pipelined http requests arriving in single packet
...
This fixes github issue ejabberd#835
2015-11-12 17:23:59 +01:00
Holger Weiss
55a92c2983
mod_http_upload: Log message if URL looks wrong
...
Log an [info] message if a PUT request looks like the specified
"put_url" contains a path component that doesn't match the
"request_handlers" path, as in the following configuration:
listen:
-
module: ejabberd_http
port: 5444
request_handlers:
"/": mod_http_upload
modules:
mod_http_upload:
put_url: "http://example.com/path/ "
2015-11-11 22:51:40 +01:00
Holger Weiss
415a75c25a
mod_http_upload_quota: Don't track all users
...
Don't track the disk usage of accounts that have an unlimited quota.
2015-11-10 22:08:16 +01:00
Holger Weiss
20709f9880
mod_http_upload: Make case indentation consistent
...
Use four spaces (or the corresponding amount of tab characters) for case
indentation everywhere in mod_http_upload and mod_http_upload_quota.
2015-11-09 19:23:52 +01:00
Holger Weiss
113c315857
mod_http_upload: Apply cosmetic changes
2015-11-09 19:12:08 +01:00
Holger Weiss
842db2ca15
mod_http_upload: Don't flatten command strings
2015-11-09 18:50:45 +01:00
Holger Weiss
9c80cb2b26
mod_http_upload: Don't let identify/1 return error
...
Let identify/1 return 'pass' when it failed to identify the file type,
as this doesn't (necessarily) indicate an error condition. This also
makes it consistent with the return value of convert/2.
2015-11-09 18:41:31 +01:00
Paweł Chmielowski
58c1bc4276
Use xml_stream:reset() when possible
2015-11-09 16:05:09 +01:00
Christophe Romain
341be9b682
Remove supervisor option, disable it for c2s and muc
2015-11-04 16:24:35 +01:00
Holger Weiss
fec7e47169
Add copyright and license to HTTP upload modules
2015-11-04 01:22:39 +01:00
Holger Weiss
46bf190fd0
mod_client_state: Add my email address to header
2015-11-04 01:19:19 +01:00
Paweł Chmielowski
e54e543a66
Faster string_to_jid/1 implementation
...
This version is about 10-15% faster than old one
2015-11-03 14:41:01 +01:00
Holger Weiss
ff46738218
mod_http_upload_quota: Omit info message
...
The mod_http_upload_quota module attempts to delete a directory whenever
it removes a file from that directory. However, if thumbnail creation
is enabled, directories will often contain two files. Therefore, don't
log an info (but only a debug) message if directory removal fails.
2015-11-03 00:00:44 +01:00
Holger Weiss
4566325241
mod_http_upload: Don't complain during shutdown
...
Ignore the case where, for some reason, no process is found to be
stopped.
Closes #810 .
2015-11-02 23:46:58 +01:00
Holger Weiss
1b368a86b7
mod_http_upload: Use binary strings in most places
...
Switch to binary strings to fix a type issue, and for consistency.
Closes #808 .
2015-11-02 23:46:31 +01:00
Holger Weiss
9d2f1d5f0d
mod_http_upload: Check availability of ImageMagick
...
Log an error message during startup if the thumbnail option is enabled
but ImageMagick is not installed.
2015-11-02 01:12:10 +01:00
Holger Weiss
eeb705fc2f
mod_http_upload: Suppress error on non-image files
...
Don't log an error (but only a debug) message if ImageMagick fails to
indentify the file type for thumbnail creation. The image might be
encrypted, or it could be a non-image file.
Closes #809 .
2015-11-01 23:29:22 +01:00
Evgeniy Khramtsov
8bff06bea9
Merge branch 'master' of github.com:processone/ejabberd
2015-10-30 17:20:50 +03:00
Evgeniy Khramtsov
99f506135b
Fix ipv6 configuration processing ( #803 )
2015-10-30 17:20:32 +03:00
Holger Weiss
915383e150
mod_http_upload: Add missing trailing dot
...
(Thanks to Matthias Rieber.)
2015-10-29 10:09:55 +01:00
Holger Weiss
43e7814714
mod_mam: Update supported XEP version
2015-10-28 23:53:53 +01:00
Holger Weiss
32fe74c923
mod_http_upload: Document protocol support
2015-10-28 23:52:33 +01:00
Holger Weiss
62ea763089
mod_http_upload: Fix string()/binary() type issue
2015-10-26 22:32:12 +01:00
Holger Weiss
3e7ee6af6d
mod_http_upload: Add/fix function specifications
2015-10-26 22:30:58 +01:00
Holger Weiss
b5a09f8b15
mod_http_upload: Strip newline from command output
...
The list_to_integer/1 function doesn't cope with trailing newline
characters.
2015-10-26 22:10:32 +01:00
Holger Weiss
5dfd95e5a7
Support user quotas for HTTP File Upload
...
mod_http_upload_quota implements two features:
- When a "hard quota" is exceeded during a file upload, old files are
removed until the disk usage equals or falls below the "soft quota".
- Once a day, all uploaded files (and directories) older than a
configurable number of days are deleted.
2015-10-26 13:10:10 +01:00
Evgeniy Khramtsov
6f2e178de1
Rename badly entitled record field
2015-10-26 15:05:28 +03:00
Evgeniy Khramtsov
137a4ee087
Add HTTP File Upload support (XEP-0363)
2015-10-26 14:10:55 +03:00
Evgeniy Khramtsov
b2eb9f197a
Don't crash on certificates without extensions (EJAB-1724)
2015-10-23 18:41:35 +03:00
Christophe Romain
2a115a83d2
Let modules_update_specs report failures ( #756 )
2015-10-23 17:21:19 +02:00
colm
d048d1e619
mod_ping: allowed the ping ack timeout (the length of time taken to deem that a ping has not being responded to) configurable. it still defaults to 32 seconds as per the constant IQ_TIMEOUT (in ejabberd_local.erl) this just makes it optionally configurable (in my case I needed to be more trigger happy than 32 seconds)
2015-10-22 13:48:40 +01:00
Christophe Romain
efdf5636be
Add simple metrics module for use with grapherl
2015-10-22 14:02:26 +02:00
colm
92b9fb30e0
Don't send full JID in 'from' of Roster Push (RFC 6121 section 2.1.6). This is a patch by @badlop in the comments of github issue #367
2015-10-21 23:22:53 +01:00
Badlop
c62bd0c911
Use homogeneous s2s connections stats ( #761 )
2015-10-21 12:51:22 +02:00
Alexey Shchepin
8a2fa62cac
Remove access_commands 'unrestricted' option, use [] instead. Fix unauthenticated calls to commands with policy=user.
2015-10-20 17:20:13 +03:00
Alexey Shchepin
7c1e7e5b5f
Improve access_commands option backward compatibility
2015-10-19 20:16:04 +03:00
Alexey Shchepin
1f2b7e8f20
Fix access_commands option handling
2015-10-19 18:50:44 +03:00
Holger Weiss
28e28e926a
ejabberd_listener: Fix ETS update on port reuse
2015-10-18 01:14:48 +02:00
Holger Weiss
5e467b96a1
ejabberd_c2s: Let stop/1 close XEP-0198 sessions
...
The stop/1 function now terminates stream management sessions
immediately, just as it does for other sessions. The new
ejabberd_c2s:close/1 function can be used to close the socket without
terminating the stream management session, like stop/1 did before.
2015-10-17 23:15:31 +02:00
Holger Weiss
53bd0ee818
ejabberd_c2s: Close socket when waiting for resume
...
Make sure the socket is closed when mod_ping calls ejabberd_c2s:stop/1
for an XEP-0198 session.
2015-10-17 22:07:29 +02:00
Paweł Chmielowski
7d99484859
Make KEEPALIVE_QUERY list as this is what sql_query/3 expects
2015-10-15 10:07:24 +02:00
Alexey Shchepin
4fce1a17d7
Fix cyrsasl_oauth:mech_new call
2015-10-12 20:53:52 +03:00
Evgeniy Khramtsov
87273619a6
Advertise MAM (XEP-0313) v0.4 support in room disco
2015-10-11 19:43:24 +03:00
Paweł Chmielowski
b5ac0db895
Be able to merge old style configs with {listen,...}
2015-10-08 13:07:00 +02:00
Paweł Chmielowski
6d25db6600
Handler module shouldn't be used for differentiating listeners when merging configs
2015-10-07 16:45:07 +02:00
Christophe Romain
880114a909
Enforce get_allowed_items_call
2015-10-07 16:40:37 +02:00
Christophe Romain
653105a44f
Fix acl issue from cleanup
2015-10-07 15:12:15 +02:00
Christophe Romain
f938c2a5e2
Revert "Avoid crypto:hmac/3 call for R15B compatibility"
...
This reverts commit 31e356c126
.
2015-10-07 14:18:56 +02:00
Christophe Romain
6a23cad454
Revert "Fix compilation on Erlang R15B"
...
This reverts commit a5d6044448
.
2015-10-07 14:18:47 +02:00
Christophe Romain
6aeb9dcb38
cosmetic cleanup
2015-10-07 14:18:38 +02:00
Evgeniy Khramtsov
6378c673df
Avoid MAM dups when routing to multiple resources
2015-10-02 16:09:55 +02:00
Evgeniy Khramtsov
c7750689e8
Fix force_update_presence
2015-10-02 16:06:47 +02:00
Paweł Chmielowski
24fa95fd60
Fix problem with --auth in ejabberd_ctl:process2/2
2015-10-01 21:09:03 +02:00
Paweł Chmielowski
67d3b50598
Switch macros resolving in config files to be global instead of per file
2015-10-01 14:34:48 +02:00
Alexey Shchepin
cf975da8f2
Update several commands for recent ejabberd_commands changes
2015-09-28 15:29:25 +03:00
Alexey Shchepin
88a206400a
Add oauth_access option
2015-09-25 19:48:53 +03:00
Badlop
1781a58929
Strip Nick element in message stanzas sent to a room ( #686 )
2015-09-25 17:00:00 +02:00
Christophe Romain
a1129dc96b
Add OAuth support (thanks to Aleksey)
2015-09-25 15:49:07 +02:00
Badlop
ee456cc2af
Fix regression introduced when code was binarized (EJAB-641)
2015-09-24 17:21:14 +02:00
Holger Weiss
484fd1f51f
Log TLS errors as [debug] messages only
...
Closes #652 and closes #679 .
2015-09-24 12:00:59 +02:00
Evgeniy Khramtsov
89b3471742
Add <stanza-id/> (XEP-0359) to archived messages
2015-09-22 21:15:34 +03:00
Paweł Chmielowski
e289344972
Nameprep host name passed to http-bind before using in (EJAB-1658)
2015-09-22 15:42:57 +02:00
Christophe Romain
23a1aceac0
Improve external module configuration management (EJAB-1746)
2015-09-22 12:49:55 +02:00
Evgeniy Khramtsov
70b1dc479c
Add MAM (XEP-0313) v0.4 support
2015-09-22 12:23:36 +03:00
Jerome Sautret
df3862cf84
Add set_loglevel command (EJABS-2524)
2015-09-21 17:07:44 +02:00
Christophe Romain
497cbb3ec2
Merge branch 'master' of github.com:processone/ejabberd
2015-09-18 09:06:51 +02:00
Christophe Romain
ec1969ddca
Remove unused functions from old get_items api
2015-09-17 18:00:17 +02:00
Paweł Chmielowski
f6b892b366
Guard against passing undefined C2SPid to xml parser before become_controller gets called
...
Our new nif xml parser don't handle this gracefully, so we better don't
call it that way.
This is only triggered on old style ssl sockets, where ssl layer must
be activated early, before association between socket and c2s is
established
2015-09-17 11:37:01 +02:00
Holger Weiss
4a4065c9c6
Let BOSH/WebSocket support "max_resume_timeout"
...
Allow for specifying the "max_resume_timeout" option in an ejabberd_http
listener for ejabberd_http_bind and/or ejabberd_http_ws.
2015-09-17 00:33:08 +02:00
Quan Zhuo
ae51277316
Comment unused type, unused term
2015-09-16 22:52:36 +08:00
Paweł Chmielowski
5593ebbbca
Properly handle define_macros in merged config files
2015-09-16 12:20:07 +02:00
Holger Weiss
59321ac56e
XEP-0198: Improve handling of non-message stanzas
...
When an XEP-0198 session times out, always return an error for
unacknowledged IQ stanzas, and always drop presence stanzas. That is,
the "resend_on_timeout" option no longer applies to those stanzas types,
but only to messages.
2015-09-15 22:42:22 +02:00
Evgeniy Khramtsov
fc7d3a44b8
Simplify MSSQL configuration
2015-09-13 18:34:10 +03:00
Evgeniy Khramtsov
25791cfde8
Fix MSSQL support
2015-09-13 18:31:49 +03:00
Christophe Romain
48c5e73321
ext_mod must be started before ejabberd_config
2015-09-11 15:14:12 +02:00
Badlop
a50f00f9e8
Include ext_mod modules when checking accepted options (ejabberd-contrib#116)
2015-09-10 20:11:02 +02:00
Paweł Chmielowski
f56a9e400d
Pass stream management options defined in http listener to http-bind and websocket
2015-09-04 12:42:53 +02:00
Holger Weiss
5095fdb6b0
New XEP-0198 option: "max_resume_timeout"
...
In the past, the "resume_timeout" option defined both the default resume
timeout and the maximum resume timeout clients are permitted to request.
Admins might want to allow clients to request a timeout value that's
larger than the default, though. This can now be done by specifying the
"max_resume_timeout" option.
2015-09-03 21:20:15 +02:00
Badlop
8d1ea87e02
Use hide_sensitive_log_data in eldap.erl
2015-09-03 16:28:21 +02:00
Evgeniy Khramtsov
6740b1f0e1
Rename idna.erl to ejabberd_idna.erl ( #702 )
2015-09-02 16:02:46 +03:00
Badlop
1bc2c8cbb1
Add verification of hide_sensitive_log_data global option
2015-09-02 13:46:03 +02:00
Evgeniy Khramtsov
eebd4bbd8f
Remove unused function now_to_iso/1
2015-09-02 14:13:23 +03:00
Evgeniy Khramtsov
14ddbce3a9
Do not forget to set from/to when fetching from MUC history
2015-09-01 12:35:51 +03:00
Paweł Chmielowski
e24bfe7b62
Fix problem with merging same port, different ip listeners in config files
...
Also switch to function used by ejabberd_listener to extract that
information instead of rolling our own code for that.
2015-09-01 10:57:48 +02:00
Evgeniy Khramtsov
190f76c676
Fetch MUC MAM messages from room history directly if it's not enabled in room configuration
2015-09-01 11:52:08 +03:00
oxpa
3d5d1ecbe4
get_room_options will not crash in case of query for a non-existent room
2015-08-28 03:34:51 -08:00
Evgeniy Khramtsov
832f6d39f9
Always include RSM in final message
2015-08-24 13:29:15 +03:00
Evgeniy Khramtsov
94444c87e8
Remove MAM archives on MUC room destroy
2015-08-24 13:28:58 +03:00
Badlop
247bd9eae5
More eye-candy mod_http_bind help page (thanks to Marek Foss)
2015-08-21 15:23:15 +02:00
Evgeniy Khramtsov
6177ae3ffb
Improve S2S certificate checks
2015-08-20 01:04:56 +03:00
Evgeniy Khramtsov
b570070834
Fix case clause during S2S certificate checks
2015-08-19 23:47:45 +03:00
Evgeniy Khramtsov
775cf2d459
Change namespace from muc#admin to muc#user
2015-08-19 15:31:35 +03:00
Paweł Chmielowski
6f0ee83317
Don't overwrite listeners for different transports in config merging
...
Before this having listeners on same port for both tcp and udp would after
config merging step left only one of them.
Many thanks to Holger Weiß for noticing this.
2015-08-19 10:14:39 +02:00
Paweł Chmielowski
f89db30d77
Catch errors when calling inet:peername in ejabberd_http
2015-08-17 15:50:35 +02:00
Badlop
ac6b436dcf
Prettify copyright links (thanks to GreenLunar)( #692 )
2015-08-13 12:22:14 +02:00
Badlop
994602c97d
Store and retrieve "mam" value in room configuration
2015-08-12 20:28:23 +02:00
Badlop
279d4b00ac
Fix and document create_rooms_file and destroy_
2015-08-12 17:18:41 +02:00
Badlop
8c9c556f1f
Changed API of some mod_muc_admin command arguments
...
With this commit, arguments change in two commands:
* destroy_room: does not require Host argument
* send_direct_invitation: instead of Room, now requires Name and Service
2015-08-12 13:26:24 +02:00
Badlop
ab0f488dda
Room response to disco#info node muc#traffic should be an error (EJAB-741)
2015-08-12 12:40:51 +02:00
Evgeniy Khramtsov
40feed723d
Add support for MUC MAM
2015-08-08 22:15:36 +03:00
Paweł Chmielowski
c71d57a05d
Handle merging of append_host_config as is done for host_config
2015-08-06 17:53:18 +02:00
Paweł Chmielowski
5a1ac4faf1
Add ability to override main config file options with data from included files
2015-08-06 17:12:15 +02:00
Christophe Romain
45a312a0eb
Remove obsolete pubsub migration command
2015-08-06 16:57:04 +02:00
Matthias Rieber
f5e857a5bd
typo
2015-08-06 08:44:15 +02:00
Alexey Shchepin
4125dfd166
mod_multicast changes:
...
- catch exceptions
- do ets:give_away for multicastp table on init
- don't send multicasts to itself
- don't check user@server for multicast support
- handle empty disco items
- ignore cdata in <addresses/>
- properly check for subdomains
2015-08-05 19:21:28 +03:00
Paweł Chmielowski
3a5dd51b42
Use websocket pings also on old style connections
2015-08-05 16:09:23 +02:00
Christophe Romain
dc0934bff7
Update FSF address
2015-08-05 09:52:54 +02:00
Holger Weiss
c0497d46af
mod_client_state: Throttle stanzas by default
...
Enable the mod_client_state options "drop_chat_states" and
"queue_presence" by default. These features are now well-tested in
practice.
2015-08-05 00:05:11 +02:00
Holger Weiss
13f7be682d
Rename muc_filter_packet to muc_filter_message
...
The hook is just triggered on groupchat messages, not on other types of
stanzas.
2015-08-04 21:16:45 +02:00
Holger Weiss
3d4e8ffac6
New hook: muc_filter_presence
...
Add a hook that allows for modifying or dropping presence stanzas sent
to MUC rooms.
2015-08-04 20:13:00 +02:00
Mickael Remond
e3b7d43b76
Add split_jid/1
...
This is a convenience reverse of make_jid/1. It allows extracting the jid parts
without relying on using the jid record structure, to abstract details.
2015-08-04 09:48:59 +02:00
Evgeniy Khramtsov
f377992232
Do not crash SIP authentication on SCRAMed passwords
2015-08-02 14:47:45 +03:00
wcy123
3e49bf0e83
bug fix: ejabberd:start_app need to pass Type to application:start
2015-07-30 18:57:59 +08:00
Holger Weiss
04094b3dcf
Don't copy messages of type "normal" without body
...
Don't carbon-copy messages of type "normal" that don't have a body
element as an immediate subtag. Those messages are usually generated by
clients or servers (as opposed to messages written by humans). This
includes MAM messages, for example.
2015-07-28 21:34:02 +02:00
Holger Weiss
8fe930c3d1
Also check for <no-storage/> hint
...
Check for the <no-storage/> and <no-permanent-storage/> hints in
addition to <no-store/> and <no-permanent-store/>. XEP-0334 (0.1)
mentions both variants, and unfortunately, both of them are in use.
2015-07-28 21:08:33 +02:00
Holger Weiss
1048e21643
XEP-0198: Don't add <delay/> tags to IQ stanzas
2015-07-28 21:00:12 +02:00
Badlop
d03d08539b
Reuse some strings in WebAdmin's Listening Ports
2015-07-27 11:40:56 +02:00
Paweł Chmielowski
76104cd117
Fix problem with merging values from multiple config files
2015-07-24 15:46:08 +02:00
Christophe Romain
e211bf7131
Ensure config snippet is loaded at module installation (EJAB-1741)
2015-07-24 15:09:57 +02:00
Christophe Romain
32fc586c08
Allow contribution to include .yml or .yaml config file
2015-07-24 14:30:31 +02:00
Christophe Romain
8fedc945bf
Allow migration of old pubsub items with xmlelement in body ( #479 )
2015-07-24 13:44:01 +02:00
Christophe Romain
d481017746
Merge pull request #642 from weiss/pep-on-caps-update
...
Also send PEP notifications when local contact updates CAPS
2015-07-24 12:07:22 +02:00
Badlop
19aad464da
Provide command for ODBC's convert_to_scram
2015-07-23 13:16:15 +02:00
Paweł Chmielowski
8df134e025
Don't crash web admin when displaying info about websocket using users
2015-07-22 11:54:11 +02:00
Christophe Romain
9091fcb1a1
Let nodetree call default flat plugin now
...
this fix mistake from previous commit 311fedaa
2015-07-22 11:20:06 +02:00
Christophe Romain
9aa2d92d90
Allow include of simple dependencies (EJAB-1737)( #391 )
...
Either contributed module include dependencies this way
deps/
dep1/
src/
include/
dep1/
src/
include/
Or includes rebar.config or rebar.config.script:
In this case, only git is supported (if git command available)
and ext_mod checkout code in deps directory.
In both case, only basic built procedure is supported. ext_mod
does not do more than bare compilation like this:
erlc -I include src/*erl
2015-07-22 10:48:44 +02:00
Christophe Romain
311fedaa12
Let flat be default plugin ( #609 )
2015-07-22 10:37:26 +02:00
Christophe Romain
9c36a9df78
Do not init nodes from mod_pubsub ( #609 )
...
Let each plugin do its own initialisation in init_plugins
init_nodes was an old function to be removed.
2015-07-22 08:03:27 +02:00
Christophe Romain
b47a27f3ac
Merge pull request #608 from weiss/bare-jid-subscription
...
PubSub: Check for node subscription of bare JID
2015-07-22 07:58:34 +02:00
Evgeny Khramtsov
531638e946
Merge pull request #632 from weiss/increase-max-ack-queue
...
XEP-0198: Increase default value of "max_ack_queue" option
2015-07-21 12:36:01 +03:00
Evgeny Khramtsov
a724893887
Merge pull request #618 from weiss/muc-message-hook
...
New hook: muc_filter_packet
2015-07-21 12:35:27 +03:00
Evgeniy Khramtsov
7f4c74dec9
Print content types more gracefully
2015-07-17 14:29:11 +03:00
Badlop
7395cc910e
Set direction of resource and connection ( #650 )
2015-07-15 21:39:13 +02:00
Badlop
c53d764119
If local guide.html file not found, redirect to the online guide
2015-07-15 20:45:55 +02:00
Badlop
3eb0b161b2
Update links to Guide in WebAdmin
2015-07-15 20:40:13 +02:00
Badlop
65551afcba
Support RTL page direction in WebAdmin for Hebrew ( #650 )
2015-07-15 19:01:32 +02:00
Badlop
f4376671ac
Set LTR direction to Raw links ( #650 )
2015-07-15 18:51:31 +02:00
Badlop
c012d7555b
Add links in WebAdmin to ejabberd and ProcessOne ( #661 )
2015-07-15 13:10:12 +02:00
Badlop
9ede414f01
Support more mod_muc_admin translation strings ( #659 )
2015-07-15 11:54:35 +02:00
Evgeniy Khramtsov
a53191fed5
Add "complete" attribute to MAM final response (EJABS-2484)
2015-07-10 14:05:47 +03:00
Evgeniy Khramtsov
8e27decdfd
Fix mod_mam compatibility with RSM for other backends
2015-07-10 13:59:33 +03:00
Evgeniy Khramtsov
0dfc8ade68
Fix tests related to MAM
2015-07-10 13:57:27 +03:00
Jerome Sautret
1db65e3614
Fix mod_mam compatibility with RSM (only with odbc backend).
2015-07-10 13:56:33 +03:00
Evgeniy Khramtsov
a168340838
During halt only shutdown MUC rooms on local node
2015-07-08 15:35:26 +03:00
Jerome Sautret
2598375051
Changed mam iq get to set as specified by XEP-0313 v0.3
2015-07-08 13:15:14 +03:00
Holger Weiss
0f96414279
Trigger PEP notifications on CAPS updates
...
Let mod_pubsub send last items whenever a contact updates the entity
capabilities. This was already done for remote contacts and is now also
done for local contacts.
2015-07-07 09:33:00 +02:00
Holger Weiss
edb18deb8f
mod_pubsub: Explain caps_update usage in a comment
...
The reason to use the caps_update hook for sending last items to remote
contacts is probably not obvious.
2015-07-06 23:45:25 +02:00
Mickael Remond
0770252e9b
Fix dialyzer warning
...
The function is call with binary format from ejabberd_c2s.
2015-07-05 13:33:34 +02:00
Holger Weiss
b7d7dc5201
XEP-0198: Increase timeout during resumption
...
Give gen_fsm:sync_send_all_state_event/3 a little more time to transfer
the (possibly somewhat large) c2s #state during session resumption.
2015-07-03 11:35:22 +02:00
Holger Weiss
5856f6d06a
XEP-0198: Increase default "max_ack_queue" value
...
During login, clients might receive a relatively large number of stanzas
in one go. For some users, the default value of the "max_ack_queue"
option turned out to be too small in that situation.
2015-07-03 11:35:22 +02:00
Holger Weiss
a25051fead
New hook: muc_filter_packet
...
Add a hook that allows for modifying or dropping MUC room messages.
Closes #491 .
2015-07-03 11:34:44 +02:00
Holger Weiss
4045c848c4
Send notifications on MUC configuration changes
...
Notify clients when the room configuration changes, as mandated by
XEP-0045, #10.2.1.
Closes #623 .
2015-07-02 00:36:16 +02:00
Evgeniy Khramtsov
3c12d1a960
Do not rely on behaviour info when doing config validation
2015-06-29 22:50:34 +03:00
Holger Weiss
7c7e51b6e8
Omit warning message regarding non-anonymous room
...
Previous versions of XEP-0045 suggested sending a warning message to new
occupants of a non-anonymous MUC room. The current revision (1.25) says
that a status code of "100" must be returned with the user's initial
presence, instead. We already do this (in addition to generating the
warning message).
Receiving the warning message each time the client joins the room can
become annoying, especially when reconnections occur frequently (e.g.,
on mobile devices). So, we omit it, now.
2015-06-28 14:05:55 +02:00
Badlop
4ae1b4db03
When passwords are scrammed, report check_password_hash cannot work ( #559 )
2015-06-25 13:39:45 +02:00
Badlop
72f35a6dc6
Add xep definition to mod_mam
2015-06-24 11:58:37 +02:00
Evgeniy Khramtsov
83cce468a5
Add MAM (XEP-0313) support
2015-06-22 16:56:08 +03:00
Badlop
6631078884
Document a few more supported protocols
2015-06-22 13:11:37 +02:00
Holger Weiss
fc0754c609
Add s2s_dhfile to list of known options
2015-06-20 00:14:54 +02:00
Holger Weiss
73a0fb418c
Update comment that explains how to set up node_mb
...
Specify settings that make sense with current ejabberd versions, and use
the YAML configuration format. Also, specify the "urn:xmpp:microblog:0"
namespace, as that's the microblogging node name currently defined by
XEP-0277.
2015-06-19 23:13:36 +02:00
Holger Weiss
04038c01f7
PubSub: Check for node subscription of bare JID
...
Don't just check whether the full JID is subscribed when a node
subscription is required to list or publish items. If the bare JID is
subscribed, these requests are now also accepted.
2015-06-19 00:50:08 +02:00
Badlop
36a96ae3f5
change_room_option misses handling some room options #604
2015-06-18 13:13:49 +02:00
Christophe Romain
d528457ba5
Don't force persistence if cache enabled (fix previous commit)
2015-06-18 12:54:46 +02:00
Christophe Romain
e5a98b100d
Fix max_items and don't let PEP depends on item cache
2015-06-18 12:06:29 +02:00
Badlop
1cf2dfe63a
New hide_sensitive_log_data option to hide client IP in log ( #452 #471 )
2015-06-17 11:32:42 +02:00
Holger Weiss
e608274243
Add s2s_dhfile option to configuration validator
2015-06-16 15:18:34 +02:00
Alexey Shchepin
2110b929bc
Merge pull request #581 from weiss/dh-param-file
...
New options: dhfile and s2s_dhfile
2015-06-16 11:59:06 +03:00
Paweł Chmielowski
dcf5aefea0
Add option to set net_ticktime (EJAB-1742)
2015-06-15 14:57:07 +02:00
Badlop
357ff6c8f7
Fix bug introduced in commit b88fa6f617
2015-06-04 15:47:02 +02:00
Badlop
fe10c6f6f2
Pick first local multicast service, otherwise remote (ejabberd-contrib#105)
2015-06-04 12:13:10 +02:00
Holger Weiss
6c712b6caa
Don't add body element to MUC subject messages
2015-06-04 09:55:38 +02:00
jpegger
6f48f22c71
Authmodule using old style XML:get_attr_s()
2015-06-03 18:11:35 +02:00
Evgeniy Khramtsov
9a9633dbc5
Do not ignore unknown options so far
2015-06-03 16:21:22 +03:00
Evgeniy Khramtsov
c1119b1f39
Remove unused validation code
2015-06-03 16:05:17 +03:00
Evgeniy Khramtsov
ab196b4b02
Move opt_type/1 function out of if-else block
2015-06-03 15:52:19 +03:00
Evgeniy Khramtsov
730fd55ec9
Fix typo
2015-06-03 15:45:15 +03:00
Evgeniy Khramtsov
0ae9ef2b41
Add missing options of ejabberd_logger to validator
2015-06-03 15:25:20 +03:00
Evgeniy Khramtsov
83faff37e5
Add missing options of mod_muc to validator
2015-06-03 15:18:09 +03:00
Badlop
4ed6a3d78f
Fix commands export2odbc, connected_users_vhost and push_alltoall ( #586 )
2015-06-02 12:52:15 +02:00
badlop
0de7864880
Merge pull request #585 from CorCornelisse/master
...
push_roster* not updated on binarification
2015-06-02 12:24:46 +02:00
Evgeniy Khramtsov
157ff4d093
Merge branch 'master' of github.com:processone/ejabberd
2015-06-01 15:38:37 +03:00
Evgeniy Khramtsov
fb6267f38e
Add config validation at startup
2015-06-01 15:38:27 +03:00
Badlop
9a802185ad
Fix anonymous user login, it wasn't stored in anonymous mnesia table
2015-06-01 14:34:49 +02:00
Evgeniy Khramtsov
a9f7d9481f
Do not try to fetch module options via eldap_utils
2015-06-01 15:22:31 +03:00
Evgeniy Khramtsov
ea7de2097f
Reorganize get_opt() code in some modules
2015-06-01 15:20:49 +03:00
Evgeniy Khramtsov
48213b09ce
Get rid of some fuzzy macros as it makes syntax tools getting mad
2015-06-01 15:19:56 +03:00
Cor Cornelisse
22d9011c0c
These arguments should be binary instead of strings, otherwise it won't work properly
2015-06-01 13:30:26 +02:00
Badlop
100827ec6e
In xmlrpc use process_unicode_codepoints instead of list_to_binary
2015-05-29 15:49:12 +02:00
Evgeniy Khramtsov
a291e7d4e6
Fix MUC room options vaildation
2015-05-29 12:08:36 +03:00
Evgeniy Khramtsov
e8ffbbb0b4
Validate MUC room options from the configuration file
2015-05-28 11:42:17 +03:00
Badlop
d0443bb714
An auth external module requires ext_mod to be started first ( #578 )
2015-05-27 13:10:15 +02:00
Holger Weiss
5585fb1ecf
New options: dhfile and s2s_dhfile
...
Let admins specify a file that contains custom parameters for
Diffie-Hellman key exchange.
2015-05-26 21:06:04 +02:00
Christophe Romain
b83c07251c
Fix pubsub/odbc crash on remote user unsubscribe (EJAB-1483)
2015-05-26 19:19:57 +02:00
Alexey Shchepin
b2f98099bb
Merge pull request #569 from weiss/send-element-error-checking
...
Update send_element error checking (EJAB-1739)
2015-05-26 15:59:50 +03:00
Mickael Remond
9574e71e8d
Include session record from header file instead of duplicating it
2015-05-26 10:08:46 +02:00
Paweł Chmielowski
3af507cc43
Fix merging of not yaml config files
2015-05-25 15:37:46 +02:00
Christophe Romain
e54e556e01
Fix use of publish_only affiliation with odbc backend
2015-05-22 18:47:17 +02:00
Badlop
b07cb1ed84
Use namespace definitions when possible
2015-05-21 17:04:14 +02:00
Badlop
0c725b5fac
Document protocol support (EJABS-1620)
2015-05-21 17:04:05 +02:00
badlop
b04f3a4c93
Merge pull request #573 from sezuan/fix_odbc
...
Fix some string/binary issues with non-native ODBC drivers
2015-05-21 11:31:47 +02:00
Holger Weiss
889459b45c
Fix function specification
2015-05-20 12:13:15 +02:00
Evgeniy Khramtsov
3b267eaa61
Do not bounce normal messages sent to unavailable resource
2015-05-19 10:58:36 +03:00
Holger Weiss
fba13a0b93
Simplify XEP-0203 (Delayed Delivery) code a bit
...
Now that XEP-0091 support is removed, the XEP-0203 code can be
simplified a little further. This doesn't change the behavior.
2015-05-18 21:26:51 +02:00
Christophe Romain
8bb994dbca
Call integer_to_binary using jlib ( #554 )
2015-05-18 17:30:25 +02:00
Badlop
2af659b737
Remove deprecated XEP-0090 Entity Time and 91 Delayed Delivery (EJAB-849)
2015-05-18 12:38:25 +02:00
Matthias Rieber
16532dd643
Fixed some string()/binary() issues in ejabberd_odbc
2015-05-18 12:14:56 +02:00
Matthias Rieber
f5c9dfbc93
fixed erl_prettypr in encode_term
2015-05-17 19:37:49 +02:00
Badlop
084d0c4efe
New command get_room_options ( #567 )
2015-05-15 17:47:10 +02:00
Holger Weiss
61afd668c2
Fix indentation
2015-05-15 15:50:43 +02:00
Paweł Chmielowski
de7ff536b2
Load config snippets for modules installed with ext_mod (EJAB-1741)
2015-05-15 12:30:15 +02:00
Paweł Chmielowski
5dbe7a3c6c
Export modules_dir/0
2015-05-15 12:27:59 +02:00
Holger Weiss
6efce7f706
Cosmetic change: Simplify error checking
...
Let send_stanza_and_ack_req/2 update the #state instead of propagating
the value returned by send_element/2. This doesn't change the behavior.
2015-05-14 01:04:23 +02:00
Holger Weiss
42c7205739
Don't assume send_element/2 returns ok or error
...
Let send_text/2 and (therefore) send_element/2 return {error, Reason}
instead of error for consistency, and let send_stanza_and_ack_req/2
interpret any non-ok value as an error. (EJAB-1739)
2015-05-14 00:58:36 +02:00
Badlop
d885435552
Fix setting 'description' with change_room_option command ( #567 )
2015-05-12 17:37:39 +02:00
Badlop
f817762cc4
New max_users_presence mod_muc option (thanks to anhcoi123)( #562 )
2015-05-08 13:09:25 +02:00
Badlop
25beb46391
Fix check_password_hash argument parsing ( #559 )
2015-05-08 12:04:04 +02:00
Badlop
7ab6c4b4fd
Try to support access_commands in YAML (ejabberd-contrib#45)
2015-05-07 18:34:05 +02:00
Badlop
b0b004b26e
Revert "Add private and roster local handlers (EJAB-682)" due to #556
...
This reverts commit 2e194bd997
.
2015-05-07 17:07:49 +02:00
Badlop
f7d9bb7ce4
Don't announce register feature once user is authenticated ( #41 )
2015-05-07 11:41:59 +02:00
Ben Langfeld
917d48f30b
Use SASL PLAIN authzid as client identity if auth module permits it
...
This allows the authentication modules to perform SASL proxy authentication. It puts the onus on them to authorize the authcid to masquerade as the authzid. Doesn't currently implement such functionality in existing auth modules, since they cannot currently codify a relationship between the two identities. Does not permit the authzid to use a domain differently from the one of the connection.
Note: digest might not work, but I have no interest in it, being deprecated.
2015-05-06 14:12:15 -03:00
Ben Langfeld
d9814709e2
Remove commented code
2015-05-06 12:55:35 -03:00
Holger Weiss
7297b23508
Tag private MUC messages with muc#user namespace
...
Make it possible for clients to identify private MUC messages. One use
case would be to filter out undesired carbon copies of those.
2015-05-05 22:00:05 +02:00
Badlop
fa99519f8b
Simplify internal code of get_last and set_last commands
2015-05-05 12:54:20 +02:00
Badlop
96c62acb1b
Improve get_last command to provide also last activity status
2015-05-05 12:46:21 +02:00
Badlop
77e57afae1
Fix set_last command to work with recent ejabberd ( #555 )
2015-05-05 12:45:53 +02:00
Evgeniy Khramtsov
60fe008268
Remove duplicated code
2015-04-29 14:51:45 +03:00
Christophe Romain
6987e85602
Improve module install code, allows better error checking
2015-04-29 13:30:03 +02:00
Badlop
7492ecae52
New command get_user_rooms
2015-04-29 13:22:49 +02:00
Christophe Romain
4440b03b89
Fix fetching from git@github url and allow compilation from ejabberd sources
2015-04-29 10:19:15 +02:00
badlop
6f99775115
Merge pull request #547 from weiss/fix-account-jid-disco
...
Fix service discovery handling for account JIDs
2015-04-27 19:39:32 +02:00
Badlop
987e337c66
Rely on core routine for handling affiliation changes (thanks to Ben Langfeld)
...
This ensures that all of the usual stanzas and such go out
2015-04-27 17:00:22 +02:00
Holger Weiss
dc449687a0
mod_disco: Apply minor readability improvements
2015-04-26 16:36:17 +02:00
Holger Weiss
0edba763fb
mod_disco: Omit 'roster_get' call if possible
...
As a small optimization, avoid running the 'roster_get' hook in the
(common) case where a client requests service discovery information for
its own bare JID.
2015-04-26 16:32:03 +02:00
Holger Weiss
50f35f1b07
Fix service disco handling for bare account JIDs
...
Don't swap the sending and receiving JIDs while checking whether the
client that requested service discovery information for a bare account
JID is a subscribed contact.
2015-04-26 16:22:09 +02:00
Evgeniy Khramtsov
9c85cb5f25
Fix validating function for iqdisc
2015-04-23 14:59:18 +03:00
Christophe Romain
38dd44e18f
Improve purge_offline filter and speed ( #543 )
2015-04-22 18:11:39 +02:00
Badlop
2e194bd997
Add private and roster local handlers to get listed in disco#info (EJAB-682)
2015-04-22 13:27:25 +02:00
Badlop
e280de8452
Allow to modify host when registering account in web ( #291 )
2015-04-22 11:01:47 +02:00
Christophe Romain
6e4d6caebf
Add support for publish-only ( #30 )
2015-04-21 17:23:59 +02:00
Christophe Romain
cf37f3977a
Fix typo, oups...
2015-04-21 16:13:23 +02:00
Christophe Romain
61f80396da
remove deferred Collection shim header
2015-04-21 16:11:00 +02:00
Christophe Romain
cbd45974e2
Owner can subscribe to its node ( #454 )
2015-04-21 15:24:31 +02:00
Christophe Romain
747d25b4ad
Fixed node type (thanks to saczawap) ( #435 )
2015-04-21 15:24:24 +02:00
Christophe Romain
e0563e3918
PubSub improvements
...
This commit contains
- code cleanup
- use of db_type instead of old mod_pubsub_odbc
- some minor optimizations
- some minor bugfixes
2015-04-21 15:24:16 +02:00
Christophe Romain
28090a3958
Merge pull request #540 from weiss/queue-error-stanza
...
Add privacy error stanza to XEP-0198 queue
2015-04-21 11:19:49 +02:00
Evgeniy Khramtsov
ed79a61752
Fix LDAP substrings filter (EJAB-1715)
2015-04-21 11:49:41 +03:00
Holger Weiss
94936b261e
Add privacy error stanza to XEP-0198 queue
2015-04-20 22:03:18 +02:00
Alexey Shchepin
fd54181435
Fixed error replying on blocked messages
2015-04-20 17:19:09 +03:00
Badlop
c2e6ce0f04
Remove load_config command because is superseded by reload_config ( #532 )
2015-04-20 15:57:44 +02:00
Evgeny Khramtsov
837706e9d9
Merge pull request #536 from weiss/fail2ban-whitelist
...
Add mod_fail2ban option to whitelist IP addresses
2015-04-18 12:28:36 +03:00
Holger Weiss
aa36742a40
mod_fail2ban: Add 'access' option for whitelisting
...
Closes #535 .
2015-04-18 11:08:05 +02:00
Holger Weiss
c01940f33c
cyrsasl_scram: Return user name with error message
...
Let ejabberd_c2s run the 'c2s_auth_result' hook (which needs the user
name) on SCRAM authentication failure.
2015-04-17 20:21:11 +02:00
Holger Weiss
afdc269825
ejabberd_s2s_out: Remove Erlang/OTP version check
...
The version check won't work for Erlang/OTP >= 17; and it's no longer
needed, as we don't support versions older than R16 anyway.
2015-04-16 23:51:16 +02:00
Badlop
d624753410
Update get_password_s description with SCRAM return values
2015-04-15 11:51:34 +02:00
Badlop
a5adaf5798
Revert "Hook on group message"
...
This reverts commit b81250d667
.
2015-04-15 11:51:29 +02:00
badlop
31c5775025
Merge pull request #426 from hairyhum/master
...
Migration of scram passwords with piefxis (riak and internal only)
2015-04-15 11:04:29 +02:00
Paweł Chmielowski
ba69c469b5
Remove http_poll module
...
For couple years browsers did limit ability to change cookies from js
for different domains, this made http_poll connections practically not
usuable. I don't think this module is used at all so it's time to put it
to rest.
2015-04-15 10:47:10 +02:00
Holger Weiss
e408276283
Don't forget gen_tcp:listen/2 options
...
Fixes #530 .
2015-04-14 20:22:34 +02:00
Badlop
b67af5e036
Fix nick logging in mod_muc_log plaintext ( #522 )
2015-04-14 15:46:59 +02:00
Badlop
25449a076f
Clean multicast routing code detected by xref
2015-04-10 16:02:45 +02:00
Paweł Chmielowski
8732817c3c
Fix problem with pushing bufferend #xmlel-s to receiver in websocket code
2015-04-09 13:35:37 +02:00
Badlop
f129c6530c
Fix bug when sorting the list of rooms in WebAdmin
2015-04-08 15:34:08 +02:00
Evgeniy Khramtsov
32b60d4250
Remove hack with binary to integer conversion
2015-04-08 16:11:06 +03:00
Evgeniy Khramtsov
7a89dda816
Merge branch 'master' of github.com:processone/ejabberd
2015-04-08 15:31:41 +03:00
Evgeniy Khramtsov
9b4942890d
Add virtual host support for SQLite
2015-04-08 15:31:28 +03:00
Badlop
0cf8d1fa6e
Copy multicast code from ejabberd-contrib to provide XEP-0033 ( #521 )
2015-04-08 14:01:16 +02:00
Evgeniy Khramtsov
675c428f21
Disable awkward trap_exit flag
2015-04-08 14:40:28 +03:00
Evgeniy Khramtsov
bdedcf8d8a
Enable FOREIGN KEYS by default
2015-04-08 14:39:47 +03:00
Evgeniy Khramtsov
2a3a2d9804
Make sure SQLite always returns binaries
2015-04-08 14:38:04 +03:00
Evgeny Khramtsov
5a820aca40
Merge pull request #486 from saa/sqlite_support
...
Add SQLite support
2015-04-08 14:34:56 +03:00
Jerome Sautret
c3280e9dad
Add mod_muc_admin contrib.
2015-04-07 17:05:43 +02:00
Holger Weiss
0fd4984c23
ejabberd_listener: Remove Erlang/OTP version check
...
We don't support Erlang/OTP versions older than R16 anyway.
2015-04-07 09:47:05 +02:00
Evgeny Khramtsov
b81b0d0be9
Merge pull request #518 from liudanking/master
...
fix otp version check in ejabberd_listener.erl listen_tcp/5
2015-04-07 10:34:18 +03:00
Mickael Remond
c140f98276
Explicitly start crypto with start
...
This is to please Elixir / Phoenix enviroment
2015-04-07 09:03:37 +02:00
liudan
f981a53f9a
fix otp version check in listen_tcp/5
2015-04-07 09:28:35 +08:00
Holger Weiss
2a94c68724
Don't call send_element/2 if previous call failed
...
Be sure not to try sending data over a TCP socket that is no longer
usable.
2015-04-06 22:34:48 +02:00
Paweł Chmielowski
81b0643036
Fix problem with c2s buffering on old style websocket connections
...
Old style websocket do use binaries for transferring data to C2S, so when
we buffer that data we need to handle it different than list of #xml structs
used by new style connections.
This fixes github issue #515 .
2015-04-06 17:54:45 +02:00
Paweł Chmielowski
64978b3d9c
Merge pull request #513 from weiss/ignore-header-case
...
ejabberd_websocket: Ignore case of HTTP header values
2015-04-06 17:49:51 +02:00
Mickael Remond
34f8f6d868
Explicitely start crypto module
...
Without explicit start, it causes issue when embedding ejabberd into other apps.
2015-04-06 13:46:09 +02:00
Evgeniy Khramtsov
69bff82301
Fix type spec
2015-04-06 12:38:54 +03:00
Mickael Remond
47537aa901
Make sure Mnesia dir environment and log file are list, not binary
...
This is useful for Elixir configuration, as binary is the more natural data type.
Closes #514
2015-04-06 11:36:16 +02:00
Holger Weiss
0cd77ab942
ejabberd_websocket: Ignore case of header values
...
RFC 6455 says that the client's opening handshake includes an Upgrade
header field "containing the value 'websocket', treated as an ASCII
case-insensitive value."
Closes #510 .
2015-04-05 14:48:08 +02:00
Mickael Remond
ea8db9967f
ejabberd can be embedded in an Elixir application
2015-04-04 17:42:12 +02:00
Badlop
7d3b2cad26
Replace crypto calls that will be removed in a future release
2015-04-04 14:09:58 +02:00
Badlop
cf40daf663
Replace undefined value with empty one ( processone/ejabberd-contrib#92 )
2015-04-04 13:48:17 +02:00
Holger Weiss
1fa73fd33f
Remove unused case clauses to make dialyzer happy
2015-04-03 20:37:42 +02:00
Badlop
94761ff31e
Improve srg_get_info result format ( processone/ejabberd-contrib#92 )
2015-04-03 12:16:11 +02:00
Paweł Chmielowski
088c5c4672
Fix output formatting in srg_get_info commend from mod_admin_extra
2015-04-02 16:55:51 +02:00
Paweł Chmielowski
b580da3547
Fix problems with get_vcard* functions from mod_admin_extra
2015-04-01 16:32:34 +02:00
Paweł Chmielowski
cf3b4dbc7b
Drop exmpp usage from mod_admin_extra
2015-04-01 15:44:49 +02:00
Evgeny Khramtsov
305b281c15
Merge pull request #493 from weiss/rfc-6121-routing
...
Update ejabberd_sm's routing rules as per RFC 6121
2015-04-01 11:41:05 +03:00
Evgeniy Khramtsov
821039b7d5
Swap 'mnesia' and 'internal' types correctly
2015-03-30 12:25:25 +03:00
Evgeniy Khramtsov
fb1fd50df5
The 'default_db' option should impact ejabberd_auth as well
2015-03-30 12:18:18 +03:00
Evgeniy Khramtsov
4af15df546
Add new 'default_db' option
2015-03-30 12:15:29 +03:00
Sergey Abramyan
15af88a09a
Fix lite.sql and convert binary to integer
2015-03-27 22:14:29 +03:00
Badlop
176114d28e
Try to fix more Dialyzer warnings
2015-03-27 15:55:57 +01:00
Badlop
9c96d30719
Ensure set_presence changes are kept in state (thanks to Davide Colombo)(EJAB-1184)
2015-03-27 15:03:14 +01:00
Badlop
30dc82a98a
Fix even more dialyzer warnings
2015-03-27 12:28:24 +01:00
Badlop
8707c0b045
Fix set_presence command (ejabberd-contrib#61)
2015-03-27 11:43:56 +01:00
Badlop
10dfd182f6
Fix more mod_admin_extra commands
2015-03-26 20:41:16 +01:00
Badlop
9b3dda105d
Fix problems in process_rosteritems command
2015-03-26 16:18:39 +01:00
Badlop
fbb6b65192
Detect correctly when vCard does not exist ( #21 )
2015-03-26 14:00:58 +01:00
Badlop
0c30beb93d
Fix return error when requesting non-existing vcard value ( #21 )
2015-03-26 14:00:54 +01:00
Mickaël Rémond
c9393bc4f4
Ignore errors when retrieving status if the users just got offline
...
Fix possible race condition.
2015-03-26 14:00:50 +01:00
Holger Weiss
5103ed1c3b
mod_admin_extra: Let send_message omit subject
...
Let the send_message command omit the subject if the user either
specified an empty subject or a message type of "chat".
2015-03-26 14:00:48 +01:00
Badlop
88cd8c7b12
Update FSF address (solves #73 )
2015-03-26 14:00:46 +01:00
HAMANO Tsukasa
00fe68ed06
fix connected_users_info in mod_admin_extra
2015-03-26 14:00:44 +01:00
Holger Weiss
09dd288ac0
mod_admin_extra: Fix private_get/private_set types
2015-03-26 14:00:42 +01:00
Badlop
2186c03a9c
Support TEL XXX in set and get_vcard commands
2015-03-26 14:00:40 +01:00
colm
441d48f080
Changed signature of user_sessions_info to take binaries rather than strings as it doesn't match anything in mnesia if it searches it by string
2015-03-26 14:00:38 +01:00
Badlop
c3afc3c7c0
Join three send_message_* commands in one (PR #68 )
2015-03-26 14:00:36 +01:00
HAMANO Tsukasa
9a64bfe605
add send_message_normal command
2015-03-26 14:00:34 +01:00
HAMANO Tsukasa
ca25d44c8b
fix mod_admin_extra stats command
2015-03-26 14:00:32 +01:00
Holger Weiss
4e9b4cbc11
mod_admin_extra: Fix stats(_host) argument types
2015-03-26 14:00:30 +01:00
Badlop
46b33b51b4
Update kick_session to work with ejabberd master
2015-03-26 14:00:28 +01:00
Sonny Scroggin
3eebf100f9
Binary conversions
2015-03-26 14:00:24 +01:00
Sonny Scroggin
5c0a1dde1c
More binary conversions
2015-03-26 14:00:21 +01:00
Badlop
949705b04a
Update add_roster_item and get_roster to ejabberd 13
2015-03-26 14:00:18 +01:00
Badlop
f682dfe3a6
Fix get_vcard and set_vcard when using option module_resource (issue #21 )
2015-03-26 14:00:16 +01:00
Sonny Scroggin
14a3662ca4
Fix add_rosteritem, delete_rosteritem, and get_roster
2015-03-26 14:00:14 +01:00
Badlop
ffea2bf350
Update get_vcard and set_vcard to ejabberd 13 (fixes issue #21 )
2015-03-26 14:00:12 +01:00
Rahul Gautam
f314da7b1f
mod_admin_extra: for support in ejabberd-v13.x changed args from string to binary : all changes tested with ejabberdv13.12
2015-03-26 14:00:10 +01:00
Badlop
d72c739630
Fix command change_password ( fixes #16 )
2015-03-26 14:00:08 +01:00
Badlop
57035b383c
Handle error when requesting information of a non-existing shared roster ( fixes #14 )
2015-03-26 14:00:06 +01:00
Badlop
2746e358b3
Fixes srg_* commands ( fixes #147 )
2015-03-26 14:00:04 +01:00
Badlop
d66f40d94f
Fix srg_create when calling ejabberd_regexp (fixes issue #12 )
2015-03-26 14:00:01 +01:00
Badlop
e6a9c5ccee
Add get_last to ejabberdctl for last user activity (thanks to lehrblogger)
...
The logic for determining the response is borrowed from here:
6d811f5178/src/web/ejabberd_web_admin.erl (L1583-L1601)
2015-03-26 13:59:59 +01:00
Badlop
f0cf90c11e
Initial import from ejabberd-modules SVN
2015-03-26 13:59:57 +01:00
Paweł Chmielowski
de26af3fdb
Make sure that we send each time <close> before closing websocket connection
2015-03-25 17:10:08 +01:00
Badlop
d9ad26b4ec
If command crashes, return restuple with error and explanation (ejabberd-contrib #21 )
2015-03-25 13:57:08 +01:00
Holger Weiss
f40e6a0421
Don't bother with filtering out PEP error messages
...
Now that ejabberd_sm won't deliver error messages that were sent to bare
JIDs anymore, PEP error messages should no longer arrive.
2015-03-25 02:02:08 +01:00
Holger Weiss
1b1878409f
Route headlines sent to bare JIDs to all resources
...
As per RFC 6121, deliver headline messages that were sent to a bare JID
to all resources with a non-negative priority, not just to those with
the highest priority. If no such resource is available, discard them
silently.
2015-03-25 01:17:35 +01:00
Holger Weiss
8f9a2d6df8
Don't route error/groupchat messages to bare JIDs
...
As per RFC 6121, drop error messages that were sent to bare JIDs, and
return an error if a groupchat message was sent to a bare JID.
2015-03-25 00:52:49 +01:00
Holger Weiss
bc008d4041
Update routing for unavailable resources
...
As per RFC 6121, don't reroute non-chat messages sent to unavailable
resources.
2015-03-25 00:13:05 +01:00
Holger Weiss
33c9f21171
Return error when incoming message is blocked
...
As per XEP-0016 and XEP-0191, return a service-unavailable error when an
incoming message was blocked by a privacy list. This lets the user
appear offline to the contact.
2015-03-24 23:10:47 +01:00
Holger Weiss
27a4d783a5
Fix "IP address not available" error message
2015-03-24 17:32:57 +01:00
Alexey Shchepin
736710cc9c
Add support for ciphers and protocol_options in ejabberd_http
2015-03-24 18:14:47 +03:00
Holger Weiss
31e356c126
Avoid crypto:hmac/3 call for R15B compatibility
2015-03-21 22:56:23 +01:00
Holger Weiss
a5d6044448
Fix compilation on Erlang R15B
2015-03-21 22:06:38 +01:00
Christophe Romain
8b23727cc6
Start ext_mod before module as it's setup contrib path
2015-03-20 15:06:02 +01:00
Alexey Shchepin
5135e30633
Removed deprecated calls to crypto:sha_mac in scram.erl
2015-03-20 14:09:38 +03:00