Software /
code /
prosody
File
core/actions.lua @ 4287:ee6a18f10a8d
xmlhandlers/xmppstream: Stop the parser when encountering restricted XML, completing the fix for the billion laughs attack
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 02 Jun 2011 15:19:05 +0100 |
parent | 2923:b7049746bd29 |
line wrap: on
line source
-- Prosody IM -- Copyright (C) 2008-2010 Matthew Wild -- Copyright (C) 2008-2010 Waqas Hussain -- -- This project is MIT/X11 licensed. Please see the -- COPYING file in the source package for more information. -- local actions = {}; function register(path, t) local curr = actions; for comp in path:gmatch("([^/]+)/") do if curr[comp] == nil then curr[comp] = {}; end curr = curr[comp]; if type(curr) ~= "table" then return nil, "path-taken"; end end curr[path:match("/([^/]+)$")] = t; return true; end return { actions = actions, register= register };