Xmpp ejabberd and add-user command

3

我有两个ejabberd服务器,一个是本地的,一个是在foobar.com上在线的。

使用xmpp pidgin控制台,我可以发送iq数据包进行测试:

本地服务器主机名为eepc

<iq to='eeepc' from='greg@eeepc' id='get-registred-users-num-1' type='set'>
    <command xmlns='http://jabber.org/protocol/commands' action='execute' node='http://jabber.org/protocol/admin#get-registered-users-num'/>

</iq>

<iq from='eeepc' to='greg@eeepc/3493331071251540036345753' id='get-registred-users-num-1' type='result'>
    <command xmlns='http://jabber.org/protocol/commands' sessionid='2009-08-29T14:01:55.714639Z' node='http://jabber.org/protocol/admin#get-registered-users-num' status='completed'>
        <x xmlns='jabber:x:data'>
            <field type='hidden' var='FORM_TYPE'>
                <value>http://jabber.org/protocol/admin</value>
            </field>
            <field type='text-single' label='Number of registered users' var='registeredusersnum'>
                <value>7</value>
            </field>
        </x>
    </command>
</iq>

远程服务器

<iq to='foobar.com' from='greg@foobar.com' id='get-registred-users-num-1' type='set'>
    <command xmlns='http://jabber.org/protocol/commands' action='execute' node='http://jabber.org/protocol/admin#get-registered-users-num'/>
</iq>

<iq from='foobar.com' to='greg@foobar.com/36523779951251567671615394' id='get-registred-users-num-1' type='error'>
    <command xmlns='http://jabber.org/protocol/commands' action='execute' node='http://jabber.org/protocol/admin#get-registered-users-num'/>
    <error code='404' type='cancel'>
        <item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
    </error>
</iq>

我不明白为什么我会收到一个“,我没有看到任何特定的选项告诉服务器接受远程命令?

2个回答

1
也许远程服务器没有加载 mod_configure 模块。 你可以在 ejabberd 管理员 shell 中通过以下命令检查:lists:member(mod_configure, gen_mod:loaded_modules("foobar.com")). 我无法想象这是关于成为远程用户的问题,因为 foobar.com 和 greg@foobar.com 之间不需要 s2s 连接。

0

查看mod_configure.erl源代码,似乎有一个ACL检查来确保仅当请求者在具有该虚拟主机上的配置权限的用户帐户上时才允许配置adhoc命令。默认情况下,我认为它们不允许。

acl:match_rule(LServer, configure, From)

你可能需要添加类似于...

{access, configure, [{allow, greg@foobar.com}]}.

...到你的ejabberd.cfg文件中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接