c-ares adalah pustaka penyelesai DNS (stub) modern, yang ditulis dalam C. Ini menyediakan antarmuka untuk kueri asinkron saat mencoba mengabstraksi seluk-beluk protokol DNS yang mendasarinya. Awalnya ditujukan untuk aplikasi yang perlu melakukan kueri DNS tanpa memblokir, atau perlu melakukan beberapa kueri DNS secara paralel.
Salah satu tujuan c-ares adalah menjadi penyelesai DNS yang lebih baik daripada yang disediakan oleh sistem Anda, apa pun sistem yang Anda gunakan. Kami merekomendasikan penggunaan pustaka c-ares di semua aplikasi jaringan meskipun sasaran awal resolusi asinkron tidak diperlukan untuk aplikasi Anda.
c-ares akan dibuat dengan kompiler C89 apa pun dan berlisensi MIT, sehingga cocok untuk perangkat lunak gratis dan komersial. c-ares berjalan di Linux, FreeBSD, OpenBSD, MacOS, Solaris, AIX, Windows, Android, iOS dan banyak lagi sistem operasi lainnya.
c-ares memiliki fokus yang kuat pada keamanan, mengimplementasikan parser aman dan pembuat data yang digunakan di seluruh kode, sehingga menghindari banyak kesalahan umum pada pustaka C lainnya. Melalui pengujian otomatis dengan kerangka pengujian kami yang ekstensif, c-ares terus-menerus divalidasi dengan serangkaian penganalisis statis dan dinamis, serta terus-menerus dikaburkan oleh OSS Fuzz.
Meskipun c-ares telah ada selama lebih dari 20 tahun, c-ares telah dipelihara secara aktif baik sehubungan dengan RFC DNS terbaru maupun diperbarui untuk mengikuti praktik terbaik terbaru sehubungan dengan standar pengkodean C.
Kode sumber lengkap dan riwayat revisi tersedia di repositori GitHub kami. Rilisan kami yang ditandatangani tersedia di arsip rilis.
Lihat file INSTALL.md untuk informasi pembuatan.
Masalah dan Permintaan Fitur harus dilaporkan ke halaman Masalah GitHub kami.
Diskusi seputar c-ares dan penggunaannya, diadakan di Diskusi GitHub atau Milis. Arsip milis di sini. Tolong, jangan mengirimkan surat kepada relawan secara pribadi tentang c-ares.
Kerentanan keamanan ditangani sesuai dengan Prosedur Keamanan kami, silakan kirim email ke c-ares-security di haxx.se jika Anda mencurigainya.
Kunci GPG primer untuk pelepas c-ares (beberapa Pelepas ditandatangani dengan subkunci):
27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2
DA7D64E4C82C6294CB73A20E22E3D13B5411B7CA
Untuk mengimpor set lengkap kunci rilis tepercaya (termasuk subkunci yang mungkin digunakan untuk menandatangani rilis):
gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 # Daniel Stenberg
gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys DA7D64E4C82C6294CB73A20E22E3D13B5411B7CA # Brad House
Untuk setiap rilis c-ares-XYZtar.gz
terdapat file c-ares-XYZtar.gz.asc
terkait yang berisi tanda tangan terpisah untuk rilis tersebut.
Setelah mengambil semua kemungkinan kunci penandatanganan yang valid dan memuat ke dalam gantungan kunci Anda sesuai bagian sebelumnya, Anda cukup menjalankan perintah di bawah ini pada paket yang diunduh dan tanda tangan yang dilepas:
% gpg -v --verify c-ares-1.29.0.tar.gz.asc c-ares-1.29.0.tar.gz
gpg: enabled compatibility flags:
gpg: Signature made Fri May 24 02:50:38 2024 EDT
gpg: using RSA key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2
gpg: using pgp trust model
gpg: Good signature from " Daniel Stenberg <[email protected]> " [unknown]
gpg: WARNING: This key is not certified with a trusted signature !
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 27ED EAF2 2F3A BCEB 50DB 9A12 5CC9 08FD B71E 12C2
gpg: binary signature, digest algorithm SHA512, key algorithm rsa2048
Lihat Fitur
AAAA
.SRV
.NAPTR
.TLSA
.SVCB
dan HTTPS
.URI
.CAA
.SIG0
. Hanya parser dasar, bukan implementasi penuh..onion
dengan NXDOMAIN
.localhost
/ .localhost
.ares_getaddrinfo()
.