aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_auth.erl (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add some missing RFCs and remove problematic leading 0 in xep versionsBadlop2022-11-041-0/+2
|
* Update copyright year to 2022Badlop2022-02-111-1/+1
|
* Update newest copyright year to 2021 (#3464)Badlop2021-01-271-1/+1
|
* Make anonymous auth not override sasl mechaninsm offered by other modulesPaweł Chmielowski2020-12-141-10/+15
| | | | | | | | This stop overriding store_type when anonymous is enabled with other auth modules, we don't really need that since anonymous is not taking passwords anyway, and this was disabling scram mechanisms. This fixes issue #2803.
* Allow to use different hash for storing scram passwordsPaweł Chmielowski2020-12-081-13/+16
|
* Fix more places that needed changes after scram.erl api modificationsPaweł Chmielowski2020-12-041-5/+5
|
* Don't use same value in cache for user don't exist and wrong passwordPaweł Chmielowski2020-10-221-9/+19
| | | | | | By doing this check_password that returned info about mismatched password caused user_exists checks performed after that to return wrongly that account doesn't exist.
* Use include_lib() to include headers from dependencies (#3369)Stu Tomlinson2020-09-031-1/+1
|
* Update copyright to 2020 (#3149)Badlop2020-01-281-1/+1
|
* Make convert_to_scram work with all backendsPaweł Chmielowski2019-11-271-1/+22
|
* JWT-only authentication for some users (#3012)Alexey Shchepin2019-09-181-13/+25
|
* Improve hooks validator and fix bugs related to hooks registrationEvgeny Khramtsov2019-07-291-2/+2
|
* Remove Riak supportEvgeny Khramtsov2019-07-181-2/+0
| | | | | | | | | | Reasons: - Riak DB development is almost halted after Basho - riak-erlang-client is abandoned and doesn't work correctly with OTP22 - Riak is slow in comparison to other databases - Missing key ordering makes it impossible to implement range queries efficiently (e.g. MAM queries)
* Fix typos using codespellEvgeny Khramtsov2019-07-161-1/+1
|
* Process unexpected messages uniformlyEvgeny Khramtsov2019-07-121-4/+5
|
* Fix return type in try_set_password()Evgeny Khramtsov2019-07-071-25/+33
| | | | Fixes #2932
* Use new ets_cache API in ejabberd_authEvgeny Khramtsov2019-06-301-14/+11
|
* Avoid using broad map() type wherever possibleEvgeny Khramtsov2019-06-271-3/+4
|
* Make logging messages more consistentEvgeny Khramtsov2019-06-241-1/+1
|
* Get rid of "well-known" typeEvgeny Khramtsov2019-06-151-4/+1
|
* Use new configuration validatorEvgeny Khramtsov2019-06-141-48/+10
|
* Use different cache tables per auth moduleEvgeny Khramtsov2019-05-231-23/+38
| | | | Fixes #2322
* Correctly support cache tags in ejabberd_authEvgeny Khramtsov2019-04-191-5/+8
|
* Use new ets_cache api in ejabberd_authEvgeny Khramtsov2019-04-191-8/+9
|
* Update copyright to 2019 (#2756)Badlop2019-01-081-1/+1
|
* Add auth:which_user_exist to bulk checking existence of list of usersPaweł Chmielowski2018-12-051-1/+43
|
* Fix some dialyzer warningsEvgeny Khramtsov2018-09-091-7/+1
|
* ejabberd_auth: Restore lost case clauseHolger Weiss2018-07-261-1/+3
| | | | | | Let check_password_with_authmodule/6 handle the case where validate_credentials/2 returns an error. This got lost in commit 4f8af723c6fc5dc4b689f0f1734d4e2b11dd4c82.
* Reload internal room's configuration when mod_muc is reloadedEvgeniy Khramtsov2018-07-081-7/+1
| | | | Fixes #2513
* Move move randoms module to p1_utils repoEvgeniy Khramtsov2018-07-051-1/+1
|
* Get rid of ejabberd.hrl headerEvgeniy Khramtsov2018-06-141-4/+4
| | | | | | | | | The header consisted of too many unrelated stuff and macros misuse. Some stuff is moved into scram.hrl and type_compat.hrl. All macros have been replaced with the corresponding function calls. TODO: probably type_compat.hrl is not even needed anymore since we support only Erlang >= OTP 17.5
* Improve indentationEvgeniy Khramtsov2018-05-301-12/+12
|
* Fix authentication for usernames containing uppercase charactersStu Tomlinson2018-05-301-10/+13
| | | | | | | Applies to authentication methods that compare User (normalized) and AuthzId (was not being normalized). These are external, ldap & pam. Fixes #2280
* Improve robustness of external authentication backendsEvgeniy Khramtsov2018-05-071-10/+31
| | | | | | | | | | | | Now all external ports are attached to supervising processes and requests are balanced in round-robin manner until the pool is exhausted. The commit also deprecates `extauth_instances` option and introduces `extauth_pool_size` option instead, with the default value of a number of logical processors (i.e. CPU cores). Fixes #2403
* ejabberd_auth: Don't use cache if it's disabledHolger Weiss2018-05-031-2/+4
| | | | | Don't let the check whether a user exists use the cache if caching was disabled in the configuration.
* Don't ask other nodes to invalidate cache when the key is not updatedEvgeniy Khramtsov2018-02-181-4/+4
|
* Cache 'isuser' queries to external auth programEvgeniy Khramtsov2018-02-161-2/+18
|
* Update copyright datesEvgeniy Khramtsov2018-01-051-1/+1
|
* Allow auth and pubsub plugin to use Elixir moduleChristophe Romain2017-10-311-2/+2
|
* Make it possible to convert to SQL for any current db_typeEvgeniy Khramtsov2017-10-251-4/+1
| | | | It is now possible to run `export` command even when the current `db_type` is not `sql`
* Fix missing validation from 633b68db1 (#1900)Christophe Romain2017-08-041-2/+2
|
* Deprecate misc:encode_base64/1 and misc:decode_base64/1Evgeniy Khramtsov2017-05-231-6/+6
|
* Rename is_user_exists -> user_existsEvgeniy Khramtsov2017-05-111-17/+17
|
* Use cache for authentication backendsEvgeniy Khramtsov2017-05-111-280/+582
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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`.
* Add type specs for Module:opt_type/1Evgeniy Khramtsov2017-05-081-0/+3
|
* Don't validate an option in ejabberd_config:get_option() functionsEvgeniy Khramtsov2017-04-291-5/+2
| | | | | | | | | | | | | 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.
* Don't re-define validation functions in multiple placesEvgeniy Khramtsov2017-04-281-2/+11
|
* Rename aux.erl as misc.erl17.04Christophe Romain2017-04-111-2/+2
| | | | Thanks Microsoft Windows to not support some filenames
* Deprecate jlib.erl in favor of aux.erlEvgeniy Khramtsov2017-03-301-2/+2
| | | | | 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.
* Fix compilation on R17Paweł Chmielowski2017-02-271-3/+3
|