Лучший способ разрешить запись DNS TXT в системах типа Linux / Unix / Posix / BSD? - PullRequest
1 голос
/ 23 февраля 2010

Я хочу написать какой-нибудь переносимый (насколько это возможно) код C для поиска записей TXT в DNS. Я также предпочел бы не иметь зависимостей от библиотек, которые не поставляются с машиной.

Каков наилучший способ сделать это на Unix-подобных машинах с использованием стандартных библиотек?

Я нашел пример кода, который работает с использованием libresolv, но он не реентерабелен (не безопасен для потоков) и очень уродлив. Есть ли лучший способ?

А как насчет Windows? Если бы был способ, который работал бы там также, это было бы прекрасно.

Ответы [ 2 ]

4 голосов
/ 23 февраля 2010

вы можете использовать res_query , который использует стандарт libresolv.

Здесь есть пример от clamav:

if((len = res_query(domain, C_IN, T_TXT, answer, PACKETSZ)) < 0) {
  mprintf("@Can't query %s\n", domain);
  return NULL;
}
1 голос
/ 24 февраля 2010
...