I am not sure if this is the right place for this discussion, sorry if i am in the wrong arena.
We having started using Openfire, and found that it’s pub/sub mechanism does not allow components to create nodes.
The xep http://xmpp.org/extensions/xep-0060.html actually does not specify about components unless i misred it wrong, probably because components get a more standard protocol later http://xmpp.org/extensions/xep-0114.html.
We were able to find pretty easily where in the code (PubSubEngine) where this is not allowed,
private void createNode(PubSubService service, IQ iq, Element childElement, Element createElement) {
// Get sender of the IQ packet
JID from = iq.getFrom();
// Verify that sender has permissions to create nodes
if (!service.canCreateNode(from) || !UserManager.getInstance().isRegisteredUser(from)) {
// The user is not allowed to create nodes so return an error
sendErrorPacket(iq, PacketError.Condition.forbidden, null);
return;
}
The componenet is not a registered user, local or remote.
We were able to quickly allow components with some code changes for a one off build for us. We were looking to doing a more official patch to allow registered components to create nodes, but we were unsure if this is even something the openfire community would be interested or want to allow?