DNS.C. דירוג וסיכום
- אתר האינטרנט של המוציא לאור:
- http://25thandclement.com/~william/projects/zoned.html
DNS.C. תגים
DNS.C. תיאור
ריצה רקורסיבית, reentrant dns DNS.c הוא reentrant, רקורסיבי ולא חסימת DNS ספריית DNS המתגוררת בקובץ כינוס. גם עובד נהדר כמו resolver.Core API שנבנה סביב מנות DNS בפועל; כגנרית כמו DNS עצמה. זה עושה שאילתה ומניפולציה רשומות מלבד AAAA, ו- PTR הרבה יותר קל. Iterating מעל MX או רשומות SRV בסדר סמנטי (כלומר העדפה ועדיפות) הוא פשוט כמו: DNS_RR_Foreach (RR, Packet, .sort = dns_t_srv, .sort = dns_rr_i_order) {...} או בצורה מופעלת: מתג (שלי -> המדינה) {CASE 0: DNS_RR_I_INIT (MY-> RR_I); שלי-> rr_i.type = dns_t_srv; שלי-> rr_i.sort = dns_r_i_order; MY-> + + +; מקרה 1: בעוד (DNS_RR_GREP (RR, 1, My-> RR_I, MY-> Packet, שגיאה)) {... / * לחזור לולאה האירוע * /}} תומך שאילתות "חכמות". כאשר מופעלת במשחקי הליבה, שאילתות עבור NS, MX ו- SRV תניסו תמיד לפתור את שם המארח הקנוני של RDATA לרשומה. המארחים שאינם in-bailiwick ו / או אשר השרת הסמכותי אינו מספק דבק הם נפתר אוטומטית וחזר בתשובה מנות. נתמכים הן בבניית מתנפחות בדבק והרוקסיביות. רזולוציה "Smart" מובנית גם בפרטי הכתובת (IE Getaddrinfo ()) API.Randomized יציאות מקור Qids.non-blocking, re-enterlant, iterator מבוסס ממשק: dns_ai_open (), dns_ai_close (), dns_ai_close (). סמנטית בדיוק כמו getaddrinfo (), אבל גם לוקח סוג שיא. ITerate מעל (struct addrinfo) אובייקטים גם כאשר שאילתה MX, NS, SRV (et al) המארח. יש פחות חביון עושה "חכם" שאילתות בדרך זו, שכן כל recursion הכרחי ניתן לדחות (ובכל הסבירות לא יהיה צורך, שכן המארח הראשון סביר מספיק). מה חדש במהדורה זו: · תקן באג שבו לא נפלבקו מ "Bind" שיטה ל "קובץ" שיטה אם הדגל recurse הושבת. · מחולל החיפוש עשוי לשנות את QNAME. אז, ב DNS_AI_NEXTRENT () Canonicalize את QName מהתשובה, לא Qname הוגשה במקור לרוחב.
DNS.C. תוכנה קשורה