mirror of
https://github.com/processone/ejabberd.git
synced 2024-12-20 17:27:00 +01:00
Add ejabberd version and implementation status for many XEPs
This commit is contained in:
parent
abe1d96c58
commit
6a428f3d02
@ -29,24 +29,21 @@
|
||||
|
||||
-protocol({rfc, 6122}).
|
||||
-protocol({rfc, 7590}).
|
||||
-protocol({xep, 4, '2.9'}).
|
||||
-protocol({xep, 59, '1.0'}).
|
||||
-protocol({xep, 82, '1.1.1'}).
|
||||
-protocol({xep, 86, '1.0'}).
|
||||
-protocol({xep, 106, '1.1'}).
|
||||
-protocol({xep, 170, '1.0'}).
|
||||
-protocol({xep, 205, '1.0'}).
|
||||
-protocol({xep, 212, '1.0'}).
|
||||
-protocol({xep, 216, '1.0'}).
|
||||
-protocol({xep, 243, '1.0'}).
|
||||
-protocol({xep, 270, '1.0'}).
|
||||
-protocol({xep, 368, '1.1.0'}).
|
||||
-protocol({xep, 386, '0.3.0', '24.02', "", ""}).
|
||||
-protocol({xep, 388, '0.4.0', '24.02', "", ""}).
|
||||
-protocol({xep, 424, '0.4.0', '24.02', "", ""}).
|
||||
-protocol({xep, 440, '0.4.0', '24.02', "", ""}).
|
||||
-protocol({xep, 474, '0.3.0', '24.02', "", ""}).
|
||||
-protocol({xep, 485, '0.2.0', '24.02', "", "mod_pubsub_serverinfo in ejabberd-contrib.git"}).
|
||||
-protocol({xep, 4, '2.9', '0.5.0', "complete", ""}).
|
||||
-protocol({xep, 59, '1.0', '2.1.0', "complete", ""}).
|
||||
-protocol({xep, 82, '1.1.1', '2.1.0', "complete", ""}).
|
||||
-protocol({xep, 86, '1.0', '0.5.0', "complete", ""}).
|
||||
-protocol({xep, 106, '1.1', '0.5.0', "complete", ""}).
|
||||
-protocol({xep, 170, '1.0', '17.12', "complete", ""}).
|
||||
-protocol({xep, 178, '1.1', '17.03', "complete", ""}).
|
||||
-protocol({xep, 205, '1.0', '1.1.2', "complete", ""}).
|
||||
-protocol({xep, 368, '1.1.0', '17.09', "complete", ""}).
|
||||
-protocol({xep, 386, '0.3.0', '24.02', "complete", ""}).
|
||||
-protocol({xep, 388, '0.4.0', '24.02', "complete", ""}).
|
||||
-protocol({xep, 424, '0.4.0', '24.02', "complete", ""}).
|
||||
-protocol({xep, 440, '0.4.0', '24.02', "complete", ""}).
|
||||
-protocol({xep, 474, '0.3.0', '24.02', "complete", ""}).
|
||||
-protocol({xep, 485, '0.2.0', '24.02', "complete", "mod_pubsub_serverinfo in ejabberd-contrib.git"}).
|
||||
|
||||
-export([start/0, stop/0, halt/0, start_app/1, start_app/2,
|
||||
get_pid_file/0, check_apps/0, module_name/1, is_loaded/0]).
|
||||
|
@ -28,7 +28,7 @@
|
||||
-behaviour(ejabberd_auth).
|
||||
-author('mickael.remond@process-one.net').
|
||||
|
||||
-protocol({xep, 175, '1.2'}).
|
||||
-protocol({xep, 175, '1.2', '1.1.0', "complete", ""}).
|
||||
|
||||
-export([start/1,
|
||||
stop/1,
|
||||
|
@ -25,8 +25,8 @@
|
||||
-module(ejabberd_bosh).
|
||||
-behaviour(xmpp_socket).
|
||||
-behaviour(p1_fsm).
|
||||
-protocol({xep, 124, '1.11'}).
|
||||
-protocol({xep, 206, '1.4'}).
|
||||
-protocol({xep, 124, '1.11', '16.12', "complete", ""}).
|
||||
-protocol({xep, 206, '1.4', '16.12', "complete", ""}).
|
||||
|
||||
%% API
|
||||
-export([start/2, start/3, start_link/3]).
|
||||
|
@ -27,7 +27,7 @@
|
||||
-protocol({rfc, 3921}).
|
||||
-protocol({rfc, 6120}).
|
||||
-protocol({rfc, 6121}).
|
||||
-protocol({xep, 138, '2.1'}).
|
||||
-protocol({xep, 138, '2.1', '1.1.0', "complete", ""}).
|
||||
|
||||
%% ejabberd_listener callbacks
|
||||
-export([start/3, start_link/3, accept/1, listen_opt_type/1, listen_options/0]).
|
||||
|
@ -25,8 +25,8 @@
|
||||
|
||||
-module(ejabberd_captcha).
|
||||
|
||||
-protocol({xep, 158, '1.0'}).
|
||||
-protocol({xep, 231, '1.0'}).
|
||||
-protocol({xep, 158, '1.0', '2.1.0', "complete", ""}).
|
||||
-protocol({xep, 231, '1.0', '2.1.0', "complete", ""}).
|
||||
|
||||
-behaviour(gen_server).
|
||||
|
||||
|
@ -32,7 +32,7 @@
|
||||
|
||||
-module(ejabberd_piefxis).
|
||||
|
||||
-protocol({xep, 227, '1.1'}).
|
||||
-protocol({xep, 227, '1.1', '2.1.0', "partial", ""}).
|
||||
|
||||
-export([import_file/1, export_server/1, export_host/2]).
|
||||
|
||||
|
@ -25,8 +25,6 @@
|
||||
|
||||
-module(ejabberd_s2s).
|
||||
|
||||
-protocol({xep, 220, '1.1'}).
|
||||
|
||||
-author('alexey@process-one.net').
|
||||
|
||||
-behaviour(gen_server).
|
||||
|
@ -23,7 +23,7 @@
|
||||
-behaviour(xmpp_stream_in).
|
||||
-behaviour(ejabberd_listener).
|
||||
|
||||
-protocol({xep, 114, '1.6'}).
|
||||
-protocol({xep, 114, '1.6', '0.1.0', "complete", ""}).
|
||||
|
||||
%% ejabberd_listener callbacks
|
||||
-export([start/3, start_link/3, stop/0, accept/1]).
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
-author('henoch@dtek.chalmers.se').
|
||||
|
||||
-protocol({xep, 50, '1.2'}).
|
||||
-protocol({xep, 50, '1.2', '1.1.0', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
-module(mod_avatar).
|
||||
-behaviour(gen_mod).
|
||||
|
||||
-protocol({xep, 398, '0.2.0', '18.03', "", ""}).
|
||||
-protocol({xep, 398, '0.2.0', '18.03', "complete", ""}).
|
||||
|
||||
%% gen_mod API
|
||||
-export([start/2, stop/1, reload/3, depends/2, mod_opt_type/1, mod_options/1]).
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
-protocol({xep, 191, '1.2'}).
|
||||
-protocol({xep, 191, '1.2', '2.1.7', "complete", ""}).
|
||||
|
||||
-export([start/2, stop/1, reload/3, process_iq/1, depends/2,
|
||||
disco_features/5, mod_options/1, mod_doc/0]).
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
-author('henoch@dtek.chalmers.se').
|
||||
|
||||
-protocol({xep, 115, '1.5'}).
|
||||
-protocol({xep, 115, '1.5', '2.1.4', "complete", ""}).
|
||||
|
||||
-behaviour(gen_server).
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
-module (mod_carboncopy).
|
||||
|
||||
-author ('ecestari@process-one.net').
|
||||
-protocol({xep, 280, '0.13.2'}).
|
||||
-protocol({xep, 280, '0.13.2', '13.06', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -25,8 +25,8 @@
|
||||
|
||||
-module(mod_client_state).
|
||||
-author('holger@zedat.fu-berlin.de').
|
||||
-protocol({xep, 85, '2.1'}).
|
||||
-protocol({xep, 352, '0.1', '14.12', "", ""}).
|
||||
-protocol({xep, 85, '2.1', '2.1.0', "complete", ""}).
|
||||
-protocol({xep, 352, '0.1', '14.12', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
-author('alexey@process-one.net').
|
||||
|
||||
-protocol({xep, 133, '1.3.0', '13.10', "complete", ""}).
|
||||
-protocol({xep, 133, '1.3.0', '13.10', "partial", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
-author('amuhar3@gmail.com').
|
||||
|
||||
-protocol({xep, 355, '0.4.1', '16.09', "", ""}).
|
||||
-protocol({xep, 355, '0.4.1', '16.09', "complete", ""}).
|
||||
|
||||
-behaviour(gen_server).
|
||||
-behaviour(gen_mod).
|
||||
|
@ -27,8 +27,8 @@
|
||||
|
||||
-author('alexey@process-one.net').
|
||||
|
||||
-protocol({xep, 30, '2.4'}).
|
||||
-protocol({xep, 157, '1.0'}).
|
||||
-protocol({xep, 30, '2.4', '0.1.0', "complete", ""}).
|
||||
-protocol({xep, 157, '1.0', '2.1.0', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
-author('badlop@process-one.net').
|
||||
|
||||
-protocol({xep, 156, '1.4.0', '22.05', "", ""}).
|
||||
-protocol({xep, 156, '1.4.0', '22.05', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
-author('holger@zedat.fu-berlin.de').
|
||||
-behaviour(gen_server).
|
||||
-behaviour(gen_mod).
|
||||
-protocol({xep, 363, '0.2', '15.10', "", ""}).
|
||||
-protocol({xep, 363, '0.3.0', '15.10', "complete", ""}).
|
||||
|
||||
-define(SERVICE_REQUEST_TIMEOUT, 5000). % 5 seconds.
|
||||
-define(CALL_TIMEOUT, 60000). % 1 minute.
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
-module(mod_jidprep).
|
||||
-author('holger@zedat.fu-berlin.de').
|
||||
-protocol({xep, 328, '0.1', '19.09', "", ""}).
|
||||
-protocol({xep, 328, '0.1', '19.09', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
-author('alexey@process-one.net').
|
||||
|
||||
-protocol({xep, 12, '2.0'}).
|
||||
-protocol({xep, 12, '2.0', '0.5.0', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
-module(mod_legacy_auth).
|
||||
-behaviour(gen_mod).
|
||||
|
||||
-protocol({xep, 78, '2.5'}).
|
||||
-protocol({xep, 78, '2.5', '17.03', "complete", ""}).
|
||||
|
||||
%% gen_mod API
|
||||
-export([start/2, stop/1, reload/3, depends/2, mod_options/1, mod_doc/0]).
|
||||
|
@ -25,11 +25,11 @@
|
||||
|
||||
-module(mod_mam).
|
||||
|
||||
-protocol({xep, 313, '0.6.1', '15.06', "", ""}).
|
||||
-protocol({xep, 334, '0.2'}).
|
||||
-protocol({xep, 359, '0.5.0'}).
|
||||
-protocol({xep, 425, '0.3.0', '24.06', "", ""}).
|
||||
-protocol({xep, 441, '0.2.0'}).
|
||||
-protocol({xep, 313, '0.6.1', '15.06', "complete", ""}).
|
||||
-protocol({xep, 334, '0.2', '16.01', "complete", ""}).
|
||||
-protocol({xep, 359, '0.5.0', '15.09', "complete", ""}).
|
||||
-protocol({xep, 425, '0.3.0', '24.06', "complete", ""}).
|
||||
-protocol({xep, 441, '0.2.0', '15.06', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -24,7 +24,7 @@
|
||||
-module(mod_mix).
|
||||
-behaviour(gen_mod).
|
||||
-behaviour(gen_server).
|
||||
-protocol({xep, 369, '0.14.1', '16.03', "", ""}).
|
||||
-protocol({xep, 369, '0.14.1', '16.03', "complete", ""}).
|
||||
|
||||
%% API
|
||||
-export([route/1]).
|
||||
|
@ -22,7 +22,7 @@
|
||||
%%%----------------------------------------------------------------------
|
||||
-module(mod_mix_pam).
|
||||
-behaviour(gen_mod).
|
||||
-protocol({xep, 405, '0.3.0'}).
|
||||
-protocol({xep, 405, '0.3.0', '19.02', "complete", ""}).
|
||||
|
||||
%% gen_mod callbacks
|
||||
-export([start/2, stop/1, reload/3, depends/2, mod_opt_type/1, mod_options/1]).
|
||||
|
@ -24,7 +24,7 @@
|
||||
%%%----------------------------------------------------------------------
|
||||
-module(mod_muc).
|
||||
-author('alexey@process-one.net').
|
||||
-protocol({xep, 45, '1.25'}).
|
||||
-protocol({xep, 45, '1.25', '0.5.0', "complete", ""}).
|
||||
-protocol({xep, 249, '1.2'}).
|
||||
-ifndef(GEN_SERVER).
|
||||
-define(GEN_SERVER, gen_server).
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
-module(mod_muc_log).
|
||||
|
||||
-protocol({xep, 334, '0.2'}).
|
||||
-protocol({xep, 334, '0.2', '15.09', "complete", ""}).
|
||||
|
||||
-author('badlop@process-one.net').
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
-author('badlop@process-one.net').
|
||||
|
||||
-protocol({xep, 421, '0.1.0', '23.10', "", ""}).
|
||||
-protocol({xep, 421, '0.1.0', '23.10', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -27,8 +27,8 @@
|
||||
|
||||
-author('alexey@process-one.net').
|
||||
|
||||
-protocol({xep, 317, '0.1', '21.12', "", "conversejs/prosody compatible"}).
|
||||
-protocol({xep, 410, '1.1.0', '18.12', "", ""}).
|
||||
-protocol({xep, 317, '0.1', '21.12', "complete", "conversejs/prosody compatible"}).
|
||||
-protocol({xep, 410, '1.1.0', '18.12', "complete", ""}).
|
||||
|
||||
-behaviour(p1_fsm).
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
-author('badlop@process-one.net').
|
||||
|
||||
-protocol({xep, 33, '1.1', '15.04', "", ""}).
|
||||
-protocol({xep, 33, '1.1', '15.04', "complete", ""}).
|
||||
|
||||
-behaviour(gen_server).
|
||||
|
||||
|
@ -27,12 +27,12 @@
|
||||
|
||||
-author('alexey@process-one.net').
|
||||
|
||||
-protocol({xep, 13, '1.2', '16.02', "", ""}).
|
||||
-protocol({xep, 22, '1.4'}).
|
||||
-protocol({xep, 23, '1.3'}).
|
||||
-protocol({xep, 160, '1.0'}).
|
||||
-protocol({xep, 203, '2.0'}).
|
||||
-protocol({xep, 334, '0.2'}).
|
||||
-protocol({xep, 13, '1.2', '16.02', "complete", ""}).
|
||||
-protocol({xep, 22, '1.4', '0.1.0', "complete", ""}).
|
||||
-protocol({xep, 23, '1.3', '0.7.5', "complete", ""}).
|
||||
-protocol({xep, 160, '1.0', '16.01', "complete", ""}).
|
||||
-protocol({xep, 203, '2.0', '2.1.0', "complete", ""}).
|
||||
-protocol({xep, 334, '0.2', '16.01', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
-author('bjc@kublai.com').
|
||||
|
||||
-protocol({xep, 199, '2.0'}).
|
||||
-protocol({xep, 199, '2.0', '2.1.0', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
-author('alexey@process-one.net').
|
||||
|
||||
-protocol({xep, 16, '1.6'}).
|
||||
-protocol({xep, 16, '1.6', '0.5.0', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -27,9 +27,9 @@
|
||||
|
||||
-author('alexey@process-one.net').
|
||||
|
||||
-protocol({xep, 49, '1.2'}).
|
||||
-protocol({xep, 411, '0.2.0', '18.12', "", ""}).
|
||||
-protocol({xep, 402, '1.1.3', '23.10', "", ""}).
|
||||
-protocol({xep, 49, '1.2', '0.1.0', "complete", ""}).
|
||||
-protocol({xep, 411, '0.2.0', '18.12', "complete", ""}).
|
||||
-protocol({xep, 402, '1.1.3', '23.10', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
-author('amuhar3@gmail.com').
|
||||
|
||||
-protocol({xep, 356, '0.4.1', '24.10', "", ""}).
|
||||
-protocol({xep, 356, '0.4.1', '24.10', "complete", ""}).
|
||||
|
||||
-behaviour(gen_server).
|
||||
-behaviour(gen_mod).
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
-author('xram@jabber.ru').
|
||||
|
||||
-protocol({xep, 65, '1.8'}).
|
||||
-protocol({xep, 65, '1.8', '2.0.0', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -35,9 +35,9 @@
|
||||
-behaviour(gen_mod).
|
||||
-behaviour(gen_server).
|
||||
-author('christophe.romain@process-one.net').
|
||||
-protocol({xep, 60, '1.14'}).
|
||||
-protocol({xep, 163, '1.2'}).
|
||||
-protocol({xep, 248, '0.2'}).
|
||||
-protocol({xep, 60, '1.14', '0.5.0', "partial", ""}).
|
||||
-protocol({xep, 163, '1.2', '2.0.0', "complete", ""}).
|
||||
-protocol({xep, 248, '0.2', '2.1.0', "complete", ""}).
|
||||
|
||||
-include("logger.hrl").
|
||||
-include_lib("xmpp/include/xmpp.hrl").
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
-module(mod_push).
|
||||
-author('holger@zedat.fu-berlin.de').
|
||||
-protocol({xep, 357, '0.2', '17.08', "", ""}).
|
||||
-protocol({xep, 357, '0.2', '17.08', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
-author('alexey@process-one.net').
|
||||
|
||||
-protocol({xep, 77, '2.4'}).
|
||||
-protocol({xep, 77, '2.4', '0.1.0', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
-module(mod_roster).
|
||||
|
||||
-protocol({xep, 237, '1.3'}).
|
||||
-protocol({xep, 237, '1.3', '2.1.0', "complete", ""}).
|
||||
|
||||
-author('alexey@process-one.net').
|
||||
|
||||
|
@ -21,8 +21,8 @@
|
||||
%%%-------------------------------------------------------------------
|
||||
-module(mod_s2s_dialback).
|
||||
-behaviour(gen_mod).
|
||||
-protocol({xep, 220, '1.1.1'}).
|
||||
-protocol({xep, 185, '1.0'}).
|
||||
-protocol({xep, 220, '1.1.1', '17.03', "complete", ""}).
|
||||
-protocol({xep, 185, '1.0', '17.03', "complete", ""}).
|
||||
|
||||
%% gen_mod API
|
||||
-export([start/2, stop/1, reload/3, depends/2, mod_opt_type/1, mod_options/1]).
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
-module(mod_sic).
|
||||
|
||||
-protocol({xep, 279, '0.2'}).
|
||||
-protocol({xep, 279, '0.2', '2.1.3', "complete", ""}).
|
||||
|
||||
-author('karim.gemayel@process-one.net').
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
-author('alexey@process-one.net').
|
||||
|
||||
-protocol({xep, 39, '0.6.0'}).
|
||||
-protocol({xep, 39, '0.6.0', '0.1.0', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
-module(mod_stream_mgmt).
|
||||
-behaviour(gen_mod).
|
||||
-author('holger@zedat.fu-berlin.de').
|
||||
-protocol({xep, 198, '1.5.2', '14.05', "", ""}).
|
||||
-protocol({xep, 198, '1.5.2', '14.05', "complete", ""}).
|
||||
|
||||
%% gen_mod API
|
||||
-export([start/2, stop/1, reload/3, depends/2, mod_opt_type/1, mod_options/1]).
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
-module(mod_stun_disco).
|
||||
-author('holger@zedat.fu-berlin.de').
|
||||
-protocol({xep, 215, '0.7', '20.04', "", ""}).
|
||||
-protocol({xep, 215, '0.7', '20.04', "complete", ""}).
|
||||
|
||||
-behaviour(gen_server).
|
||||
-behaviour(gen_mod).
|
||||
|
@ -28,7 +28,7 @@
|
||||
|
||||
-author('alexey@process-one.net').
|
||||
|
||||
-protocol({xep, 202, '2.0'}).
|
||||
-protocol({xep, 202, '2.0', '2.1.0', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
@ -27,9 +27,9 @@
|
||||
|
||||
-author('alexey@process-one.net').
|
||||
|
||||
-protocol({xep, 54, '1.2'}).
|
||||
-protocol({xep, 55, '1.3'}).
|
||||
-protocol({xep, 153, '1.1'}).
|
||||
-protocol({xep, 54, '1.2', '0.1.0', "complete", ""}).
|
||||
-protocol({xep, 55, '1.3', '0.1.0', "complete", ""}).
|
||||
-protocol({xep, 153, '1.1', '17.09', "complete", ""}).
|
||||
|
||||
-behaviour(gen_server).
|
||||
-behaviour(gen_mod).
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
-author('alexey@process-one.net').
|
||||
|
||||
-protocol({xep, 92, '1.1'}).
|
||||
-protocol({xep, 92, '1.1', '0.1.0', "complete", ""}).
|
||||
|
||||
-behaviour(gen_mod).
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user