57 token =
next_token (&val, (
unsigned *)0, cfile);
60 else if (token ==
EOL)
74 if (!strcmp (nd ->
domain, dn))
89 (
unsigned *)0, cfile);
90 }
while (token !=
EOL);
93 "junk after domain declaration");
106 if (!memcmp (&ns -> addr.sin_addr,
113 log_fatal (
"No memory for nameserver %s",
117 memcpy (&ns ->
addr.sin_addr,
120 ns ->
addr.sin_len =
sizeof ns ->
addr;
122 ns ->
addr.sin_family = AF_INET;
123 ns ->
addr.sin_port = htons (53);
124 memset (ns ->
addr.sin_zero, 0,
125 sizeof ns ->
addr.sin_zero);
127 ns ->
rcdate = parse_time;
138 if (sp ->
rcdate != parse_time) {
153 for (dp =
domains; dp; dp = nd) {
155 if (dp ->
rcdate != parse_time) {
180 if (st.st_mtime > rcdate) {
struct name_server * new_name_server(char *file, int line) const
struct domain_search_list * new_domain_search_list(char *file, int line) const
void free_domain_search_list(struct domain_search_list *ptr, const char *file, int line)
enum dhcp_token peek_token(const char **rval, unsigned *rlen, struct parse *cfile)
enum dhcp_token next_token(const char **rval, unsigned *rlen, struct parse *cfile)
isc_result_t end_parse(struct parse **cfile)
isc_result_t new_parse(struct parse **cfile, int file, char *inbuf, unsigned buflen, const char *name, int eolp)
void skip_to_semi(struct parse *cfile)
int parse_warn(struct parse *cfile, const char *fmt,...)
char * parse_host_name(struct parse *cfile)
int parse_ip_addr(struct parse *cfile, struct iaddr *addr)
#define skip_token(a, b, c)
#define _PATH_RESOLV_CONF
const char * piaddr(const struct iaddr addr)
int log_error(const char *,...) __attribute__((__format__(__printf__
void log_fatal(const char *,...) __attribute__((__format__(__printf__
struct name_server * name_servers
struct domain_search_list * domains
struct name_server * first_name_server()
void read_resolv_conf(TIME parse_time)
struct domain_search_list * next
struct name_server * next