dns.c

Software skärmdump:
dns.c
Mjukvaruinformation:
Version: 20120805
Ladda upp dagen: 20 Feb 15
Utvecklare: William Ahern
Licens: Gratis
Popularitet: 84

Rating: nan/5 (Total Votes: 0)

dns.c är en inåtgående, rekursiv och icke-blockerande DNS resolver bibliotek som är bosatt i en sincle .c fil. Fungerar också utmärkt som en stöta resolver.
Kärn API uppbyggd kring faktiska DNS paket; så generisk som DNS själv. Detta gör att fråga och manipulera andra än A, AAAA, och PTR mycket enklare bokföring.
Att starta om rekord iteratorer med användardefinierade sortering. Iterera över MX eller SRV-poster i semantisk ordning (dvs. preferens och prioriterade) är lika enkelt som:
dns_rr_foreach (& rr, paket, .type = DNS_T_SRV, .sort = & dns_rr_i_order) {
& Nbsp; ...
}
Eller i ett att starta om sätt:
omkopplare (min-> state) {
Vid 0:
& Nbsp; dns_rr_i_init (& min-> rr_i);
& Nbsp; min-> rr_i.type = DNS_T_SRV;
& Nbsp; min-> rr_i.sort = & dns_rr_i_order;
& Nbsp; min-> state ++;
fall 1:
& Nbsp; medan (dns_rr_grep (& rr, 1, & min-> rr_i, min-> paket, och fel)) {
& Nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; / * Återkomst i Slinga * /
& Nbsp; }
}
Stöder "smarta" frågor. När aktiverat i kärn resolver, kommer frågor för NS, MX och SRV-poster alltid försöka lösa RDATA kanoniska värdnamn till en A-post. Värdar som inte är i-bailiwick och / eller för vilka den auktoritativa servern inte ger lim är automagiskt lösas och returneras i svaret paketet. Stöds för både påbörjad och rekursiva resolver instansieringar. "Smart" upplösning är också inbyggd i adress info (dvs getaddrinfo) () API.
Randomiserad källportar och QIDs.
Icke-blockerande, inåtgående, iterator baserad getaddrinfo () gränssnitt: dns_ai_open (), dns_ai_nextent (), dns_ai_close (). Semantiskt precis som getaddrinfo (), men tar också en typ rekord. Iterera över (struct addrinfo) objekt även när fråge en MX, NS, SRV (et al) värd. Det finns mindre latency gör "smarta" frågor på detta sätt, eftersom alla nödvändiga rekursion kan skjutas upp (och med all sannolikhet inte kommer att vara nödvändigt, eftersom den första värden sannolikt räcker).

Vad är ny i den här versionen:.

  • Fix bugg där dns_srv_print () misslyckades med att skriva ut en avslutande NUL tecken

Vad är nytt i version 20100813:

  • Lägg socket.c i contrib /. Jag har använt och utveckla detta för ett år eller så inom andra projekt. Begrepps det är en enkel wrapper runt BSD sockets API som hanterar DNS-uppslagningar och SSL förhandling öppet och asynkront.
  • När du har skapat ett uttag med so_open (), fastställer den som ringer lämpliga lägen, t.ex. so_connect () och so_starttls (). Den som ringer kan då vänta på dem att slutföra (de ska återvända EAGAIN om det behövs), eller mer bekvämt ignorera resultatet och gå direkt till försök läser och skriver. Fel från tidigare stater, däribland EAGAIN, kommer att återlämnas vid varje läs- eller skrivförsök tills dessa stater är klar.
  • Använd so_pollfd () och so_events () precis som dns.c motsvarigheter. De återvänder respektive lämpliga beskrivnings och händelseflaggor beroende på vilken inre tillstånd körs. Ansökan behöver bara oroa utfärda logiska läs / skrivoperationer.

Vad är nytt i version 20100709:

  • Fix MinGW bygga genom att lägga intern dns_strsep () och DNS_ETIMEDOUT.

Vad är nytt i version 20100708:

  • Kontrollera giltigheten av längden som returneras av dns_d_expand () innan passerar den som källa längd till dns_d_cleave () insida dns_hints_query () annat vi kan göra en ogiltig läsning. Tack vare Anonym.
  • Tag rel-20100708 (d493a0f7d8f1d67ef312a7ca3e142660895b32d8).
  • ANM: Glömde att bump DNS_V_REL för 20100708 frisättning, och eftersom nya statistik gränssnittet var i bålen också borde ha stötte DNS_V_API. För sent nu.

Vad är nytt i version 20100515:

  • Loop över namnservrar resolv.conf: options.attempts gånger.
  • Enforce SPF kanoniska namn frågegränser när man kör MX och PTR mekanismer.
  • Lägg dns_p_study () för att lära och lagra sektionsintervall.
  • Håll koll på avsnitt varierar i dns_p_push ().
  • Refactor dns_p_merge () för att förbättra prestanda på stora paket.
  • Lägg dns_p_make () för malloc'ing och initiering ett nytt paket.
  • Enforce SPF sikt frågegränser. Ändrade layouten för struct spf_limits i väntan på driva gränser för MX och PTR värd frågor.
  • Fix bugg i VM instruktionen generator för hoppindex för mer än 255.

Vad är nytt i version 20100416:.

  • Lade SSHFP support
  • Tag rel-20100416 (5bd9963e693510e485a1f081f6c98a95d84debfe).
  • 90% passage räntan på OpenSPF testsvit. Behöver för att simulera timeout för att klara TempError tester. Några av de grammatiska tester är diskutabelt.
  • Lade OpenSPF YAML testsvit processor. Kräver libyaml.

Vad är nytt i version 0.5:

  • Fix bugg där vi inte falla tillbaka från & quot; bind & quot ; metod till & quot; fil & quot; metod om den recurse flaggan var inaktiverad.
  • Sök generator kan ha ändrat QName. Så i dns_ai_nextent () canonicalize QName av svaret, inte qname ursprungligen lämnats till analys.

Liknande mjukvara

DynDNS
DynDNS

3 Jun 15

adsuck
adsuck

20 Feb 15

Kommentarer till dns.c

Kommentarer hittades inte
Kommentar
Slå på bilder!