Ejabberd mod_block_strangers 阻止错误节

Ejabberd mod_block_strangers 阻止错误节

我的 ejabberd 版本是 19.08。启用mod_block_strangers错误节后仍未收到。

向外部收件人(非本地 jabber)发送消息,其中 mod_block_strangers=on 为外部节的示例

<message to="[email protected]" id="aad7a">
<subject>test</subject>
<body>test</body>
<nick xmlns="http://jabber.org/protocol/nick">bot</nick>
</message>

XMPP 不是本地的。没有错误节。应该是,因为这个域不存在。

mod_block_strangers=off 的示例

<message type="chat" to="[email protected]" id="aadaa">
<body>test</body>
<active xmlns="http://jabber.org/protocol/chatstates"/>
<request xmlns="urn:xmpp:receipts"/>
<nick xmlns="http://jabber.org/protocol/nick">bot</nick>
</message>

<message from="[email protected]" type="error" xml:lang="ru" to="bot@*" id="aadaa">
<active xmlns="http://jabber.org/protocol/chatstates"/>
<request xmlns="urn:xmpp:receipts"/>
<nick xmlns="http://jabber.org/protocol/nick">bot</nick>
<error type="cancel" code="404">
<remote-server-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
<text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" xml:lang="en">DNS lookup failed: non-existing domain</text>
</error>
<body>test</body>
</message>

在本地 xmpp 上没有这样的问题。一切都很好。我认为这是因为 allow_local_users 默认为“true”。带有本地域的节示例:

<message to="549725985745@localdomain" id="aadea">
<subject>test</subject>
<body>test</body>
<nick xmlns="http://jabber.org/protocol/nick">bot</nick>
</message>


<message from="549725985745@localdomain" type="error" xml:lang="ru" to="bot@localdomain/Psi+" id="aadea">
<nick xmlns="http://jabber.org/protocol/nick">bot</nick>
<error type="cancel" code="503">
<service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
</error>
<body>test</body>
<subject>test</subject>
</message>

因此,如果启用了 mod_block_strangers,我们就不会从服务器收到错误节和错误代码。例如,错误消息与消息一起被禁止。

编辑:已更新至 ejabberd 20.04。同样的情况,没有效果。

答案1

在我的服务器上没有正常的错误映射。

我正在使用具有默认配置的 ejabberd 20.04。

当我尝试加入名为“room@aa”的房间时,它会抱怨一个错误,因为房间名称不能包含@,并且该错误节包含 XEP-0086 代码:

<presence id='57:106609'
    from='room@[email protected]/user1'
    type='error'>
  <x xmlns='http://jabber.org/protocol/muc'>
    <history maxchars='10000000000000'
    maxstanzas='200000000'/>
  </x>
  <show>away</show>
  <status>Busysss</status>
  <error code='400'
    type='modify'>
    <bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
    <text xml:lang='en'
    xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Bad value of attribute &apos;to&apos; in tag &lt;presence/&gt; qualified by namespace &apos;jabber:client&apos;</text>
  </error>
</presence>

相关内容