40# include <netinet/in.h>
79 const char *
fmt, ...) {
93static int nextword(
const char **bufp_io,
const char **word_r,
int *l_r) {
122 const char *bufp, *
word;
123 char *newchars, **newptrs, **pp;
152 char tbuf[200], *slash, *ep;
155 unsigned long initial, baselocal;
166 if (
l >=
sizeof(tbuf)) {
173 if (slash) *slash++= 0;
188 "mask `%s' in sortlist overlaps address `%s'",slash,tbuf);
192 initial=
strtoul(slash,&ep,10);
193 if (*ep || initial>32) {
197 mask.s_addr=
htonl((0x0ffffffffUL) << (32-initial));
201 if (!(baselocal & 0x080000000UL))
203 else if ((baselocal & 0x0c0000000UL) == 0x080000000UL)
205 else if ((baselocal & 0x0f0000000UL) == 0x0e0000000UL)
209 "network address `%s' in sortlist is not in classed ranges,"
210 " must specify mask explicitly", tbuf);
254 "(must be none, entex or freq",
word+12);
294 int lno,
char *
buf,
int buflen) {
312 }
else if (
c ==
'\n') {
314 }
else if (
c ==
EOF) {
338 int lno,
char *
buf,
int buflen) {
339 const char *
cp= src_io->
text;
342 if (!
cp || !*
cp)
return -1;
344 if (*
cp ==
';' || *
cp ==
'\n')
cp++;
362 char *
buf,
int buflen),
368 char linebuf[2000], *
p, *
q;
375 if (
l == -2)
continue;
380 if (*
p ==
'#' || !*
p)
continue;
388 adns__diag(
ads,-1,0,
"%s:%d: unknown configuration directive `%.*s'",
417 adns__diag(
ads,-1,0,
"cannot open configuration file `%s': %s",
438 adns__debug(
ads,-1,0,
"not checking environment variable `%s'",envvar);
446 const char *textdata;
449 adns__debug(
ads,-1,0,
"not checking environment variable `%s'",envvar);
458#ifdef ADNS_JGAA_WIN32
459 unsigned long Val = 1;
464 r= fcntl(
fd,F_GETFL,0);
if (
r<0)
return errno;
466 r= fcntl(
fd,F_SETFL,
r);
if (
r<0)
return errno;
474#ifdef ADNS_JGAA_WIN32
501 #ifdef ADNS_JGAA_WIN32
543 if (
r) {
r=
errno;
goto x_closeudp; }
550#ifdef ADNS_JGAA_WIN32
562#ifdef ADNS_JGAA_WIN32
570 const char *res_options, *adns_res_options;
572#ifdef ADNS_JGAA_WIN32
573 #define SECURE_PATH_LEN (MAX_PATH - 64)
585#ifdef ADNS_JGAA_WIN32
587 strcat(PathBuf,
"\\resolv.conf");
590 strcat(PathBuf,
"\\resolv-adns.conf");
593 strcat(PathBuf,
"\\System32\\Drivers\\etc\\resolv.conf");
596 strcat(PathBuf,
"\\System32\\Drivers\\etc\\resolv-adns.conf");
630 FILE *diagfile,
const char *configtext) {
665#ifdef ADNS_JGAA_WIN32
674 ads->udpw.head ?
ads->udpw.head :
675 ads->tcpw.head ?
ads->tcpw.head :
676 ads->childw.head ?
ads->childw.head :
690 }
else if (qu ==
ads->udpw.tail) {
692 ads->tcpw.head ?
ads->tcpw.head :
693 ads->childw.head ?
ads->childw.head :
695 }
else if (qu ==
ads->tcpw.tail) {
697 ads->childw.head ?
ads->childw.head :
699 }
else if (qu ==
ads->childw.tail) {
707 if (context_r) *context_r= qu->
ctx.
ext;
void adns__consistency(adns_state ads, adns_query qu, consistency_checks cc)
char * strcat(char *DstString, const char *SrcString)
int strcmp(const char *String1, const char *String2)
UINT32 strtoul(const char *String, char **Terminator, UINT32 Base)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
ACPI_SIZE strlen(const char *String)
char * strchr(const char *String, int ch)
CHAR FAR *WSAAPI inet_ntoa(IN IN_ADDR in)
ADNS_API void adns_cancel(adns_query query)
#define inet_aton(ap, inp)
#define adns_socket_close(sck)
#define ADNS_CAPTURE_ERRNO
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
INT WINAPI WSAStartup(IN WORD wVersionRequested, OUT LPWSADATA lpWSAData)
LPPROTOENT WSAAPI getprotobyname(IN CONST CHAR FAR *name)
GLuint GLuint GLsizei count
GLdouble GLdouble GLdouble r
GLdouble GLdouble GLdouble GLdouble q
GLenum GLuint GLenum GLsizei const GLchar * buf
GLenum const GLvoid * addr
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
_Check_return_ _CRTIMP int __cdecl ferror(_In_ FILE *_File)
_Check_return_ _CRTIMP int __cdecl getc(_Inout_ FILE *_File)
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
_Check_return_opt_ _CRTIMP int __cdecl vfprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format, va_list _ArgList)
_Check_return_ _CRTIMP FILE *__cdecl fopen(_In_z_ const char *_Filename, _In_z_ const char *_Mode)
_Check_return_opt_ _CRTIMP int __cdecl fputc(_In_ int _Ch, _Inout_ FILE *_File)
_Check_return_opt_ _CRTIMP int __cdecl fclose(_Inout_ FILE *_File)
_Check_return_ char *__cdecl getenv(_In_z_ const char *_VarName)
#define memcpy(s1, s2, n)
const char * strerror(int err)
_Check_return_ _CRTIMP size_t __cdecl strcspn(_In_z_ const char *_Str, _In_z_ const char *_Control)
void adns__vbuf_init(vbuf *vb)
void adns__debug(adns_state ads, int serv, adns_query qu, const char *fmt,...)
void adns__vbuf_free(vbuf *vb)
void adns__diag(adns_state ads, int serv, adns_query qu, const char *fmt,...)
static int ctype_whitespace(int c)
static void ccf_options(adns_state ads, const char *fn, int lno, const char *buf)
int adns_numservers(adns_state ads)
static int nextword(const char **bufp_io, const char **word_r, int *l_r)
static void ccf_nameserver(adns_state ads, const char *fn, int lno, const char *buf)
static int init_begin(adns_state *ads_r, adns_initflags flags, FILE *diagfile)
static void ccf_search(adns_state ads, const char *fn, int lno, const char *buf)
static int gl_file(adns_state ads, getline_ctx *src_io, const char *filename, int lno, char *buf, int buflen)
static void saveerr(adns_state ads, int en)
static void ccf_clearnss(adns_state ads, const char *fn, int lno, const char *buf)
void adns_finish(adns_state ads)
static void readconfig(adns_state ads, const char *filename, int warnmissing)
static void readconfigenvtext(adns_state ads, const char *envvar)
static const char * instrum_getenv(adns_state ads, const char *envvar)
void adns_addserver(adns_state ads, struct in_addr addr)
static void addserver(adns_state ads, struct in_addr addr)
static void readconfigtext(adns_state ads, const char *text, const char *showname)
static void init_abort(adns_state ads)
int adns__setnonblock(adns_state ads, ADNS_SOCKET fd)
int adns_init(adns_state *ads_r, adns_initflags flags, FILE *diagfile)
static const struct configcommandinfo configcommandinfos[]
static void readconfiggeneric(adns_state ads, const char *filename, int(*getline)(adns_state ads, getline_ctx *, const char *filename, int lno, char *buf, int buflen), getline_ctx gl_ctx)
static void ccf_sortlist(adns_state ads, const char *fn, int lno, const char *buf)
void adns_forallqueries_begin(adns_state ads)
adns_query adns_forallqueries_next(adns_state ads, void **context_r)
static int init_finish(adns_state ads)
static void readconfigenv(adns_state ads, const char *envvar)
static int gl_text(adns_state ads, getline_ctx *src_io, const char *filename, int lno, char *buf, int buflen)
static void ccf_include(adns_state ads, const char *fn, int lno, const char *buf)
static void freesearchlist(adns_state ads)
int adns_init_strcfg(adns_state *ads_r, adns_initflags flags, FILE *diagfile, const char *configtext)
static void configparseerr(adns_state ads, const char *fn, int lno, const char *fmt,...)
void adns_ccf_search(adns_state ads, const char *fn, int lno, const char *buf)
SOCKET WSAAPI socket(IN INT af, IN INT type, IN INT protocol)
struct adns__state::sortlist sortlist[MAXSORTLIST]
enum adns__state::adns__tcpstate tcpstate
struct query_queue udpw tcpw childw output
struct timeval tcptimeout
struct adns__state::server servers[MAXSERVERS]
void(* fn)(adns_state ads, const char *fn, int lno, const char *buf)
static rfbScreenInfoPtr server
static GLenum _GLUfuncptr fn
#define GetWindowsDirectory
int PASCAL FAR WSACleanup(void)