|
Lines 94-101
client_addr_init(struct ntp_peer *p)
Link Here
|
| 94 |
int |
94 |
int |
| 95 |
client_nextaddr(struct ntp_peer *p) |
95 |
client_nextaddr(struct ntp_peer *p) |
| 96 |
{ |
96 |
{ |
| 97 |
close(p->query->fd); |
97 |
if (p->query->fd != -1) { |
| 98 |
p->query->fd = -1; |
98 |
close(p->query->fd); |
|
|
99 |
p->query->fd = -1; |
| 100 |
} |
| 99 |
|
101 |
|
| 100 |
if (p->addr_head.a == NULL) { |
102 |
if (p->addr_head.a == NULL) { |
| 101 |
priv_host_dns(p->addr_head.name, p->id); |
103 |
priv_host_dns(p->addr_head.name, p->id); |
|
Lines 129-136
client_query(struct ntp_peer *p)
Link Here
|
| 129 |
struct sockaddr *sa = (struct sockaddr *)&p->addr->ss; |
131 |
struct sockaddr *sa = (struct sockaddr *)&p->addr->ss; |
| 130 |
|
132 |
|
| 131 |
if ((p->query->fd = socket(p->addr->ss.ss_family, SOCK_DGRAM, |
133 |
if ((p->query->fd = socket(p->addr->ss.ss_family, SOCK_DGRAM, |
| 132 |
0)) == -1) |
134 |
0)) == -1) { |
| 133 |
fatal("client_query socket"); |
135 |
if (errno == EAFNOSUPPORT) { |
|
|
136 |
client_nextaddr(p); |
| 137 |
set_next(p, error_interval()); |
| 138 |
return (-1); |
| 139 |
} else |
| 140 |
fatal("client_query socket"); |
| 141 |
} |
| 134 |
if (connect(p->query->fd, sa, SA_LEN(sa)) == -1) { |
142 |
if (connect(p->query->fd, sa, SA_LEN(sa)) == -1) { |
| 135 |
if (errno == ECONNREFUSED || errno == ENETUNREACH || |
143 |
if (errno == ECONNREFUSED || errno == ENETUNREACH || |
| 136 |
errno == EHOSTUNREACH) { |
144 |
errno == EHOSTUNREACH) { |
| 137 |
- |
|
|