dns.c একটি sincle গ ফাইল মধ্যে থাকা যে রিকার্সিভ এবং অ ব্লক DNS সমাধানকারী লাইব্রেরি একটি পুন: প্রবেশ করে. এছাড়াও একটি শহরের উপর অসম্পূর্ণ নিবন্ধ সমাধানকারী হিসাবে কাজ করে মহান.
প্রকৃত DNS- র প্যাকেট চারপাশে নির্মিত কোর API- টি; DNS- র নিজেই হিসাবে জেনেরিক হিসাবে. এই গুলো অনুসন্ধান এবং একটি, AAAA, এবং PTR অনেক সহজ ছাড়া অন্য রেকর্ড সাধিত করে তোলে.
ব্যবহারকারী নির্দিষ্ট শ্রেণীবিভাজন সঙ্গে restartable রেকর্ড iterators. এমএক্স বা শব্দার্থিক যাতে SRV রেকর্ড (অর্থাৎ পক্ষপাত এবং অগ্রাধিকার) উপর Iterating হিসাবে হিসাবে সহজ:
dns_rr_foreach (ও RR, প্যাকেট, টাইপ = DNS_T_SRV, .sort = & dns_rr_i_order) {
& Nbsp; ...
}
অথবা একটি restartable পদ্ধতিতে:
সুইচ (my-> রাষ্ট্র) {
যদি 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-> রাষ্ট্র ++;
কেস 1:
& Nbsp; যখন (dns_rr_grep (ও RR, 1, ও my-> rr_i, my-> প্যাকেট, ও ত্রুটি)) {
& Nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; / * ইভেন্ট লুপ * মধ্যে রিটার্ন /
& Nbsp; }
}
"স্মার্ট" প্রশ্নের সমর্থন করে. কোর সমাধানকারী মধ্যে সক্রিয় করা হলে, এন, এমএক্স, এবং SRV রেকর্ড জন্য অনুসন্ধান সবসময় একটি একটি রেকর্ড মধ্যে RDATA ক্যানোনিকাল হোস্টনেম সমাধান করার প্রচেষ্টা করা হবে. প্রামাণিক সার্ভারের আঠালো প্রদান করে না না-বেলিফের অধিকারভুক্ত এলাকা এবং / অথবা যার জন্য যা হোস্ট automagically সমাধান এবং উত্তর প্যাকেট মধ্যে ফেরত দেওয়া হয়. শহরের উপর অসম্পূর্ণ নিবন্ধ এবং রিকার্সিভ সমাধানকারী instantiations উভয় জন্য সমর্থিত. "স্মার্ট" রেজল্যুশন এছাড়াও ঠিকানা তথ্য মধ্যে (অর্থাৎ getaddrinfo ()) এপিআই নির্মিত হয়.
উৎস পোর্ট এবং QIDs এলোমেলোভাবে.
অ ব্লক করা, পুনরায় প্রবেশক, iterator ভিত্তিক getaddrinfo () ইন্টারফেস: dns_ai_open (), dns_ai_nextent (), dns_ai_close (). শব্দার্থিক শুধু getaddrinfo মত (), কিন্তু একটি রেকর্ড টাইপ লাগে. (Struct, addrinfo) একটি এমএক্স, এন, SRV (এট) হোস্ট অনুসন্ধান, এমনকি যখন বস্তুর উপর বারবার. প্রয়োজনীয় recursion স্থগিত করা যেতে পারে (এবং প্রথম হোস্ট সম্ভবত যথেষ্ট, যেহেতু সব সম্ভাবনা, প্রয়োজন হবে না) থেকে এই ভাবে "স্মার্ট" প্রশ্ন করছেন কম লেটেন্সি, এখন পর্যন্ত.
কি এই রিলিজে নতুন :.
- dns_srv_print () একটি trailing nul অক্ষর প্রিন্ট করতে ব্যর্থ হয়েছে যেখানে বাগ ফিক্স করুন
সংস্করণ 20100813 নতুন কি:
- contrib / মধ্যে socket.c যোগ করুন. আমি ব্যবহার করে এবং এক বছরের জন্য তাই বা অন্যান্য প্রকল্প মধ্যে এই উন্নয়নশীল করছি. ধারণার দিক থেকে এটা স্বচ্ছভাবে এবং অ্যাসিঙ্ক্রোনাস DNS- অনুসন্ধান এবং SSL আলোচনা হ্যান্ডলগুলি যে বি এস ডি সকেট API- টি কাছাকাছি একটি সহজ আলোয়ান না.
- so_connect () এবং so_starttls (). আহ্বানকারী জন্য তাদের সম্পূর্ণ তারপর (প্রয়োজন হলে তারা EAGAIN ফিরে পাবেন) অপেক্ষা করুন, অথবা আরো সুবিধামত ফলে উপেক্ষা এবং সার্চ লিখেছেন প্রচেষ্টার সরাসরি স্থানান্তর করতে পারেন. EAGAIN সহ পূর্ববর্তী যুক্তরাষ্ট্র থেকে ত্রুটি, কোন পঠিত উপর ফিরে বা যারা রাজ্যের সম্পূর্ণ না হওয়া পর্যন্ত প্রচেষ্টা লিখতে হবে.
- শুধু dns.c প্রতিরূপ মত ব্যবহার so_pollfd () এবং so_events (). তারা যথাক্রমে, অভ্যন্তরীণ রাষ্ট্র নির্বাহ করা হয়, যা তার উপর নির্ভর করে উপযুক্ত বর্ণনাকারী এবং ইভেন্ট পতাকা ফিরে. আবেদন শুধুমাত্র লজিক্যাল পঠিত / লেখার অপারেশন প্রদানকারী সম্পর্কে চিন্তা করতে হবে.
So_open (), কলার উপযুক্ত মোড, যেমন সেট করে দিয়ে একটি সকেট তৈরি করার পর
সংস্করণ 20100709 নতুন কি:
- প্রতিটি ওয়েবসাইটেই PHP ল্যাঙ্গুয়েজ অভ্যন্তরীণ dns_strsep () এবং DNS_ETIMEDOUT যোগ করে নির্মাণ করা ঠিক করুন.
সংস্করণ 20100708 নতুন কি:
- dns_d_expand দ্বারা ফিরে দৈর্ঘ্য বৈধতা পরীক্ষা করে দেখুন () আগে dns_hints_query এর ভিতরে () dns_d_cleave উৎস দৈর্ঘ্য হিসাবে এটি পাশ () অন্যথায় আমরা অবৈধ পঠিত করতে পারে. বেনামী ধন্যবাদ.
- ট্যাগ এখন rel-20100708 (d493a0f7d8f1d67ef312a7ca3e142660895b32d8).
- নোট: 20100708 মুক্তির জন্য DNS_V_REL আচমকা ভুলে গেছেন, এবং নতুন পরিসংখ্যান ইন্টারফেস ট্রাঙ্ক ছিল, কারণ এছাড়াও DNS_V_API bumped করা উচিত. খুব দেরি হয়ে গেছে এখন.
সংস্করণ 20100515 নতুন কি:
- লুপ নেম resolv.conf ওভার: options.attempts বার.
- খালি SPF ক্যানোনিকাল নাম ক্যোয়ারী সীমা কার্যকরী.
- শিখতে dns_p_study () এবং দোকান অধ্যায় রেঞ্জ যোগ করুন.
- অধ্যায় সম্পর্কে অবগত থাকুন dns_p_push রেঞ্জ ().
- Refactor dns_p_merge () বড় প্যাকেট কর্মক্ষমতা উন্নত.
- malloc'ing এবং একটি নতুন প্যাকেট আরম্ভ জন্য dns_p_make () যুক্ত করুন.
- খালি SPF শব্দটি প্রশ্ন সীমা কার্যকরী. এমএক্স এবং PTR হোস্ট প্রশ্নের সীমা enforcing দলিল struct, spf_limits বিন্যাস পরিবর্তন হয়েছে.
- বাগ ফিক্স.
এমএক্স এবং PTR প্রক্রিয়া চলমান যখন
অধিক 255 লাফ সূচকের জন্য ভার্চুয়াল মেশিনের নির্দেশ জেনারেটর
সংস্করণ 20100416 নতুন কি:.
- যোগ করা হয়েছে SSHFP সমর্থন
- ট্যাগ এখন rel-20100416 (5bd9963e693510e485a1f081f6c98a95d84debfe).
- 90% উত্তরণ হার. TempError পরীক্ষা পাস সময়সীমা উত্তীর্ণ নকল করা প্রয়োজন. ব্যাকরণ পরীক্ষা কিছু তর্কসাপেক্ষ হয়.
- যোগ করা হয়েছে OpenSPF YAML পরীক্ষা স্যুট প্রসেসর. প্রয়োজন libyaml.
OpenSPF পরীক্ষা স্যুট
কি সংস্করণ 0.5 নতুন:
- আমরা, & quot থেকে fallback না যেখানে বাগ ফিক্স; বাঁধাই করা, & quot ; ফাইল, & quot; পদ্ধতি & quot; recurse পতাকা অক্ষম যদি পদ্ধতি.
- অনুসন্ধান জেনারেটর qname পরিবর্তিত হতে পারে. তাই, dns_ai_nextent মধ্যে () উত্তর, না মূলত সমাধানকারী জমা qname থেকে qname canonicalize.
পাওয়া মন্তব্যসমূহ না