dns.c

Software screenshot:
dns.c
Rincian Software:
Versi: 20120805
Tanggal Upload: 20 Feb 15
Pengembang: William Ahern
Lisensi: Gratis
Popularitas: 29

Rating: nan/5 (Total Votes: 0)

dns.c adalah reentrant, rekursif dan non-blocking DNS resolver library yang berada dalam file sincle c. Juga karya besar sebagai penyelesai rintisan.
API inti dibangun di sekitar paket DNS yang sebenarnya; sebagai generik sebagai DNS sendiri. Hal ini membuat query dan memanipulasi catatan selain A, AAAA, dan PTR jauh lebih mudah.
Record iterator restartable dengan yang ditentukan pengguna penyortiran. Iterasi MX atau catatan SRV dalam rangka semantik (yaitu preferensi dan prioritas) adalah yang sederhana seperti:
dns_rr_foreach (& rr, paket, .type = DNS_T_SRV, .Sort = & dns_rr_i_order) {
& Nbsp; ...
}
Atau dengan cara restartable:
switch (my-> negara) {
Kasus 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-> negara ++;
Kasus 1:
& Nbsp; sementara (dns_rr_grep (& rr, 1, & my-> rr_i, my-> paket, & error)) {
& Nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; / * Kembali ke acara lingkaran * /
& Nbsp; }
}
Mendukung "pintar" query. Ketika diaktifkan dalam penyelesai inti, permintaan untuk NS, MX, dan catatan SRV akan selalu berusaha untuk menyelesaikan RDATA nama host kanonik menjadi catatan A. Host yang tidak di-lingkungan pengetahuan dan / atau karena server otoritatif tidak menyediakan lem yang otomatis diselesaikan dan kembali dalam paket jawaban. Didukung untuk kedua rintisan dan instantiations penyelesai rekursif. "Smart" resolusi juga dibangun ke info alamat (yaitu getaddrinfo ()) API.
Acak port sumber dan QIDs.
Non-blocking, kembali peserta, berbasis iterator getaddrinfo () antarmuka: dns_ai_open (), dns_ai_nextent (), dns_ai_close (). Semantik seperti getaddrinfo (), tetapi juga membutuhkan tipe record. Iterate atas (struct addrinfo) objek bahkan ketika query MX, NS, SRV (et al) tuan rumah. Ada kurang latency melakukan "pintar" query dengan cara ini, karena setiap rekursi yang diperlukan bisa ditunda (dan kemungkinan besar tidak akan diperlukan, karena tuan rumah pertama mungkin cukup).

Apa baru dalam rilis ini:.

  • bug Fix mana dns_srv_print () gagal mencetak NUL karakter tertinggal

Apa yang baru dalam versi 20100813:

  • Tambahkan socket.c ke contrib /. Saya telah menggunakan dan mengembangkan ini selama satu tahun atau lebih dalam proyek-proyek lain. Secara konseptual itu pembungkus sederhana di sekitar soket BSD API yang menangani pencarian DNS dan negosiasi SSL transparan dan asynchronous.
  • Setelah membuat socket dengan so_open (), pemanggil menetapkan mode yang sesuai, misalnya so_connect () dan so_starttls (). Penelepon kemudian dapat menunggu mereka untuk menyelesaikan (mereka akan kembali EAGAIN jika perlu), atau lebih mudah mengabaikan hasil dan bergerak langsung ke mencoba membaca dan menulis. Kesalahan dari negara-negara sebelumnya, termasuk EAGAIN, akan dikembalikan pada membaca atau menulis upaya sampai negara-negara yang lengkap.
  • Gunakan so_pollfd () dan so_events () seperti rekan-rekan dns.c. Mereka kembali, masing-masing, deskripsi dan acara bendera yang tepat tergantung pada keadaan internal mengeksekusi. Aplikasi hanya perlu khawatir tentang mengeluarkan logis operasi baca / tulis.

Apa yang baru dalam versi 20100709:

  • Perbaiki MinGW membangun dengan menambahkan dns_strsep intern () dan DNS_ETIMEDOUT.

Apa yang baru dalam versi 20100708:

  • Periksa keabsahan panjang dikembalikan oleh dns_d_expand () sebelum melewati sebagai panjang sumber untuk dns_d_cleave () dalam dns_hints_query () lain kita mungkin melakukan membaca tidak valid. Berkat Anonymous.
  • Tag rel-20100708 (d493a0f7d8f1d67ef312a7ca3e142660895b32d8).
  • CATATAN: Lupa bertemu DNS_V_REL untuk rilis 20100708, dan karena antarmuka statistik baru itu di bagasi juga harus bertemu DNS_V_API. Terlambat sekarang.

Apa yang baru dalam versi 20100515:

  • Ulangi selama nameserver resolv.conf: options.attempts kali.
  • Menegakkan SPF nama kanonik batas permintaan ketika menjalankan MX dan PTR mekanisme.
  • Tambahkan dns_p_study () untuk belajar dan bagian toko rentang.
  • Melacak bagian berkisar di dns_p_push ().
  • Refactor dns_p_merge () untuk meningkatkan kinerja pada paket besar.
  • Tambahkan dns_p_make () untuk malloc'ing dan menginisialisasi paket baru.
  • Menegakkan batas permintaan jangka SPF. Mengubah tata letak spf_limits struct dalam mengantisipasi menegakkan batas pada permintaan host MX dan PTR.
  • bug Fix di VM instruksi generator indeks melompat lebih dari 255.

Apa yang baru dalam versi 20100416:.

  • Ditambahkan dukungan SSHFP
  • Tag rel-20100416 (5bd9963e693510e485a1f081f6c98a95d84debfe).
  • 90% tingkat bagian pada test suite OpenSPF. Perlu untuk mensimulasikan timeout untuk lulus tes TempError. Beberapa tes tata bahasa yang diperdebatkan.
  • prosesor test suite Ditambahkan OpenSPF YAML. Membutuhkan libyaml.

Apa yang baru dalam versi 0.5:

  • Fix bug di mana kita tidak mundur dari & quot; mengikat & quot ; Metode ke & quot; berkas & quot; Metode jika bendera recurse dinonaktifkan.
  • Cari Generator mungkin telah berubah QName tersebut. Jadi, dalam dns_ai_nextent () canonicalize QName dari jawaban, bukan QName awalnya disampaikan ke resolver.

Software yang serupa

OpenNetAdmin
OpenNetAdmin

12 May 15

Inadyn
Inadyn

19 Feb 15

Open DHCP Server
Open DHCP Server

14 Apr 15

CustomDNS
CustomDNS

2 Jun 15

Komentar untuk dns.c

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!