summaryrefslogtreecommitdiff
path: root/src/mod_announce.erl (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright year to 2022Badlop2022-02-111-1/+1
|
* Use specific syntax so modules and top-level will be linksBadlop2021-08-231-7/+7
| | | | | | If we use _`whatever`_ here in ejabberd man pages, it is converted to *`whatever`* in markdown, and docs.ejabberd.im/Makefile converts to the proper links
* Update newest copyright year to 2021 (#3464)Badlop2021-01-271-1/+1
|
* Use include_lib() to include headers from dependencies (#3369)Stu Tomlinson2020-09-031-1/+1
|
* Copy more option explanations from ejabberd Docs siteBadlop2020-04-081-0/+4
|
* Improve formatting of mod_announce docBadlop2020-04-081-5/+5
|
* Update copyright to 2020 (#3149)Badlop2020-01-281-1/+1
|
* Generate ejabberd.yml.5 man page from source code directlyEvgeny Khramtsov2020-01-081-1/+62
| | | | | | | Several documentation callbacks (doc/0 and mod_doc/0) are implemented and `ejabberdctl man` command is added to generate a man page. Note that the command requires a2x to be installed (which is a part of asciidoc package).
* Correctly handle unicode in log messagesEvgeny Khramtsov2019-09-231-2/+2
|
* Don't retain module option on gen_mod supervisorEvgeny Khramtsov2019-08-041-1/+2
| | | | | | When module's options were updated (e.g. by reloading ejabberd.yml) and, later, the module's process crashed, gen_mod supervisor restarts the process with outdated options. This is now fixed.
* Process unexpected messages uniformlyEvgeny Khramtsov2019-07-121-1/+2
|
* Make logging messages more consistentEvgeny Khramtsov2019-06-241-5/+5
|
* Improve extraction of translated stringsEvgeny Khramtsov2019-06-221-21/+22
| | | | | | | | | | | | | Now every such string MUST be encapsulated into ?T() macro. The macro itself is defined in include/translate.hrl. Example: -module(foo). -export([bar/1]). -include("translate.hrl"). bar(Lang) -> translate:translate(Lang, ?T("baz")).
* Make option 'validate_stream' globalEvgeny Khramtsov2019-06-211-2/+2
|
* Get rid of "well-known" typeEvgeny Khramtsov2019-06-151-9/+6
|
* Use new configuration validatorEvgeny Khramtsov2019-06-141-23/+27
|
* Add 'sessionid' attribute when requiredEvgeny Khramtsov2019-04-061-37/+31
| | | | Fixes #2852
* Update copyright to 2019 (#2756)Badlop2019-01-081-1/+1
|
* Get rid of ejabberd.hrl headerEvgeniy Khramtsov2018-06-141-4/+3
| | | | | | | | | 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
* Introduce option 'validate_stream'Evgeniy Khramtsov2018-02-091-2/+4
| | | | | | | | | | | | If set to `true`, all incoming XML packets are fully validated against known schemas. If an error occurs, the packet will be bounced with the corresponding error reason. The default value is `false`. The option might be useful to protect client software from sofisticated bugs related to XML validation as well as for client developers who want to catch validation errors at early stage of development. Note that the option might have slight performance impact, so use it with care on loaded machines.
* Introduce new gen_mod callback: mod_options/1Evgeniy Khramtsov2018-01-231-22/+18
| | | | | | | The callback is supposed to provide known options and their default values, as long as the documentation. Passing default values into get_mod functions is now deprecated: all defaults should be provided by the Mod:mod_options/1 callback.
* Update copyright datesEvgeniy Khramtsov2018-01-051-1/+1
|
* Reuse some translation stringsEvgeniy Khramtsov2017-09-241-5/+5
|
* Add forgotten caching options to the validator (thanks to Jan Pinkas)Evgeniy Khramtsov2017-08-241-1/+9
|
* Implement cache for mod_announceEvgeniy Khramtsov2017-05-221-18/+138
|
* Use cache for authentication backendsEvgeniy Khramtsov2017-05-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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`.
* Don't validate an option in gen_mod:get*opt() functionsEvgeniy Khramtsov2017-04-301-3/+1
| | | | | | | | | | | | | | 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.
* Don't pass empty resource to jid:make()Evgeniy Khramtsov2017-02-251-2/+2
|
* Reload modules when reloading configuration fileEvgeniy Khramtsov2017-02-221-1/+11
|
* Fix some dialyzer warningsEvgeniy Khramtsov2017-02-161-1/+1
|
* Change routing APIEvgeniy Khramtsov2017-02-161-162/+112
| | | | | | | | | | | 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}
* Attach modules to gen_mod's supervisorEvgeniy Khramtsov2017-02-141-21/+6
|
* Improve modules start/stop proceduresEvgeniy Khramtsov2017-02-141-64/+86
|
* Check result of gen_mod:start/2 callback (#1534)Evgeniy Khramtsov2017-02-131-2/+3
|
* Merge branch 'new_stream'Evgeniy Khramtsov2017-01-201-7/+13
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Adopt remaining code to support new hooksEvgeniy Khramtsov2017-01-091-7/+13
| |
* | Update copyright date automatically (#1442)Badlop2017-01-021-1/+1
|/
* Use ejabberd_router:route_error/4 wherever possibleEvgeniy Khramtsov2016-11-251-40/+16
|
* Improve ODBC importChristophe Romain2016-11-221-10/+12
|
* Merge branch 'master' into xml-ngEvgeniy Khramtsov2016-11-121-5/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Store announcements for offline usersHolger Weiss2016-08-131-3/+9
| | | | | | | | | | | | 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".
* | Improve namespace handlingEvgeniy Khramtsov2016-09-241-2/+2
| |
* | Make common tests working againEvgeniy Khramtsov2016-09-131-26/+29
| |
* | Rename #error{} record to #stanza_error{}Evgeniy Khramtsov2016-09-081-3/+3
| |
* | Improve some type specsEvgeniy Khramtsov2016-08-091-23/+20
| |
* | Change code to reflect recent changes in fxml_genEvgeniy Khramtsov2016-08-051-2/+1
| |
* | Rewrite mod_adhoc and mod_announce to use XML generatorEvgeniy Khramtsov2016-07-261-220/+135
|/
* Make modules loading in a dependent order (#1191)Evgeniy Khramtsov2016-07-061-1/+4
|
* Use {access,shaper}_rules_validator in other places where access rules are usedPaweł Chmielowski2016-06-211-2/+2
|
* Improve detection of databases supported by modules (#1092)Evgeniy Khramtsov2016-04-271-1/+1
|