pull/3757/head
Kian-Meng Ang 1 year ago
parent 0f2d36dc53
commit adf0f87e99

@ -213,7 +213,7 @@ Translations:
- Fix problem with leaving old data when updating shared rosters
- Fix edge case that caused failure of resuming old sessions with
stream management.
- Fix crash when room that was started with loging enabled was later
- Fix crash when room that was started with logging enabled was later
changed to logging disabled
- Increase default shaper limits (this should help with delays for
clients that are using jingle)
@ -278,7 +278,7 @@ Translations:
for all backends not only SQL
- Add infrastructure for having module documentation directly
in individual module source code
- Generate man page automaticaly
- Generate man page automatically
- Implement copy feature in mod_carboncopy
* Fixes
@ -286,7 +286,7 @@ Translations:
- Fix handling of result in xmlrpc module
- Make webadmin work even when accessed through not declared domain
- Better error reporting in xmlrpc
- Limit ammount of results returned by disco queries to pubsub nodes
- Limit amount of results returned by disco queries to pubsub nodes
- Improve validation of configured JWT keys
- Fix race condition in Redis/SQL startup
- Fix loading order of third party modules
@ -387,7 +387,7 @@ Translations:
- Improve handling of unexpected iq in mod_muc_room
- Attach mod_muc_room processes to a supervisor
- Restore room when receiving message or generic iq for not started room
- Distribute routing of MUC messages accross all CPU cores
- Distribute routing of MUC messages across all CPU cores
* PubSub
- Fix pending nodes retrieval for SQL backend
@ -421,7 +421,7 @@ Translations:
- Make static hooks analyzer working again
* MUC
- Service admins are allowed to recreate room even if archiv is nonempty
- Service admins are allowed to recreate room even if archive is nonempty
- New option user_mucsub_from_muc_archive
- Avoid late arrival of get_disco_item response
- Handle get_subscribed_rooms call from mod_muc_room pid

@ -19,7 +19,7 @@ init(State) ->
{example, "rebar3 configure-deps"}, % How to use the plugin
{opts, []}, % list of options understood by the plugin
{short_desc, "Explicitly run ./configure for dependencies"},
{desc, "A rebar plugin to allow explicitly running ./configure on depdendencies. Useful if dependencies might change prior to compilation when configure is run."}
{desc, "A rebar plugin to allow explicitly running ./configure on dependencies. Useful if dependencies might change prior to compilation when configure is run."}
]),
{ok, rebar_state:add_provider(State, Provider)}.

@ -52,7 +52,7 @@ YAML is indentation sensitive, so make sure you respect indentation, or otherwis
.sp .5v
.RE
.sp
Logically, configuration options are splitted into 3 main categories: \fIModules\fR, \fIListeners\fR and everything else called \fITop Level\fR options\&. Thus this document is splitted into 3 main chapters describing each category separately\&. So, the contents of ejabberd\&.yml will typically look like this:
Logically, configuration options are split into 3 main categories: \fIModules\fR, \fIListeners\fR and everything else called \fITop Level\fR options\&. Thus this document is split into 3 main chapters describing each category separately\&. So, the contents of ejabberd\&.yml will typically look like this:
.sp
.if n \{\
.RS 4
@ -443,7 +443,7 @@ The option defines in what format the users passwords are stored:
.PP
\fBauth_scram_hash\fR: \fIsha | sha256 | sha512\fR
.RS 4
Hash algorith that should be used to store password in SCRAM format\&. You shouldn\(cqt change this if you already have passwords generated with a different algorithm \- users that have such passwords will not be able to authenticate\&. The default value is
Hash algorithm that should be used to store password in SCRAM format\&. You shouldn\(cqt change this if you already have passwords generated with a different algorithm \- users that have such passwords will not be able to authenticate\&. The default value is
\fIsha\fR\&.
.RE
.PP
@ -525,7 +525,7 @@ Whether to enable or disable TLS compression for c2s connections\&. The default
Path to a file of CA root certificates\&. The default is to use system defined file if possible\&.
.RE
.sp
For server conections, this \fIca_file\fR option is overriden by the s2s_cafile option\&.
For server connections, this \fIca_file\fR option is overridden by the s2s_cafile option\&.
.PP
\fBcache_life_time\fR: \fItimeout()\fR
.RS 4
@ -2066,7 +2066,7 @@ The module depends on \fImod_vcard\fR, \fImod_vcard_xupdate\fR and \fImod_pubsub
.PP
\fBconvert\fR: \fI{From: To}\fR
.RS 4
Defines image convertion rules: the format in
Defines image conversion rules: the format in
\fIFrom\fR
will be converted to format in
\fITo\fR\&. The value of
@ -2091,7 +2091,7 @@ convert:
.PP
\fBrate_limit\fR: \fINumber\fR
.RS 4
Limit any given JID by the number of avatars it is able to convert per minute\&. This is to protect the server from image convertion DoS\&. The default value is
Limit any given JID by the number of avatars it is able to convert per minute\&. This is to protect the server from image conversion DoS\&. The default value is
\fI10\fR\&.
.RE
.RE
@ -5414,7 +5414,7 @@ plugin handles the default behaviour and follows standard XEP\-0060 implementati
.IP \(bu 2.3
.\}
\fIpep\fR
plugin adds extention to handle Personal Eventing Protocol (XEP\-0163) to the PubSub engine\&. Adding pep allows to handle PEP automatically\&.
plugin adds extension to handle Personal Eventing Protocol (XEP\-0163) to the PubSub engine\&. Adding pep allows to handle PEP automatically\&.
.RE
.RE
.PP

@ -231,9 +231,9 @@ man_header(Lang) ->
"indentation, or otherwise you will get pretty cryptic "
"configuration errors.")),
io_lib:nl(),
tr(Lang, ?T("Logically, configuration options are splitted into 3 main categories: "
tr(Lang, ?T("Logically, configuration options are split into 3 main categories: "
"'Modules', 'Listeners' and everything else called 'Top Level' options. "
"Thus this document is splitted into 3 main chapters describing each "
"Thus this document is split into 3 main chapters describing each "
"category separately. So, the contents of ejabberd.yml will typically "
"look like this:")),
io_lib:nl(),

@ -387,7 +387,7 @@ doc() ->
{auth_scram_hash,
#{value => "sha | sha256 | sha512",
desc =>
?T("Hash algorith that should be used to store password in SCRAM format. "
?T("Hash algorithm that should be used to store password in SCRAM format. "
"You shouldn't change this if you already have passwords generated with "
"a different algorithm - users that have such passwords will not be able "
"to authenticate. The default value is 'sha'.")}},
@ -449,7 +449,7 @@ doc() ->
desc =>
[?T("Path to a file of CA root certificates. "
"The default is to use system defined file if possible."), "",
?T("For server conections, this 'ca_file' option is overriden by the http://../toplevel/#s2s-cafile[s2s_cafile] option."), ""
?T("For server connections, this 'ca_file' option is overridden by the http://../toplevel/#s2s-cafile[s2s_cafile] option."), ""
]}},
{captcha_cmd,
#{value => ?T("Path"),

@ -387,7 +387,7 @@ start_connection(From, To, Opts) ->
MaxS2SConnectionsNumber,
MaxS2SConnectionsNumberPerNode, Opts);
true ->
%% We choose a connexion from the pool of opened ones.
%% We choose a connection from the pool of opened ones.
{ok, choose_connection(From, L)}
end
end.

@ -1857,11 +1857,11 @@ build_elements_pages_list(Size, PageNumber, PageSize) ->
?C(<<" [", (integer_to_binary(PageNumber))/binary, "] ">>)).
calculate_pages_number(Size, PageSize) ->
Remainer = case Size rem PageSize of
Remainder = case Size rem PageSize of
0 -> 0;
_ -> 1
end,
case (Size div PageSize) + Remainer of
case (Size div PageSize) + Remainder of
1 -> 0;
Res -> Res
end.

@ -695,7 +695,7 @@ get_commands_spec() ->
args_example = [<<"group3">>, <<"myserver.com">>],
args_desc = ["Group identifier", "Group server name"],
result_example = [{<<"name">>, "Group 3"}, {<<"displayed_groups">>, "group1"}],
result_desc = "List of group informations, as key and value",
result_desc = "List of group information, as key and value",
result = {informations, {list, {information, {tuple, [{key, string}, {value, string}]}}}}},
#ejabberd_commands{name = srg_get_members, tags = [shared_roster_group],
desc = "Get members of a Shared Roster Group",

@ -475,7 +475,7 @@ mod_doc() ->
[{convert,
#{value => "{From: To}",
desc =>
?T("Defines image convertion rules: the format in 'From' "
?T("Defines image conversion rules: the format in 'From' "
"will be converted to format in 'To'. The value of 'From' "
"can also be 'default', which is match-all rule. NOTE: "
"the list of supported formats is detected at compile time "
@ -489,4 +489,4 @@ mod_doc() ->
desc =>
?T("Limit any given JID by the number of avatars it is able "
"to convert per minute. This is to protect the server from "
"image convertion DoS. The default value is '10'.")}}]}.
"image conversion DoS. The default value is '10'.")}}]}.

@ -4474,7 +4474,7 @@ mod_doc() ->
"to the 'create' stanza element."),
?T("- 'flat' plugin handles the default behaviour and "
"follows standard XEP-0060 implementation."),
?T("- 'pep' plugin adds extention to handle Personal "
?T("- 'pep' plugin adds extension to handle Personal "
"Eventing Protocol (XEP-0163) to the PubSub engine. "
"Adding pep allows to handle PEP automatically.")]}},
{vcard,

@ -268,7 +268,7 @@ c2s_handle_info(State, {timeout, _, Timeout}) when Timeout == ack_timeout;
Timeout == pending_timeout ->
%% Late arrival of an already cancelled timer: we just ignore it.
%% This might happen because misc:cancel_timer/1 doesn't guarantee
%% timer cancelation in the case when p1_server is used.
%% timer cancellation in the case when p1_server is used.
{stop, State};
c2s_handle_info(State, _) ->
State.

@ -76,7 +76,7 @@ init_per_group(Group, Config) ->
%% All backends enabled
do_init_per_group(Group, Config);
Backends ->
%% Skipped backends that were not explicitely enabled
%% Skipped backends that were not explicitly enabled
case lists:member(Group, Backends) of
true ->
do_init_per_group(Group, Config);

@ -39,7 +39,7 @@ certs = $dir/certs # Where the issued certs are kept
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file.
#unique_subject = no # Set to 'no' to allow creation of
# several ctificates with same subject.
# several certificates with same subject.
new_certs_dir = $dir/newcerts # default place for new certs.
certificate = $dir/cacert.pem # The CA certificate
@ -50,7 +50,7 @@ crl = $dir/crl.pem # The current CRL
private_key = $dir/private/cakey.pem# The private key
RANDFILE = $dir/private/.rand # private random number file
x509_extensions = usr_cert # The extentions to add to the cert
x509_extensions = usr_cert # The extensions to add to the cert
# Comment out the following two lines for the "traditional"
# (and highly broken) format.
@ -102,7 +102,7 @@ default_bits = 1024
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
x509_extensions = v3_ca # The extentions to add to the self signed cert
x509_extensions = v3_ca # The extensions to add to the self signed cert
# Passwords for private keys if not present they will be prompted for
# input_password = secret

@ -47,7 +47,7 @@ defmodule Ejabberd.ConfigTest do
assert is_function(register_hook.fun)
end
# TODO: When enalbed, this test causes the evaluation of a different config file, so
# TODO: When enabled, this test causes the evaluation of a different config file, so
# the other tests, that uses the store, are compromised because the data is different.
# So, until a good way is found, this test should remain disabed.
#

@ -454,7 +454,7 @@ recv_archived_messages(Config, From, To, QID, Range) ->
MyJID = my_jid(Config),
lists:foreach(
fun(N) ->
ct:comment("Retreiving ~pth message in range ~p",
ct:comment("Retrieving ~pth message in range ~p",
[N, Range]),
Body = xmpp:mk_text(integer_to_binary(N)),
#message{to = MyJID,

@ -191,7 +191,7 @@ service_disco_items(Config) ->
service_vcard(Config) ->
MUC = muc_jid(Config),
ct:comment("Retreiving vCard from ~s", [jid:encode(MUC)]),
ct:comment("Retrieving vCard from ~s", [jid:encode(MUC)]),
VCard = mod_muc_opt:vcard(?config(server, Config)),
#iq{type = result, sub_els = [VCard]} =
send_recv(Config, #iq{type = get, to = MUC, sub_els = [#vcard_temp{}]}),
@ -1474,7 +1474,7 @@ config_voice_request_interval_slave(Config) ->
denied = get_event(Config),
ct:comment("Requesting voice again"),
send(Config, #message{to = Room, sub_els = [X]}),
ct:comment("Receving voice request error because we're sending to fast"),
ct:comment("Receiving voice request error because we're sending to fast"),
#message{from = Room, type = error} = Err = recv_message(Config),
#stanza_error{reason = 'resource-constraint'} = xmpp:get_error(Err),
ct:comment("Waiting for 5 seconds"),
@ -1872,7 +1872,7 @@ set_vcard(Config, VCard) ->
get_vcard(Config) ->
Room = muc_room_jid(Config),
ct:comment("Retreiving vCard from ~s", [jid:encode(Room)]),
ct:comment("Retrieving vCard from ~s", [jid:encode(Room)]),
case send_recv(Config, #iq{type = get, to = Room,
sub_els = [#vcard_temp{}]}) of
#iq{type = result, sub_els = [VCard]} ->

@ -48,7 +48,7 @@ feature_enabled(Config) ->
service_vcard(Config) ->
JID = proxy_jid(Config),
ct:comment("Retreiving vCard from ~s", [jid:encode(JID)]),
ct:comment("Retrieving vCard from ~s", [jid:encode(JID)]),
VCard = mod_proxy65_opt:vcard(?config(server, Config)),
#iq{type = result, sub_els = [VCard]} =
send_recv(Config, #iq{type = get, to = JID, sub_els = [#vcard_temp{}]}),

@ -87,7 +87,7 @@ test_features(Config) ->
test_vcard(Config) ->
JID = pubsub_jid(Config),
ct:comment("Retreiving vCard from ~s", [jid:encode(JID)]),
ct:comment("Retrieving vCard from ~s", [jid:encode(JID)]),
VCard = mod_pubsub_opt:vcard(?config(server, Config)),
#iq{type = result, sub_els = [VCard]} =
send_recv(Config, #iq{type = get, to = JID, sub_els = [#vcard_temp{}]}),

@ -55,7 +55,7 @@ feature_enabled(Config) ->
service_vcard(Config) ->
Upload = upload_jid(Config),
ct:comment("Retreiving vCard from ~s", [jid:encode(Upload)]),
ct:comment("Retrieving vCard from ~s", [jid:encode(Upload)]),
VCard = mod_http_upload_opt:vcard(?config(server, Config)),
#iq{type = result, sub_els = [VCard]} =
send_recv(Config, #iq{type = get, to = Upload, sub_els = [#vcard_temp{}]}),

@ -90,7 +90,7 @@ get_set(Config) ->
service_vcard(Config) ->
JID = server_jid(Config),
ct:comment("Retreiving vCard from ~s", [jid:encode(JID)]),
ct:comment("Retrieving vCard from ~s", [jid:encode(JID)]),
VCard = mod_vcard_opt:vcard(?config(server, Config)),
#iq{type = result, sub_els = [VCard]} =
send_recv(Config, #iq{type = get, to = JID, sub_els = [#vcard_temp{}]}),

@ -413,7 +413,7 @@ while (1) {
my $cmd = show_commands($old_deps ? (U => "Update dependency") : (),
$changed_deps ? (T => "Tag new release") : (),
@operations ? (A => "Apply changes") : (),
R => "Refresh repositiories",
R => "Refresh repositories",
H => "What release to Hex",
E => "Exit");
last if $cmd eq "E";

Loading…
Cancel
Save