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
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