42 if (ch <=
' ' || ch >= 127) {
61 const byte *dgram,
int dglen,
int max,
62 int dmbegin,
int *dmend_rlater) {
71 fls->dmend_r= dmend_rlater;
75 int *lablen_r,
int *labstart_r) {
79 dgram= (
char*)
fls->dgram;
81 if (
fls->cbyte >=
fls->dglen)
goto x_truncated;
82 if (
fls->cbyte >=
fls->max)
goto x_badresponse;
84 if (!(lablen & 0x0c0))
break;
86 if (
fls->cbyte >=
fls->dglen)
goto x_truncated;
87 if (
fls->cbyte >=
fls->max)
goto x_badresponse;
89 jumpto |= (lablen&0x3f)<<8;
90 if (
fls->dmend_r) *(
fls->dmend_r)=
fls->cbyte;
94 if (labstart_r) *labstart_r=
fls->cbyte;
96 if (
fls->namelen)
fls->namelen++;
97 fls->namelen+= lablen;
100 if (
fls->cbyte >
fls->dglen)
goto x_truncated;
101 if (
fls->cbyte >
fls->max)
goto x_badresponse;
103 if (
fls->dmend_r) *(
fls->dmend_r)=
fls->cbyte;
119 const byte *dgram,
int dglen,
int *cbyte_io,
int max) {
130 int lablen, labstart,
i, ch,
first;
150 for (
i= labstart+1;
i<labstart+lablen;
i++) {
164 const byte *dgram,
int dglen,
int *cbyte_io,
165 int *type_r,
int *class_r,
unsigned long *ttl_r,
166 int *rdlen_r,
int *rdstart_r,
167 const byte *eo_dgram,
int eo_dglen,
int eo_cbyte,
174 int lablen, labstart, ch;
175 int eo_lablen, eo_labstart, eo_ch;
191 if (lablen<0)
goto x_truncated;
196 if (lablen != eo_lablen)
mismatch= 1;
197 while (!
mismatch && eo_lablen-- > 0) {
198 ch= dgram[labstart++];
if (
ctype_alpha(ch)) ch &= ~32;
199 eo_ch= eo_dgram[eo_labstart++];
if (
ctype_alpha(eo_ch)) eo_ch &= ~32;
205 if (eo_matched_r) *eo_matched_r= !
mismatch;
207 if (
cbyte+10>dglen)
goto x_truncated;
215 GET_W(
cbyte,rdlen);
if (rdlen_r) *rdlen_r= rdlen;
216 if (rdstart_r) *rdstart_r=
cbyte;
218 if (
cbyte>dglen)
goto x_truncated;
228 const byte *dgram,
int dglen,
int *cbyte_io,
229 int *type_r,
int *class_r,
unsigned long *ttl_r,
230 int *rdlen_r,
int *rdstart_r,
231 int *ownermatchedquery_r) {
232 if (!ownermatchedquery_r) {
234 dgram,dglen,cbyte_io,
235 type_r,class_r,ttl_r,rdlen_r,rdstart_r,
239 dgram,dglen,cbyte_io,
240 type_r,class_r,ttl_r,rdlen_r,rdstart_r,
242 ownermatchedquery_r);
245 dgram,dglen,cbyte_io,
246 type_r,class_r,ttl_r,rdlen_r,rdstart_r,
248 ownermatchedquery_r);
_STLP_INLINE_LOOP _STLP_STD::pair< _InputIter1, _InputIter2 > mismatch(_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2)
ACPI_SIZE strlen(const char *String)
@ adns_s_answerdomaintoolong
@ adns_s_answerdomaininvalid
GLenum GLuint GLenum GLsizei const GLchar * buf
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define sprintf(buf, format,...)
int adns__vbuf_append(vbuf *vb, const byte *data, int len)
void adns__diag(adns_state ads, int serv, adns_query qu, const char *fmt,...)
static int ctype_domainunquoted(int c)
static int ctype_alpha(int c)
static int ctype_digit(int c)
adns_status adns__findrr_anychk(adns_query qu, int serv, const byte *dgram, int dglen, int *cbyte_io, int *type_r, int *class_r, unsigned long *ttl_r, int *rdlen_r, int *rdstart_r, const byte *eo_dgram, int eo_dglen, int eo_cbyte, int *eo_matched_r)
adns_status adns__parse_domain_more(findlabel_state *fls, adns_state ads, adns_query qu, vbuf *vb, parsedomain_flags flags, const byte *dgram)
adns_status adns__findrr(adns_query qu, int serv, const byte *dgram, int dglen, int *cbyte_io, int *type_r, int *class_r, unsigned long *ttl_r, int *rdlen_r, int *rdstart_r, int *ownermatchedquery_r)
adns_status adns__parse_domain(adns_state ads, int serv, adns_query qu, vbuf *vb, adns_queryflags flags, const byte *dgram, int dglen, int *cbyte_io, int max)
int vbuf__append_quoted1035(vbuf *vb, const byte *buf, int len)
adns_status adns__findlabel_next(findlabel_state *fls, int *lablen_r, int *labstart_r)
void adns__findlabel_start(findlabel_state *fls, adns_state ads, int serv, adns_query qu, const byte *dgram, int dglen, int max, int dmbegin, int *dmend_rlater)