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。
評論沒有發現