diff options
author | deraadt <> | 2001-08-07 10:16:00 +0000 |
---|---|---|
committer | deraadt <> | 2001-08-07 10:16:00 +0000 |
commit | 738593f3dda39a38d3edb4180531231f073590c5 (patch) | |
tree | 91c0a462a6a3c56de8f0fcda1c5eeb5ba5d4508a | |
parent | f9ba063d6571e5cf8dd10e4c9b4cee46449544c7 (diff) | |
download | openbsd-738593f3dda39a38d3edb4180531231f073590c5.tar.gz openbsd-738593f3dda39a38d3edb4180531231f073590c5.tar.bz2 openbsd-738593f3dda39a38d3edb4180531231f073590c5.zip |
KNF; and i bonked jakob in the head for it too, with a plastic bottle of coke
-rw-r--r-- | src/lib/libc/net/getrrsetbyname.c | 40 |
1 files changed, 16 insertions, 24 deletions
diff --git a/src/lib/libc/net/getrrsetbyname.c b/src/lib/libc/net/getrrsetbyname.c index 76ca9ac6b7..bc4b88bbbd 100644 --- a/src/lib/libc/net/getrrsetbyname.c +++ b/src/lib/libc/net/getrrsetbyname.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: getrrsetbyname.c,v 1.2 2001/08/06 15:00:48 jakob Exp $ */ | 1 | /* $OpenBSD: getrrsetbyname.c,v 1.3 2001/08/07 10:16:00 deraadt Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2001 Jakob Schlyter. All rights reserved. | 4 | * Copyright (c) 2001 Jakob Schlyter. All rights reserved. |
@@ -43,7 +43,6 @@ | |||
43 | * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 43 | * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
44 | */ | 44 | */ |
45 | 45 | ||
46 | |||
47 | #include <sys/types.h> | 46 | #include <sys/types.h> |
48 | #include <netinet/in.h> | 47 | #include <netinet/in.h> |
49 | #include <arpa/nameser.h> | 48 | #include <arpa/nameser.h> |
@@ -54,7 +53,6 @@ | |||
54 | 53 | ||
55 | #define ANSWER_BUFFER_SIZE 1024*64 | 54 | #define ANSWER_BUFFER_SIZE 1024*64 |
56 | 55 | ||
57 | |||
58 | struct dns_query { | 56 | struct dns_query { |
59 | char *name; | 57 | char *name; |
60 | u_int16_t type; | 58 | u_int16_t type; |
@@ -94,15 +92,15 @@ static int count_dns_rr(struct dns_rr *, u_int16_t, u_int16_t); | |||
94 | 92 | ||
95 | int | 93 | int |
96 | getrrsetbyname(const char *hostname, unsigned int rdclass, | 94 | getrrsetbyname(const char *hostname, unsigned int rdclass, |
97 | unsigned int rdtype, unsigned int flags, | 95 | unsigned int rdtype, unsigned int flags, |
98 | struct rrsetinfo **res) | 96 | struct rrsetinfo **res) |
99 | { | 97 | { |
100 | int result; | 98 | int result; |
101 | struct rrsetinfo *rrset = NULL; | 99 | struct rrsetinfo *rrset = NULL; |
102 | struct dns_response *response; | 100 | struct dns_response *response; |
103 | struct dns_rr *rr; | 101 | struct dns_rr *rr; |
104 | struct rdatainfo *rdata; | 102 | struct rdatainfo *rdata; |
105 | unsigned length, index_ans, index_sig; | 103 | unsigned int length, index_ans, index_sig; |
106 | char answer[ANSWER_BUFFER_SIZE]; | 104 | char answer[ANSWER_BUFFER_SIZE]; |
107 | 105 | ||
108 | /* check for invalid class and type */ | 106 | /* check for invalid class and type */ |
@@ -124,7 +122,7 @@ getrrsetbyname(const char *hostname, unsigned int rdclass, | |||
124 | } | 122 | } |
125 | 123 | ||
126 | /* initialize resolver */ | 124 | /* initialize resolver */ |
127 | if ((_res.options & RES_INIT) == 0 && res_init() == -1) { | 125 | if ((_res.options & RES_INIT) == 0 && res_init() == -1) { |
128 | result = ERRSET_FAIL; | 126 | result = ERRSET_FAIL; |
129 | goto fail; | 127 | goto fail; |
130 | } | 128 | } |
@@ -162,7 +160,7 @@ getrrsetbyname(const char *hostname, unsigned int rdclass, | |||
162 | goto fail; | 160 | goto fail; |
163 | } | 161 | } |
164 | 162 | ||
165 | if (response->header.qdcount != 1 ) { | 163 | if (response->header.qdcount != 1) { |
166 | result = ERRSET_FAIL; | 164 | result = ERRSET_FAIL; |
167 | goto fail; | 165 | goto fail; |
168 | } | 166 | } |
@@ -216,7 +214,7 @@ getrrsetbyname(const char *hostname, unsigned int rdclass, | |||
216 | for (rr = response->answer, index_ans = 0, index_sig = 0; | 214 | for (rr = response->answer, index_ans = 0, index_sig = 0; |
217 | rr; rr = rr->next) { | 215 | rr; rr = rr->next) { |
218 | 216 | ||
219 | rdata = NULL; | 217 | rdata = NULL; |
220 | 218 | ||
221 | if (rr->class == rrset->rri_rdclass && | 219 | if (rr->class == rrset->rri_rdclass && |
222 | rr->type == rrset->rri_rdtype) | 220 | rr->type == rrset->rri_rdtype) |
@@ -229,7 +227,7 @@ getrrsetbyname(const char *hostname, unsigned int rdclass, | |||
229 | if (rdata) { | 227 | if (rdata) { |
230 | rdata->rdi_length = rr->size; | 228 | rdata->rdi_length = rr->size; |
231 | rdata->rdi_data = malloc(rr->size); | 229 | rdata->rdi_data = malloc(rr->size); |
232 | 230 | ||
233 | if (rdata->rdi_data == NULL) { | 231 | if (rdata->rdi_data == NULL) { |
234 | result = ERRSET_NOMEMORY; | 232 | result = ERRSET_NOMEMORY; |
235 | goto fail; | 233 | goto fail; |
@@ -252,9 +250,8 @@ freerrset(struct rrsetinfo *rrset) | |||
252 | { | 250 | { |
253 | u_int16_t i; | 251 | u_int16_t i; |
254 | 252 | ||
255 | if (rrset == NULL) { | 253 | if (rrset == NULL) |
256 | return; | 254 | return; |
257 | } | ||
258 | 255 | ||
259 | for (i = 0; i < rrset->rri_nrdatas; i++) { | 256 | for (i = 0; i < rrset->rri_nrdatas; i++) { |
260 | if (rrset->rri_rdatas[i].rdi_data == NULL) | 257 | if (rrset->rri_rdatas[i].rdi_data == NULL) |
@@ -269,17 +266,13 @@ freerrset(struct rrsetinfo *rrset) | |||
269 | free(rrset->rri_sigs[i].rdi_data); | 266 | free(rrset->rri_sigs[i].rdi_data); |
270 | } | 267 | } |
271 | free(rrset->rri_sigs); | 268 | free(rrset->rri_sigs); |
272 | |||
273 | free(rrset->rri_name); | 269 | free(rrset->rri_name); |
274 | |||
275 | free(rrset); | 270 | free(rrset); |
276 | } | 271 | } |
277 | 272 | ||
278 | 273 | /* | |
279 | /* | ||
280 | * DNS response parsing routines | 274 | * DNS response parsing routines |
281 | */ | 275 | */ |
282 | |||
283 | static struct dns_response * | 276 | static struct dns_response * |
284 | parse_dns_response(const char *answer, int size) | 277 | parse_dns_response(const char *answer, int size) |
285 | { | 278 | { |
@@ -381,11 +374,11 @@ parse_dns_qsection(const char *answer, int size, const char **cp, int count) | |||
381 | 374 | ||
382 | /* type */ | 375 | /* type */ |
383 | curr->type = _getshort(*cp); | 376 | curr->type = _getshort(*cp); |
384 | *cp += INT16SZ; | 377 | *cp += INT16SZ; |
385 | 378 | ||
386 | /* class */ | 379 | /* class */ |
387 | curr->class = _getshort(*cp); | 380 | curr->class = _getshort(*cp); |
388 | *cp += INT16SZ; | 381 | *cp += INT16SZ; |
389 | } | 382 | } |
390 | 383 | ||
391 | return (head); | 384 | return (head); |
@@ -427,15 +420,15 @@ parse_dns_rrsection(const char *answer, int size, const char **cp, int count) | |||
427 | 420 | ||
428 | /* type */ | 421 | /* type */ |
429 | curr->type = _getshort(*cp); | 422 | curr->type = _getshort(*cp); |
430 | *cp += INT16SZ; | 423 | *cp += INT16SZ; |
431 | 424 | ||
432 | /* class */ | 425 | /* class */ |
433 | curr->class = _getshort(*cp); | 426 | curr->class = _getshort(*cp); |
434 | *cp += INT16SZ; | 427 | *cp += INT16SZ; |
435 | 428 | ||
436 | /* ttl */ | 429 | /* ttl */ |
437 | curr->ttl = _getlong(*cp); | 430 | curr->ttl = _getlong(*cp); |
438 | *cp += INT32SZ; | 431 | *cp += INT32SZ; |
439 | 432 | ||
440 | /* rdata size */ | 433 | /* rdata size */ |
441 | curr->size = _getshort(*cp); | 434 | curr->size = _getshort(*cp); |
@@ -454,7 +447,6 @@ parse_dns_rrsection(const char *answer, int size, const char **cp, int count) | |||
454 | return (head); | 447 | return (head); |
455 | } | 448 | } |
456 | 449 | ||
457 | |||
458 | static void | 450 | static void |
459 | free_dns_query(struct dns_query *p) | 451 | free_dns_query(struct dns_query *p) |
460 | { | 452 | { |
@@ -500,7 +492,7 @@ count_dns_rr(struct dns_rr *p, u_int16_t class, u_int16_t type) | |||
500 | if (p->class == class && p->type == type) | 492 | if (p->class == class && p->type == type) |
501 | n++; | 493 | n++; |
502 | p = p->next; | 494 | p = p->next; |
503 | }; | 495 | } |
504 | 496 | ||
505 | return (n); | 497 | return (n); |
506 | } | 498 | } |