dns.c是驻留在sincle .c文件可重入,递归和非阻塞的DNS解析库。也伟大工程为存根解析器。
核心API各地实际的DNS数据包建;作为通用的DNS本身。这使得查询和操作记录比A,AAAA,和PTR容易得多等。
重新启动记录迭代器与用户指定的排序。遍历MX或语义为了SRV记录(即优先和优先级)就是这么简单:
dns_rr_foreach(RR,包,。类型= DNS_T_SRV,.sort = dns_rr_i_order){
  ...
}
或可重新启动方式:
开关(我的 - >状态){
情况下0:
  dns_rr_i_init(我的 - > rr_i);
 我的 - > rr_i.type = DNS_T_SRV;
 我的 - > rr_i.sort = dns_rr_i_order;
 我的 - >状态++;
案例1:
 而(dns_rr_grep(RR,1,和我的 - > rr_i,我的 - >包,和错误)){
    ...
    / *返回到事件循环* /
  }
}
支持“智能”查询。当核心解析器启用,为NS,MX和SRV记录的查询会一直尝试解决RDATA规范主机名转换为A记录。主机,不能在-辖区和/或用于该权威服务器不提供胶水被自动地解决,并且在应答包返回。支持为存根和递归解析器实例。 “智能”的决议还内置到地址信息(即的getaddrinfo())API。
随机源端口和QIDS。
无阻塞,可重入,基于迭代器的getaddrinfo()接口:dns_ai_open(),dns_ai_nextent(),dns_ai_close()。语义俨然的getaddrinfo(),但也需要一个记录类型。遍历(结构addrinfo中)查询的MX,NS,SRV(等)主机时,即使对象。还有更短的延迟做“聪明”的查询这种方式,因为任何必要的递归可以推迟(并在所有的可能性不会是必要的,因为第一个主机很可能足够了)。
什么是新的在此版本中:
- 在修正错误的地方dns_srv_print()失败打印尾随NULL字符
什么是新的在20100813版本:
- 在添加socket.c到了contrib /。我一直在使用和发展本一年左右的时间内其他项目。从概念上讲它周围的BSD套接字API处理DNS查找和SSL协商透明和异步一个简单的包装。
- 在创建一个插座so_open(),调用者设置相应的模式,如后so_connect()和so_starttls()。那么调用者可以等待它们完成(如果需要的话,他们将返回EAGAIN),或更方便地忽略结果,并直接移动到试图读取和写入。从以前的状态,包括EAGAIN错误,将在任何读回或写尝试,直到这些国家是完整的。
- 使用so_pollfd()和so_events()就像dns.c同行。它们返回,分别根据其内部状态被执行的适当的描述符和事件标志。该应用程序只需要担心发出的逻辑读/写操作。
什么是新的在20100709版本:
- 在修复MinGW的建立,加入内部dns_strsep()和DNS_ETIMEDOUT。
什么的20100708版本是新的:
- 在检查由dns_d_expand返回的长度的有效性()之前把它当作源长度dns_d_cleave()dns_hints_query内()否则,我们可能会做一个无效的读取。感谢匿名。
- 标签REL-20100708(d493a0f7d8f1d67ef312a7ca3e142660895b32d8)。
- 注:忘了凹凸DNS_V_REL为20100708的释放,而且由于新的统计数据接口是在后备箱也应该有碰到DNS_V_API。现在太晚了。
什么版本20100515是新的:
- 在遍历域名服务器的resolv.conf:options.attempts次。
- 在运行MX和PTR机制时强制SPF规范名称查询限制。
- 添加dns_p_study()了解和存储部分的范围。
- 在跟踪部分中dns_p_push范围()。
- 在重构dns_p_merge(),以提高大型数据包的性能。
- 添加dns_p_make()用于malloc'ing和初始化一个新的数据包。
- 在强制执行SPF查询任期限制。改变结构spf_limits布局预期执行对MX和PTR主机查询限制。
- 在BUG修复为超过255跳指数的VM命令生成。
什么的20100416版本是新的:
- 在添加SSHFP支持
- 标签REL-20100416(5bd9963e693510e485a1f081f6c98a95d84debfe)。
- 在90%通过率。需要模拟超时传递TempError测试。一些语法测试都是值得商榷的。
- 添加OpenSPF YAML测试套件处理器。需要libyaml。
在OpenSPF测试套件对
什么是0.5版本的新:
- 在BUG修复,我们并没有从&QUOT回退;绑定&QUOT ;方法"文件"如果递归标志被禁用的方法。
- 在搜索发电机可能已经改变了的qname。所以,在dns_ai_nextent()的答案,而不是最初提交给解析器的QName规范化的QName。
评论没有发现