Ejabberd

Ejabberd mod_block_strangers 塊錯誤節

  • May 28, 2020

我的 ejabberd 版本是 19.08。mod_block_strangers未收到啟用的錯誤節。

向外部收件人(不是本地 jabber)發送消息 帶有 mod_block_strangers=on 的輸出節範例

<message to="615970@676373647364.com" id="aad7a">
<subject>test</subject>
<body>test</body>
<nick xmlns="http://jabber.org/protocol/nick">bot</nick>
</message>

XMPP 不是本地的。沒有錯誤節。應該是,因為這個域不存在。

帶有 mod_block_strangers=off 的 out 節範例

<message type="chat" to="615970@676373647364.com" 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="615970@676373647364.com" 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,預設情況下是“真”。具有本地域的節範例:

<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。同樣的情況,沒有效果。

在我的伺服器上沒有正常的錯誤映射。

我使用預設配置的 ejabberd 20.04。

當我嘗試加入名為“room@aa”的房間時,它會報錯,因為房間名稱不能包含 @,並且該錯誤節包含 XEP-0086 程式碼:

<presence id='57:106609'
   from='room@aa@conference.localhost/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 'to' in tag <presence/> qualified by namespace 'jabber:client'</text>
 </error>
</presence>

引用自:https://serverfault.com/questions/1018496