dns.c

Sagteware kiekie:
dns.c
Sagteware besonderhede:
Weergawe: 20120805
Upload datum: 20 Feb 15
Ontwikkelaar: William Ahern
Lisensie: Gratis
Populariteit: 84

Rating: nan/5 (Total Votes: 0)

dns.c is 'n reentrant, rekursiewe en nie-blokkeer DNS resolver biblioteek wat woon in 'n sincle .c lêer. Werk ook baie goed as 'n stomp resolver.
Core API gebou rondom werklike DNS pakkie; as generiese as DNS self. Dit maak gebruik daarvan en manipuleer rekords anders as A, AAAA, en PTR baie makliker.
Restartable rekord iterators met die gebruiker-gespesifiseerde sorteer. Iterating oor MX of SRV rekords in die semantiese orde (dws voorkeur en prioriteit) is so eenvoudig soos:
dns_rr_foreach (& RR, pakkie, .type = DNS_T_SRV, .sort = & dns_rr_i_order) {
& Nbsp; ...
}
Of in 'n restartable wyse:
skakelaar (My-> staat) {
geval 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-> staat ++;
geval 1:
& Nbsp; terwyl (dns_rr_grep (& RR 1, & My-> rr_i, My-> pakkie & fout)) {
& Nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; / * Terugkeer in geval lus * /
& Nbsp; }
}
Ondersteun "slim" navrae. As dit aangeskakel is in die kern resolver, sal navrae vir NS, MX en SRV rekords altyd probeer om die RDATA kanonieke gasheer naam op te los in 'n A-rekord. Gashere wat nie in-bailiwick en / of waarvoor die gesaghebbende bediener verskaf nie gom is automagically opgelos en het in die antwoord pakkie. Ondersteun vir beide stomp en rekursiewe resolver instantiations. "Smart" resolusie is ook gebou in die adres inligting (dws getaddrinfo ()) API.
Ewekansige bron hawens en PGOOO.
Nie-blok, re-deelnemer, Iterator-gebaseerde getaddrinfo () koppelvlak: dns_ai_open (), dns_ai_nextent (), dns_ai_close (). Semanties net soos getaddrinfo (), maar neem ook 'n rekord tipe. Itereer oor (struct addrinfo) voorwerpe, selfs wanneer die gebruik daarvan 'n MX, NS, SRV (et al) gasheer. Daar is minder latency doen "slim" navrae op hierdie manier, aangesien enige nodige rekursie kan uitgestel word (en in alle waarskynlikheid sal nie nodig wees nie, aangesien die eerste gasheer is waarskynlik voldoende).

Wat is 'n nuwe in hierdie release:.

  • Fix fout waar dns_srv_print () nie 'n sleep NUL karakter te druk

Wat is nuut in die weergawe 20100813:

  • Voeg socket.c in contrib /. Ek het al met behulp van en die ontwikkeling van hierdie vir 'n jaar of so in ander projekte. Konseptueel dit is 'n eenvoudige wrapper rondom die BSD voetstukke API wat hanteer DNS-soektogte en SSL onderhandeling deursigtig en asynchroon.
  • Na die skep van 'n voetstuk met so_open (), die oproeper stel die toepaslike modes, bv so_connect () en so_starttls (). Die oproeper kan dan wag vir hulle om te voltooi (hulle sal terugkeer EAGAIN indien nodig), of meer gerieflik ignoreer die resultaat en beweeg direk na 'n poging om lees en skryf. Foute van die vorige state, insluitend EAGAIN, sal teruggestuur word op enige lees of skryf pogings tot op daardie state volledig is.
  • Gebruik so_pollfd () en so_events () net soos die dns.c eweknieë. Hulle keer terug, onderskeidelik, die toepaslike descriptor en gebeurtenis vlae afhangende van watter interne toestand is die uitvoering. Die aansoek hoef net bekommerd oor die uitreiking van logiese lees / skryf bedrywighede.

Wat is nuut in die weergawe 20100709:

  • Fix MinGW bou deur die byvoeging van interne dns_strsep () en DNS_ETIMEDOUT.

Wat is nuut in die weergawe 20100708:

  • Gaan die geldigheid van die lengte terug deur die dns_d_expand () voor om dit as die bron lengte dns_d_cleave () binnekant van dns_hints_query () anders wat ons kan 'n ongeldige lees doen. Danksy Anonymous.
  • Tag rel-20100708 (d493a0f7d8f1d67ef312a7ca3e142660895b32d8).
  • NOTA: vergeet DNS_V_REL te stamp vir die 20100708 release, en omdat die nuwe statistieke koppelvlak was in die stam ook moet gestamp het DNS_V_API. Te laat nou.

Wat is nuut in die weergawe 20100515:

  • Loop oor naambedieners resolv.conf: options.attempts tye.
  • Dwing SPF kanonieke naam navraag perke toe hardloop MX en PTR meganismes.
  • Voeg dns_p_study () om te leer en te stoor artikel reekse.
  • Bly op hoogte van artikel wissel in dns_p_push ().
  • Refactor dns_p_merge () prestasie op 'n groot pakkies te verbeter.
  • Voeg dns_p_make () vir malloc'ing en initializing 'n nuwe pakkie.
  • Dwing SPF term navraag grense. Verander die uitleg van struct spf_limits in afwagting van die handhawing van beperkings op MX en PTR gasheer navrae.
  • Fix fout in die VM opdrag generator vir spring indekse van meer as 255.

Wat is nuut in die weergawe 20100416:.

  • Added SSHFP ondersteuning
  • Tag rel-20100416 (5bd9963e693510e485a1f081f6c98a95d84debfe).
  • 90% gedeelte koers op die OpenSPF toets suite. Nodig outs te simuleer die TempError toetse te slaag. Sommige van die grammatika toetse is debatteerbaar.
  • Added OpenSPF YAML toets suite verwerker. Vereis libyaml.

Wat is nuut in die weergawe 0.5:

  • Fix fout waar ons nie terugval van & quot; bind & quot ; lêer & quot; metode & quot; metode as die recursief vlag is afgeskakel.
  • Search kragopwekker kan die qname verander het. So, in dns_ai_nextent () canonicalize die qname uit die antwoord, nie die qname oorspronklik na die resolver voorgelê.

Soortgelyke sagteware

Kommentaar te dns.c

Kommentaar nie gevind
Kommentaar te lewer
Draai op die foto!