Ejabberd
Ejabberd mod_block_strangers 塊錯誤節
我的 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>