dns.c

Скріншот програми:
dns.c
Дані програми:
Версія: 20120805
Дата завантаження: 20 Feb 15
Розробник: William Ahern
Ліцензія: Безкоштовно
Популярність: 29

Rating: nan/5 (Total Votes: 0)

dns.c є повторно, рекурсивний і без блокування бібліотека визначника DNS, який знаходиться у файлі sincle .c. Також прекрасно працює як пень Клієнт.
API ядра побудовані навколо фактичного пакету DNS; як загальний, як і сама DNS. Це робить запитів і маніпулювання, крім A, AAAA, і PTR набагато легше записів.
Перезапускає запис ітератори з користувальницькою сортування. Перебір MX або SRV записів у семантичній порядку (тобто привілейованих і пріоритет) так само просто, як:
dns_rr_foreach (і р-р, пакет, .type = DNS_T_SRV, .sort = & dns_rr_i_order) {
І NBSP; ...
}
Або в поновленням чином:
перемикач (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 (і р-р, 1, і my-> rr_i, my-> пакет, і помилка)) {
І NBSP; & NBSP; & NBSP; ...
І NBSP; & NBSP; & NBSP; / * Повернення в петлю подія * /
І NBSP; }
}
Підтримка "розумні" питання. При включенні в основний распознаватель, запити для NS, MX, і записи SRV завжди буде намагатися вирішити RDATA ім'я канонічне вузла в запису A. Господарі, котрі не-вотчинах і / або для яких авторитетний сервер не надає клеєм автоматично вирішені, і повертаються у відповідь пакета. Підтримується для заглушки і распознаватель примірників. "Розумний" дозвіл також побудований в адресному інформації (тобто getaddrinfo ()) API.
Рандомізоване джерело порти і QIDS.
Неблокіруемая, Реентрантная, итератор на основі getaddrinfo () інтерфейс: dns_ai_open (), dns_ai_nextent (), dns_ai_close (). Семантично само, як getaddrinfo (), але також бере тип запису. Перебору (структура addrinfo) об'єктів, навіть якщо запиту до MX, NS, SRV (та ін) хазяїна. Існує менша затримка робити "розумні" питання таким чином, так як будь-яка необхідна рекурсія може бути відкладена (і, по всій видимості, не буде необхідності, оскільки перший хост, швидше за все, достатньо).

Що новий У цьому випуску :.

  • Виправлена ​​помилка, де dns_srv_print () не друкувати завершальний нульовий символ

Що нового у версії 20100813:

  • Додати socket.c в CONTRIB /. Я використовую і розвитку цього протягом року або близько того в рамках інших проектів. Концептуально це просто оболонка навколо BSD Sockets API, який обробляє запити на перегляд DNS і SSL переговори прозоро і в асинхронному режимі.
  • Після створення сокета з so_open (), що викликає встановлює відповідні режими, наприклад, so_connect () і so_starttls (). Абонент може чекати їх, щоб закінчити (вони повернуться EAGAIN при необхідності), або більш зручно ігнорувати результат і перейти безпосередньо до спроби читає і пише. Помилки з попередніх станів, у тому числі EAGAIN, будуть повернуті на будь-якому читання або запису спроб, поки ці держави не є повними.
  • Використання so_pollfd () і so_events () так само, як dns.c колегами. Вони повертаються, відповідно, відповідні дескрипторів і подій прапори залежно від яких внутрішній стан виконання. Додаток потрібно турбуватися тільки про видачу логічні операції читання / запису.

Що нового у версії 20100709:

  • Fix MinGW побудувати, додавши внутрішній dns_strsep () і DNS_ETIMEDOUT.

Що нового у версії 20100708:

  • Перевірте правильність довжини возвращаемого dns_d_expand () перед передачі його в якості початкового тексту для dns_d_cleave () усередині dns_hints_query (), інакше ми могли б зробити невірний читання. Завдяки Anonymous.
  • Тег отн-20100708 (d493a0f7d8f1d67ef312a7ca3e142660895b32d8).
  • ПРИМІТКА: Забули підняти DNS_V_REL для випуску 20100708, й тому, що Новий інтерфейс Статистика було в багажнику повинні також наткнувся DNS_V_API. Занадто пізно.

Що нового у версії 20100515:

  • Цикл по NameServers resolv.conf: options.attempts раз.
  • Примусово SPF канонічне ім'я межі запиту при запуску MX і PTR механізми.
  • Додати dns_p_study (), щоб дізнатися і діапазони магазині розділ.
  • Слідкуйте розділу коливається в dns_p_push ().
  • Refactor dns_p_merge (), щоб підвищити продуктивність на великих пакетів.
  • Додати dns_p_make () для malloc'ing та ініціалізації нового пакета.
  • Примусово SPF обмеження терміну запиту. Змінено розташування структури spf_limits в очікуванні дотримання обмежень на MX і PTR приймаючих запитів.
  • Виправлена ​​помилка в інструкції генератора VM для стрибка індексів більш ніж 255.

Що нового у версії 20100416 :.

  • Додана підтримка SSHFP
  • Тег отн-20100416 (5bd9963e693510e485a1f081f6c98a95d84debfe).
  • 90% ставка перехід на тестовому наборі OpenSPF. Потрібно, щоб імітувати тайм-аути пройти TempError випробування. Деякі з граматики випробувань є спірними.
  • Додана OpenSPF YAML набір тестів процесора. Потрібно libyaml.

Що нового у версії 0.5:

  • Виправлена ​​помилка, де ми не резервним і Quot; зв'язуються і Quot ; спосіб & Quot; файл & Quot; метод, якщо рекурсивно прапор був відключений.
  • Пошук генератор, можливо, змінив QName. Так, в dns_ai_nextent () канонізувати в QName від відповіді, а не QNAME спочатку представлений Клієнт.

Схожі програми

hrdns
hrdns

14 Apr 15

SendIP
SendIP

3 Jun 15

DNS.py
DNS.py

2 Jun 15

xbaydns
xbaydns

3 Jun 15

dns.c

Коментар не знайдено
додати коментар
Включіть картинки!
Пошук за категоріями