dns.c

Software screenshot:
dns.c
Software detaljer:
Version: 20120805
Upload dato: 20 Feb 15
Udvikler: William Ahern
Licens: Gratis
Popularitet: 29

Rating: nan/5 (Total Votes: 0)

dns.c er en indadgående, rekursiv og ikke-blokerende DNS resolver bibliotek, der er bosat i en sincle .c fil. Også fungerer fint som en stub resolver.
Core API bygget op omkring selve DNS pakke; så generisk som DNS selv. Dette gør forespørge og manipulere andre end A, AAAA og PTR meget lettere poster.
Genstartes rekord iteratorer med brugerdefineret sortering. Iteration i MX eller SRV-poster i semantisk orden (dvs. Fortrinsret) er så enkel som:
dns_rr_foreach (& rr, pakke, .Type = DNS_T_SRV, .sort = & dns_rr_i_order) {
& Nbsp; ...
}
Eller i genstartes måde:
kontakt (My-> state) {
tilfælde 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-> state ++;
Case 1:
& Nbsp; while (dns_rr_grep (& rr, 1, & My-> rr_i, My-> pakke, og fejl)) {
& Nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; / * Afkast i event loop * /
& Nbsp; }
}
Understøtter "intelligente" forespørgsler. Når den er aktiveret i kernen resolver vil forespørgsler til NS, MX, og SRV-poster altid forsøge at løse RDATA kanoniske værtsnavn i en A-post. Værter, der ikke-Bailiwick og / eller for hvilke den autoritative server ikke giver lim er automagisk løst og returneres i svaret pakke. Understøttet for både stub og rekursive resolver instantieringer. "Smart" opløsning er også indbygget i adressen info (dvs. getaddrinfo ()) API.
Randomiseret kildeporte og QIDs.
Ikke-blokerende, indadgående, iterator-baserede getaddrinfo () interface: dns_ai_open (), dns_ai_nextent (), dns_ai_close (). Semantisk ligesom getaddrinfo (), men også tager en posttype. Gentage over (struct addrinfo) objekter, selv når forespørge en MX, NS, SRV (et al) vært. Der er mindre ventetid doing "smarte" forespørgsler på denne måde, da alle nødvendige rekursion kan udskydes (og efter al sandsynlighed ikke vil være nødvendigt, da den første vært er sandsynligvis tilstrækkeligt).

Hvad er nyt i denne udgivelse:.

  • Fix bug hvor dns_srv_print () undlod at udskrive en efterfølgende NUL tegn

Hvad er nyt i version 20100813:

  • Tilføj socket.c i contrib /. Jeg har brugt og udvikle dette i et år eller deromkring inden andre projekter. Begrebsmæssigt er det en simpel wrapper omkring BSD stikkontakter API, der håndterer DNS-opslag og SSL forhandling gennemsigtigt og asynkront.
  • Når du har oprettet en sokkel med so_open (), den, der ringer sætter de nødvendige tilstande, f.eks so_connect () og so_starttls (). Den, der ringer kan derefter vente for dem at gennemføre (de vil returnere EAGAIN om nødvendigt), eller mere bekvemt ignorere resultatet og gå direkte til at forsøge læser og skriver. Fejl fra de tidligere stater, herunder EAGAIN, vil blive returneret på en læse- eller skrive forsøg indtil disse stater er afsluttet.
  • Brug so_pollfd () og so_events () ligesom dns.c modstykker. De vender tilbage, henholdsvis de relevante deskriptor og event flag afhængigt af, hvilken interne tilstand udfører. Ansøgningen skal kun bekymre sig om at udstede logiske læse / skrive operationer.

Hvad er nyt i version 20100709:

  • Fix MinGW bygge ved at tilføje interne dns_strsep () og DNS_ETIMEDOUT.

Hvad er nyt i version 20100708:

  • kontrollere gyldigheden af ​​længden returneres af dns_d_expand () før passerer det som kilde længde dns_d_cleave () inde i dns_hints_query () ellers kan vi gøre en ugyldig læse. Takket være anonym.
  • Tag rel-20100708 (d493a0f7d8f1d67ef312a7ca3e142660895b32d8).
  • BEMÆRK: Glemte at bump DNS_V_REL for 20100708 udgivelse, og fordi den nye statistik grænseflade var i bagagerummet også burde have stødte DNS_V_API. For sent nu.

Hvad er nyt i version 20100515:

  • Loop løbet navneservere resolv.conf: options.attempts gange.
  • Gennemtving SPF kanonisk navn forespørgsel grænser, når du kører MX og PTR mekanismer.
  • Tilføj dns_p_study () for at lære og butikken del intervaller.
  • Hold styr på afsnit spænder i dns_p_push ().
  • Refactor dns_p_merge () for at forbedre ydeevnen på store pakker.
  • Tilføj dns_p_make () for malloc'ing og initialisering en ny pakke.
  • Gennemtving SPF sigt forespørgsel grænser. Ændret layoutet af struct spf_limits i forventning om at håndhæve grænserne for MX og PTR vært forespørgsler.
  • Fix fejl i VM instruktion generator for jump indeks på mere end 255.

Hvad er nyt i version 20100416:.

  • Tilføjet SSHFP støtte
  • Tag rel-20100416 (5bd9963e693510e485a1f081f6c98a95d84debfe).
  • 90% passage sats på OpenSPF test suite. Behov for at simulere timeouts at bestå TempError tests. Nogle af de grammatiske tests er diskutabel.
  • Tilføjet OpenSPF YAML test suite processor. Kræver libyaml.

Hvad er nyt i version 0.5:

  • Fix bug hvor vi ikke fallback fra & quot; bind & quot ; metode til & quot; fil & quot; metode, hvis den recurse flag blev slået fra.
  • Søg generator kan have ændret den Qname. Så i dns_ai_nextent () canonicalize den Qname af svaret, ikke Qname oprindeligt forelagt resolver.

Lignende software

hrdns
hrdns

14 Apr 15

afraid
afraid

14 Apr 15

HubDNS
HubDNS

11 May 15

Kommentarer til dns.c

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!