summaryrefslogtreecommitdiffstats
path: root/lib/libc/resolv/res_mkquery.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/resolv/res_mkquery.c')
-rw-r--r--lib/libc/resolv/res_mkquery.c63
1 files changed, 31 insertions, 32 deletions
diff --git a/lib/libc/resolv/res_mkquery.c b/lib/libc/resolv/res_mkquery.c
index 50e4a9e..6c59594 100644
--- a/lib/libc/resolv/res_mkquery.c
+++ b/lib/libc/resolv/res_mkquery.c
@@ -10,10 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
@@ -70,8 +66,10 @@
#if defined(LIBC_SCCS) && !defined(lint)
static const char sccsid[] = "@(#)res_mkquery.c 8.1 (Berkeley) 6/4/93";
-static const char rcsid[] = "$Id: res_mkquery.c,v 1.5.18.1 2005/04/27 05:01:11 sra Exp $";
+static const char rcsid[] = "$Id: res_mkquery.c,v 1.1.2.2.4.2 2004/03/16 12:34:18 marka Exp $";
#endif /* LIBC_SCCS and not lint */
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
#include "port_before.h"
#include <sys/types.h>
@@ -89,24 +87,24 @@ static const char rcsid[] = "$Id: res_mkquery.c,v 1.5.18.1 2005/04/27 05:01:11 s
extern const char *_res_opcodes[];
-/*%
+/*
* Form all types of queries.
* Returns the size of the result or -1.
*/
int
res_nmkquery(res_state statp,
- int op, /*!< opcode of query */
- const char *dname, /*!< domain name */
- int class, int type, /*!< class and type of query */
- const u_char *data, /*!< resource record data */
- int datalen, /*!< length of data */
- const u_char *newrr_in, /*!< new rr for modify or append */
- u_char *buf, /*!< buffer to put query */
- int buflen) /*!< size of buffer */
+ int op, /* opcode of query */
+ const char *dname, /* domain name */
+ int class, int type, /* class and type of query */
+ const u_char *data, /* resource record data */
+ int datalen, /* length of data */
+ const u_char *newrr_in, /* new rr for modify or append */
+ u_char *buf, /* buffer to put query */
+ int buflen) /* size of buffer */
{
- register HEADER *hp;
- register u_char *cp, *ep;
- register int n;
+ HEADER *hp;
+ u_char *cp, *ep;
+ int n;
u_char *dnptrs[20], **dpp, **lastdnptr;
UNUSED(newrr_in);
@@ -179,7 +177,7 @@ res_nmkquery(res_state statp,
*/
if (ep - cp < 1 + RRFIXEDSZ + datalen)
return (-1);
- *cp++ = '\0'; /*%< no domain name */
+ *cp++ = '\0'; /* no domain name */
ns_put16(type, cp);
cp += INT16SZ;
ns_put16(class, cp);
@@ -209,13 +207,13 @@ res_nmkquery(res_state statp,
int
res_nopt(res_state statp,
- int n0, /*%< current offset in buffer */
- u_char *buf, /*%< buffer to put query */
- int buflen, /*%< size of buffer */
- int anslen) /*%< UDP answer buffer size */
+ int n0, /* current offset in buffer */
+ u_char *buf, /* buffer to put query */
+ int buflen, /* size of buffer */
+ int anslen) /* UDP answer buffer size */
{
- register HEADER *hp;
- register u_char *cp, *ep;
+ HEADER *hp;
+ u_char *cp, *ep;
u_int16_t flags = 0;
#ifdef DEBUG
@@ -230,13 +228,16 @@ res_nopt(res_state statp,
if ((ep - cp) < 1 + RRFIXEDSZ)
return (-1);
- *cp++ = 0; /*%< "." */
- ns_put16(T_OPT, cp); /*%< TYPE */
+ *cp++ = 0; /* "." */
+
+ ns_put16(T_OPT, cp); /* TYPE */
cp += INT16SZ;
- ns_put16(anslen & 0xffff, cp); /*%< CLASS = UDP payload size */
+ if (anslen > 0xffff)
+ anslen = 0xffff; /* limit to 16bit value */
+ ns_put16(anslen & 0xffff, cp); /* CLASS = UDP payload size */
cp += INT16SZ;
- *cp++ = NOERROR; /*%< extended RCODE */
- *cp++ = 0; /*%< EDNS version */
+ *cp++ = NOERROR; /* extended RCODE */
+ *cp++ = 0; /* EDNS version */
if (statp->options & RES_USE_DNSSEC) {
#ifdef DEBUG
if (statp->options & RES_DEBUG)
@@ -246,12 +247,10 @@ res_nopt(res_state statp,
}
ns_put16(flags, cp);
cp += INT16SZ;
- ns_put16(0, cp); /*%< RDLEN */
+ ns_put16(0, cp); /* RDLEN */
cp += INT16SZ;
hp->arcount = htons(ntohs(hp->arcount) + 1);
return (cp - buf);
}
#endif
-
-/*! \file */
OpenPOWER on IntegriCloud