Evgeniy Khramtsov
1925b94131
Implement cache for mod_vcard and mod_vcard_xupdate
2017-05-17 17:13:34 +03:00
Evgeniy Khramtsov
f782955c06
Implement cache for roster
2017-05-17 14:47:35 +03:00
Evgeniy Khramtsov
81d9770d4f
Update Elixir tests for using new auth API
2017-05-11 16:15:18 +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
Paweł Chmielowski
e790e66f47
Fix elixir tests
2017-05-04 12:17:41 +02: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
Paweł Chmielowski
2988d84cfb
Don't check result of jid.start
2017-04-26 09:50:49 +02:00
Paweł Chmielowski
a67b3dc6a6
Don't check result of jid.start
2017-04-25 16:54:01 +02:00
Paweł Chmielowski
f4c98f635b
Don't check result of jid.start
2017-04-25 16:46:00 +02:00
PaweÅ Chmielowski
44ae6bcc83
Fix elixir tests
2017-04-21 12:17:23 +02:00
Evgeniy Khramtsov
f9c24ab16d
Add Riak as mod_carboncopy RAM backend
2017-04-15 14:41:14 +03:00
Evgeniy Khramtsov
fcb978248f
Add Riak as session manager RAM backend
2017-04-15 10:02:32 +03:00
Evgeniy Khramtsov
5f1f126613
Don't forget to disconnect
2017-04-14 20:32:26 +03: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
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
Christophe Romain
578ecad93c
Disable mix tests
2017-04-04 17:02:15 +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
Evgeniy Khramtsov
12e01a5119
Add SQL as mod_muc RAM backend
2017-03-29 12:58:01 +03: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
Evgeniy Khramtsov
0aa22e5149
Don't call deprecated jid functions from the test suite
2017-03-07 18:11:28 +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
Paweł Chmielowski
b1b3aba439
Fix elixir tests
2017-02-27 13:05:08 +01:00
Paweł Chmielowski
a098d1ec62
Update tests to ejabberd_commands changes
2017-02-27 10:45:39 +01:00
Paweł Chmielowski
ac548f2e95
Update tests to cyrsasl modifications
2017-02-27 10:45:15 +01:00
Paweł Chmielowski
a85a953e8e
Adapt get_last tests to new output
2017-02-24 12:08:57 +01:00
Paweł Chmielowski
c950fc05f0
Update tests for changes in acl start code
2017-02-24 12:08:57 +01:00
Paweł Chmielowski
f4081a363b
Fix elixir tests
2017-02-23 09:53:20 +01:00
Evgeniy Khramtsov
635dfa2eae
Re-enable "replaced" tests
2017-02-21 12:53:08 +03:00
Evgeniy Khramtsov
6ffd5ffd0c
Test stream management queue overload
2017-02-21 12:38:03 +03:00
Evgeniy Khramtsov
e11bcf9c43
Improve stream management tests
2017-02-21 09:19:51 +03:00
Evgeniy Khramtsov
adbd174959
Rename mod_sm -> mod_stream_mgmt
2017-02-21 09:18:58 +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
Paweł Chmielowski
5183f7724d
Fix tests
2017-01-23 20:43:35 +01:00
PaweÅ Chmielowski
b0e72ece43
Adapt to new ejabberd_sm changes
2017-01-23 19:34:29 +01:00
Evgeniy Khramtsov
435e5e6263
Make test suite working again
2017-01-23 13:51:05 +03:00
Christophe Romain
32e5781a6a
Cleanup file headers
2017-01-03 15:58:52 +01:00
Badlop
5fdd1c39fe
Update copyright date automatically ( #1442 )
2017-01-02 21:42:06 +01:00
Paweł Chmielowski
1bda40dac7
Fix cyrsasl test after recent changes
2017-01-02 13:36:21 +01:00
Paweł Chmielowski
a681874f67
Try to fix interminent failures in cyrsasl tests
2016-12-06 18:33:16 +01:00
Paweł Chmielowski
68cf6845e1
Fix mod_http_api_mock_test on 19.1
2016-12-01 18:51:23 +01:00
Paweł Chmielowski
294d58a393
Add more tests for digest-md5 cyrsasl
2016-12-01 18:51:23 +01:00
Evgeniy Khramtsov
d554827ebc
Don't check for faked carbons
2016-11-24 20:16:07 +03:00
Evgeniy Khramtsov
5d434c1aea
Move copyright definition to ejabberd.hrl
2016-11-23 15:51:48 +03:00
Evgeniy Khramtsov
c0b5c6e9d4
Fix logging in tests on R17
2016-11-21 22:04:25 +03:00
Evgeniy Khramtsov
3908a80ac9
Merge branch 'master' of github.com:processone/ejabberd
2016-11-21 16:55:28 +03:00
Evgeniy Khramtsov
1a02a2a51d
Set 'sql_pool_size' to 1 for sqlite tests
2016-11-21 16:55:18 +03:00
Paweł Chmielowski
b8e8e4b971
Fix elixir tests
2016-11-21 12:50:51 +01:00
Paweł Chmielowski
e57de02e0f
Fix s2s test
2016-11-21 12:06:58 +01:00
Evgeniy Khramtsov
507e756b69
Do not send empty <after/> tag
2016-11-21 12:13:34 +03:00
Paweł Chmielowski
daab95e3b5
Fix elixir tests
2016-11-18 12:54:06 +01:00
Paweł Chmielowski
e69937d93a
Get rid of substitute_forwarded
2016-11-18 11:51:57 +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
e75dd17e2c
Fix tests that use #forwarded
2016-11-15 10:02:21 +01: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
Evgeniy Khramtsov
e841a6ec34
Add more tests for offline storage
2016-11-08 15:15:19 +03:00
Evgeniy Khramtsov
56c91d3c58
Add roster tests
2016-11-07 10:10:57 +03:00
Evgeniy Khramtsov
f6236d456d
Add more tests for privacy lists and blocking command
2016-10-22 13:01:45 +03:00
Evgeniy Khramtsov
67720c7713
Add more MUC tests
2016-10-17 13:37:23 +03:00
Evgeniy Khramtsov
6a3691ef7c
Add xdata generator and make some code using it
2016-10-07 10:31:03 +03:00
Paweł Chmielowski
0ae84a646f
Disable one test for now, we may change how this part is handled
2016-10-06 11:17:10 +02:00
Paweł Chmielowski
695d22ef95
Initialize ejabberd_access_permissions in elixir tests
2016-10-05 13:54:29 +02:00
Evgeniy Khramtsov
d327119cf7
Text legacy IQ handler support
2016-09-25 10:17:03 +03:00
Evgeniy Khramtsov
3112a7187f
Test anonymous auth
2016-09-25 09:57:56 +03:00
Evgeniy Khramtsov
7100c67be6
Get rid of compile warnings in test suite
2016-09-25 08:38:41 +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
Evgeniy Khramtsov
e987b88848
Make common tests working again
2016-09-13 12:30:05 +03: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
c770a54aac
Clean ejabberd_commands before tests
2016-09-05 17:18:27 +02:00
Paweł Chmielowski
96a748d34f
ejabberd_oauth requiere working cache_tab, initialize it before tests
2016-09-05 16:42:05 +02:00
Mickael Remond
4982639d05
Fix error return expectation in command test
2016-08-01 09:28:54 +02:00
Mickael Remond
2a8005e47f
Add ability to run test with Elixir mix
2016-07-26 12:17:37 +02:00
Mickael Remond
dbc0498279
Fix tests, command need to be properly added to list of exposed commands
2016-07-25 18:28:40 +02: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
Mickael Remond
caf2c20210
Error when not authorized should be 403
2016-07-23 18:21:45 +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
57aeef74d5
stringprep might already be started
...
Depending on the way the test us ran
(full test suite or the elixir quicktest one)
the stringprep might already be loaded.
2016-07-22 19:15:56 -03:00
Pablo Polvorin
12b58b9870
Fix elixir test case: stringprep was required
2016-07-22 16:25:54 -03:00
Pablo Polvorin
0c0c6465ba
Fix test for changes in oauth expiry
2016-07-19 20:36:02 -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
Paweł Chmielowski
f56cff925c
acl: ACLName rule should match if any part of ACLName matches
2016-06-24 15:09:51 +02:00
Paweł Chmielowski
751be3cca6
Add some tests for {shaper,access}_rules_validator
2016-06-22 16:52:45 +02:00
Paweł Chmielowski
f1138baa80
Add test for more allowed access_rules
2016-06-16 11:12:16 +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
Paweł Chmielowski
f8d2589ee5
Add tests for new acl functions
2016-06-06 17:12:39 +02:00
Pablo Polvorin
41c3751fa1
Fix quicktest case
...
Missing initialization, required for ets table to exists
2016-06-05 16:35:51 -03:00
Alexey Shchepin
0093326f7d
Fix ejabberd.ldif
2016-06-02 18:56:27 +03:00
Alexey Shchepin
9ef52b8c64
Fix a typo
2016-06-02 18:22:50 +03:00
Alexey Shchepin
d201f013b2
Stronger tests in the test suite, SQL updates and fixes
2016-06-02 18:09:58 +03:00
Paweł Chmielowski
8e883a76e3
Update test after roster code reorganization
2016-05-31 00:09:26 +02:00
Paweł Chmielowski
622bff23a4
Update test
2016-05-31 00:07:26 +02:00
Paweł Chmielowski
be0dd51e51
Fix mod_http_api_test.exs
2016-05-30 23:06:29 +02:00
Paweł Chmielowski
17f87eb899
Fix tests
2016-05-30 23:06:29 +02:00
Paweł Chmielowski
1ade88402c
Better code for setting up ejabberd app location
2016-05-30 23:06:29 +02:00
Paweł Chmielowski
f252b9d489
Update acl tests to new internal access rules syntax
2016-05-30 14:36:17 +02:00