File

plugins/muc/util.lib.lua @ 9273:f2258e9750cf

mod_vcard_legacy: Include avatar data even if metadata can't be loaded Normally both nodes should have the same configuration and matching items, but we can't depend on it without having some code that enforces it, which does not exist at the time of this commit. Including the avatar itself should be prioritised. The image format can be derived from magic bytes.
author Kim Alvefur <zash@zash.se>
date Fri, 07 Sep 2018 01:08:27 +0200
parent 6271:006b0e0f0de2
child 9599:5a2135964ed3
line wrap: on
line source

-- Prosody IM
-- Copyright (C) 2008-2010 Matthew Wild
-- Copyright (C) 2008-2010 Waqas Hussain
-- Copyright (C) 2014 Daurnimator
--
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
--

local _M = {};

_M.valid_affiliations = {
	outcast = -1;
	none = 0;
	member = 1;
	admin = 2;
	owner = 3;
};

_M.valid_roles = {
	none = 0;
	visitor = 1;
	participant = 2;
	moderator = 3;
};

local kickable_error_conditions = {
	["gone"] = true;
	["internal-server-error"] = true;
	["item-not-found"] = true;
	["jid-malformed"] = true;
	["recipient-unavailable"] = true;
	["redirect"] = true;
	["remote-server-not-found"] = true;
	["remote-server-timeout"] = true;
	["service-unavailable"] = true;
	["malformed error"] = true;
};
function _M.is_kickable_error(stanza)
	local cond = select(2, stanza:get_error()) or "malformed error";
	return kickable_error_conditions[cond];
end

local muc_x_filters = {
	["http://jabber.org/protocol/muc"] = true;
	["http://jabber.org/protocol/muc#user"] = true;
}
local function muc_x_filter(tag)
	if muc_x_filters[tag.attr.xmlns] then
		return nil;
	end
	return tag;
end
function _M.filter_muc_x(stanza)
	return stanza:maptags(muc_x_filter);
end

return _M;