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