aboutsummaryrefslogtreecommitdiff
path: root/src/mod_vcard.erl (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-11-04Add some missing RFCs and remove problematic leading 0 in xep versionsBadlop1-0/+1
2022-02-11Update copyright year to 2022Badlop1-1/+1
2021-08-23Use specific syntax so modules and top-level will be linksBadlop1-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
2021-04-29Fix invalid_encoding error when using extended plane characters in vcard.Paweł Chmielowski1-2/+2
2021-02-16Return modules errors in set_vcard callback (#3502)Badlop1-4/+8
2021-01-27Update newest copyright year to 2021 (#3464)Badlop1-1/+1
2021-01-11Replace Jabber->XMPP and Ejabberd (thanks to Neustradamus)(#3469)Badlop1-2/+2
2020-09-03Use include_lib() to include headers from dependencies (#3369)Stu Tomlinson1-1/+1
2020-01-28Update copyright to 2020 (#3149)Badlop1-1/+1
2020-01-08Generate ejabberd.yml.5 man page from source code directlyEvgeny Khramtsov1-1/+92
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).
2019-09-23Correctly handle unicode in log messagesEvgeny Khramtsov1-2/+2
2019-08-04Don't retain module option on gen_mod supervisorEvgeny Khramtsov1-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.
2019-08-02Introduce 'vcard' option for the modules supporting vCardsEvgeny Khramtsov1-7/+16
The mapping between vCard's XML elements and YAML elements of 'vcard' option is straightforward. For example, if you want mod_muc to return the following vCard: ``` <vCard xmlns='vcard-temp'> <FN>Conferences</FN> <ADR> <WORK/> <STREET>Elm Street</STREET> </ADR> </vCard> ``` you need to set the configuration as: ``` modules: ... mod_muc: vcard: fn: Conferences adr: - work: true street: Elm Street ... ```
2019-07-10Add/improve type specsEvgeny Khramtsov1-1/+3
2019-07-06Avoid routing packets through a single processEvgeny Khramtsov1-6/+13
2019-06-24Make logging messages more consistentEvgeny Khramtsov1-3/+3
2019-06-22Improve extraction of translated stringsEvgeny Khramtsov1-14/+14
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")).
2019-06-15Get rid of "well-known" typeEvgeny Khramtsov1-11/+8
2019-06-14Use new configuration validatorEvgeny Khramtsov1-32/+36
2019-05-17Vcard search doesn't support * in mnesia, fix search form (#633)Badlop1-6/+14
2019-01-08Update copyright to 2019 (#2756)Badlop1-1/+1
2018-07-08Better detection of duplicated routes/hostsEvgeniy Khramtsov1-3/+2
2018-06-20Restore forgotten translations from previous commitEvgeniy Khramtsov1-2/+2
2018-06-14Get rid of ejabberd.hrl headerEvgeniy Khramtsov1-8/+5
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
2018-06-13Advertise disco#info and disco#items features in mod_discoEvgeniy Khramtsov1-2/+2
Fixes #2470
2018-02-11Remove 'iqdisc' optionEvgeniy Khramtsov1-9/+6
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
2018-01-23Introduce new gen_mod callback: mod_options/1Evgeniy Khramtsov1-31/+28
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.
2018-01-08Process 'name' option for all route-registering modulesEvgeniy Khramtsov1-3/+7
The option allows to set arbitrary text for disco#info identity name. Previously, option 'name' was supported by mod_proxy65 and mod_http_upload only. Now, all the following modules support this option as well: - mod_disco - mod_irc - mod_muc - mod_multicast - mod_pubsub - mod_vcard Example: ``` modules: ... mod_disco: name: "Cool XMPP Server" ... ```
2018-01-05Update copyright datesEvgeniy Khramtsov1-1/+1
2017-09-17Introduce mod_avatarEvgeniy Khramtsov1-19/+29
The purpose of the module is to cope with legacy and modern XMPP clients posting avatars. It automatically converts vCard based avatars (XEP-0153) to PEP based avatars (XEP-0084) and vice versa. Also, the module supports convertation between avatar image formats on the fly: this is controlled by `convert` option. For example, to convert all avatars into PNG format, configure the module as: mod_avatar: convert: default: png In order to convert only `webp` format to `jpeg`, set the following: mod_avatar: convert: webp: jpeg Note: the module depends on mod_vcard, mod_vcard_xupdate and mod_pubsub. Also, ejabberd should be built with --enable-graphics option.
2017-08-08Introduce 'hosts' optionEvgeniy Khramtsov1-37/+45
The option can be used as a replacement of 'host' option when several (sub)domains are needed to be registered for the module. Note that you cannot combine both 'host' and 'hosts' in the config because 'host' option is of a higher priority. Example: mod_pubsub: ... hosts: - "pubsub1.@HOST@" - "pubsub2.@HOST@" Fixes #1883
2017-05-17Implement cache for mod_vcard and mod_vcard_xupdateEvgeniy Khramtsov1-5/+75
2017-05-04Introduce 'iqdisc' global optionEvgeniy Khramtsov1-1/+1
2017-04-30Don't validate an option in gen_mod:get*opt() functionsEvgeniy Khramtsov1-12/+3
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.
2017-02-26Get rid of jid:to_string/1 and jid:from_string/1Evgeniy Khramtsov1-2/+2
2017-02-16Change routing APIEvgeniy Khramtsov1-7/+5
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}
2017-02-14Attach modules to gen_mod's supervisorEvgeniy Khramtsov1-18/+3
2017-02-14Improve modules start/stop proceduresEvgeniy Khramtsov1-53/+74
2017-02-13Check result of gen_mod:start/2 callback (#1534)Evgeniy Khramtsov1-2/+3
2017-01-02Update copyright date automatically (#1442)Badlop1-1/+1
2016-11-23Move copyright definition to ejabberd.hrlEvgeniy Khramtsov1-4/+2
2016-11-22Improve ODBC importChristophe Romain1-11/+24
2016-11-13Add more control for decoding IQ payloadsEvgeniy Khramtsov1-1/+9
2016-09-13Make common tests working againEvgeniy Khramtsov1-1/+1
2016-09-08Rename #error{} record to #stanza_error{}Evgeniy Khramtsov1-6/+6
2016-08-12Add more type specsEvgeniy Khramtsov1-0/+1
2016-08-05Change code to reflect recent changes in fxml_genEvgeniy Khramtsov1-15/+12
2016-07-29Rewrite mod_vcard_ldap to use XML generatorEvgeniy Khramtsov1-59/+21
2016-07-29Rewrite several modules to use XML generatorEvgeniy Khramtsov1-2/+2
2016-07-19Fix hooks de-registrationEvgeniy Khramtsov1-3/+3