aboutsummaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2019-03-04 13:46:09 +0100
committerKim Alvefur <zash@zash.se>2019-03-04 13:46:09 +0100
commit55393a584dc5d401ca1fc82f5be5b21c7bc6ea07 (patch)
treee47cbfb67c4f98b179baec19c2f4fd66e62f7132 /util
parent37ba8188057989a530aa5a5e138b181d1ad855a1 (diff)
parent01f4b12e155b549fedc814f2c63b58d5ea72e201 (diff)
downloadprosody-55393a584dc5d401ca1fc82f5be5b21c7bc6ea07.tar.gz
prosody-55393a584dc5d401ca1fc82f5be5b21c7bc6ea07.zip
Merge 0.11->trunk
Diffstat (limited to 'util')
-rw-r--r--util/pubsub.lua11
1 files changed, 10 insertions, 1 deletions
diff --git a/util/pubsub.lua b/util/pubsub.lua
index a53e8b95..e5e0cb7c 100644
--- a/util/pubsub.lua
+++ b/util/pubsub.lua
@@ -436,10 +436,19 @@ function service:create(node, actor, options) --> ok, err
return false, "conflict";
end
+ local config = setmetatable(options or {}, {__index=self.node_defaults});
+
+ if self.config.check_node_config then
+ local ok = self.config.check_node_config(node, actor, config);
+ if not ok then
+ return false, "not-acceptable";
+ end
+ end
+
self.nodes[node] = {
name = node;
subscribers = {};
- config = setmetatable(options or {}, {__index=self.node_defaults});
+ config = config;
affiliations = {};
};