无需发明错误类即可识别递归
一个 SPF 当递归引用导致评估回到活动路径上已有的策略时,就会发生循环。图表可以显示直接的自引用或涉及多个领域的较长周期。这种结构观察是有价值的,但诊断还必须表明具体评估是否达到了这些参考值。较早的匹配机制可以在进入循环之前停止路径。
RFC 7208指定了递归处理和评估限制。它没有定义名为cycleerror 的单独标准结果。使用定义的SPF词汇描述观察到的结果,并解释支持它的路径。合格评估员必须适用总任期限制;无界递归不是可接受的解释。工具自己的“检测到循环”标签可以成为有用的诊断元数据,而不会成为新的规范SPF结果。 RFC 7208 ,第 4.6.4、5.2 和 6.1 节
纳入并非政策替代
Include 使用相同的客户端地址和发件人输入递归地评估另一个域。它的子通道创建一个匹配;失败、 softfail和中性会产生不匹配。错误根据指定的映射传播,并且没有映射到 permerror。在不匹配之后,父级可以在下一个机制中恢复,并恢复其先前的域。
这种区别有助于解释明显的循环。子级可能仅在某些发送者永远无法到达的较晚分支上引用回父级。该图仍然是一个维护问题,但特定的早期传递并不能证明循环分支已被执行。保留有序机制和子到父返回映射,而不是绘制未标记的箭头并声明每条消息已损坏。 RFC 7208 ,第 5.2 节
重定向具有不同的终止语义
当没有机制匹配且修饰符适用时,将应用重定向。它将结果委托给目标策略,而不是仅询问子项是否通过包含。该标准规定,当记录中存在所有机制时,无论顺序如何,都会忽略重定向。因此,用于重定向的文本搜索并不能确定边缘可以执行。
不产生任何结果的重定向目标是错误情况,而不是隐式授权或中立回退。记录扩展的目标及其政策状态。如果一个域重定向到另一个重定向回来的域,则审查必须解释沿所示路线缺乏终止匹配以及递归处理消耗的共享预算。不要仅仅因为删除了一个可见箭头就声称更正成功。 RFC 7208 ,第 6.1 节
使用活动路径工作表
对于每个建议的诊断路径,保留起始标识、连接地址、发送者参数、当前域、精确记录、有序术语和扩展目标。维护域和引用类型的活动堆栈。当目标已出现在该堆栈上时,用第一个和第二个入口点注释重复的段。单独的访问节点集可以描述发现,但它不应取代用于解释递归的活动堆栈。
包括已评估的 DNS 引发术语的运行计数,并识别任何早期语法、缺失策略或临时 DNS 错误。最早支持的终止事宜。图中其他地方发现的静态循环不应被视为已因其他原因停止的消息的原因。相反,早期通过示例不应用于消除影响另一条路由的可达循环分支。
工作表应以三个明确标记的输出之一结束:实际保留的跟踪、静态结构发现或虚构的推理示例。只有第一个可以证实执行的诊断,并且只能在其输入和时间范围内。本文提供的方法和虚构的例子,并非真实的痕迹。
虚构的诊断:相互包括
假设虚构策略 A 包括 B,并且 B 在假设客户端的任何匹配机制之前包括 A。未执行任何查询或评估器执行。活动路径是 A,然后是 B,然后再次是 A。重复域揭示了这些假设下的可达循环。每个评估的内容都会对共享的计期预算做出贡献;当前域更改时,递归不会重置容差。
如果报告“第二次访问始终是强制循环错误”,则会产生误导。标准的结果词汇和限制必须保持完整。提议的评估器可以尽早检测递归以进行诊断,但任何有关其实际返回结果的声明都需要其实现证据。相反,手稿解释说,如果没有所需的限制,则不允许假设路径递归。
现在,为不同的假设发送者将早期匹配的 ip4 机制添加到 B。该路径可以在返回到 A 之前通过。结构循环仍然存在于策略图中,但该发送者没有执行它。有用的修复审查会考虑失败路径和合法的早期匹配路由,因此修复不会意外删除仍然重要的授权。
在重写记录之前修复所有权
循环引用通常跨越行政边界。确定谁控制每条记录以及引入这种关系的原因。不应仅仅因为名称看起来相关而将客户策略替换为供应商依赖性。要求提供者支持的授权目标或通过批准的支持流程确认的更正;本手稿既没有联系供应商,也没有提出通用的更换价值。
支持的最小修复可能是删除过时的相互依赖性、纠正错误的目标或提供商维护的策略更改。根据所有权和合法发件人证据进行选择,而不仅仅是减少图边缘。保留之前的状态和预期的授权集,并记录需求仍未解决的任何服务。
验收需要周期说明和最低限度的提供商确认的更换评估。如果建议的记录不再授权所需的路线,则没有循环的新图表是不够的。比较单独批准的变更前后的预期路线、错误处理和预算。避免声称各地的DNS缓存会立即反映更正。
未经证实的证据和出版界限
目录的原始证据要求仍然开放:显示周期和最低限度的供应商确认的更换评估。对于虚构的示例,不存在提供商确认、生产DNS编辑、外部查询或执行结果。他们解释如何推理,而不是解释指定供应商当前的行为方式。
所有六个发布大门均保持开放,包括原始证据、人工审查、来源适用性、生产路线、视觉可及性和所有者发布。稍后的可操作文章应保留相关的源快照、变更批准和有限验证证据。在此之前,适当的结论是建议的诊断和修复工作流程,而不是已解决的事件或保证每个接收器都会报告相同的特定于实现的细节。