mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-20 16:15:59 +01:00
633b68db11
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`. |
||
---|---|---|
.. | ||
ejabberd_SUITE_data | ||
elixir-config | ||
acl_test.exs | ||
announce_tests.erl | ||
carbons_tests.erl | ||
csi_tests.erl | ||
ejabberd_admin_test.exs | ||
ejabberd_auth_mock.exs | ||
ejabberd_commands_mock_test.exs | ||
ejabberd_commands_test.exs | ||
ejabberd_cyrsasl_test.exs | ||
ejabberd_hooks_test.exs | ||
ejabberd_oauth_mock.exs | ||
ejabberd_sm_mock.exs | ||
ejabberd_SUITE.erl | ||
elixir_SUITE.erl | ||
example_tests.erl | ||
jid_test.exs | ||
ldap_srv.erl | ||
mam_tests.erl | ||
mix_tests.erl | ||
mod_admin_extra_test.exs | ||
mod_http_api_mock_test.exs | ||
mod_http_api_test.exs | ||
mod_last_mock.exs | ||
mod_legacy.erl | ||
mod_roster_mock.exs | ||
muc_tests.erl | ||
offline_tests.erl | ||
privacy_tests.erl | ||
proxy65_tests.erl | ||
pubsub_tests.erl | ||
README | ||
README-quicktest.md | ||
replaced_tests.erl | ||
roster_tests.erl | ||
sm_tests.erl | ||
suite.erl | ||
suite.hrl | ||
test_helper.exs | ||
vcard_tests.erl |
You need MySQL, PostgreSQL and Riak up and running. MySQL should be accepting TCP connections on localhost:3306. PostgreSQL should be accepting TCP connections on localhost:5432. Riak should be accepting TCP connections on localhost:8087. MySQL and PostgreSQL should grant full access to user 'ejabberd_test' with password 'ejabberd_test' on database 'ejabberd_test'. Riak should be configured with leveldb as a database backend and -pz should be pointed to the directory with ejabberd BEAM files. Here is a quick setup example: ------------------ PostgreSQL ------------------ $ psql template1 template1=# CREATE USER ejabberd_test WITH PASSWORD 'ejabberd_test'; template1=# CREATE DATABASE ejabberd_test; template1=# GRANT ALL PRIVILEGES ON DATABASE ejabberd_test TO ejabberd_test; ------------------- MySQL ------------------- $ mysql mysql> CREATE USER 'ejabberd_test'@'localhost' IDENTIFIED BY 'ejabberd_test'; mysql> CREATE DATABASE ejabberd_test; mysql> GRANT ALL ON ejabberd_test.* TO 'ejabberd_test'@'localhost'; ------------------- Riak ------------------- $ cat /etc/riak/vm.args ... ## Map/Reduce path -pz /path/to/ejabberd/ebin ... For version < 2.x: $ cat /etc/riak/app.config: ... {riak_kv, [ {storage_backend, riak_kv_eleveldb_backend}, ... For version >= 2.x: $ cat /etc/riak/riak.conf: ... storage_backend = leveldb ...