【问题标题】:In what cases can a DNS master file contain a CRLF?在什么情况下,DNS 主文件可以包含 CRLF?
【发布时间】:2019-10-20 18:22:21
【问题描述】:

在阅读RFC 1035 Section 5.1 以编写主文件解析器时,我偶然发现了以下语句:

5.1。格式

这些文件的格式是一系列条目。条目是 主要面向行,但可以使用括号继续 跨行边界的项目列表,文本文字可以包含 文本中的 CRLF。制表符和空格的任意组合充当 构成条目的单独项目之间的分隔符。结尾 主文件中的任何行都可以以注释结尾。评论开始 用“;” (分号)。

作者所说的“文本字面量可以在文本中包含 CRLF”是什么意思?我知道下面的条目是有效的,如Section 5.3 中所述,但我找不到该语句的示例或 “文本文字” 的正确定义。我还搜索了同伴RFC 1034 没有成功提及上述声明。

@   IN  SOA     VENERA      Action\.domains (
                                 20     ; SERIAL
                                 7200   ; REFRESH
                                 600    ; RETRY
                                 3600000; EXPIRE
                                 60)    ; MINIMUM

我假设文本文字可以用括号分隔。根据 RFC 1035,以下任何 cmets 是否有效?CRLF 在文件中的有效方式有哪些?

@   IN  SOA     VENERA      Action\.domains (
                                 20     ;  Some example of a multi-line comment 
                                           inside parentheses
                                 7200
                                 600
                                 3600000
                                 60)    ;  (Some example of parentheses
                                           inside a multi-line comment)

【问题讨论】:

    标签: dns rfc rfc1035


    【解决方案1】:

    这意味着这应该是有效的:

    example.com. IN TXT "hello,
    world"
    

    RFC 作者可能期望它等同于:

    example.com. IN TXT "hello,\013\010world"
    

    由于在这种情况下行尾编码的模糊性(如果平台使用 LF 作为行终止符,您是否仍然在 TXT 记录中获得 CRLF?),我怀疑这是否被广泛实施。

    【讨论】:

    • 感谢您清除它!评论中的 CRLF 怎么样 [...] ; " [...] \r\n [...]"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-18
    • 2017-11-30
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    • 2020-12-29
    • 2012-02-24
    相关资源
    最近更新 更多