Принудительно не кэшированный gethostbyname () - PullRequest
1 голос
/ 12 июня 2009

Есть ли способ запретить функции gethostbyname () не читать кэш nscd в Linux?

Заранее спасибо!

Ответы [ 4 ]

2 голосов
/ 25 августа 2010

Вызовите res_init () перед gethostbyname (). Кажется, хорошо.

2 голосов
/ 12 июня 2009

Не совсем ответ, но вместо этого используйте getaddrinfo(3):)
Что касается nscd, то со страницы руководства nscd.conf(5):

enable-cache service <yes|no>
    Enables or disables the specified service cache.

Вам нужно выяснить, какой правильный service для DNS.

1 голос
/ 12 июня 2009

не используете nscd? :)

Серьезно, если вы полагаетесь на gethostbyname(), вы можете использовать libresolv и вместо этого позвонить res_gethostbyname().

Хотя это считается недостатком безопасности, по крайней мере, djb :

Рассмотрите возможность использования клиентской библиотеки djbdns . Очень безопасный, быстрый и надежный.

0 голосов
/ 12 июня 2009

Я не думаю, что gethostbyname действительно кэширует записи. Скорее всего, это ваш DNS-кеш.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...