Question

Je voudrais pouvoir ajouter des adresses IP pour les serveurs de noms DNS sur Linux à partir de mon programme C / C ++. Je suis sur une plate-forme quelque peu intégrée avec une lecture seule /etc/resolv.conf. Cela signifie que je ne peux pas simplement ajouter une ligne "NameServer xxx.xxx.xxx.xxx" dans le fichier sans une petite ruse. Y a-t-il des moyens propres de le faire à partir du code?

Je pourrais essayer Symlinking /etc/resolv.conf dans un fichier dans TMPFS, mais cela semble piraté et j'ai l'impression que je devrais pouvoir faire sans écrire dans un fichier.

Était-ce utile?

La solution

Jettes un coup d'oeil à nsaddr_list dans resolv.conf de votre libc.

Cette question dit:

Bien qu'il ne soit pas documenté, la façon courante de définir le résolveur utilisé est de mettre à jour _res.nsaddr_list.

Dans UCLIBC 0.9.31 spécifiquement il y a un Commentaire sur la ligne 533 dans resolv.c décrivant comment cela fonctionne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top