summaryrefslogtreecommitdiff
path: root/src/mod_last.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-5/+5
| | | | | | 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
|
* Update copyright to 2020 (#3149)Badlop2020-01-281-1/+1
|
* Generate ejabberd.yml.5 man page from source code directlyEvgeny Khramtsov2020-01-081-1/+31
| | | | | | | 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).
* Add/improve type specsEvgeny Khramtsov2019-07-101-0/+3
|
* Improve extraction of translated stringsEvgeny Khramtsov2019-06-221-7/+6
| | | | | | | | | | | | | 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")).
* Get rid of "well-known" typeEvgeny Khramtsov2019-06-151-9/+6
|
* Use new configuration validatorEvgeny Khramtsov2019-06-141-27/+24
|
* Replace code using p1_time_compat wrapper with native functionsPaweł Chmielowski2019-02-271-3/+3
| | | | | | | Since we now require R19, we shouldn't need that anymore. There are still couple places where p1_time_compat:unique_timestamp() is used as there is no direct equivalent.
* Update copyright to 2019 (#2756)Badlop2019-01-081-1/+1
|
* Get rid of ejabberd.hrl headerEvgeniy Khramtsov2018-06-141-1/+0
| | | | | | | | | 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
* If mod_last is disabled, return error instead of crashing (#2330)Badlop2018-03-201-1/+3
|
* Fix 'badmatch' crashEvgeniy Khramtsov2018-02-171-3/+3
| | | | The crash was introduced in 4b012a99d2bdd6d22f05676e9a7989409e314fca
* Remove 'iqdisc' optionEvgeniy Khramtsov2018-02-111-16/+4
| | | | | | | | | | | | | | | | | Since we got rid of all bottle-neck processes and we have a connection pool for every database, the option is no longer needed and in fact is detrimental: in practice what you get is just a bunch of overloaded processes in the IQ handlers pool no matter how much you increase the `iqdisc` value. Given that there are close to zero operators understanding the meaning of the option and, hence, not using it all, it's not simply deprecated but completely removed. The commit also deprecates the following functions: - gen_iq_handler:add_iq_handler/6 - gen_iq_handler:handle/5 - gen_iq_handler:iqdisc/1
* Introduce option 'captcha' for mod_block_strangersEvgeniy Khramtsov2018-01-261-2/+2
| | | | | | | | | | When the option is set to `true`, the module will generate CAPTCHA challenges for incoming subscription requests. The option also implies that option `drop` is set to `true`. Note that the module won't generate CAPTCHA challenges for messages: they will still be rejected if `drop` is set to `true`. Fixes #2246
* Introduce new gen_mod callback: mod_options/1Evgeniy Khramtsov2018-01-231-22/+19
| | | | | | | 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
|
* Implement cache for mod_lastEvgeniy Khramtsov2017-05-181-8/+86
|
* Implement cache for rosterEvgeniy Khramtsov2017-05-171-1/+4
|
* Introduce 'iqdisc' global optionEvgeniy Khramtsov2017-05-041-2/+2
|
* Don't validate an option in gen_mod:get*opt() functionsEvgeniy Khramtsov2017-04-301-5/+2
| | | | | | | | | | | | | | 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 validate an option in ejabberd_config:get_option() functionsEvgeniy Khramtsov2017-04-291-3/+1
| | | | | | | | | | | | | 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-22/+2
|
* Reload modules when reloading configuration fileEvgeniy Khramtsov2017-02-221-1/+21
|
* Fix some dialyzer warningsEvgeniy Khramtsov2017-02-181-7/+5
|
* Improve modules start/stop proceduresEvgeniy Khramtsov2017-02-141-0/+2
|
* Merge branch 'new_stream'Evgeniy Khramtsov2017-01-201-6/+30
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-5/+2
| |
| * Initial version of new XMPP stream behaviour (for review)Evgeniy Khramtsov2016-12-111-1/+28
| |
* | Update copyright date automatically (#1442)Badlop2017-01-021-1/+1
|/
* Don't use deprecated functions from jlib.erlEvgeniy Khramtsov2016-11-231-1/+1
|
* Add missing exportChristophe Romain2016-11-221-1/+1
|
* Improve ODBC importChristophe Romain2016-11-221-10/+20
|
* Add more type specsEvgeniy Khramtsov2016-08-121-0/+1
|
* Rewrite mod_mam and mod_muc to use XML generatorEvgeniy Khramtsov2016-07-251-1/+1
|
* Initial version based on XML generatorEvgeniy Khramtsov2016-07-181-78/+51
|
* Make modules loading in a dependent order (#1191)Evgeniy Khramtsov2016-07-061-1/+4
|
* Produce mod_last entry on account creation (processone/ejabberd-contrib#62)Badlop2016-06-081-1/+12
|
* Improve detection of databases supported by modules (#1092)Evgeniy Khramtsov2016-04-271-1/+1
|
* Clean mod_last.erl from DB specific codeEvgeniy Khramtsov2016-04-131-128/+24
|
* Replace more ?ERR_* macros with ?ERRT_*Evgeniy Khramtsov2016-04-051-2/+1
|
* Replace some ?ERR_* macros with ?ERRT_*Evgeniy Khramtsov2016-03-311-9/+15
|
* Update mod_last SQL queries to the new APIAlexey Shchepin2016-03-021-20/+8
|
* Update copyright to 2016 (#901)Badlop2016-01-131-1/+1
|
* More now() replacementsPaweł Chmielowski2015-12-071-3/+3
|
* Move JID related functions to jid.erl (#847)Evgeniy Khramtsov2015-11-241-4/+4
|
* Add config validation at startupEvgeniy Khramtsov2015-06-011-3/+14
|
* Document protocol support (EJABS-1620)Badlop2015-05-211-0/+2
|