dns.c bir sincle .c dosyasında bulunduğu özyinelemeli ve engellenmeyen DNS çözümleyici kütüphane evresel vardır. Ayrıca bir taslaktır çözümleyici olarak harika çalışıyor.
Gerçek DNS paket etrafında inşa Çekirdek API; DNS kendisi gibi genel olarak. Bu sorgulama ve A, AAAA, ve PTR çok daha kolay diğer kayıtları manipüle yapar.
Kullanıcı tarafından belirlenen sıralama ile restartable kayıt yineleyiciler. MX ya da anlamsal sırayla SRV kayıtları (yani tercih ve öncelik) üzerinden yineleme gibi basit:
dns_rr_foreach (& rr, paket, .Type = DNS_T_SRV, .sort = & dns_rr_i_order) {
& Nbsp; ...
}
Ya da, bir yeniden başlatılabilir şekilde:
anahtar (benim-> devlet) {
Olgu: 0
& Nbsp; dns_rr_i_init (ve my-> rr_i);
& Nbsp; benim-> rr_i.type = DNS_T_SRV;
& Nbsp; benim-> rr_i.sort = & dns_rr_i_order;
& Nbsp; benim-> Devlet ++;
Olgu 1:
& Nbsp; ise (dns_rr_grep (& rr, 1, ve benim-> rr_i, benim-> paket ve hata)) {
& Nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; / * Olay döngü * içine dönüş /
& Nbsp; }
}
"Akıllı" sorguları destekler. Çekirdek çözümleyici etkin olduğunda, NS, MX, ve SRV kayıtları için sorgular her zaman bir A kaydı haline rdata kurallı ana bilgisayar adını çözmeye çalışacaktır. Yetkili sunucu tutkal sağlamaz değil-Bailiwick ve / veya hangi Hosts automagicallylar çözüldü ve cevap paket iade edilir. Saplama ve özyinelemeli çözümleyici örneklemesi hem desteklenir. "Akıllı" çözümü de adres bilgi içine (yani getaddrinfo ()) API inşa edilmiştir.
Kaynak portu ve QIDs randomize.
Sigara engelleme, yeniden katılımcıya, yineleyici-tabanlı getaddrinfo () arabirim: dns_ai_open (), dns_ai_nextent (), dns_ai_close (). Semantik sadece getaddrinfo gibi (), ama aynı zamanda bir rekor türünü alır. (Struct addrinfo) bir MX, NS, SRV'yi (ark) ana sorgularken bile nesneleri üzerinde yineleme. Gerekli yineleme ertelenebilir (ve ilk konak olasılıkla yeterli olduğundan olasılıkla, gerekli olmayacak) beri bu şekilde "akıllı" sorguları yaparken daha az gecikme vardır.
ne Bu sürümdeki yeni :.
- dns_srv_print (), bir firar NULL karakteri yazdırmak için başarısız Fix hata li>
sürüm 20100813 yeni nedir:
- contrib / 'içine socket.c ekleyin. Ben kullanıyorum ve bir yıl ya da öylesine diğer projeler içinde bu gelişen oldum. Kavramsal olarak bu şeffaf ve zaman uyumsuz DNS aramalarını ve SSL müzakere kolları BSD yuva API etrafında basit bir sarıcı var.
- so_connect () ve so_starttls (). Arayan onları tamamlamak için daha sonra (gerekirse onlar EAGAIN dönersiniz) bekleyin, ya da daha uygun bir sonuç görmezden ve okur ve yazar teşebbüs doğrudan taşıyabilirsiniz. EAGAIN dahil olmak üzere önceki devletler, gelen hatalar, herhangi bir okuma iade veya bu devletlerin tamamlanana kadar girişimlerini yazmak olacaktır.
- sadece dns.c meslektaşları gibi kullanın so_pollfd () ve so_events (). Onlar, sırasıyla, iç durumu yürütülürken hangi bağlı olarak uygun tanımlayıcı ve olay bayrakları dönün. Uygulama sadece mantıksal okuma / yazma işlemlerini veren dert gerek.
So_open (), arayan uygun modları, örneğin setleri ile bir yuva oluşturduktan sonra
sürüm 20100709 yeni nedir:
- MinGW iç dns_strsep () ve DNS_ETIMEDOUT ekleyerek inşa Fix.
sürüm 20100708 yeni nedir:
- dns_d_expand tarafından döndürülen uzunlukta geçerliliğini kontrol edin (önce) dns_hints_query içinde () dns_d_cleave kaynak uzunluğu olarak geçen () başka biz geçersiz okuma yapabilir. Anonymous teşekkürler.
- Etiket rel-20100708 (d493a0f7d8f1d67ef312a7ca3e142660895b32d8).
- NOT: 20100708 sürümü için DNS_V_REL çarpmak için unuttum, ve yeni istatistikler arayüzü bagajına çünkü aynı zamanda DNS_V_API çarptı olmalıdır. Çok geç artık.
sürüm 20100515 yeni nedir:
- Döngü nameservers resolv.conf üzerinde: options.attempts kez.
- SPF kurallı ad sorgusu sınırlarını zorlayın.
- öğrenmek için dns_p_study () ve mağaza bölümü aralıkları ekleyin.
- bölümünde takip edin dns_p_push aralıkları ().
- Refactor dns_p_merge () büyük paketler üzerinde performansını artırmak için.
- malloc'ing ve yeni bir paket başlatmak için dns_p_make () ekleyin.
- SPF vadeli sorgu sınırlarını zorlayın. MX ve PTR ev sahibi sorguları sınırları zorlamayı beklentisiyle yapı spf_limits düzenini değiştirdi.
- Fix hata.
MX ve PTR mekanizmaları çalıştırırken
Fazla 255 atlama endeksleri VM talimat jeneratör
sürüm 20100416 yeni nedir:.
- Eklendi SSHFP desteği
- Etiket rel-20100416 (5bd9963e693510e485a1f081f6c98a95d84debfe).
- % 90 geçiş oranı. TempError testleri geçmek için zaman aşımı simüle gerekiyor. Dilbilgisi testleri bazıları tartışılabilir.
- Katma OpenSPF YAML test paketi işlemci. Gerektirir libyaml.
OpenSPF test paketi üzerinde
nedir sürüm 0.5 Yeni:
- & quot gelen çare değildi Fix hata; bağlama & quot ; Dosyayı & quot; yöntem için & quot; recurse bayrağı devre dışı ise yöntem.
- Arama jeneratör qname değişmiş olabilir. Yani, dns_ai_nextent içinde () cevap değil, aslında çözümleyici sunulan qname gelen qname meşrulaştırılmaz.
Yorum Bulunamadı