dns.c

Screenshot Software:
dns.c
Mga detalye ng Software:
Bersyon: 20120805
I-upload ang petsa: 20 Feb 15
Nag-develop: William Ahern
Lisensya: Libre
Katanyagan: 29

Rating: nan/5 (Total Votes: 0)

dns.c ay isang rientrent, recursive at di-pagharang ng DNS resolver library na namamalagi sa isang sincle .c file. Gumagana rin ang mahusay na bilang isang stub resolver.
Core API binuo sa palibot ng aktwal na DNS packet; bilang generic bilang DNS mismo. Ito ay gumagawa ng querying at pagpapatakbo mga tala maliban sa A, AAAA, at PTR lubhang mas madaling.
Restartable talaan iterators may-uuri-uri na tinukoy ng user. Iterating sa paglipas ng MX o talaan SRV sa semantiko order (ibig sabihin, kagustuhan at prayoridad) ay kasing simple ng:
dns_rr_foreach (& RR, packet, .type = DNS_T_SRV, .sort = & dns_rr_i_order) {
& Nbsp; ...
}
O sa isang restartable na paraan:
switch (my-> estado) {
kaso 0:
& Nbsp; dns_rr_i_init (& my-> rr_i);
& Nbsp; my-> rr_i.type = DNS_T_SRV;
& Nbsp; my-> rr_i.sort = & dns_rr_i_order;
& Nbsp; my-> estado ++;
kaso 1:
& Nbsp; habang (dns_rr_grep (& RR, 1, at my-> rr_i, my-> packet, & error)) {
& Nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; / * Balik sa loop kaganapan * /
& Nbsp; }
}
Sinusuportahan ang query na "matalinong". Kapag pinagana sa core resolver, mga query para sa NS, MX, at mga tala ng SRV ay palaging tangkaing lutasin ang canonical na pangalan ng host RDATA sa isang A record. Host na hindi in-saklaw ng kaalaman at / o kung saan ang makapangyarihan server ay hindi nagbibigay ng kola ay awtomatikong malutas at ibinalik sa sagot packet. Mga sinusuportahang para sa parehong mga stub at recursive resolver instantiations. "Smart" resolution ay binuo din sa address ng impormasyon (ibig sabihin getaddrinfo ()) API.
Randomized pinagmulan port at QIDs.
Non-pagharang, muling kalaban, iterator-based getaddrinfo () interface: dns_ai_open (), dns_ai_nextent (), dns_ai_close (). Tulad ng magkakahulugang lamang getaddrinfo (), ngunit ito rin ay tumatagal ng isang uri ng tala. Umulit sa paglipas ng (struct addrinfo) bagay kahit na querying isang MX, NS, SRV (et al) host. May mas mababa latency paggawa query na "matalinong" sa ganitong paraan, dahil maaaring ipagpaliban ang anumang mga kinakailangang Rekursiyon (at sa lahat ng posibilidad ay hindi kinakailangan, mula nang unang host ay malamang sapat).

Ano ang bago ang sa paglabas:.

  • Ayusin ang bug kung saan dns_srv_print () ay nabigong mag-print ng isang trailing NUL ng character

Ano ang bagong sa bersyon 20100813:

  • Magdagdag socket.c sa contrib /. Gumagamit ako ng at pagbuo ng ito para sa isang taon o kaya sa loob ng iba pang mga proyekto. Conceptually ito ay isang simpleng wrapper sa paligid ng BSD socket API na humahawak sa paghahanap sa DNS at SSL pag-aareglo halatang at asynchronously.
  • Matapos ang paglikha ng isang socket sa so_open (), nagtatakda ng tumatawag ang naaangkop na mode, hal so_connect () at so_starttls (). Tumatawag ay maaaring pagkatapos ay maghintay para sa kanila upang makumpleto (makikita silang bumalik EAGAIN kung kinakailangan), o mas maginhawang huwag pansinin ang resulta at ilipat nang direkta sa sinusubukang bumabasa at nagsusulat. Mga error mula sa nakaraang mga estado, kabilang ang EAGAIN, ay ibabalik sa anumang nabasa o sumulat pagtatangka hanggang sa mga estado ay kumpleto na.
  • Gamitin ang so_pollfd () at so_events () tulad lamang ang dns.c mga katapat. Bumalik sila, ayon sa pagkakabanggit, ang naaangkop na tagapaglarawan at kaganapan ng mga flag depende sa kung aling mga panloob na estado ay isinasagawa. Kailangang mag-alala lamang ang application tungkol nagbigay ng lohikal na mga pagpapatakbo nabasa na / write.

Ano ang bagong sa bersyon 20100709:

  • Ayusin MinGW bumuo pamamagitan ng pagdaragdag ng mga panloob na dns_strsep () at DNS_ETIMEDOUT.

Ano ang bagong sa bersyon 20100708:

  • Suriin ang pagiging wasto ng haba na ibinalik sa pamamagitan dns_d_expand () bago pagpasa ito bilang ang haba pinagmulan upang dns_d_cleave () sa loob ng dns_hints_query () tao na maaari naming gawin ang isang hindi wastong nabasa na. Salamat sa Anonymous.
  • I-tag ang rel-20100708 (d493a0f7d8f1d67ef312a7ca3e142660895b32d8).
  • TANDAAN: Nakalimutan ang paga sa DNS_V_REL para sa 20100708 paglabas, at dahil sa bagong interface ng stats ay nasa nguso ng elepante dapat Uusog din DNS_V_API. Huli na ngayon.

Ano ang bagong sa bersyon 20100515:

  • Umikot sa paglipas ng nameservers resolv.conf: options.attempts ulit.
  • Ipatupad ang SPF limitasyon query sa canonical na pangalan kapag nagpapatakbo ng MX at PTR mekanismo.
  • Magdagdag dns_p_study () upang matuto at hanay ng seksyon ng tindahan.
  • Subaybayan ang mga seksyon umaabot sa dns_p_push ().
  • Refactor dns_p_merge () upang mapabuti ang pagganap sa mga malalaking packet.
  • Magdagdag dns_p_make () para sa malloc'ing at Sinisimulan ang isang bagong packet.
  • Ipatupad ang SPF limitasyon query termino. Binago ang layout ng struct spf_limits sa pag-asa ng pagpapatupad ng mga limitasyon sa query host ng MX at PTR.
  • Ayusin ang bug sa VM pagtuturo generator para sa jump mga indeks ng higit sa 255.

Ano ang bagong sa bersyon 20100416:.

  • Added SSHFP suporta
  • I-tag ang rel-20100416 (5bd9963e693510e485a1f081f6c98a95d84debfe).
  • 90% pagpasa rate sa OpenSPF test suite. Kailangang i-simulate ang mga pag-timeout upang pumasa sa pagsusulit TempError. Ang ilan sa mga pagsubok grammar ay hindi tiyak.
  • Added OpenSPF YAML test suite na processor. Nangangailangan ng libyaml.

Ano ang bagong sa bersyon 0.5:

  • Ayusin ang bug kung saan hindi namin ginawa fallback mula sa & quot; magbigkis & quot ; pamamaraan sa & quot; ang file & quot; paraan kung ang recurse flag na ay hindi pinagana.

  • Maaaring nagbago
  • Maghanap generator ang qname. Kaya, sa dns_ai_nextent () canonicalize ang qname mula sa sagot, hindi ang qname orihinal na isinumite sa resolver.

Katulad na software

PowerDNS Recursor
PowerDNS Recursor

22 Jun 18

NSD
NSD

17 Feb 15

hrdns
hrdns

14 Apr 15

Mga komento sa dns.c

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!