2009-06-11 5 views

答えて

2
本当に

ない答えが、代わりにgetaddrinfo(3)を使用:)
を限りnscdが懸念しているように、ここでnscd.conf(5)マニュアルのページからです:

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

あなたがDNSのために何を正しいserviceを見つける必要があるでしょうです。

+1

サービスは "ホスト" – hayalci

+0

です。ありがとう、私はそれらと遊んでからしばらくしています:) –

+0

getaddrinfo()のおかげで - それはキャッシュされていないnscd本当に(少なくともmanページで)? キャッシュを無効にしたくないのは、特定のアプリでのみ必要なためです。 – SyBer

1

nscdを使用しないでください。あなたはgethostbyname()に頼っている場合:)

真剣に、あなたはlibresolvを使用して、代わりにres_gethostbyname()を呼び出したいことがあります。

ことがdjbによってセキュリティ上の欠陥であると考えられているが、少なくとも:)

djbdns client libraryを使用することを検討してください。非常に安全で、速く、しっかりしています。

+0

ヒントはありがとうございますが、多少古いです(2001)。 また、ヘッダーレベルのライブラリ、またはライブラリが静的にリンクされていれば、どんな考えですか? – SyBer

+0

はい、古いですが、非常にしっかりしています。ヘッダーレベル/静的リンクについてはわかりませんが、ソースはパブリックドメインにありますので、実験をすることができます。 –

+0

そして、それはgethostbyname()より古くはありません: –

0

gethostbynameは本当にエントリをキャッシュするとは思わない。おそらくあなたのDNSキャッシュ自体です。

+0

実際にはnscdキャッシュが使用されます。この問題は、IPが変更されたときに発生します。つまり、LOT(デフォルトでは10分)の時間がかかってnscdがキャッシュをリフレッシュしてから再び解決しようとします。 – SyBer

1

gethostbyname()の前にres_init()を呼び出します。それは大丈夫と思われる。

関連する問題