summaryrefslogtreecommitdiffstats
path: root/src/lib/krb5/os/dnsglue.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/krb5/os/dnsglue.c')
-rw-r--r--src/lib/krb5/os/dnsglue.c163
1 files changed, 82 insertions, 81 deletions
diff --git a/src/lib/krb5/os/dnsglue.c b/src/lib/krb5/os/dnsglue.c
index 55e1cd9124..f07f8211c7 100644
--- a/src/lib/krb5/os/dnsglue.c
+++ b/src/lib/krb5/os/dnsglue.c
@@ -1,3 +1,4 @@
+/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
/*
* lib/krb5/os/dnsglue.c
*
@@ -8,7 +9,7 @@
* require a specific license from the United States Government.
* It is the responsibility of any person or organization contemplating
* export to obtain such a license before exporting.
- *
+ *
* WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
* distribute this software and its documentation for any purpose and
* without fee is hereby granted, provided that the above copyright
@@ -22,7 +23,7 @@
* M.I.T. makes no representations about the suitability of
* this software for any purpose. It is provided "as is" without express
* or implied warranty.
- *
+ *
*/
#include "autoconf.h"
#ifdef KRB5_DNS_LOOKUP
@@ -72,7 +73,7 @@ static int initparse(struct krb5int_dns_state *);
*/
int
krb5int_dns_init(struct krb5int_dns_state **dsp,
- char *host, int nclass, int ntype)
+ char *host, int nclass, int ntype)
{
#if USE_RES_NINIT
struct __res_state statbuf;
@@ -84,7 +85,7 @@ krb5int_dns_init(struct krb5int_dns_state **dsp,
*dsp = ds = malloc(sizeof(*ds));
if (ds == NULL)
- return -1;
+ return -1;
ret = -1;
ds->nclass = nclass;
@@ -106,36 +107,36 @@ krb5int_dns_init(struct krb5int_dns_state **dsp,
ret = res_init();
#endif
if (ret < 0)
- return -1;
+ return -1;
do {
- p = (ds->ansp == NULL)
- ? malloc(nextincr) : realloc(ds->ansp, nextincr);
+ p = (ds->ansp == NULL)
+ ? malloc(nextincr) : realloc(ds->ansp, nextincr);
- if (p == NULL) {
- ret = -1;
- goto errout;
- }
- ds->ansp = p;
- ds->ansmax = nextincr;
+ if (p == NULL) {
+ ret = -1;
+ goto errout;
+ }
+ ds->ansp = p;
+ ds->ansmax = nextincr;
#if USE_RES_NINIT
- len = res_nsearch(&statbuf, host, ds->nclass, ds->ntype,
- ds->ansp, ds->ansmax);
+ len = res_nsearch(&statbuf, host, ds->nclass, ds->ntype,
+ ds->ansp, ds->ansmax);
#else
- len = res_search(host, ds->nclass, ds->ntype,
- ds->ansp, ds->ansmax);
+ len = res_search(host, ds->nclass, ds->ntype,
+ ds->ansp, ds->ansmax);
#endif
- if (len > maxincr) {
- ret = -1;
- goto errout;
- }
- while (nextincr < len)
- nextincr *= 2;
- if (len < 0 || nextincr > maxincr) {
- ret = -1;
- goto errout;
- }
+ if (len > maxincr) {
+ ret = -1;
+ goto errout;
+ }
+ while (nextincr < len)
+ nextincr *= 2;
+ if (len < 0 || nextincr > maxincr) {
+ ret = -1;
+ goto errout;
+ }
} while (len > ds->ansmax);
ds->anslen = len;
@@ -145,7 +146,7 @@ krb5int_dns_init(struct krb5int_dns_state **dsp,
ret = initparse(ds);
#endif
if (ret < 0)
- goto errout;
+ goto errout;
ret = 0;
@@ -154,10 +155,10 @@ errout:
res_ndestroy(&statbuf);
#endif
if (ret < 0) {
- if (ds->ansp != NULL) {
- free(ds->ansp);
- ds->ansp = NULL;
- }
+ if (ds->ansp != NULL) {
+ free(ds->ansp);
+ ds->ansp = NULL;
+ }
}
return ret;
@@ -172,7 +173,7 @@ errout:
*/
int
krb5int_dns_nextans(struct krb5int_dns_state *ds,
- const unsigned char **pp, int *lenp)
+ const unsigned char **pp, int *lenp)
{
int len;
ns_rr rr;
@@ -180,16 +181,16 @@ krb5int_dns_nextans(struct krb5int_dns_state *ds,
*pp = NULL;
*lenp = 0;
while (ds->cur_ans < ns_msg_count(ds->msg, ns_s_an)) {
- len = ns_parserr(&ds->msg, ns_s_an, ds->cur_ans, &rr);
- if (len < 0)
- return -1;
- ds->cur_ans++;
- if (ds->nclass == ns_rr_class(rr)
- && ds->ntype == ns_rr_type(rr)) {
- *pp = ns_rr_rdata(rr);
- *lenp = ns_rr_rdlen(rr);
- return 0;
- }
+ len = ns_parserr(&ds->msg, ns_s_an, ds->cur_ans, &rr);
+ if (len < 0)
+ return -1;
+ ds->cur_ans++;
+ if (ds->nclass == ns_rr_class(rr)
+ && ds->ntype == ns_rr_type(rr)) {
+ *pp = ns_rr_rdata(rr);
+ *lenp = ns_rr_rdlen(rr);
+ return 0;
+ }
}
return 0;
}
@@ -199,18 +200,18 @@ krb5int_dns_nextans(struct krb5int_dns_state *ds,
* krb5int_dns_expand - wrapper for dn_expand()
*/
int krb5int_dns_expand(struct krb5int_dns_state *ds,
- const unsigned char *p,
- char *buf, int len)
+ const unsigned char *p,
+ char *buf, int len)
{
#if HAVE_NS_NAME_UNCOMPRESS
return ns_name_uncompress(ds->ansp,
- (unsigned char *)ds->ansp + ds->anslen,
- p, buf, (size_t)len);
+ (unsigned char *)ds->ansp + ds->anslen,
+ p, buf, (size_t)len);
#else
return dn_expand(ds->ansp,
- (unsigned char *)ds->ansp + ds->anslen,
- p, buf, len);
+ (unsigned char *)ds->ansp + ds->anslen,
+ p, buf, len);
#endif
}
@@ -221,9 +222,9 @@ void
krb5int_dns_fini(struct krb5int_dns_state *ds)
{
if (ds == NULL)
- return;
+ return;
if (ds->ansp != NULL)
- free(ds->ansp);
+ free(ds->ansp);
free(ds);
}
@@ -251,7 +252,7 @@ initparse(struct krb5int_dns_state *ds)
#endif
if (ds->anslen < sizeof(HEADER))
- return -1;
+ return -1;
hdr = (HEADER *)ds->ansp;
p = ds->ansp;
@@ -264,14 +265,14 @@ initparse(struct krb5int_dns_state *ds)
*/
while (nqueries--) {
#if HAVE_DN_SKIPNAME
- len = dn_skipname(p, (unsigned char *)ds->ansp + ds->anslen);
+ len = dn_skipname(p, (unsigned char *)ds->ansp + ds->anslen);
#else
- len = dn_expand(ds->ansp, (unsigned char *)ds->ansp + ds->anslen,
- p, host, sizeof(host));
+ len = dn_expand(ds->ansp, (unsigned char *)ds->ansp + ds->anslen,
+ p, host, sizeof(host));
#endif
- if (len < 0 || !INCR_OK(ds->ansp, ds->anslen, p, len + 4))
- return -1;
- p += len + 4;
+ if (len < 0 || !INCR_OK(ds->ansp, ds->anslen, p, len + 4))
+ return -1;
+ p += len + 4;
}
ds->ptr = p;
ds->nanswers = nanswers;
@@ -285,7 +286,7 @@ initparse(struct krb5int_dns_state *ds)
*/
int
krb5int_dns_nextans(struct krb5int_dns_state *ds,
- const unsigned char **pp, int *lenp)
+ const unsigned char **pp, int *lenp)
{
int len;
unsigned char *p;
@@ -300,30 +301,30 @@ krb5int_dns_nextans(struct krb5int_dns_state *ds,
while (ds->nanswers--) {
#if HAVE_DN_SKIPNAME
- len = dn_skipname(p, (unsigned char *)ds->ansp + ds->anslen);
+ len = dn_skipname(p, (unsigned char *)ds->ansp + ds->anslen);
#else
- len = dn_expand(ds->ansp, (unsigned char *)ds->ansp + ds->anslen,
- p, host, sizeof(host));
+ len = dn_expand(ds->ansp, (unsigned char *)ds->ansp + ds->anslen,
+ p, host, sizeof(host));
#endif
- if (len < 0 || !INCR_OK(ds->ansp, ds->anslen, p, len))
- return -1;
- p += len;
- SAFE_GETUINT16(ds->ansp, ds->anslen, p, 2, ntype, out);
- /* Also skip 4 bytes of TTL */
- SAFE_GETUINT16(ds->ansp, ds->anslen, p, 6, nclass, out);
- SAFE_GETUINT16(ds->ansp, ds->anslen, p, 2, rdlen, out);
-
- if (!INCR_OK(ds->ansp, ds->anslen, p, rdlen))
- return -1;
- if (rdlen > INT_MAX)
- return -1;
- if (nclass == ds->nclass && ntype == ds->ntype) {
- *pp = p;
- *lenp = rdlen;
- ds->ptr = p + rdlen;
- return 0;
- }
- p += rdlen;
+ if (len < 0 || !INCR_OK(ds->ansp, ds->anslen, p, len))
+ return -1;
+ p += len;
+ SAFE_GETUINT16(ds->ansp, ds->anslen, p, 2, ntype, out);
+ /* Also skip 4 bytes of TTL */
+ SAFE_GETUINT16(ds->ansp, ds->anslen, p, 6, nclass, out);
+ SAFE_GETUINT16(ds->ansp, ds->anslen, p, 2, rdlen, out);
+
+ if (!INCR_OK(ds->ansp, ds->anslen, p, rdlen))
+ return -1;
+ if (rdlen > INT_MAX)
+ return -1;
+ if (nclass == ds->nclass && ntype == ds->ntype) {
+ *pp = p;
+ *lenp = rdlen;
+ ds->ptr = p + rdlen;
+ return 0;
+ }
+ p += rdlen;
}
return 0;
out: