dns.c

Software screenshot:
dns.c
Software informatie:
Versie: 20120805
Upload datum: 20 Feb 15
Ontwikkelaar: William Ahern
Licentie: Gratis
Populariteit: 84

Rating: nan/5 (Total Votes: 0)

dns.c is een re-entry, recursieve en niet-blokkerende DNS resolver bibliotheek die woont in een sincle .c bestand. Werkt ook groot als een beginnetje resolver.
Core API gebouwd rond werkelijke DNS-pakket; zo generiek DNS zelf. Dit maakt het opvragen en manipuleren van andere dan A, AAAA, en PTR veel gemakkelijker verslagen.
Herstartbare opnemen iteratoren met de gebruiker opgegeven sorteren. Itereren dan MX of SRV-records in semantische orde (dwz preferente en prioriteitsaandelen) is zo simpel als:
dns_rr_foreach (& rr, pakket, .Type = DNS_T_SRV, .sort = & dns_rr_i_order) {
& Nbsp; ...
}
Of in een herstartbare manier:
schakelaar (mijn-> staat) {
geval 0:
& Nbsp; dns_rr_i_init (& mijn-> rr_i);
& Nbsp; mijn-> rr_i.type = DNS_T_SRV;
& Nbsp; mijn-> rr_i.sort = & dns_rr_i_order;
& Nbsp; mijn-> staat ++;
case 1:
& Nbsp; while (dns_rr_grep (& rr, 1, en mijn-> rr_i, mijn-> pakket, & error)) {
& Nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; / * Terugkeer in geval lus * /
& Nbsp; }
}
Steunt "slimme" queries. Wanneer ingeschakeld in de kern resolver, zal query's voor NS, MX, en SRV-records altijd proberen om de RDATA canonieke hostnaam op te lossen in een A record. Hosts die niet in-bailiwick en / of waarvoor de gezaghebbende server biedt geen lijm worden automagisch opgelost en keerde terug in het antwoord pakket. Ondersteund voor zowel stomp en recursieve resolver instantiaties. "Slimme" resolutie is ook ingebouwd in het adres info (dwz getaddrinfo ()) API.
Gerandomiseerde bronpoorten en QIDs.
Non-blocking, re-toetreder, iterator gebaseerd getaddrinfo () interface: dns_ai_open (), dns_ai_nextent (), dns_ai_close (). Semantisch net als getaddrinfo (), maar neemt ook een type record. Itereren over (struct addrinfo) objecten, zelfs als het bevragen van een MX, NS, SRV (et al) gastheer. Er is minder latency doen "slimme" query Zo Aangezien alle recursie kan worden uitgesteld (en waarschijnlijk niet nodig, aangezien de eerste host waarschijnlijk voldoende).

Wat is nieuw in deze release:.

  • Fix bug waar dns_srv_print () niet in geslaagd een slepende NUL karakter af te drukken

Wat is nieuw in versie 20100813:

  • socket.c toevoegen in contrib /. Ik gebruik en de ontwikkeling van deze voor een jaar of zo binnen andere projecten. Conceptueel is het een simpele wrapper rond de BSD sockets API die DNS lookups en SSL-onderhandeling handvatten transparant en asynchroon.
  • Na het aanmaken van een stopcontact met so_open (), de beller stelt de juiste modi, bv so_connect () en so_starttls (). De beller kan dan wachten tot ze te voltooien (ze zullen EAGAIN terugkeren indien nodig), of meer gunstig negeren het resultaat en direct naar een poging leest en schrijft. Fouten van de vorige staten, waaronder EAGAIN, zal worden teruggegeven op een lees- of schrijf pogingen tot die staten voltooid zijn.
  • Gebruik so_pollfd () en so_events () net als de dns.c tegenhangers. Zij keren respectievelijk de juiste beschrijving en actievlaggen afhankelijk van interne toestand uitvoert. Het verzoek kan alleen maar zorgen te maken over de afgifte logische lees / schrijf-operaties.

Wat is nieuw in versie 20100709:

  • Fix MinGW bouwen door het toevoegen van interne dns_strsep () en DNS_ETIMEDOUT.

Wat is nieuw in versie 20100708:

  • Controleer de geldigheid van de lengte geretourneerd door dns_d_expand () voordat het passeren van het als de bron lengte dns_d_cleave () aan de binnenkant van dns_hints_query () anders zouden we een ongeldige read doen. Dankzij Anoniem.
  • tag rel-20100708 (d493a0f7d8f1d67ef312a7ca3e142660895b32d8).
  • OPMERKING: Vergeten te DNS_V_REL bump voor de 20100708 release, en omdat de nieuwe stats-interface was in de kofferbak ook moeten hebben gestoten DNS_V_API. Nu te laat.

Wat is nieuw in versie 20100515:

  • Loop dan nameservers resolv.conf: options.attempts tijden.
  • Dwing SPF canonieke naam querylimieten bij het uitvoeren van MX en PTR-mechanismen.
  • dns_p_study () om te leren en de winkel gedeelte reeksen toevoegen.
  • Blijf op de hoogte van de sectie varieert in dns_p_push ().
  • Refactor dns_p_merge () om de prestaties op grote pakketten te verbeteren.
  • dns_p_make () toevoegen voor malloc'ing en initialiseren van een nieuw pakket.
  • Dwing SPF querylimieten termijn. Veranderde de lay-out van struct spf_limits in afwachting van de handhaving van beperkingen op MX en PTR gastheer vragen.
  • Fix bug in de VM instructie generator voor sprong indices van meer dan 255.

Wat is nieuw in versie 20100416:.

  • Toegevoegd SSHFP ondersteuning
  • tag rel-20100416 (5bd9963e693510e485a1f081f6c98a95d84debfe).
  • 90% passage tarief op de OpenSPF testset. Behoefte om time-outs te simuleren om de TempError tests moeten doorstaan. Sommige van de grammatica tests zijn discutabel.
  • Toegevoegd OpenSPF YAML testsuite processor. Vereist libyaml.

Wat is nieuw in versie 0.5:

  • Fix bug waar we niet fallback van & quot; bind & quot ; bestand & quot; methode & quot; methode als de recurse vlag werd uitgeschakeld.
  • Zoek generator kan veranderd zijn de qname. Dus, in dns_ai_nextent () canonicalize de qname uit het antwoord, niet de qname oorspronkelijk aan de resolver ingediend.

Vergelijkbare software

dnstracer
dnstracer

2 Jun 15

dnspython
dnspython

14 Apr 15

BIND
BIND

20 Jan 18

afraid
afraid

14 Apr 15

Reacties op dns.c

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!