dns.c

Skjermbilde programvare:
dns.c
Prog.varedetaljer:
Versjon: 20120805
Last opp dato: 20 Feb 15
Utvikler: William Ahern
Lisens: Gratis
Popularitet: 29

Rating: nan/5 (Total Votes: 0)

dns.c er en innadgående, rekursiv og ikke-blokkerende DNS resolver bibliotek som ligger i en sincle .c fil. Fungerer også perfekt som en spire resolver.
Kjerne API bygget rundt selve DNS pakken; som generisk som DNS selv. Dette gjør spørring og manipulere andre enn A, AAAA, og PTR mye enklere poster.
Startet på nytt rekorditeratorer med brukerdefinert sortering. Itera løpet MX eller SRV-poster i semantisk rekkefølge (dvs. preferanse og prioriterte) er så enkelt som:
dns_rr_foreach (& rr, pakke, .type = DNS_T_SRV, .sort = & dns_rr_i_order) {
& Nbsp; ...
}
Eller i en startet på nytt måte:
bryteren (my-> tilstand) {
case 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-> tilstand ++;
case 1:
& Nbsp; while (dns_rr_grep (& rr, 1, og my-> rr_i, my-> pakke, og feil)) {
& Nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; / * Retur til hendelsen bue * /
& Nbsp; }
}
Støtter "smarte" spørringer. Når den er aktivert i kjernen omformer, vil spørringer for NS, MX, og SRV-poster alltid forsøke å løse RDATA kanoniske vertsnavnet til en A-post. Verter som ikke er i-bailiwick og / eller som den autoritative serveren ikke gir limet er automagically løst og returneres i svarpakken. Støttet for både spire og rekursive resolver instantiations. "Smart" oppløsning er også bygget inn i adresse info (dvs. getaddrinfo ()) API.
Randomisert kildeporter og QIDs.
Ikke-blokkerende, re-deltaker, iterator-basert getaddrinfo () grensesnitt: dns_ai_open (), dns_ai_nextent (), dns_ai_close (). Semantisk akkurat som getaddrinfo (), men også tar en oppføringstype. Iterere over (struct addrinfo) objekter selv når spørring en MX, NS, SRV (m.fl.) vert. Det er mindre ventetid gjør "smarte" søk på denne måten, siden enhver nødvendig rekursjon kan bli utsatt (og etter all sannsynlighet ikke vil være nødvendig, siden den første verten er sannsynligvis tilstrekkelig).

Hva er ny i denne utgaven:.

  • Fix bug der dns_srv_print () ikke klarte å skrive ut en etterfølgende NUL karakter

Hva er nytt i versjon 20100813:

  • Legg socket.c inn contrib /. Jeg har brukt og utvikle dette for et år eller så i løpet av andre prosjekter. Konseptuelt er det en enkel wrapper rundt BSD stikkontakter API som håndterer DNS-oppslag og SSL forhandling transparent og asynkront.
  • Når du har opprettet en stikkontakt med so_open (), setter den som ringer de aktuelle modi, f.eks so_connect () og so_starttls (). Den som ringer kan deretter vente for dem å fullføre (de vil returnere EAGAIN om nødvendig), eller mer praktisk ignorere resultatet og gå direkte til å forsøke leser og skriver. Feil fra tidligere stater, inkludert EAGAIN, vil bli returnert på noen lese- eller skrive forsøk inntil disse statene er fullført.
  • Bruk so_pollfd () og so_events () akkurat som dns.c kolleger. De kommer tilbake, henholdsvis de riktige descriptor og event flagg avhengig av hvilken intern tilstand utfører. Søknaden trenger bare bekymre deg for å utstede logiske lese- / skriveoperasjoner.

Hva er nytt i versjon 20100709:

  • Fix MinGW bygge ved å legge interne dns_strsep () og DNS_ETIMEDOUT.

Hva er nytt i versjon 20100708:

  • Sjekk gyldigheten av lengden returnert av dns_d_expand () før passerer det som kilde lengde til dns_d_cleave () på innsiden av dns_hints_query () annet vi kan gjøre en ugyldig lese. Takk til Anonym.
  • Tag rel-20100708 (d493a0f7d8f1d67ef312a7ca3e142660895b32d8).
  • MERK: Glemte å bump DNS_V_REL for 20100708 utgivelsen, og fordi den nye statistikken grensesnittet var i bagasjerommet også skulle ha dunket DNS_V_API. For sent nå.

Hva er nytt i versjon 20100515:

  • Loop løpet navneservere resolv.conf: options.attempts ganger.
  • Håndheve SPF kanonisk navn spør grenser når du kjører MX og PTR mekanismer.
  • Legg dns_p_study () for å lære og butikken delen serier.
  • Hold styr på delen varierer i dns_p_push ().
  • refactor dns_p_merge () for å forbedre ytelsen på store pakker.
  • Legg dns_p_make () for malloc'ing og initialisere en ny pakke.
  • Håndheve SPF sikt spør grenser. Endret utformingen av struct spf_limits i påvente av å håndheve grenser for MX og PTR vertsspørringer.
  • Fix bug i VM instruksjon generator for hopp indekser av mer enn 255.

Hva er nytt i versjon 20100416:.

  • Lagd SSHFP støtte
  • Tag rel-20100416 (5bd9963e693510e485a1f081f6c98a95d84debfe).
  • 90% passasje rente på OpenSPF testsuite. Trenger du å simulere tidsavbrudd for å passere TempError tester. Noen av de grammatiske testene er diskutabelt.
  • Lagd OpenSPF YAML test suite prosessor. Krever libyaml.

Hva er nytt i versjon 0.5:

  • Fix bug der vi ikke fallback fra & quot; bind & quot ; metode til & quot; fil & quot; metoden hvis recurse flagget ble deaktivert.
  • Søk generator kan ha endret QName. Så, i dns_ai_nextent () canonicalize den QName fra svaret, ikke QName opprinnelig sendt til resolver.

Lignende programvare

adsuck
adsuck

20 Feb 15

redWall Firewall
redWall Firewall

11 May 15

ldns
ldns

3 Jun 15

Kommentarer til dns.c

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!