]> granicus.if.org Git - ejabberd/log
ejabberd
7 years agoFix rooms list in WebAdmin (#1753)
Badlop [Thu, 1 Jun 2017 17:27:28 +0000 (19:27 +0200)]
Fix rooms list in WebAdmin (#1753)

7 years agoRespect INSTALLUSER when creating spool directory
Christophe Romain [Thu, 1 Jun 2017 15:48:44 +0000 (17:48 +0200)]
Respect INSTALLUSER when creating spool directory

7 years agoCreate spool directory at start if not exists
Christophe Romain [Thu, 1 Jun 2017 15:44:23 +0000 (17:44 +0200)]
Create spool directory at start if not exists

7 years agoRemove use of getopt to support simpler shells
Christophe Romain [Thu, 1 Jun 2017 10:10:06 +0000 (12:10 +0200)]
Remove use of getopt to support simpler shells

7 years agoImprove ejabberdctl parameters parsing
Christophe Romain [Thu, 1 Jun 2017 09:48:11 +0000 (11:48 +0200)]
Improve ejabberdctl parameters parsing

7 years agoMinor ejabberdctl improvements
Christophe Romain [Thu, 1 Jun 2017 06:04:11 +0000 (08:04 +0200)]
Minor ejabberdctl improvements

7 years agoMerge branch 'joudinet-master'
Christophe Romain [Wed, 31 May 2017 16:12:26 +0000 (18:12 +0200)]
Merge branch 'joudinet-master'

7 years agoRefactor ejabberdctl
Christophe Romain [Wed, 31 May 2017 16:11:45 +0000 (18:11 +0200)]
Refactor ejabberdctl

7 years agoAdd --enable-system-deps configure option
Paweł Chmielowski [Wed, 31 May 2017 09:30:34 +0000 (11:30 +0200)]
Add --enable-system-deps configure option

7 years agoAdd license files into lib and deps directories
Christophe Romain [Tue, 30 May 2017 13:02:53 +0000 (15:02 +0200)]
Add license files into lib and deps directories

7 years agoMerge branch 'master' of https://github.com/joudinet/ejabberd into joudinet-master
Christophe Romain [Tue, 30 May 2017 10:37:27 +0000 (12:37 +0200)]
Merge branch 'master' of https://github.com/joudinet/ejabberd into joudinet-master

7 years agoParse correctly presence_broadcast option in change_room_option command
Badlop [Mon, 29 May 2017 10:46:59 +0000 (12:46 +0200)]
Parse correctly presence_broadcast option in change_room_option command

7 years agoFix case clause
Evgeniy Khramtsov [Thu, 25 May 2017 10:46:17 +0000 (13:46 +0300)]
Fix case clause

Fixes #1746

7 years agoCosmetic change: Fix indentation errors
Holger Weiss [Wed, 24 May 2017 15:16:16 +0000 (17:16 +0200)]
Cosmetic change: Fix indentation errors

7 years agoIntroduce --enable-stun and --enable-sip configure options
Evgeniy Khramtsov [Tue, 23 May 2017 10:12:48 +0000 (13:12 +0300)]
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.

7 years agoGet rid of sql_queries.erl
Evgeniy Khramtsov [Tue, 23 May 2017 09:25:13 +0000 (12:25 +0300)]
Get rid of sql_queries.erl

7 years agoDeprecate misc:encode_base64/1 and misc:decode_base64/1
Evgeniy Khramtsov [Tue, 23 May 2017 07:43:26 +0000 (10:43 +0300)]
Deprecate misc:encode_base64/1 and misc:decode_base64/1

7 years agoValidate all certfiles on startup
Evgeniy Khramtsov [Tue, 23 May 2017 06:27:52 +0000 (09:27 +0300)]
Validate all certfiles on startup

7 years agoImplement cache for mod_announce
Evgeniy Khramtsov [Mon, 22 May 2017 13:14:28 +0000 (16:14 +0300)]
Implement cache for mod_announce

7 years agoDescribe command arguments and results in mod_muc_admin
Badlop [Mon, 22 May 2017 10:55:32 +0000 (12:55 +0200)]
Describe command arguments and results in mod_muc_admin

7 years agoDon't leak with UDP sockets
Evgeniy Khramtsov [Mon, 22 May 2017 08:29:53 +0000 (11:29 +0300)]
Don't leak with UDP sockets

7 years agoImplement cache for mod_private
Evgeniy Khramtsov [Mon, 22 May 2017 07:34:57 +0000 (10:34 +0300)]
Implement cache for mod_private

7 years agoDon't store messages via a single process
Evgeniy Khramtsov [Sun, 21 May 2017 20:21:13 +0000 (23:21 +0300)]
Don't store messages via a single process

7 years agoImprove mod_metrics
Evgeniy Khramtsov [Sun, 21 May 2017 11:24:57 +0000 (14:24 +0300)]
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'

7 years agoGet rid of a workaround against old Erlang bug
Evgeniy Khramtsov [Sun, 21 May 2017 10:30:46 +0000 (13:30 +0300)]
Get rid of a workaround against old Erlang bug

7 years agoGet rid of db_type warning for mod_vcard_xupdate
Evgeniy Khramtsov [Sun, 21 May 2017 08:40:24 +0000 (11:40 +0300)]
Get rid of db_type warning for mod_vcard_xupdate

7 years agoGet rid of detection of modules' db_type detection
Evgeniy Khramtsov [Sun, 21 May 2017 08:33:16 +0000 (11:33 +0300)]
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.

7 years agoDeclare ejabberd_oauth behaviour
Evgeniy Khramtsov [Sun, 21 May 2017 08:31:30 +0000 (11:31 +0300)]
Declare ejabberd_oauth behaviour

7 years agoImplement cache for mod_privacy/mod_blocking
Evgeniy Khramtsov [Sat, 20 May 2017 19:36:32 +0000 (22:36 +0300)]
Implement cache for mod_privacy/mod_blocking

7 years agoexport_all is not needed here
Paweł Chmielowski [Fri, 19 May 2017 15:03:41 +0000 (17:03 +0200)]
export_all is not needed here

7 years agoFix values put in args_examples
Paweł Chmielowski [Fri, 19 May 2017 14:56:37 +0000 (16:56 +0200)]
Fix values put in args_examples

7 years agoGet rid of Mnesia transaction in get_vcard/2
Evgeniy Khramtsov [Thu, 18 May 2017 18:24:47 +0000 (21:24 +0300)]
Get rid of Mnesia transaction in get_vcard/2

7 years agoThe default 'iqdisc' is now 'no_queue'
Evgeniy Khramtsov [Thu, 18 May 2017 16:13:18 +0000 (19:13 +0300)]
The default 'iqdisc' is now 'no_queue'

7 years agoImplement cache for mod_last
Evgeniy Khramtsov [Thu, 18 May 2017 10:21:17 +0000 (13:21 +0300)]
Implement cache for mod_last

7 years ago?SQL_UPSERT returns 'ok' on success
Evgeniy Khramtsov [Thu, 18 May 2017 09:10:36 +0000 (12:10 +0300)]
?SQL_UPSERT returns 'ok' on success

7 years agoAvoid erroneous usage of ?MODULE macro
Evgeniy Khramtsov [Thu, 18 May 2017 09:09:28 +0000 (12:09 +0300)]
Avoid erroneous usage of ?MODULE macro

7 years agoFix function_clause after authentication refactoring
Evgeniy Khramtsov [Thu, 18 May 2017 06:51:04 +0000 (09:51 +0300)]
Fix function_clause after authentication refactoring

Fixes https://github.com/processone/ejabberd-contrib/issues/213

7 years agoReplace 'if_version_above' directive with 'if_have_fun'
Evgeniy Khramtsov [Wed, 17 May 2017 16:37:06 +0000 (19:37 +0300)]
Replace 'if_version_above' directive with 'if_have_fun'

7 years agoClean up database code related to mod_vcard_xupdate
Evgeniy Khramtsov [Wed, 17 May 2017 16:29:19 +0000 (19:29 +0300)]
Clean up database code related to mod_vcard_xupdate

7 years agoUse disc_only_copies for oauth_token Mnesia table
Evgeniy Khramtsov [Wed, 17 May 2017 14:42:22 +0000 (17:42 +0300)]
Use disc_only_copies for oauth_token Mnesia table

7 years agoIncrease gen_mod's supervisor shutdown time
Evgeniy Khramtsov [Wed, 17 May 2017 14:33:07 +0000 (17:33 +0300)]
Increase gen_mod's supervisor shutdown time

7 years agoGet rid of deprecated option 'resume_timeout' in test config
Evgeniy Khramtsov [Wed, 17 May 2017 14:21:59 +0000 (17:21 +0300)]
Get rid of deprecated option 'resume_timeout' in test config

7 years agoImplement cache for mod_vcard and mod_vcard_xupdate
Evgeniy Khramtsov [Wed, 17 May 2017 14:13:34 +0000 (17:13 +0300)]
Implement cache for mod_vcard and mod_vcard_xupdate

7 years agoAdd cache options to the validator
Evgeniy Khramtsov [Wed, 17 May 2017 13:03:41 +0000 (16:03 +0300)]
Add cache options to the validator

7 years agoCiphers should be a binary string
Evgeniy Khramtsov [Wed, 17 May 2017 12:42:18 +0000 (15:42 +0300)]
Ciphers should be a binary string

7 years agoGet rid of unused variable
Evgeniy Khramtsov [Wed, 17 May 2017 12:24:32 +0000 (15:24 +0300)]
Get rid of unused variable

7 years agoImplement cache for roster
Evgeniy Khramtsov [Wed, 17 May 2017 11:47:35 +0000 (14:47 +0300)]
Implement cache for roster

7 years agoFix use_cache/1 callback
Evgeniy Khramtsov [Mon, 15 May 2017 05:58:37 +0000 (08:58 +0300)]
Fix use_cache/1 callback

7 years agoShut up dialyzer/xref if public_key:short_name_hash/1 is not available
Evgeniy Khramtsov [Sat, 13 May 2017 10:11:08 +0000 (13:11 +0300)]
Shut up dialyzer/xref if public_key:short_name_hash/1 is not available

7 years agoOnly validate certfiles if public_key:short_name_hash/1 is available
Evgeniy Khramtsov [Fri, 12 May 2017 14:51:17 +0000 (17:51 +0300)]
Only validate certfiles if public_key:short_name_hash/1 is available

7 years agoIntroduce Certficate Manager
Evgeniy Khramtsov [Fri, 12 May 2017 13:27:09 +0000 (16:27 +0300)]
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.

7 years agoCheck presence of some files during option validation
Evgeniy Khramtsov [Fri, 12 May 2017 06:34:57 +0000 (09:34 +0300)]
Check presence of some files during option validation

7 years agoGracefully process malformed passwords during password change
Evgeniy Khramtsov [Thu, 11 May 2017 14:15:23 +0000 (17:15 +0300)]
Gracefully process malformed passwords during password change

7 years agoGracefully process malformed passwords during registration
Evgeniy Khramtsov [Thu, 11 May 2017 14:09:26 +0000 (17:09 +0300)]
Gracefully process malformed passwords during registration

7 years agoAdd 'access_remove' ACL to mod_register
Evgeniy Khramtsov [Thu, 11 May 2017 13:36:52 +0000 (16:36 +0300)]
Add 'access_remove' ACL to mod_register

7 years agoUpdate Elixir tests for using new auth API
Evgeniy Khramtsov [Thu, 11 May 2017 13:15:18 +0000 (16:15 +0300)]
Update Elixir tests for using new auth API

7 years agoRename is_user_exists -> user_exists
Evgeniy Khramtsov [Thu, 11 May 2017 12:49:06 +0000 (15:49 +0300)]
Rename is_user_exists -> user_exists

7 years agoUse cache for authentication backends
Evgeniy Khramtsov [Thu, 11 May 2017 11:37:21 +0000 (14:37 +0300)]
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`.

7 years agoUse misc:atom_to_binary/1 instead of the deprecated jlib.erl (#1510)
Badlop [Wed, 10 May 2017 10:05:52 +0000 (12:05 +0200)]
Use misc:atom_to_binary/1 instead of the deprecated jlib.erl (#1510)

7 years agoUpdate comment: aux.erl was renamed to misc.erl
Badlop [Wed, 10 May 2017 10:03:13 +0000 (12:03 +0200)]
Update comment: aux.erl was renamed to misc.erl

7 years agoUse jid:encode/1 instead of the deprecated jid:to_string/1 (#1510)
Badlop [Wed, 10 May 2017 09:17:12 +0000 (11:17 +0200)]
Use jid:encode/1 instead of the deprecated jid:to_string/1 (#1510)

7 years agoFix: update sql statement, added missing delimeter for sql queries
Lamtei W [Mon, 8 May 2017 07:51:12 +0000 (13:21 +0530)]
Fix: update sql statement, added missing delimeter for sql queries

7 years agoAdded export function for mam module
Lamtei W [Sun, 7 May 2017 12:58:11 +0000 (18:28 +0530)]
Added export function for mam module

7 years agoRemove forgotten 'export_all'
Evgeniy Khramtsov [Mon, 8 May 2017 14:23:29 +0000 (17:23 +0300)]
Remove forgotten 'export_all'

7 years agoDon't list 'redis_pool_size' option multiple times
Evgeniy Khramtsov [Mon, 8 May 2017 14:22:34 +0000 (17:22 +0300)]
Don't list 'redis_pool_size' option multiple times

7 years agoSplit some functions in smaller ones
Evgeniy Khramtsov [Mon, 8 May 2017 13:29:01 +0000 (16:29 +0300)]
Split some functions in smaller ones

7 years agoState that Erlang 17.5 or higher is only supported
Evgeniy Khramtsov [Mon, 8 May 2017 12:10:42 +0000 (15:10 +0300)]
State that Erlang 17.5 or higher is only supported

7 years agoDon't call gen_mod:get_opt() outside of modules
Evgeniy Khramtsov [Mon, 8 May 2017 11:34:35 +0000 (14:34 +0300)]
Don't call gen_mod:get_opt() outside of modules

7 years agoAdd type specs for Module:opt_type/1
Evgeniy Khramtsov [Mon, 8 May 2017 09:59:28 +0000 (12:59 +0300)]
Add type specs for Module:opt_type/1

7 years agoLOG_PATH macro should be of string type
Evgeniy Khramtsov [Sat, 6 May 2017 06:42:06 +0000 (09:42 +0300)]
LOG_PATH macro should be of string type

7 years agoIntroduce 'sql_connect_timeout' option (#1698)
Evgeniy Khramtsov [Fri, 5 May 2017 13:25:10 +0000 (16:25 +0300)]
Introduce 'sql_connect_timeout' option (#1698)

7 years agoIntroduce 'sql_query_timeout' option
Evgeniy Khramtsov [Fri, 5 May 2017 10:20:28 +0000 (13:20 +0300)]
Introduce 'sql_query_timeout' option

Fixes #1698

7 years agoEmit deprecation warning for SM related listening options
Evgeniy Khramtsov [Fri, 5 May 2017 09:31:17 +0000 (12:31 +0300)]
Emit deprecation warning for SM related listening options

7 years agoImprove validation of second-level options
Evgeniy Khramtsov [Fri, 5 May 2017 08:11:17 +0000 (11:11 +0300)]
Improve validation of second-level options

7 years agoMake it possible to validate second-level options
Evgeniy Khramtsov [Thu, 4 May 2017 14:34:32 +0000 (17:34 +0300)]
Make it possible to validate second-level options

7 years agoFix elixir tests
Paweł Chmielowski [Thu, 4 May 2017 10:17:41 +0000 (12:17 +0200)]
Fix elixir tests

7 years agoCatch exceptions from acl:add_list in web admin
Paweł Chmielowski [Thu, 4 May 2017 09:18:16 +0000 (11:18 +0200)]
Catch exceptions from acl:add_list in web admin

7 years agoIntroduce 'iqdisc' global option
Evgeniy Khramtsov [Thu, 4 May 2017 09:24:47 +0000 (12:24 +0300)]
Introduce 'iqdisc' global option

7 years agoValidate module options on start_module/2
Evgeniy Khramtsov [Thu, 4 May 2017 06:09:10 +0000 (09:09 +0300)]
Validate module options on start_module/2

7 years agoParse ldap_uids in mod_vcard_ldap like in eldap_utils (#319)
Badlop [Wed, 3 May 2017 21:32:56 +0000 (23:32 +0200)]
Parse ldap_uids in mod_vcard_ldap like in eldap_utils (#319)

7 years agoMerge pull request #1697 from pipo02mix/dockerfile-17-04
Christophe Romain [Wed, 3 May 2017 07:29:23 +0000 (09:29 +0200)]
Merge pull request #1697 from pipo02mix/dockerfile-17-04

Update Dockerfile to be able to build 17.04 ejabberd version

7 years agoValidate new options before module reloading
Evgeniy Khramtsov [Mon, 1 May 2017 11:01:12 +0000 (14:01 +0300)]
Validate new options before module reloading

7 years agoDon't forget to delete digraph
Evgeniy Khramtsov [Mon, 1 May 2017 07:14:00 +0000 (10:14 +0300)]
Don't forget to delete digraph

7 years agoDon't validate an option in gen_mod:get*opt() functions
Evgeniy Khramtsov [Sun, 30 Apr 2017 16:01:47 +0000 (19:01 +0300)]
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.

7 years agoMerge branch 'new-option-validation'
Evgeniy Khramtsov [Sat, 29 Apr 2017 08:48:57 +0000 (11:48 +0300)]
Merge branch 'new-option-validation'

7 years agoDon't validate an option in ejabberd_config:get_option() functions
Evgeniy Khramtsov [Sat, 29 Apr 2017 08:39:40 +0000 (11:39 +0300)]
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.

7 years agoDon't re-define validation functions in multiple places
Evgeniy Khramtsov [Fri, 28 Apr 2017 10:23:32 +0000 (13:23 +0300)]
Don't re-define validation functions in multiple places

7 years agoFix elixir tests
Paweł Chmielowski [Fri, 28 Apr 2017 08:08:09 +0000 (10:08 +0200)]
Fix elixir tests

7 years agoBump cache_tab version
Evgeniy Khramtsov [Thu, 27 Apr 2017 17:07:44 +0000 (20:07 +0300)]
Bump cache_tab version

7 years agoStore options using p1_options module
Evgeniy Khramtsov [Thu, 27 Apr 2017 16:44:58 +0000 (19:44 +0300)]
Store options using p1_options module

7 years agoMerge pull request #1702 from skuroki/patch-1
badlop [Thu, 27 Apr 2017 07:58:37 +0000 (09:58 +0200)]
Merge pull request #1702 from skuroki/patch-1

Fix typo

7 years agoBug requesting non-existent data with private_get command (#1690)
Badlop [Wed, 26 Apr 2017 21:14:30 +0000 (23:14 +0200)]
Bug requesting non-existent data with private_get command (#1690)

7 years agoMerge remote-tracking branch 'processone/pr/1699'
Holger Weiss [Wed, 26 Apr 2017 19:18:16 +0000 (21:18 +0200)]
Merge remote-tracking branch 'processone/pr/1699'

* processone/pr/1699:
  Add support for HTTP File Upload, version 0.3.0

7 years agoFix typo
KUROKI Shinsuke [Wed, 26 Apr 2017 08:35:51 +0000 (17:35 +0900)]
Fix typo

7 years agoDon't check result of jid.start
Paweł Chmielowski [Wed, 26 Apr 2017 07:50:49 +0000 (09:50 +0200)]
Don't check result of jid.start

7 years agoAllow a room admin also to subscribe another JID
Badlop [Tue, 25 Apr 2017 23:30:12 +0000 (01:30 +0200)]
Allow a room admin also to subscribe another JID

7 years agomod_stream_mgmt: Fix typo in variable name
Holger Weiss [Tue, 25 Apr 2017 20:37:27 +0000 (22:37 +0200)]
mod_stream_mgmt: Fix typo in variable name

7 years agomod_stream_mgmt: Fix 'if_offline' detection
Holger Weiss [Tue, 25 Apr 2017 20:32:03 +0000 (22:32 +0200)]
mod_stream_mgmt: Fix 'if_offline' detection

7 years agoInclude original 'id' and 'type' attributes in offline event
Evgeniy Khramtsov [Tue, 25 Apr 2017 14:59:26 +0000 (17:59 +0300)]
Include original 'id' and 'type' attributes in offline event

7 years agoDon't check result of jid.start
Paweł Chmielowski [Tue, 25 Apr 2017 14:54:01 +0000 (16:54 +0200)]
Don't check result of jid.start