54 if (status != ISC_R_SUCCESS || cfile == NULL)
58 token =
next_token (&val, (
unsigned *)0, cfile);
61 else if (token ==
EOL)
73 for (nd = domains; nd; nd = nd ->
next) {
75 if (!strcmp (nd ->
domain, dn))
90 (
unsigned *)0, cfile);
91 }
while (token !=
EOL);
94 "junk after domain declaration");
105 for (ns = name_servers; ns; ns = ns -> next) {
107 if (!memcmp (&ns -> addr.sin_addr,
114 log_fatal (
"No memory for nameserver %s",
118 memcpy (&ns ->
addr.sin_addr,
121 ns ->
addr.sin_len =
sizeof ns ->
addr;
123 ns ->
addr.sin_family = AF_INET;
124 ns ->
addr.sin_port = htons (53);
125 memset (ns ->
addr.sin_zero, 0,
126 sizeof ns ->
addr.sin_zero);
128 ns ->
rcdate = parse_time;
137 for (sp = name_servers; sp; sp = ns) {
139 if (sp ->
rcdate != parse_time) {
143 name_servers = sp ->
next;
154 for (dp = domains; dp; dp = nd) {
156 if (dp ->
rcdate != parse_time) {
160 domains = dp ->
next;
181 if (st.st_mtime > rcdate) {
const char * piaddr(const struct iaddr addr)
isc_result_t end_parse(struct parse **cfile)
void free_domain_search_list(struct domain_search_list *ptr, const char *file, int line)
int log_error(const char *,...) __attribute__((__format__(__printf__
struct domain_search_list * new_domain_search_list(char *file, int line) const
enum dhcp_token peek_token(const char **rval, unsigned *rlen, struct parse *cfile)
struct name_server * new_name_server(char *file, int line) const
struct name_server * next
void log_fatal(const char *,...) __attribute__((__format__(__printf__
enum dhcp_token next_token(const char **rval, unsigned *rlen, struct parse *cfile)
void read_resolv_conf(TIME parse_time)
struct name_server * first_name_server()
#define skip_token(a, b, c)
void skip_to_semi(struct parse *cfile)
char * parse_host_name(struct parse *cfile)
struct domain_search_list * domains
int parse_ip_addr(struct parse *cfile, struct iaddr *addr)
struct domain_search_list * next
#define _PATH_RESOLV_CONF
int parse_warn(struct parse *cfile, const char *fmt,...)
isc_result_t new_parse(struct parse **cfile, int file, char *inbuf, unsigned buflen, const char *name, int eolp)
struct name_server * name_servers