2009-08-29 3 views
3

У меня есть два сервера ejabberd, один локальный удаленный онлайн на foobar.com.Xmpp ejabberd и команда add-user

Использование XMPP пиджин консоли я могу отправить Iq строфы для испытаний:

Локальный сервер имя хоста EEPC

<iq to='eeepc' from='[email protected]' 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='[email protected]/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='[email protected]' 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='[email protected]/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> 

Я не понимаю почему я получаю, я не мог видеть какие-либо конкретные параметры, чтобы сообщить серверу принять команды с пульта?

ответ

1

Возможно, mod_configure просто не загружен на удаленном сервере. Вы можете проверить через lists:member(mod_configure, gen_mod:loaded_modules("foobar.com")). в оболочке администратора ejabberd. Я не могу себе представить, что речь идет о том, чтобы быть удаленным пользователем, потому что нет никакого подключения s2s между foobar.com и [email protected]

0

В окне the mod_configure.erl source code, похоже, есть проверка ACL, чтобы убедиться, что команды configure adhoc разрешены только в том случае, если запросчик находится в учетной записи пользователя, настроил приват на этом виртуальном хосте. По умолчанию я думаю, что нет.

acl:match_rule(LServer, configure, From) 

Вы можете добавить что-то вроде ...

{access, configure, [{allow, [email protected]}]}. 

... в файл ejabberd.cfg.

Смежные вопросы