在RFC 6122中指定的JID中IDN的实现

时间:2014-11-12 16:18:19

标签: xmpp standards rfc idn

我已按照RFC 6122中的规定向XMPP客户端添加了国际域名支持。在RFC中它声明:

  

虽然XMPP应用程序不通信输出   在线上进行ToASCII操作(称为“ACE标签”),它必须是   可以应用该操作而不会失败   国际化标签。

但是,使用我可用于测试的域(运行Prosody 0.9.4;从其他人处获取有关Ejabberd如何处理此问题的反馈),在XMPP节的“to”字段中发送Unicode名称会导致它们立即返回XMPP错误节并终止流。如果我在发送节之前应用toASCII操作,则连接成功,我可以开始使用服务器进行身份验证。

所以发送:

<somestanza to="éxample.net"/>

会导致错误,而:

<somestanza to="xn--xample-9ua.net"/>

工作正常。

像这样发送域的ASCII表示(ACE标签)是否正确?如果是这样,当规范“XMPP应用程序不通过线路传递ToASCII操作的输出”时,规范意味着什么?如果没有,我如何确保与行为不当的服务器兼容?

0 个答案:

没有答案