summaryrefslogtreecommitdiff
path: root/src/mod_carboncopy.erl (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright year to 2022Badlop2022-02-111-1/+1
|
* 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
|
* mod_carboncopy: Bump supported XEP revisionHolger Weiss2020-04-051-1/+1
| | | | | Since mod_carboncopy supports "urn:xmpp:carbons:rules:0", it implements version 0.13.x of XEP-0280.
* Fix Dialyzer warning that jid can't be 'undefined'Badlop2020-03-181-1/+1
|
* Update copyright to 2020 (#3149)Badlop2020-01-281-1/+1
|
* mod_carboncopy: Omit check for undefined 'from'Holger Weiss2020-01-131-12/+4
| | | | | These days, the 'from' of an outgoing #message is guaranteed to be set to the sender's JID by xmpp_stream_in:process_authenticated_packet/2.
* mod_carboncopy: Don't process non-message stanzasHolger Weiss2020-01-131-29/+30
| | | | | | | Avoid examining presence and IQ stanzas, as they're not eligible for carbon-copying. This is just an optimization and should not change the behavior.
* mod_carboncopy: Also copy mediated MUC invitationsHolger Weiss2020-01-131-1/+6
|
* mod_carboncopy: Improve is_carbon_copy() checkHolger Weiss2020-01-121-30/+17
| | | | | Make sure the hook chain is stopped early whenever a carbon copy is processed, not just in some cases.
* mod_carboncopy: Support new copying rulesHolger Weiss2020-01-121-6/+18
| | | | | | | Support the copying rules added to XEP-0280 with version 0.13.0 under the "urn:xmpp:carbons:rules:0" namespace. Closes #3011.
* Generate ejabberd.yml.5 man page from source code directlyEvgeny Khramtsov2020-01-081-1/+8
| | | | | | | 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-4/+4
|
* Fix typo in log messageEvgeny Khramtsov2019-07-241-1/+1
|
* Improve extraction of translated stringsEvgeny Khramtsov2019-06-221-3/+4
| | | | | | | | | | | | | 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")).
* Use new configuration validatorEvgeny Khramtsov2019-06-141-25/+10
|
* Update copyright to 2019 (#2756)Badlop2019-01-081-1/+1
|
* Don't lose carbons on presence change or session resumptionEvgeny Khramtsov2018-12-101-1/+32
|
* Keep info about carbons inside session tableEvgeny Khramtsov2018-12-011-150/+47
| | | | | | | | | | | | | | | Accordingly, Mnesia/SQL/Riak table 'carboncopy' is not used anymore and can be safely removed. As a consequence, the commit deprecates the following options of mod_carboncopy: - ram_db_type - use_cache - cache_size - cache_missed - cache_life_time Fixes #2663
* Fix some dialyzer warningsEvgeny Khramtsov2018-09-091-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
* mod_carboncopy: Apply cosmetic changeHolger Weiss2018-02-221-2/+2
| | | | | The xmpp:has_subtag/2 function returns a boolen() value, so it can be used with the 'not' operator.
* mod_carboncopy: Copy outgoing MUC PMsHolger Weiss2018-02-221-3/+6
| | | | | | Incoming MUC PMs aren't carbon-copied, as the MUC service usually forks them. However, don't suppress copying of outgoing PMs, where no such forking takes place.
* Move some log messages to debug levelEvgeniy Khramtsov2018-02-211-2/+2
|
* Remove 'iqdisc' optionEvgeniy Khramtsov2018-02-111-12/+2
| | | | | | | | | | | | | | | | | 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
* Fix compilation ordering in mix by s/-behavior/-behaviour/Paweł Chmielowski2018-01-311-1/+1
|
* Switch to newer fast_xml and xmpp and update record fields in the codeEvgeniy Khramtsov2018-01-251-1/+1
|
* Introduce new gen_mod callback: mod_options/1Evgeniy Khramtsov2018-01-231-23/+21
| | | | | | | 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
|
* Introduce 'iqdisc' global optionEvgeniy Khramtsov2017-05-041-2/+2
|
* Don't validate an option in gen_mod:get*opt() functionsEvgeniy Khramtsov2017-04-301-8/+6
| | | | | | | | | | | | | | 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.
* Use cache in front of Redis/SQL RAM backendsEvgeniy Khramtsov2017-04-141-8/+119
|
* Add SQL as mod_carboncopy RAM backendEvgeniy Khramtsov2017-03-301-8/+8
|
* Reload modules when reloading configuration fileEvgeniy Khramtsov2017-02-221-2/+19
|
* Change routing APIEvgeniy Khramtsov2017-02-161-1/+1
| | | | | | | | | | | 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-1/+0
|
* Merge branch 'new_stream'Evgeniy Khramtsov2017-01-201-13/+33
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-13/+33
| |
* | Update copyright date automatically (#1442)Badlop2017-01-021-1/+1
|/
* Let mod_carboncopy mark copied messagesHolger Weiss2016-11-221-4/+6
| | | | | Carbon copies are now marked with a 'carbon_copy' flag. This makes it easier to identify them.
* Let ejabberd_sm mark copied messagesHolger Weiss2016-11-221-10/+10
| | | | | | | | | | When multiple resources have the same (highest) priority, ejabberd_sm dispatches messages addressed to the bare JID (or to an unavailable resource) to each of these resources. Such messages are now marked with an 'sm_copy' flag for all but one of the resources. This makes it easier for other modules to identify those duplicates. Resolves #1356.
* Make common tests working againEvgeniy Khramtsov2016-11-181-2/+2
|
* Don't auto-decode forwarded payloadEvgeniy Khramtsov2016-11-131-1/+1
|
* Merge branch 'master' into xml-ngEvgeniy Khramtsov2016-11-121-0/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * mod_carboncopy: Don't copy MUC PMsHolger Weiss2016-09-191-2/+8
| | | | | | | | | | | | | | Carbon copies of private MUC message are generally not desired, especially not when multiple clients joined the room with the same nick. In this case, the MUC service usually sends PMs to all joined resources anyway, so carbon-copying those PMs would create duplicates.
* | Improve some type specsEvgeniy Khramtsov2016-08-091-1/+1
| |
* | Initial version based on XML generatorEvgeniy Khramtsov2016-07-181-106/+66
|/
* Get rid of warningsEvgeniy Khramtsov2016-07-071-1/+4
|
* Improve detection of databases supported by modules (#1092)Evgeniy Khramtsov2016-04-271-4/+1
|
* Clean mod_carboncopy.erl from DB specific codeEvgeniy Khramtsov2016-04-151-28/+17
|