1 void *
mempcpy(
void *dest,
const void *src,
size_t n);
169 #define DNS_HFIXEDSZ 12 170 #define DNS_QFIXEDSZ 4 187 #define NS_MAXCDNAME 255 189 #define NS_CMPRSFLGS 0xc0 191 static const char digits[] =
"0123456789";
209 return (ch > 0x20 && ch < 0x7f);
212 int ns_name_unpack(
const u_char *msg,
const u_char *eom,
const u_char *src, u_char *dst,
size_t dstsiz)
214 const u_char *srcp, *dstlim;
222 dstlim = dst + dstsiz;
223 if (srcp < msg || srcp >= eom) {
228 while ((n = *srcp++) != 0) {
233 if (dstp + 1 >= dstlim) {
247 if (dstp + n + 1 >= dstlim || srcp + n >= eom) {
252 dstp =
mempcpy(dstp, srcp - 1, n + 1);
262 len = srcp - src + 1;
263 srcp = msg + (((n & 0x3f) << 8) | (*srcp & 0xff));
264 if (srcp < msg || srcp >= eom) {
274 if (checked >= eom - msg) {
301 while ((n = *cp++) != 0) {
317 if (dn + n * 2 + 4 >= eom) {
328 *dn++ = u > 9 ?
'a' + u - 10 :
'0' + u;
330 *dn++ = u > 9 ?
'a' + u - 10 :
'0' + u;
341 for ((
void)
NULL; n > 0; n--) {
357 *dn++ =
digits[(c % 100) / 10];
383 int ns_name_uncompress(
const u_char *msg,
const u_char *eom,
const u_char *src,
char *dst,
size_t dstsiz) {
394 int dn_expand(
const char *msg,
const char *eom,
const char *src,
char *dst,
int dstsiz) {
395 int n =
ns_name_uncompress((u_char *) msg, (u_char *) eom, (u_char *) src, dst, (
size_t)dstsiz);
397 if (n > 0 && dst[0] ==
'.')
#define NS_MAXCDNAME
Definition: sniff_dns.h:187
static int special(int ch)
Definition: sniff_dns.h:193
#define NULL
Definition: oralog.c:49
int ns_name_unpack(const u_char *msg, const u_char *eom, const u_char *src, u_char *dst, size_t dstsiz)
Definition: sniff_dns.h:212
static int printable(int ch)
Definition: sniff_dns.h:208
char ch
Definition: completion.c:638
#define NS_CMPRSFLGS
Definition: sniff_dns.h:189
void * mempcpy(void *dest, const void *src, size_t n)
int ns_name_uncompress(const u_char *msg, const u_char *eom, const u_char *src, char *dst, size_t dstsiz)
Definition: sniff_dns.h:383
int dn_expand(const char *msg, const char *eom, const char *src, char *dst, int dstsiz)
Definition: sniff_dns.h:394
int ns_name_ntop(const u_char *src, char *dst, size_t dstsiz)
Definition: sniff_dns.h:291
static const char digits[]
Definition: sniff_dns.h:191