File

plugins/mod_server_contact_info.lua @ 9994:524b8cd76780 0.11

net.server_epoll: Restore wantread flag after pause (fixes #1354) If a chunk of data has been received that is larger than the amount read at a time, then the connection is paused for a short time after which it tries to read some more. If, after that, there is still more data to read, it should do the same thing. However, because the "want read" flag is removed and was restored after the delayed reading, it would not schedule another delayed read.
author Kim Alvefur <zash@zash.se>
date Sat, 04 May 2019 04:23:35 +0200
parent 9428:8e7feec95e8d
child 11010:6b27cb706b89
line wrap: on
line source

-- XEP-0157: Contact Addresses for XMPP Services for Prosody
--
-- Copyright (C) 2011-2018 Kim Alvefur
--
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
--

local array = require "util.array";

-- Source: http://xmpp.org/registrar/formtypes.html#http:--jabber.org-network-serverinfo
local form_layout = require "util.dataforms".new({
	{ var = "FORM_TYPE"; type = "hidden"; value = "http://jabber.org/network/serverinfo"; };
	{ name = "abuse", var = "abuse-addresses", type = "list-multi" },
	{ name = "admin", var = "admin-addresses", type = "list-multi" },
	{ name = "feedback", var = "feedback-addresses", type = "list-multi" },
	{ name = "sales", var = "sales-addresses", type = "list-multi" },
	{ name = "security", var = "security-addresses", type = "list-multi" },
	{ name = "support", var = "support-addresses", type = "list-multi" },
});

-- JIDs of configured service admins are used as fallback
local admins = module:get_option_inherited_set("admins", {});

local contact_config = module:get_option("contact_info", {
	admin = array.collect( admins / function(admin) return "xmpp:" .. admin; end);
});

module:add_extension(form_layout:form(contact_config, "result"));