* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dig.c,v 1.185 2004/03/05 04:57:30 marka Exp $ */
+/* $Id: dig.c,v 1.186 2004/03/16 05:52:13 marka Exp $ */
#include <config.h>
#include <stdlib.h>
goto invalid_option;
switch (cmd) {
case 'b':
- hash = index(value, '#');
+ hash = strchr(value, '#');
if (hash != NULL) {
srcport = (in_port_t) parse_uint(hash + 1,
"port number", MAXPORT);
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: config.c,v 1.46 2004/03/10 02:19:52 marka Exp $ */
+/* $Id: config.c,v 1.47 2004/03/16 05:52:14 marka Exp $ */
#include <config.h>
check-names slave warn;\n\
check-names response ignore;\n\
dnssec-enable no; /* Make yes for 9.4. */ \n\
-\n\
- /* zone */\n\
+"
+
+" /* zone */\n\
allow-query {any;};\n\
allow-transfer {any;};\n\
notify yes;\n\
max-journal-size unlimited;\n\
ixfr-from-differences false;\n\
};\n\
-\n\
-#\n\
+"
+
+"#\n\
# Zones in the \"_bind\" view are NOT counted is the count of zones.\n\
#\n\
view \"_bind\" chaos {\n\
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: main.c,v 1.135 2004/03/05 04:57:48 marka Exp $ */
+/* $Id: main.c,v 1.136 2004/03/16 05:52:14 marka Exp $ */
#include <config.h>
static void
lwresd_usage(void) {
fprintf(stderr,
- "usage: lwresd [-c conffile | -C resolvconffile] "
- "[-d debuglevel] [-f|-g]\n"
- " [-n number_of_cpus] [-p port]"
+ "usage: lwresd [-4|-6] [-c conffile | -C resolvconffile] "
+ "[-d debuglevel]\n"
+ " [-f|-g] [-n number_of_cpus] [-p port] "
"[-P listen-port] [-s]\n"
" [-t chrootdir] [-u username] [-i pidfile]\n"
- " [-m {usage|trace|record}]\n");
+ " [-m {usage|trace|record}]\n");
}
static void
return;
}
fprintf(stderr,
- "usage: named [-c conffile] [-d debuglevel] "
+ "usage: named [-4|-6] [-c conffile] [-d debuglevel] "
"[-f|-g] [-n number_of_cpus]\n"
" [-p port] [-s] [-t chrootdir] [-u username]\n"
" [-m {usage|trace|record}]\n");
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: rbt_test.txt,v 1.14 2004/03/05 04:58:39 marka Exp $
-
-add a.vix.com
-add b.vix.com
-add c.vix.com
-print
-add a.b.c.d.e.f.vix.com
-add b.b.c.d.e.f.vix.com
-add c.b.c.d.e.f.vix.com
-print
-add a.d.e.f.vix.com
-add q.d.e.f.vix.com
-add d.e.f.vix.com
-print
-add g.h.vix.com
-print
-search q.d.e.f.vix.com
-search just-parent.a.vix.com
-search no-real-parent.vix.com
-search does.not.exist.at.all
-forward
-backward
-# existing name
-check vix.com.
-# greater than stop node, which has down pointer
-check zzz.com.
-# less than lowest in level (would be left link from stop node)
-check 0.vix.com
-# greater than stop node, no down pointer
-check d.vix.com
-# superdomain stored in existing node
-check f.vix.com
-# common ancestor stored in existing node; existing is successor
-check a.e.f.vix.com
-# common ancestor stored in existing node; existing is less but not predecessor
-check z.e.f.vix.com
-#
-check g.vix.com
-#
-check i.vix.com
-#
-check b.c.vix.com
-nuke d.e.f.vix.com
-print
-add x.a.vix.com
-add y.x.a.vix.com
-print
-delete a.vix.com
-delete x.a.vix.com
-print
-delete b.vix.com
-delete c.vix.com
-print
-delete y.x.a.vix.com
-print
-delete g.h.vix.com.
-add \[b100000].vix.com.
-add \[b010000].vix.com.
-add \[b001000].vix.com.
-add \[b000100].vix.com.
-add \[b000010].vix.com.
-add \[b000001].vix.com.
-p
-search \[b000100].vix.com.
-# zap the entire tree
-add vix.com.
-nuke vix.com.
-add a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.
-add b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.
-print
-add .
-# zap it again
-nuke .
-# test splitting of maximal bitstring
-add \[xFFFF/16].\[xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF/256].com
-add \[xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF/128].com
-print
-quit
+# $Id: rbt_test.txt,v 1.15 2004/03/16 05:52:14 marka Exp $\r
+\r
+add a.vix.com\r
+add b.vix.com\r
+add c.vix.com\r
+print\r
+add a.b.c.d.e.f.vix.com\r
+add b.b.c.d.e.f.vix.com\r
+add c.b.c.d.e.f.vix.com\r
+print\r
+add a.d.e.f.vix.com\r
+add q.d.e.f.vix.com\r
+add d.e.f.vix.com\r
+print\r
+add g.h.vix.com\r
+print\r
+search q.d.e.f.vix.com\r
+search just-parent.a.vix.com\r
+search no-real-parent.vix.com\r
+search does.not.exist.at.all\r
+forward\r
+backward\r
+# existing name\r
+check vix.com.\r
+# greater than stop node, which has down pointer\r
+check zzz.com.\r
+# less than lowest in level (would be left link from stop node)\r
+check 0.vix.com\r
+# greater than stop node, no down pointer\r
+check d.vix.com\r
+# superdomain stored in existing node\r
+check f.vix.com\r
+# common ancestor stored in existing node; existing is successor\r
+check a.e.f.vix.com\r
+# common ancestor stored in existing node; existing is less but not predecessor\r
+check z.e.f.vix.com\r
+#\r
+check g.vix.com\r
+#\r
+check i.vix.com\r
+#\r
+check b.c.vix.com\r
+nuke d.e.f.vix.com\r
+print\r
+add x.a.vix.com\r
+add y.x.a.vix.com\r
+print\r
+delete a.vix.com\r
+delete x.a.vix.com\r
+print\r
+delete b.vix.com\r
+delete c.vix.com\r
+print\r
+delete y.x.a.vix.com\r
+print\r
+delete g.h.vix.com.\r
+add \[b100000].vix.com.\r
+add \[b010000].vix.com.\r
+add \[b001000].vix.com.\r
+add \[b000100].vix.com.\r
+add \[b000010].vix.com.\r
+add \[b000001].vix.com.\r
+p\r
+search \[b000100].vix.com.\r
+# zap the entire tree\r
+add vix.com.\r
+nuke vix.com.\r
+add a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.\r
+add b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.\r
+print\r
+add .\r
+# zap it again\r
+nuke .\r
+# test splitting of maximal bitstring\r
+add \[xFFFF/16].\[xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF/256].com\r
+add \[xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF/128].com\r
+print\r
+quit\r
--- /dev/null
+; Copyright (C) 2000-2002 Internet Software Consortium.
+;
+; Permission to use, copy, modify, and distribute this software for any
+; purpose with or without fee is hereby granted, provided that the above
+; copyright notice and this permission notice appear in all copies.
+;
+; THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
+; DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
+; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
+; INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
+; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
+; FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+; WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+; $Id: dlv.db.in,v 1.2 2004/03/16 05:52:15 marka Exp $
+
+$TTL 300 ; 5 minutes
+@ IN SOA mname1. . (
+ 2000042407 ; serial
+ 20 ; refresh (20 seconds)
+ 20 ; retry (20 seconds)
+ 1814400 ; expire (3 weeks)
+ 3600 ; minimum (1 hour)
+ )
+ NS ns2
+ns2 A 10.53.0.2
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: BINDInstallDlg.cpp,v 1.14 2004/03/09 04:25:06 marka Exp $ */
+/* $Id: BINDInstallDlg.cpp,v 1.15 2004/03/16 05:52:15 marka Exp $ */
/*
* Copyright (c) 1999-2000 by Nortel Networks Corporation
static char THIS_FILE[] = __FILE__;
#endif
-typedef struct _exception
+typedef struct _xexception
{
- _exception(UINT string, ...);
+ _xexception(UINT string, ...);
CString resString;
} Exception;
-_exception::_exception(UINT string, ...)
+_xexception::_xexception(UINT string, ...)
{
CString format;
va_list va;
if (CheckBINDService())
StopBINDService();
- HANDLE hSCManager = OpenSCManager(NULL, NULL,
+ SC_HANDLE hSCManager = OpenSCManager(NULL, NULL,
SC_MANAGER_ALL_ACCESS);
if (!hSCManager) {
MsgBox(IDS_ERR_OPEN_SCM, GetErrMessage());
return;
}
- HANDLE hService = OpenService(hSCManager, BIND_SERVICE_NAME,
+ SC_HANDLE hService = OpenService(hSCManager, BIND_SERVICE_NAME,
SERVICE_ALL_ACCESS);
if (!hService && GetLastError() != ERROR_SERVICE_DOES_NOT_EXIST){
MsgBox(IDS_ERR_OPEN_SERVICE, GetErrMessage());
void
CBINDInstallDlg::RegisterService() {
- HANDLE hSCManager;
- HANDLE hService;
+ SC_HANDLE hSCManager;
+ SC_HANDLE hService;
CString StartName = ".\\" + m_accountName;
/*
void
CBINDInstallDlg::UpdateService() {
- HANDLE hSCManager;
- HANDLE hService;
+ SC_HANDLE hSCManager;
+ SC_HANDLE hService;
CString StartName = ".\\" + m_accountName;
SetCurrent(IDS_OPEN_SCM);
void CBINDInstallDlg::UnregisterService(BOOL uninstall) {
BOOL rc = FALSE;
- HANDLE hSCManager;
- HANDLE hService;
+ SC_HANDLE hSCManager;
+ SC_HANDLE hService;
while(1) {
SetCurrent(IDS_OPEN_SCM);
SetCurrent(IDS_STOP_SERVICE);
- HANDLE hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
+ SC_HANDLE hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
if (!hSCManager) {
MsgBox(IDS_ERR_OPEN_SCM, GetErrMessage());
}
- HANDLE hBINDSvc = OpenService(hSCManager, BIND_SERVICE_NAME,
+ SC_HANDLE hBINDSvc = OpenService(hSCManager, BIND_SERVICE_NAME,
SERVICE_ALL_ACCESS);
if (!hBINDSvc) {
MsgBox(IDS_ERR_OPEN_SERVICE, GetErrMessage());
void CBINDInstallDlg::StartBINDService() {
SetCurrent(IDS_START_SERVICE);
- HANDLE hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
+ SC_HANDLE hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
if (!hSCManager) {
MsgBox(IDS_ERR_OPEN_SCM, GetErrMessage());
}
- HANDLE hBINDSvc = OpenService(hSCManager, BIND_SERVICE_NAME,
+ SC_HANDLE hBINDSvc = OpenService(hSCManager, BIND_SERVICE_NAME,
SERVICE_ALL_ACCESS);
if (!hBINDSvc) {
MsgBox(IDS_ERR_OPEN_SERVICE, GetErrMessage());
BOOL CBINDInstallDlg::CheckBINDService() {
SERVICE_STATUS svcStatus;
- HANDLE hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
+ SC_HANDLE hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
if (hSCManager) {
- HANDLE hBINDSvc = OpenService(hSCManager, BIND_SERVICE_NAME,
+ SC_HANDLE hBINDSvc = OpenService(hSCManager, BIND_SERVICE_NAME,
SERVICE_ALL_ACCESS);
if (hBINDSvc) {
BOOL rc = ControlService(hBINDSvc,
+configure.lineno
port_before.h
port_after.h
config.log
config.status
timestamp
libtool
-configure.lineno
+autom4te.cache
/*
* @(#)netdb.h 8.1 (Berkeley) 6/2/93
- * $Id: netdb.h,v 1.14 2004/03/09 06:29:53 marka Exp $
+ * $Id: netdb.h,v 1.15 2004/03/16 05:52:16 marka Exp $
*/
#ifndef _NETDB_H_
struct hostent *getipnodebyname __P((const char *, int, int, int *));
struct hostent *getipnodebyaddr __P((const void *, size_t, int, int *));
void freehostent __P((struct hostent *));
-
+#ifdef __GLIBC__
+int getnetgrent __P((/* const */ char **, /* const */ char **,
+ /* const */ char **));
+void setnetgrent __P((const char *));
+void endnetgrent __P((void));
+int innetgr __P((const char *, const char *, const char *,
+ const char *));
+#endif
#ifdef _REENTRANT
#if defined(__hpux) || defined(__osf__) || defined(_AIX)
void endhostent_r __P((struct hostent_data *));
#endif
-#ifdef __hpux
+#if defined(__hpux) || defined(__osf__)
int getnetbyaddr_r __P((int, int,
struct netent *, struct netent_data *));
#else
#endif
#else
/* defined(sun) || defined(bsdi) */
+#ifdef __GLIBC__
+int gethostbyaddr_r __P((const char *, int, int, struct hostent *,
+ char *, size_t, struct hostent **, int *));
+int gethostbyname_r __P((const char *, struct hostent *,
+ char *, size_t, struct hostent **, int *));
+int gethostent_r __P((struct hostent *, char *, size_t,
+ struct hostent **, int *));
+#else
struct hostent *gethostbyaddr_r __P((const char *, int, int, struct hostent *,
char *, int, int *));
struct hostent *gethostbyname_r __P((const char *, struct hostent *,
char *, int, int *));
struct hostent *gethostent_r __P((struct hostent *, char *, int, int *));
+#endif
void sethostent_r __P((int));
void endhostent_r __P((void));
+#ifdef __GLIBC__
+int getnetbyname_r __P((const char *, struct netent *,
+ char *, size_t, struct netent **, int*));
+int getnetbyaddr_r __P((unsigned long int, int, struct netent *,
+ char *, size_t, struct netent **, int*));
+int getnetent_r __P((struct netent *, char *, size_t, struct netent **, int*));
+#else
struct netent *getnetbyname_r __P((const char *, struct netent *,
char *, int));
struct netent *getnetbyaddr_r __P((long, int, struct netent *,
char *, int));
struct netent *getnetent_r __P((struct netent *, char *, int));
+#endif
void setnetent_r __P((int));
void endnetent_r __P((void));
+#ifdef __GLIBC__
+int getprotobyname_r __P((const char *, struct protoent *, char *,
+ size_t, struct protoent **));
+int getprotobynumber_r __P((int, struct protoent *, char *, size_t,
+ struct protoent **));
+int getprotoent_r __P((struct protoent *, char *, size_t, struct protoent **));
+#else
struct protoent *getprotobyname_r __P((const char *,
struct protoent *, char *, int));
struct protoent *getprotobynumber_r __P((int,
struct protoent *, char *, int));
struct protoent *getprotoent_r __P((struct protoent *, char *, int));
+#endif
void setprotoent_r __P((int));
void endprotoent_r __P((void));
+#ifdef __GLIBC__
+int getservbyname_r __P((const char *name, const char *,
+ struct servent *, char *, size_t, struct servent **));
+int getservbyport_r __P((int port, const char *,
+ struct servent *, char *, size_t, struct servent **));
+int getservent_r __P((struct servent *, char *, size_t, struct servent **));
+#else
struct servent *getservbyname_r __P((const char *name, const char *,
struct servent *, char *, int));
struct servent *getservbyport_r __P((int port, const char *,
struct servent *, char *, int));
struct servent *getservent_r __P((struct servent *, char *, int));
+#endif
void setservent_r __P((int));
void endservent_r __P((void));
+#ifdef __GLIBC__
+int getnetgrent_r __P((char **, char **, char **, char *, size_t));
+#endif
+
#endif
#endif
__END_DECLS
#ifndef netgroup_h
#define netgroup_h
+#ifndef __GLIBC__
/*
* The standard is crazy. These values "belong" to getnetgrent() and
void endnetgrent __P((void));
int innetgr __P((const char *, const char *, const char *, const char *));
-
+#endif
#endif
-/*
- * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 2001 Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
- * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-/* $Id: paths.h,v 1.4 2004/03/16 05:22:24 marka Exp $ */
-
#define _PATH_DEVNULL "/dev/null"
-# Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
-# Copyright (C) 2001 Internet Software Consortium.
-#
-# Permission to use, copy, modify, and distribute this software for any
-# purpose with or without fee is hereby granted, provided that the above
-# copyright notice and this permission notice appear in all copies.
-#
-# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
-# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
-# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
-# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-# PERFORMANCE OF THIS SOFTWARE.
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.in,v 1.143 2004/03/05 05:09:17 marka Exp $
+# $Id: Makefile.in,v 1.144 2004/03/16 05:52:18 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@
lib.@O@ log.@O@ lookup.@O@ \
master.@O@ masterdump.@O@ message.@O@ \
name.@O@ ncache.@O@ nsec.@O@ order.@O@ peer.@O@ portlist.@O@ \
- rbt.@O@ rbtdb.@O@ rbtdb64.@O@ rdata.@O@ rdatalist.@O@ \
+ rbt.@O@ rbtdb.@O@ rbtdb64.@O@ rcode.@O@ rdata.@O@ \
+ rdatalist.@O@ \
rdataset.@O@ rdatasetiter.@O@ rdataslab.@O@ request.@O@ \
resolver.@O@ result.@O@ rootns.@O@ sdb.@O@ soa.@O@ ssu.@O@ \
stats.@O@ tcpmsg.@O@ time.@O@ timer.@O@ tkey.@O@ \
lib.c log.c lookup.c \
master.c masterdump.c message.c \
name.c ncache.c nsec.c order.c peer.c portlist.c \
- rbt.c rbtdb.c rbtdb64.c rdata.c rdatalist.c \
+ rbt.c rbtdb.c rbtdb64.c rcode.c rdata.c \
+ rdatalist.c \
rdataset.c rdatasetiter.c rdataslab.c request.c \
resolver.c result.c rootns.c sdb.c soa.c ssu.c \
stats.c tcpmsg.c time.c timer.c tkey.c \
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: gen.c,v 1.72 2004/03/05 05:09:20 marka Exp $ */
+/* $Id: gen.c,v 1.73 2004/03/16 05:52:18 marka Exp $ */
#include <config.h>
const char copyright[] =
"/*\n"
-" * Copyright (C) 1998%s Internet Software Consortium.\n"
+" * Copyright (C) 2004%s Internet Systems Consortium, Inc. (\"ISC\")\n"
+" * Copyright (C) 1998-2003 Internet Software Consortium.\n"
" *\n"
" * Permission to use, copy, modify, and distribute this software for any\n"
" * purpose with or without fee is hereby granted, provided that the above\n"
" * copyright notice and this permission notice appear in all copies.\n"
" *\n"
-" * THE SOFTWARE IS PROVIDED \"AS IS\" AND INTERNET SOFTWARE CONSORTIUM\n"
-" * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL\n"
-" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL\n"
-" * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,\n"
-" * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING\n"
-" * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,\n"
-" * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION\n"
-" * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n"
+" * THE SOFTWARE IS PROVIDED \"AS IS\" AND ISC DISCLAIMS ALL WARRANTIES WITH\n"
+" * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n"
+" * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,\n"
+" * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n"
+" * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE\n"
+" * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n"
+" * PERFORMANCE OF THIS SOFTWARE.\n"
" */\n"
"\n"
"/***************\n"
sd(0, "", buf, filetype);
if (time(&now) != -1) {
- if ((tm = localtime(&now)) != NULL && tm->tm_year > 98)
+ if ((tm = localtime(&now)) != NULL && tm->tm_year > 104)
sprintf(year, "-%d", tm->tm_year + 1900);
else
year[0] = 0;
DIGESTARGS, DIGESTTYPE,
DIGESTCLASS, DIGESTDEF);
doswitch("CHECKOWNERSWITCH", "checkowner",
- CHECKOWNERARGS, CHECKOWNERTYPE,
- CHECKOWNERCLASS, CHECKOWNERDEF);
+ CHECKOWNERARGS, CHECKOWNERTYPE,
+ CHECKOWNERCLASS, CHECKOWNERDEF);
doswitch("CHECKNAMESSWITCH", "checknames",
- CHECKNAMESARGS, CHECKNAMESTYPE,
- CHECKNAMESCLASS, CHECKNAMESDEF);
+ CHECKNAMESARGS, CHECKNAMESTYPE,
+ CHECKNAMESCLASS, CHECKNAMESDEF);
/*
* From here down, we are processing the rdata names and
insert_into_typenames(254, "maila", METAQUESTIONONLY);
insert_into_typenames(255, "any", METAQUESTIONONLY);
- fprintf(stdout, "\ntypedef struct {\n");
- fprintf(stdout, "\tconst char *name;\n");
- fprintf(stdout, "\tunsigned int flags;\n");
- fprintf(stdout, "} typeattr_t;\n");
- fprintf(stdout, "static typeattr_t typeattr[] = {\n");
- for (i = 0; i <= maxtype; i++) {
- ttn = find_typename(i);
- if (ttn == NULL) {
- const char *attrs;
- if (i >= 128 && i < 255)
- attrs = "DNS_RDATATYPEATTR_UNKNOWN | "
- "DNS_RDATATYPEATTR_META";
- else
- attrs = "DNS_RDATATYPEATTR_UNKNOWN";
- fprintf(stdout, "\t{ \"TYPE%d\", %s}%s\n",
- i, attrs, PRINT_COMMA(i));
- } else {
- fprintf(stdout, "\t{ \"%s\", %s }%s\n",
- upper(ttn->typename),
- upper(ttn->attr),
- PRINT_COMMA(i));
- }
- }
- fprintf(stdout, "};\n");
-
/*
* Spit out a quick and dirty hash function. Here,
* we walk through the list of type names, and calculate
fprintf(stdout, "\t\tif (sizeof(_s) - 1 == _n && \\\n"
"\t\t strncasecmp(_s,(_tn),"
"(sizeof(_s) - 1)) == 0) { \\\n");
- fprintf(stdout, "\t\t\tif ((typeattr[_d].flags & "
+ fprintf(stdout, "\t\t\tif ((dns_rdatatype_attributes(_d) & "
"DNS_RDATATYPEATTR_RESERVED) != 0) \\\n");
fprintf(stdout, "\t\t\t\treturn (ISC_R_NOTIMPLEMENTED); \\\n");
fprintf(stdout, "\t\t\t*(_tp) = _d; \\\n");
}
fprintf(stdout, "\t}\n");
+ fprintf(stdout, "#define RDATATYPE_ATTRIBUTE_SW \\\n");
+ fprintf(stdout, "\tswitch (type) { \\\n");
+ for (i = 0; i <= maxtype; i++) {
+ ttn = find_typename(i);
+ if (ttn == NULL)
+ continue;
+ fprintf(stdout, "\tcase %u: return (%s); \\\n",
+ i, upper(ttn->attr));
+ }
+ fprintf(stdout, "\t}\n");
+
+ fprintf(stdout, "#define RDATATYPE_TOTEXT_SW \\\n");
+ fprintf(stdout, "\tswitch (type) { \\\n");
+ for (i = 0; i <= maxtype; i++) {
+ ttn = find_typename(i);
+ if (ttn == NULL)
+ continue;
+ fprintf(stdout, "\tcase %u: return "
+ "(str_totext(\"%s\", target)); \\\n",
+ i, upper(ttn->typename));
+ }
+ fprintf(stdout, "\t}\n");
+
fputs("#endif /* DNS_CODE_H */\n", stdout);
} else if (type_enum) {
char *s;
--- /dev/null
+/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 1998-2003 Internet Software Consortium.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id: rcode.c,v 1.2 2004/03/16 05:52:18 marka Exp $ */
+
+#include <config.h>
+#include <ctype.h>
+
+#include <isc/buffer.h>
+#include <isc/parseint.h>
+#include <isc/print.h>
+#include <isc/region.h>
+#include <isc/result.h>
+#include <isc/stdio.h>
+#include <isc/stdlib.h>
+#include <isc/string.h>
+#include <isc/types.h>
+#include <isc/util.h>
+
+#include <dns/cert.h>
+#include <dns/keyflags.h>
+#include <dns/keyvalues.h>
+#include <dns/rcode.h>
+#include <dns/rdataclass.h>
+#include <dns/result.h>
+#include <dns/secalg.h>
+#include <dns/secproto.h>
+
+#define RETERR(x) \
+ do { \
+ isc_result_t _r = (x); \
+ if (_r != ISC_R_SUCCESS) \
+ return (_r); \
+ } while (0)
+
+#define NUMBERSIZE sizeof("037777777777") /* 2^32-1 octal + NUL */
+
+#define RCODENAMES \
+ /* standard rcodes */ \
+ { dns_rcode_noerror, "NOERROR", 0}, \
+ { dns_rcode_formerr, "FORMERR", 0}, \
+ { dns_rcode_servfail, "SERVFAIL", 0}, \
+ { dns_rcode_nxdomain, "NXDOMAIN", 0}, \
+ { dns_rcode_notimp, "NOTIMP", 0}, \
+ { dns_rcode_refused, "REFUSED", 0}, \
+ { dns_rcode_yxdomain, "YXDOMAIN", 0}, \
+ { dns_rcode_yxrrset, "YXRRSET", 0}, \
+ { dns_rcode_nxrrset, "NXRRSET", 0}, \
+ { dns_rcode_notauth, "NOTAUTH", 0}, \
+ { dns_rcode_notzone, "NOTZONE", 0},
+
+#define ERCODENAMES \
+ /* extended rcodes */ \
+ { dns_rcode_badvers, "BADVERS", 0}, \
+ { 0, NULL, 0 }
+
+#define TSIGRCODENAMES \
+ /* extended rcodes */ \
+ { dns_tsigerror_badsig, "BADSIG", 0}, \
+ { dns_tsigerror_badkey, "BADKEY", 0}, \
+ { dns_tsigerror_badtime, "BADTIME", 0}, \
+ { dns_tsigerror_badmode, "BADMODE", 0}, \
+ { dns_tsigerror_badname, "BADNAME", 0}, \
+ { dns_tsigerror_badalg, "BADALG", 0}, \
+ { 0, NULL, 0 }
+
+/* RFC2538 section 2.1 */
+
+#define CERTNAMES \
+ { 1, "PKIX", 0}, \
+ { 2, "SPKI", 0}, \
+ { 3, "PGP", 0}, \
+ { 253, "URI", 0}, \
+ { 254, "OID", 0}, \
+ { 0, NULL, 0}
+
+/* RFC2535 section 7, RFC3110 */
+
+#define SECALGNAMES \
+ { DNS_KEYALG_RSAMD5, "RSAMD5", 0 }, \
+ { DNS_KEYALG_RSAMD5, "RSA", 0 }, \
+ { DNS_KEYALG_DH, "DH", 0 }, \
+ { DNS_KEYALG_DSA, "DSA", 0 }, \
+ { DNS_KEYALG_ECC, "ECC", 0 }, \
+ { DNS_KEYALG_RSASHA1, "RSASHA1", 0 }, \
+ { DNS_KEYALG_INDIRECT, "INDIRECT", 0 }, \
+ { DNS_KEYALG_PRIVATEDNS, "PRIVATEDNS", 0 }, \
+ { DNS_KEYALG_PRIVATEOID, "PRIVATEOID", 0 }, \
+ { 0, NULL, 0}
+
+/* RFC2535 section 7.1 */
+
+#define SECPROTONAMES \
+ { 0, "NONE", 0 }, \
+ { 1, "TLS", 0 }, \
+ { 2, "EMAIL", 0 }, \
+ { 3, "DNSSEC", 0 }, \
+ { 4, "IPSEC", 0 }, \
+ { 255, "ALL", 0 }, \
+ { 0, NULL, 0}
+
+struct tbl {
+ unsigned int value;
+ const char *name;
+ int flags;
+};
+
+static struct tbl rcodes[] = { RCODENAMES ERCODENAMES };
+static struct tbl tsigrcodes[] = { RCODENAMES TSIGRCODENAMES };
+static struct tbl certs[] = { CERTNAMES };
+static struct tbl secalgs[] = { SECALGNAMES };
+static struct tbl secprotos[] = { SECPROTONAMES };
+
+static struct keyflag {
+ const char *name;
+ unsigned int value;
+ unsigned int mask;
+} keyflags[] = {
+ { "NOCONF", 0x4000, 0xC000 },
+ { "NOAUTH", 0x8000, 0xC000 },
+ { "NOKEY", 0xC000, 0xC000 },
+ { "FLAG2", 0x2000, 0x2000 },
+ { "EXTEND", 0x1000, 0x1000 },
+ { "FLAG4", 0x0800, 0x0800 },
+ { "FLAG5", 0x0400, 0x0400 },
+ { "USER", 0x0000, 0x0300 },
+ { "ZONE", 0x0100, 0x0300 },
+ { "HOST", 0x0200, 0x0300 },
+ { "NTYP3", 0x0300, 0x0300 },
+ { "FLAG8", 0x0080, 0x0080 },
+ { "FLAG9", 0x0040, 0x0040 },
+ { "FLAG10", 0x0020, 0x0020 },
+ { "FLAG11", 0x0010, 0x0010 },
+ { "SIG0", 0x0000, 0x000F },
+ { "SIG1", 0x0001, 0x000F },
+ { "SIG2", 0x0002, 0x000F },
+ { "SIG3", 0x0003, 0x000F },
+ { "SIG4", 0x0004, 0x000F },
+ { "SIG5", 0x0005, 0x000F },
+ { "SIG6", 0x0006, 0x000F },
+ { "SIG7", 0x0007, 0x000F },
+ { "SIG8", 0x0008, 0x000F },
+ { "SIG9", 0x0009, 0x000F },
+ { "SIG10", 0x000A, 0x000F },
+ { "SIG11", 0x000B, 0x000F },
+ { "SIG12", 0x000C, 0x000F },
+ { "SIG13", 0x000D, 0x000F },
+ { "SIG14", 0x000E, 0x000F },
+ { "SIG15", 0x000F, 0x000F },
+ { "KSK", DNS_KEYFLAG_KSK, DNS_KEYFLAG_KSK },
+ { NULL, 0, 0 }
+};
+
+static isc_result_t
+str_totext(const char *source, isc_buffer_t *target) {
+ unsigned int l;
+ isc_region_t region;
+
+ isc_buffer_availableregion(target, ®ion);
+ l = strlen(source);
+
+ if (l > region.length)
+ return (ISC_R_NOSPACE);
+
+ memcpy(region.base, source, l);
+ isc_buffer_add(target, l);
+ return (ISC_R_SUCCESS);
+}
+
+static isc_result_t
+maybe_numeric(unsigned int *valuep, isc_textregion_t *source,
+ unsigned int max, isc_boolean_t hex_allowed)
+{
+ isc_result_t result;
+ isc_uint32_t n;
+ char buffer[NUMBERSIZE];
+
+ if (! isdigit(source->base[0] & 0xff) ||
+ source->length > NUMBERSIZE - 1)
+ return (ISC_R_BADNUMBER);
+
+ /*
+ * We have a potential number. Try to parse it with
+ * isc_parse_uint32(). isc_parse_uint32() requires
+ * null termination, so we must make a copy.
+ */
+ strncpy(buffer, source->base, NUMBERSIZE);
+ INSIST(buffer[source->length] == '\0');
+
+ result = isc_parse_uint32(&n, buffer, 10);
+ if (result == ISC_R_BADNUMBER && hex_allowed)
+ result = isc_parse_uint32(&n, buffer, 16);
+ if (result != ISC_R_SUCCESS)
+ return (result);
+ if (n > max)
+ return (ISC_R_RANGE);
+ *valuep = n;
+ return (ISC_R_SUCCESS);
+}
+
+static isc_result_t
+dns_mnemonic_fromtext(unsigned int *valuep, isc_textregion_t *source,
+ struct tbl *table, unsigned int max)
+{
+ isc_result_t result;
+ int i;
+
+ result = maybe_numeric(valuep, source, max, ISC_FALSE);
+ if (result != ISC_R_BADNUMBER)
+ return (result);
+
+ for (i = 0; table[i].name != NULL; i++) {
+ unsigned int n;
+ n = strlen(table[i].name);
+ if (n == source->length &&
+ strncasecmp(source->base, table[i].name, n) == 0) {
+ *valuep = table[i].value;
+ return (ISC_R_SUCCESS);
+ }
+ }
+ return (DNS_R_UNKNOWN);
+}
+
+static isc_result_t
+dns_mnemonic_totext(unsigned int value, isc_buffer_t *target,
+ struct tbl *table)
+{
+ int i = 0;
+ char buf[sizeof("4294967296")];
+ while (table[i].name != NULL) {
+ if (table[i].value == value) {
+ return (str_totext(table[i].name, target));
+ }
+ i++;
+ }
+ snprintf(buf, sizeof(buf), "%u", value);
+ return (str_totext(buf, target));
+}
+
+isc_result_t
+dns_rcode_fromtext(dns_rcode_t *rcodep, isc_textregion_t *source) {
+ unsigned int value;
+ RETERR(dns_mnemonic_fromtext(&value, source, rcodes, 0xffff));
+ *rcodep = value;
+ return (ISC_R_SUCCESS);
+}
+
+isc_result_t
+dns_rcode_totext(dns_rcode_t rcode, isc_buffer_t *target) {
+ return (dns_mnemonic_totext(rcode, target, rcodes));
+}
+
+isc_result_t
+dns_tsigrcode_fromtext(dns_rcode_t *rcodep, isc_textregion_t *source) {
+ unsigned int value;
+ RETERR(dns_mnemonic_fromtext(&value, source, tsigrcodes, 0xffff));
+ *rcodep = value;
+ return (ISC_R_SUCCESS);
+}
+
+isc_result_t
+dns_tsigrcode_totext(dns_rcode_t rcode, isc_buffer_t *target) {
+ return (dns_mnemonic_totext(rcode, target, tsigrcodes));
+}
+
+isc_result_t
+dns_cert_fromtext(dns_cert_t *certp, isc_textregion_t *source) {
+ unsigned int value;
+ RETERR(dns_mnemonic_fromtext(&value, source, certs, 0xffff));
+ *certp = value;
+ return (ISC_R_SUCCESS);
+}
+
+isc_result_t
+dns_cert_totext(dns_cert_t cert, isc_buffer_t *target) {
+ return (dns_mnemonic_totext(cert, target, certs));
+}
+
+isc_result_t
+dns_secalg_fromtext(dns_secalg_t *secalgp, isc_textregion_t *source) {
+ unsigned int value;
+ RETERR(dns_mnemonic_fromtext(&value, source, secalgs, 0xff));
+ *secalgp = value;
+ return (ISC_R_SUCCESS);
+}
+
+isc_result_t
+dns_secalg_totext(dns_secalg_t secalg, isc_buffer_t *target) {
+ return (dns_mnemonic_totext(secalg, target, secalgs));
+}
+
+isc_result_t
+dns_secproto_fromtext(dns_secproto_t *secprotop, isc_textregion_t *source) {
+ unsigned int value;
+ RETERR(dns_mnemonic_fromtext(&value, source, secprotos, 0xff));
+ *secprotop = value;
+ return (ISC_R_SUCCESS);
+}
+
+isc_result_t
+dns_secproto_totext(dns_secproto_t secproto, isc_buffer_t *target) {
+ return (dns_mnemonic_totext(secproto, target, secprotos));
+}
+
+isc_result_t
+dns_keyflags_fromtext(dns_keyflags_t *flagsp, isc_textregion_t *source)
+{
+ isc_result_t result;
+ char *text, *end;
+ unsigned int value, mask;
+
+ result = maybe_numeric(&value, source, 0xffff, ISC_TRUE);
+ if (result == ISC_R_SUCCESS) {
+ *flagsp = value;
+ return (ISC_R_SUCCESS);
+ }
+ if (result != ISC_R_BADNUMBER)
+ return (result);
+
+ text = source->base;
+ end = source->base + source->length;
+ value = mask = 0;
+
+ while (text < end) {
+ struct keyflag *p;
+ unsigned int len;
+ char *delim = memchr(text, '|', end - text);
+ if (delim != NULL)
+ len = delim - text;
+ else
+ len = end - text;
+ for (p = keyflags; p->name != NULL; p++) {
+ if (strncasecmp(p->name, text, len) == 0)
+ break;
+ }
+ if (p->name == NULL)
+ return (DNS_R_UNKNOWNFLAG);
+ value |= p->value;
+#ifdef notyet
+ if ((mask & p->mask) != 0)
+ warn("overlapping key flags");
+#endif
+ mask |= p->mask;
+ text += len;
+ if (delim != NULL)
+ text++; /* Skip "|" */
+ }
+ *flagsp = value;
+ return (ISC_R_SUCCESS);
+}
+
+/*
+ * This uses lots of hard coded values, but how often do we actually
+ * add classes?
+ */
+isc_result_t
+dns_rdataclass_fromtext(dns_rdataclass_t *classp, isc_textregion_t *source) {
+#define COMPARE(string, rdclass) \
+ if (((sizeof(string) - 1) == source->length) \
+ && (strncasecmp(source->base, string, source->length) == 0)) { \
+ *classp = rdclass; \
+ return (ISC_R_SUCCESS); \
+ }
+
+ switch (tolower((unsigned char)source->base[0])) {
+ case 'a':
+ COMPARE("any", dns_rdataclass_any);
+ break;
+ case 'c':
+ /*
+ * RFC1035 says the mnemonic for the CHAOS class is CH,
+ * but historical BIND practice is to call it CHAOS.
+ * We will accept both forms, but only generate CH.
+ */
+ COMPARE("ch", dns_rdataclass_chaos);
+ COMPARE("chaos", dns_rdataclass_chaos);
+
+ if (source->length > 5 &&
+ source->length < (5 + sizeof("65000")) &&
+ strncasecmp("class", source->base, 5) == 0) {
+ char buf[sizeof("65000")];
+ char *endp;
+ unsigned int val;
+
+ strncpy(buf, source->base + 5, source->length - 5);
+ buf[source->length - 5] = '\0';
+ val = strtoul(buf, &endp, 10);
+ if (*endp == '\0' && val <= 0xffff) {
+ *classp = (dns_rdataclass_t)val;
+ return (ISC_R_SUCCESS);
+ }
+ }
+ break;
+ case 'h':
+ COMPARE("hs", dns_rdataclass_hs);
+ COMPARE("hesiod", dns_rdataclass_hs);
+ break;
+ case 'i':
+ COMPARE("in", dns_rdataclass_in);
+ break;
+ case 'n':
+ COMPARE("none", dns_rdataclass_none);
+ break;
+ case 'r':
+ COMPARE("reserved0", dns_rdataclass_reserved0);
+ break;
+ }
+
+#undef COMPARE
+
+ return (DNS_R_UNKNOWN);
+}
+
+isc_result_t
+dns_rdataclass_totext(dns_rdataclass_t rdclass, isc_buffer_t *target) {
+ char buf[sizeof("CLASS65535")];
+
+ switch (rdclass) {
+ case dns_rdataclass_any:
+ return (str_totext("ANY", target));
+ case dns_rdataclass_chaos:
+ return (str_totext("CH", target));
+ case dns_rdataclass_hs:
+ return (str_totext("HS", target));
+ case dns_rdataclass_in:
+ return (str_totext("IN", target));
+ case dns_rdataclass_none:
+ return (str_totext("NONE", target));
+ case dns_rdataclass_reserved0:
+ return (str_totext("RESERVED0", target));
+ default:
+ snprintf(buf, sizeof(buf), "CLASS%u", rdclass);
+ return (str_totext(buf, target));
+ }
+}
+
+void
+dns_rdataclass_format(dns_rdataclass_t rdclass,
+ char *array, unsigned int size)
+{
+ isc_result_t result;
+ isc_buffer_t buf;
+
+ isc_buffer_init(&buf, array, size);
+ result = dns_rdataclass_totext(rdclass, &buf);
+ /*
+ * Null terminate.
+ */
+ if (result == ISC_R_SUCCESS) {
+ if (isc_buffer_availablelength(&buf) >= 1)
+ isc_buffer_putuint8(&buf, 0);
+ else
+ result = ISC_R_NOSPACE;
+ }
+ if (result != ISC_R_SUCCESS) {
+ snprintf(array, size, "<unknown>");
+ array[size - 1] = '\0';
+ }
+}
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rdata.c,v 1.183 2004/03/05 05:09:23 marka Exp $ */
+/* $Id: rdata.c,v 1.184 2004/03/16 05:52:18 marka Exp $ */
#include <config.h>
#include <ctype.h>
#include <dns/callbacks.h>
#include <dns/cert.h>
#include <dns/compress.h>
+#include <dns/enumtype.h>
#include <dns/keyflags.h>
#include <dns/keyvalues.h>
#include <dns/rcode.h>
#define META 0x0001
#define RESERVED 0x0002
-#define RCODENAMES \
- /* standard rcodes */ \
- { dns_rcode_noerror, "NOERROR", 0}, \
- { dns_rcode_formerr, "FORMERR", 0}, \
- { dns_rcode_servfail, "SERVFAIL", 0}, \
- { dns_rcode_nxdomain, "NXDOMAIN", 0}, \
- { dns_rcode_notimp, "NOTIMP", 0}, \
- { dns_rcode_refused, "REFUSED", 0}, \
- { dns_rcode_yxdomain, "YXDOMAIN", 0}, \
- { dns_rcode_yxrrset, "YXRRSET", 0}, \
- { dns_rcode_nxrrset, "NXRRSET", 0}, \
- { dns_rcode_notauth, "NOTAUTH", 0}, \
- { dns_rcode_notzone, "NOTZONE", 0},
-
-#define ERCODENAMES \
- /* extended rcodes */ \
- { dns_rcode_badvers, "BADVERS", 0}, \
- { 0, NULL, 0 }
-
-#define TSIGRCODENAMES \
- /* extended rcodes */ \
- { dns_tsigerror_badsig, "BADSIG", 0}, \
- { dns_tsigerror_badkey, "BADKEY", 0}, \
- { dns_tsigerror_badtime, "BADTIME", 0}, \
- { dns_tsigerror_badmode, "BADMODE", 0}, \
- { dns_tsigerror_badname, "BADNAME", 0}, \
- { dns_tsigerror_badalg, "BADALG", 0}, \
- { 0, NULL, 0 }
-
-/* RFC2538 section 2.1 */
-
-#define CERTNAMES \
- { 1, "PKIX", 0}, \
- { 2, "SPKI", 0}, \
- { 3, "PGP", 0}, \
- { 253, "URI", 0}, \
- { 254, "OID", 0}, \
- { 0, NULL, 0}
-
-/* RFC2535 section 7, RFC3110 */
-
-#define SECALGNAMES \
- { DNS_KEYALG_RSAMD5, "RSAMD5", 0 }, \
- { DNS_KEYALG_RSAMD5, "RSA", 0 }, \
- { DNS_KEYALG_DH, "DH", 0 }, \
- { DNS_KEYALG_DSA, "DSA", 0 }, \
- { DNS_KEYALG_ECC, "ECC", 0 }, \
- { DNS_KEYALG_RSASHA1, "RSASHA1", 0 }, \
- { DNS_KEYALG_INDIRECT, "INDIRECT", 0 }, \
- { DNS_KEYALG_PRIVATEDNS, "PRIVATEDNS", 0 }, \
- { DNS_KEYALG_PRIVATEOID, "PRIVATEOID", 0 }, \
- { 0, NULL, 0}
-
-/* RFC2535 section 7.1 */
-
-#define SECPROTONAMES \
- { 0, "NONE", 0 }, \
- { 1, "TLS", 0 }, \
- { 2, "EMAIL", 0 }, \
- { 3, "DNSSEC", 0 }, \
- { 4, "IPSEC", 0 }, \
- { 255, "ALL", 0 }, \
- { 0, NULL, 0}
-
-struct tbl {
- unsigned int value;
- const char *name;
- int flags;
-};
-
-static struct tbl rcodes[] = { RCODENAMES ERCODENAMES };
-static struct tbl tsigrcodes[] = { RCODENAMES TSIGRCODENAMES };
-static struct tbl certs[] = { CERTNAMES };
-static struct tbl secalgs[] = { SECALGNAMES };
-static struct tbl secprotos[] = { SECPROTONAMES };
-
-static struct keyflag {
- const char *name;
- unsigned int value;
- unsigned int mask;
-} keyflags[] = {
- { "NOCONF", 0x4000, 0xC000 },
- { "NOAUTH", 0x8000, 0xC000 },
- { "NOKEY", 0xC000, 0xC000 },
- { "FLAG2", 0x2000, 0x2000 },
- { "EXTEND", 0x1000, 0x1000 },
- { "FLAG4", 0x0800, 0x0800 },
- { "FLAG5", 0x0400, 0x0400 },
- { "USER", 0x0000, 0x0300 },
- { "ZONE", 0x0100, 0x0300 },
- { "HOST", 0x0200, 0x0300 },
- { "NTYP3", 0x0300, 0x0300 },
- { "FLAG8", 0x0080, 0x0080 },
- { "FLAG9", 0x0040, 0x0040 },
- { "FLAG10", 0x0020, 0x0020 },
- { "FLAG11", 0x0010, 0x0010 },
- { "SIG0", 0x0000, 0x000F },
- { "SIG1", 0x0001, 0x000F },
- { "SIG2", 0x0002, 0x000F },
- { "SIG3", 0x0003, 0x000F },
- { "SIG4", 0x0004, 0x000F },
- { "SIG5", 0x0005, 0x000F },
- { "SIG6", 0x0006, 0x000F },
- { "SIG7", 0x0007, 0x000F },
- { "SIG8", 0x0008, 0x000F },
- { "SIG9", 0x0009, 0x000F },
- { "SIG10", 0x000A, 0x000F },
- { "SIG11", 0x000B, 0x000F },
- { "SIG12", 0x000C, 0x000F },
- { "SIG13", 0x000D, 0x000F },
- { "SIG14", 0x000E, 0x000F },
- { "SIG15", 0x000F, 0x000F },
- { "KSK", DNS_KEYFLAG_KSK, DNS_KEYFLAG_KSK },
- { NULL, 0, 0 }
-};
-
/***
*** Initialization
***/
unsigned int
dns_rdatatype_attributes(dns_rdatatype_t type)
{
- if (type < (sizeof(typeattr)/sizeof(typeattr[0])))
- return (typeattr[type].flags);
+ RDATATYPE_ATTRIBUTE_SW
+ if (type >= (dns_rdatatype_t)128 && type < (dns_rdatatype_t)255)
+ return (DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META);
return (DNS_RDATATYPEATTR_UNKNOWN);
}
-#define NUMBERSIZE sizeof("037777777777") /* 2^32-1 octal + NUL */
-
-/*
- * If 'source' contains a decimal number no larger than 'max',
- * store it at '*value' and return ISC_R_SUCCESS. If out of
- * range return ISC_R_RANGE; if not a number, return
- * ISC_R_BADNUMBER.
- */
-static isc_result_t
-maybe_numeric(unsigned int *valuep, isc_textregion_t *source,
- unsigned int max, isc_boolean_t hex_allowed)
-{
- isc_result_t result;
- isc_uint32_t n;
- char buffer[NUMBERSIZE];
-
- if (! isdigit(source->base[0] & 0xff) ||
- source->length > NUMBERSIZE - 1)
- return (ISC_R_BADNUMBER);
-
- /*
- * We have a potential number. Try to parse it with
- * isc_parse_uint32(). isc_parse_uint32() requires
- * null termination, so we must make a copy.
- */
- strncpy(buffer, source->base, NUMBERSIZE);
- INSIST(buffer[source->length] == '\0');
-
- result = isc_parse_uint32(&n, buffer, 10);
- if (result == ISC_R_BADNUMBER && hex_allowed)
- result = isc_parse_uint32(&n, buffer, 16);
- if (result != ISC_R_SUCCESS)
- return (result);
- if (n > max)
- return (ISC_R_RANGE);
- *valuep = n;
- return (ISC_R_SUCCESS);
-}
-
-static isc_result_t
-dns_mnemonic_fromtext(unsigned int *valuep, isc_textregion_t *source,
- struct tbl *table, unsigned int max)
-{
- isc_result_t result;
- int i;
-
- result = maybe_numeric(valuep, source, max, ISC_FALSE);
- if (result != ISC_R_BADNUMBER)
- return (result);
-
- for (i = 0; table[i].name != NULL; i++) {
- unsigned int n;
- n = strlen(table[i].name);
- if (n == source->length &&
- strncasecmp(source->base, table[i].name, n) == 0) {
- *valuep = table[i].value;
- return (ISC_R_SUCCESS);
- }
- }
- return (DNS_R_UNKNOWN);
-}
-
-static isc_result_t
-dns_mnemonic_totext(unsigned int value, isc_buffer_t *target,
- struct tbl *table)
-{
- int i = 0;
- char buf[sizeof("4294967296")];
- while (table[i].name != NULL) {
- if (table[i].value == value) {
- return (str_totext(table[i].name, target));
- }
- i++;
- }
- snprintf(buf, sizeof(buf), "%u", value);
- return (str_totext(buf, target));
-}
-
-
-/*
- * This uses lots of hard coded values, but how often do we actually
- * add classes?
- */
-isc_result_t
-dns_rdataclass_fromtext(dns_rdataclass_t *classp, isc_textregion_t *source) {
-#define COMPARE(string, rdclass) \
- if (((sizeof(string) - 1) == source->length) \
- && (strncasecmp(source->base, string, source->length) == 0)) { \
- *classp = rdclass; \
- return (ISC_R_SUCCESS); \
- }
-
- switch (tolower((unsigned char)source->base[0])) {
- case 'a':
- COMPARE("any", dns_rdataclass_any);
- break;
- case 'c':
- /*
- * RFC1035 says the mnemonic for the CHAOS class is CH,
- * but historical BIND practice is to call it CHAOS.
- * We will accept both forms, but only generate CH.
- */
- COMPARE("ch", dns_rdataclass_chaos);
- COMPARE("chaos", dns_rdataclass_chaos);
-
- if (source->length > 5 &&
- source->length < (5 + sizeof("65000")) &&
- strncasecmp("class", source->base, 5) == 0) {
- char buf[sizeof("65000")];
- char *endp;
- unsigned int val;
-
- strncpy(buf, source->base + 5, source->length - 5);
- buf[source->length - 5] = '\0';
- val = strtoul(buf, &endp, 10);
- if (*endp == '\0' && val <= 0xffff) {
- *classp = (dns_rdataclass_t)val;
- return (ISC_R_SUCCESS);
- }
- }
- break;
- case 'h':
- COMPARE("hs", dns_rdataclass_hs);
- COMPARE("hesiod", dns_rdataclass_hs);
- break;
- case 'i':
- COMPARE("in", dns_rdataclass_in);
- break;
- case 'n':
- COMPARE("none", dns_rdataclass_none);
- break;
- case 'r':
- COMPARE("reserved0", dns_rdataclass_reserved0);
- break;
- }
-
-#undef COMPARE
-
- return (DNS_R_UNKNOWN);
-}
-
-isc_result_t
-dns_rdataclass_totext(dns_rdataclass_t rdclass, isc_buffer_t *target) {
- char buf[sizeof("CLASS65535")];
-
- switch (rdclass) {
- case dns_rdataclass_any:
- return (str_totext("ANY", target));
- case dns_rdataclass_chaos:
- return (str_totext("CH", target));
- case dns_rdataclass_hs:
- return (str_totext("HS", target));
- case dns_rdataclass_in:
- return (str_totext("IN", target));
- case dns_rdataclass_none:
- return (str_totext("NONE", target));
- case dns_rdataclass_reserved0:
- return (str_totext("RESERVED0", target));
- default:
- snprintf(buf, sizeof(buf), "CLASS%u", rdclass);
- return (str_totext(buf, target));
- }
-}
-
-void
-dns_rdataclass_format(dns_rdataclass_t rdclass,
- char *array, unsigned int size)
-{
- isc_result_t result;
- isc_buffer_t buf;
-
- isc_buffer_init(&buf, array, size);
- result = dns_rdataclass_totext(rdclass, &buf);
- /*
- * Null terminate.
- */
- if (result == ISC_R_SUCCESS) {
- if (isc_buffer_availablelength(&buf) >= 1)
- isc_buffer_putuint8(&buf, 0);
- else
- result = ISC_R_NOSPACE;
- }
- if (result != ISC_R_SUCCESS) {
- snprintf(array, size, "<unknown>");
- array[size - 1] = '\0';
- }
-}
-
isc_result_t
dns_rdatatype_fromtext(dns_rdatatype_t *typep, isc_textregion_t *source) {
unsigned int hash;
dns_rdatatype_totext(dns_rdatatype_t type, isc_buffer_t *target) {
char buf[sizeof("TYPE65535")];
- if (type < (sizeof(typeattr)/sizeof(typeattr[0])))
- return (str_totext(typeattr[type].name, target));
+ RDATATYPE_TOTEXT_SW
snprintf(buf, sizeof(buf), "TYPE%u", type);
return (str_totext(buf, target));
}
}
}
-
-/* XXXRTH Should we use a hash table here? */
-
-isc_result_t
-dns_rcode_fromtext(dns_rcode_t *rcodep, isc_textregion_t *source) {
- unsigned int value;
- RETERR(dns_mnemonic_fromtext(&value, source, rcodes, 0xffff));
- *rcodep = value;
- return (ISC_R_SUCCESS);
-}
-
-isc_result_t
-dns_rcode_totext(dns_rcode_t rcode, isc_buffer_t *target) {
- return (dns_mnemonic_totext(rcode, target, rcodes));
-}
-
-isc_result_t
-dns_tsigrcode_fromtext(dns_rcode_t *rcodep, isc_textregion_t *source) {
- unsigned int value;
- RETERR(dns_mnemonic_fromtext(&value, source, tsigrcodes, 0xffff));
- *rcodep = value;
- return (ISC_R_SUCCESS);
-}
-
-isc_result_t
-dns_tsigrcode_totext(dns_rcode_t rcode, isc_buffer_t *target) {
- return (dns_mnemonic_totext(rcode, target, tsigrcodes));
-}
-
-isc_result_t
-dns_cert_fromtext(dns_cert_t *certp, isc_textregion_t *source) {
- unsigned int value;
- RETERR(dns_mnemonic_fromtext(&value, source, certs, 0xffff));
- *certp = value;
- return (ISC_R_SUCCESS);
-}
-
-isc_result_t
-dns_cert_totext(dns_cert_t cert, isc_buffer_t *target) {
- return (dns_mnemonic_totext(cert, target, certs));
-}
-
-isc_result_t
-dns_secalg_fromtext(dns_secalg_t *secalgp, isc_textregion_t *source) {
- unsigned int value;
- RETERR(dns_mnemonic_fromtext(&value, source, secalgs, 0xff));
- *secalgp = value;
- return (ISC_R_SUCCESS);
-}
-
-isc_result_t
-dns_secalg_totext(dns_secalg_t secalg, isc_buffer_t *target) {
- return (dns_mnemonic_totext(secalg, target, secalgs));
-}
-
-isc_result_t
-dns_secproto_fromtext(dns_secproto_t *secprotop, isc_textregion_t *source) {
- unsigned int value;
- RETERR(dns_mnemonic_fromtext(&value, source, secprotos, 0xff));
- *secprotop = value;
- return (ISC_R_SUCCESS);
-}
-
-isc_result_t
-dns_secproto_totext(dns_secproto_t secproto, isc_buffer_t *target) {
- return (dns_mnemonic_totext(secproto, target, secprotos));
-}
-
-isc_result_t
-dns_keyflags_fromtext(dns_keyflags_t *flagsp, isc_textregion_t *source)
-{
- isc_result_t result;
- char *text, *end;
- unsigned int value, mask;
-
- result = maybe_numeric(&value, source, 0xffff, ISC_TRUE);
- if (result == ISC_R_SUCCESS) {
- *flagsp = value;
- return (ISC_R_SUCCESS);
- }
- if (result != ISC_R_BADNUMBER)
- return (result);
-
- text = source->base;
- end = source->base + source->length;
- value = mask = 0;
-
- while (text < end) {
- struct keyflag *p;
- unsigned int len;
- char *delim = memchr(text, '|', end - text);
- if (delim != NULL)
- len = delim - text;
- else
- len = end - text;
- for (p = keyflags; p->name != NULL; p++) {
- if (strncasecmp(p->name, text, len) == 0)
- break;
- }
- if (p->name == NULL)
- return (DNS_R_UNKNOWNFLAG);
- value |= p->value;
-#ifdef notyet
- if ((mask & p->mask) != 0)
- warn("overlapping key flags");
-#endif
- mask |= p->mask;
- text += len;
- if (delim != NULL)
- text++; /* Skip "|" */
- }
- *flagsp = value;
- return (ISC_R_SUCCESS);
-}
-
/*
* Private function.
*/
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: resolver.c,v 1.283 2004/03/05 05:09:24 marka Exp $ */
+/* $Id: resolver.c,v 1.284 2004/03/16 05:52:19 marka Exp $ */
#include <config.h>
RWUNLOCK(&resolver->alglock, isc_rwlocktype_write);
#endif
return (result);
-};
+}
isc_boolean_t
dns_resolver_algorithm_supported(dns_resolver_t *resolver, dns_name_t *name,
if (found)
return (ISC_FALSE);
return (dst_algorithm_supported(alg));
-};
+}
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: time.c,v 1.25 2004/03/05 05:09:25 marka Exp $ */
+/* $Id: time.c,v 1.26 2004/03/16 05:52:19 marka Exp $ */
#include <config.h>
result = dns_time64_fromtext(source, &value64);
if (result != ISC_R_SUCCESS)
return (result);
- *target = value64;
+ *target = (isc_uint32_t)value64;
return (ISC_R_SUCCESS);
}
; Exported Functions
EXPORTS
-dns_a6_init
-dns_a6_reset
-dns_a6_invalidate
-dns_a6_copy
-dns_a6_foreach
dns_acl_create
dns_acl_appendelement
dns_acl_any
dns_message_rendersection
dns_message_settimeadjust
dns_message_gettimeadjust
-dns_label_type
-dns_label_countbits
-dns_label_getbit
dns_name_init
dns_name_reset
dns_name_invalidate
dns_name_hasbuffer
dns_name_isabsolute
dns_name_iswildcard
-dns_name_requiresedns
dns_name_hash
dns_name_fullcompare
dns_name_compare
dns_name_rdatacompare
dns_name_issubdomain
dns_name_matcheswildcard
-dns_name_depth
dns_name_countlabels
dns_name_getlabel
dns_name_getlabelsequence
dns_name_downcase
dns_name_concatenate
dns_name_split
-dns_name_splitatdepth
dns_name_dup
dns_name_dupwithoffsets
dns_name_free
dns_zone_getkeydirectory
dns_zone_setkeydirectory
dns_dnssec_findzonekeys2
+dns_zone_fulldumptostream
+dns_request_createvia3
+dns_zone_setaltxfrsource4
+dns_zone_setaltxfrsource6
+dns_zone_checknames
+dns_zonemgr_resumexfrs
+dns_portlist_add
+dns_resolver_getudpsize
+dns_acl_elementmatch
+dns_rdata_checkowner
+dns_rdataset_getnoqname
+dns_portlist_detach
+dns_dispatchmgr_setblackportlist
+dns_portlist_create
+dns_view_excludedelegationonly
+dns_view_setrootdelonly
+dns_resolver_reset_algorithms
+dns_resolver_setudpsize
+dns_peer_settransfersource
+dns_resolver_disable_algorithm
+dns_resolver_addalternate
+dns_view_adddelegationonly
+
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "libdns_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../../../../openssl-0.9.6g/inc32/openssl/include" /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6g/inc32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../../../../openssl-0.9.6k/inc32/openssl/include" /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6k/inc32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /YX /FD /c
# SUBTRACT CPP /X
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../isc/win32/Release/libisc.lib ../../../../openssl-0.9.6g/out32dll/libeay32.lib /nologo /dll /machine:I386 /out:"../../../Build/Release/libdns.dll"
+# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../isc/win32/Release/libisc.lib ../../../../openssl-0.9.6k/out32dll/libeay32.lib /nologo /dll /machine:I386 /out:"../../../Build/Release/libdns.dll"
!ELSEIF "$(CFG)" == "libdns - Win32 Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "libdns_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6g/inc32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /FR /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6k/inc32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /FR /YX /FD /GZ /c
# SUBTRACT CPP /X
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../isc/win32/debug/libisc.lib ../../../../openssl-0.9.6g/out32dll/libeay32.lib /nologo /dll /map /debug /machine:I386 /out:"../../../Build/Debug/libdns.dll" /pdbtype:sept
+# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../isc/win32/debug/libisc.lib ../../../../openssl-0.9.6k/out32dll/libeay32.lib /nologo /dll /map /debug /machine:I386 /out:"../../../Build/Debug/libdns.dll" /pdbtype:sept
!ENDIF
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
-SOURCE=..\include\dns\a6.h
-# End Source File
-# Begin Source File
-
SOURCE=..\include\dns\acl.h
# End Source File
# Begin Source File
# End Source File
# Begin Source File
+SOURCE=..\include\dns\portlist.h
+# End Source File
+# Begin Source File
+
SOURCE=..\include\dns\rbt.h
# End Source File
# Begin Source File
# PROP Default_Filter "c"
# Begin Source File
-SOURCE=..\a6.c
-# End Source File
-# Begin Source File
-
SOURCE=..\acl.c
# End Source File
# Begin Source File
# End Source File
# Begin Source File
+SOURCE=..\portlist.c
+# End Source File
+# Begin Source File
+
SOURCE=..\rbt.c
# End Source File
# Begin Source File
# End Source File
# Begin Source File
+SOURCE=..\rcode.c
+# End Source File
+# Begin Source File
+
SOURCE=..\rdata.c
# End Source File
# Begin Source File
!ELSE
CLEAN :
!ENDIF
- -@erase "$(INTDIR)\a6.obj"
-@erase "$(INTDIR)\acl.obj"
-@erase "$(INTDIR)\adb.obj"
-@erase "$(INTDIR)\byaddr.obj"
-@erase "$(INTDIR)\opensslrsa_link.obj"
-@erase "$(INTDIR)\order.obj"
-@erase "$(INTDIR)\peer.obj"
+ -@erase "$(INTDIR)\portlist.obj"
-@erase "$(INTDIR)\rbt.obj"
-@erase "$(INTDIR)\rbtdb.obj"
-@erase "$(INTDIR)\rbtdb64.obj"
+ -@erase "$(INTDIR)\rcode.obj"
-@erase "$(INTDIR)\rdata.obj"
-@erase "$(INTDIR)\rdatalist.obj"
-@erase "$(INTDIR)\rdataset.obj"
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "../../../../../openssl-0.9.6g/inc32/openssl/include" /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6g/inc32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /Fp"$(INTDIR)\libdns.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "../../../../../openssl-0.9.6k/inc32/openssl/include" /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6k/inc32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /Fp"$(INTDIR)\libdns.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
BSC32_SBRS= \
LINK32=link.exe
-LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../isc/win32/Release/libisc.lib ../../../../openssl-0.9.6g/out32dll/libeay32.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\libdns.pdb" /machine:I386 /def:".\libdns.def" /out:"../../../Build/Release/libdns.dll" /implib:"$(OUTDIR)\libdns.lib"
+LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../isc/win32/Release/libisc.lib ../../../../openssl-0.9.6k/out32dll/libeay32.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\libdns.pdb" /machine:I386 /def:".\libdns.def" /out:"../../../Build/Release/libdns.dll" /implib:"$(OUTDIR)\libdns.lib"
DEF_FILE= \
".\libdns.def"
LINK32_OBJS= \
- "$(INTDIR)\a6.obj" \
"$(INTDIR)\acl.obj" \
"$(INTDIR)\adb.obj" \
"$(INTDIR)\byaddr.obj" \
"$(INTDIR)\nsec.obj" \
"$(INTDIR)\order.obj" \
"$(INTDIR)\peer.obj" \
+ "$(INTDIR)\portlist.obj" \
"$(INTDIR)\rbt.obj" \
"$(INTDIR)\rbtdb.obj" \
"$(INTDIR)\rbtdb64.obj" \
+ "$(INTDIR)\rcode.obj" \
"$(INTDIR)\rdata.obj" \
"$(INTDIR)\rdatalist.obj" \
"$(INTDIR)\rdataset.obj" \
!ELSE
CLEAN :
!ENDIF
- -@erase "$(INTDIR)\a6.obj"
- -@erase "$(INTDIR)\a6.sbr"
-@erase "$(INTDIR)\acl.obj"
-@erase "$(INTDIR)\acl.sbr"
-@erase "$(INTDIR)\adb.obj"
-@erase "$(INTDIR)\order.sbr"
-@erase "$(INTDIR)\peer.obj"
-@erase "$(INTDIR)\peer.sbr"
+ -@erase "$(INTDIR)\portlist.obj"
+ -@erase "$(INTDIR)\portlist.sbr"
-@erase "$(INTDIR)\rbt.obj"
-@erase "$(INTDIR)\rbt.sbr"
-@erase "$(INTDIR)\rbtdb.obj"
-@erase "$(INTDIR)\rbtdb.sbr"
-@erase "$(INTDIR)\rbtdb64.obj"
-@erase "$(INTDIR)\rbtdb64.sbr"
+ -@erase "$(INTDIR)\rcode.obj"
+ -@erase "$(INTDIR)\rcode.sbr"
-@erase "$(INTDIR)\rdata.obj"
-@erase "$(INTDIR)\rdata.sbr"
-@erase "$(INTDIR)\rdatalist.obj"
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6g/inc32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libdns.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
+CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6k/inc32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libdns.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\libdns.bsc"
BSC32_SBRS= \
- "$(INTDIR)\a6.sbr" \
"$(INTDIR)\acl.sbr" \
"$(INTDIR)\adb.sbr" \
"$(INTDIR)\byaddr.sbr" \
"$(INTDIR)\nsec.sbr" \
"$(INTDIR)\order.sbr" \
"$(INTDIR)\peer.sbr" \
+ "$(INTDIR)\portlist.sbr" \
"$(INTDIR)\rbt.sbr" \
"$(INTDIR)\rbtdb.sbr" \
"$(INTDIR)\rbtdb64.sbr" \
+ "$(INTDIR)\rcode.sbr" \
"$(INTDIR)\rdata.sbr" \
"$(INTDIR)\rdatalist.sbr" \
"$(INTDIR)\rdataset.sbr" \
<<
LINK32=link.exe
-LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../isc/win32/debug/libisc.lib ../../../../openssl-0.9.6g/out32dll/libeay32.lib /nologo /dll /incremental:yes /pdb:"$(OUTDIR)\libdns.pdb" /map:"$(INTDIR)\libdns.map" /debug /machine:I386 /def:".\libdns.def" /out:"../../../Build/Debug/libdns.dll" /implib:"$(OUTDIR)\libdns.lib" /pdbtype:sept
+LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../isc/win32/debug/libisc.lib ../../../../openssl-0.9.6k/out32dll/libeay32.lib /nologo /dll /incremental:yes /pdb:"$(OUTDIR)\libdns.pdb" /map:"$(INTDIR)\libdns.map" /debug /machine:I386 /def:".\libdns.def" /out:"../../../Build/Debug/libdns.dll" /implib:"$(OUTDIR)\libdns.lib" /pdbtype:sept
DEF_FILE= \
".\libdns.def"
LINK32_OBJS= \
- "$(INTDIR)\a6.obj" \
"$(INTDIR)\acl.obj" \
"$(INTDIR)\adb.obj" \
"$(INTDIR)\byaddr.obj" \
"$(INTDIR)\nsec.obj" \
"$(INTDIR)\order.obj" \
"$(INTDIR)\peer.obj" \
+ "$(INTDIR)\portlist.obj" \
"$(INTDIR)\rbt.obj" \
"$(INTDIR)\rbtdb.obj" \
"$(INTDIR)\rbtdb64.obj" \
+ "$(INTDIR)\rcode.obj" \
"$(INTDIR)\rdata.obj" \
"$(INTDIR)\rdatalist.obj" \
"$(INTDIR)\rdataset.obj" \
!IF "$(CFG)" == "libdns - Win32 Release" || "$(CFG)" == "libdns - Win32 Debug"
-SOURCE=..\a6.c
-
-!IF "$(CFG)" == "libdns - Win32 Release"
-
-
-"$(INTDIR)\a6.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "libdns - Win32 Debug"
-
-
-"$(INTDIR)\a6.obj" "$(INTDIR)\a6.sbr" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
SOURCE=..\acl.c
!IF "$(CFG)" == "libdns - Win32 Release"
!IF "$(CFG)" == "libdns - Win32 Release"
-CPP_SWITCHES=/nologo /MD /W3 /GX /O2 /I "../../../../../openssl-0.9.6g/inc32/openssl/include" /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6g/inc32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /Fp"$(INTDIR)\libdns.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+CPP_SWITCHES=/nologo /MD /W3 /GX /O2 /I "../../../../../openssl-0.9.6k/inc32/openssl/include" /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6k/inc32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /Fp"$(INTDIR)\libdns.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
"$(INTDIR)\dispatch.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) @<<
!ELSEIF "$(CFG)" == "libdns - Win32 Debug"
-CPP_SWITCHES=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6g/inc32" /I "../sec/dst/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libdns.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
+CPP_SWITCHES=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../dns/sec/dst/include" /I "../../../../openssl-0.9.6k/inc32" /I "../sec/dst/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libdns.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
"$(INTDIR)\dispatch.obj" "$(INTDIR)\dispatch.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) @<<
$(CPP) $(CPP_PROJ) $(SOURCE)
+!ENDIF
+
+
+SOURCE=..\portlist.c
+
+!IF "$(CFG)" == "libdns - Win32 Release"
+
+
+"$(INTDIR)\portlist.obj" : $(SOURCE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libdns - Win32 Debug"
+
+
+"$(INTDIR)\portlist.obj" "$(INTDIR)\portlist.sbr" : $(SOURCE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
!ENDIF
SOURCE=..\rbt.c
$(CPP) $(CPP_PROJ) $(SOURCE)
+!ENDIF
+
+SOURCE=..\rcode.c
+
+!IF "$(CFG)" == "libdns - Win32 Release"
+
+
+"$(INTDIR)\rcode.obj" : $(SOURCE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libdns - Win32 Debug"
+
+
+"$(INTDIR)\rcode.obj" "$(INTDIR)\rcode.sbr" : $(SOURCE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
!ENDIF
SOURCE=..\rdata.c
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: log.c,v 1.83 2004/03/05 05:10:46 marka Exp $ */
+/* $Id: log.c,v 1.84 2004/03/16 05:52:20 marka Exp $ */
/* Principal Authors: DCL */
#include <time.h>
#include <sys/types.h> /* dev_t FreeBSD 2.1 */
-#include <sys/stat.h>
#include <isc/dir.h>
#include <isc/file.h>
#include <isc/mem.h>
#include <isc/msgs.h>
#include <isc/print.h>
+#include <isc/stat.h>
#include <isc/stdio.h>
#include <isc/string.h>
#include <isc/time.h>
#if defined(LIBC_SCCS) && !defined(lint)
static char rcsid[] =
- "$Id: netscope.c,v 1.6 2004/03/05 05:10:47 marka Exp $";
+ "$Id: netscope.c,v 1.7 2004/03/16 05:52:20 marka Exp $";
#endif /* LIBC_SCCS and not lint */
#include <isc/string.h>
isc_result_t
isc_netscope_pton(int af, char *scopename, void *addr, isc_uint32_t *zoneid) {
char *ep;
+#ifdef ISC_PLATFORM_HAVEIFNAMETOINDEX
unsigned int ifid;
+#endif
struct in6_addr *in6;
isc_uint32_t zone;
isc_uint64_t llz;
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: entropy.c,v 1.70 2004/03/05 05:11:44 marka Exp $ */
+/* $Id: entropy.c,v 1.71 2004/03/16 05:52:21 marka Exp $ */
/*
* This is the system depenedent part of the ISC entropy API.
/*FALLTHROUGH*/
case isc_usocketsource_reading:
- if (sz_to_recv != 0) {
+ if (sz_to_recv != 0U) {
n = recv(fd, buf, sz_to_recv, 0);
if (n < 0) {
if (errno == EWOULDBLOCK ||
--- /dev/null
+/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2003 Internet Software Consortium.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $Id: stat.h,v 1.2 2004/03/16 05:52:21 marka Exp $ */
+
+#ifndef ISC_STAT_H
+#define ISC_STAT_H 1
+
+/*****
+ ***** Module Info
+ *****/
+
+/*
+ * Portable netdb.h support.
+ *
+ * This module is responsible for defining S_IS??? macros.
+ *
+ * MP:
+ * No impact.
+ *
+ * Reliability:
+ * No anticipated impact.
+ *
+ * Resources:
+ * N/A.
+ *
+ * Security:
+ * No anticipated impact.
+ *
+ */
+
+/***
+ *** Imports.
+ ***/
+
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#endif /* ISC_STAT_H */
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ipv6.h,v 1.11 2004/03/05 05:12:05 marka Exp $ */
+/* $Id: ipv6.h,v 1.12 2004/03/16 05:52:23 marka Exp $ */
#ifndef ISC_IPV6_H
#define ISC_IPV6_H 1
* RFC 2553.
*/
-#define s6_addr8 s6_addr
-#define in6_addr in_addr6
-
+#ifndef IN6ADDR_ANY_INIT
#define IN6ADDR_ANY_INIT {{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }}
+#endif
+#ifndef IN6ADDR_LOOPBACK_INIT
#define IN6ADDR_LOOPBACK_INIT {{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 }}
+#endif
-LIBISC_EXTERNAL_DATA extern const struct in_addr6 in6addr_any;
-LIBISC_EXTERNAL_DATA extern const struct in_addr6 in6addr_loopback;
+LIBISC_EXTERNAL_DATA extern const struct in6_addr isc_in6addr_any;
+LIBISC_EXTERNAL_DATA extern const struct in6_addr isc_in6addr_loopback;
/*
* Unspecified
*/
-
+#ifndef IN6_IS_ADDR_UNSPECIFIED
#define IN6_IS_ADDR_UNSPECIFIED(a) \
*((u_long *)((a)->s6_addr) ) == 0 && \
*((u_long *)((a)->s6_addr) + 1) == 0 && \
*((u_long *)((a)->s6_addr) + 2) == 0 && \
*((u_long *)((a)->s6_addr) + 3) == 0 \
)
+#endif
/*
* Loopback
*/
+#ifndef IN6_IS_ADDR_LOOPBACK
#define IN6_IS_ADDR_LOOPBACK(a) (\
*((u_long *)((a)->s6_addr) ) == 0 && \
*((u_long *)((a)->s6_addr) + 1) == 0 && \
*((u_long *)((a)->s6_addr) + 2) == 0 && \
*((u_long *)((a)->s6_addr) + 3) == htonl(1) \
)
+#endif
/*
* IPv4 compatible
* Multicast
*/
#define IN6_IS_ADDR_MULTICAST(a) \
- ((a)->s6_addr8[0] == 0xffU)
+ ((a)->s6_addr[0] == 0xffU)
/*
* Unicast link / site local.
*/
+#ifndef IN6_IS_ADDR_LINKLOCAL
#define IN6_IS_ADDR_LINKLOCAL(a) (\
(*((u_long *)((a)->s6_addr) ) == 0xfe) && \
((*((u_long *)((a)->s6_addr) + 1) & 0xc0) == 0x80))
+#endif
+
+#ifndef IN6_IS_ADDR_SITELOCAL
#define IN6_IS_ADDR_SITELOCAL(a) (\
(*((u_long *)((a)->s6_addr) ) == 0xfe) && \
((*((u_long *)((a)->s6_addr) + 1) & 0xc0) == 0xc0))
+#endif
#endif /* ISC_IPV6_H */
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: offset.h,v 1.3 2004/03/05 05:12:05 marka Exp $ */
+/* $Id: offset.h,v 1.4 2004/03/16 05:52:23 marka Exp $ */
#ifndef ISC_OFFSET_H
#define ISC_OFFSET_H 1
#include <limits.h> /* Required for CHAR_BIT. */
#include <sys/types.h>
-typedef off_t isc_offset_t;
+typedef _off_t isc_offset_t;
/*
* POSIX says "Additionally, blkcnt_t and off_t are extended signed integral
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: platform.h,v 1.8 2004/03/05 05:12:05 marka Exp $ */
+/* $Id: platform.h,v 1.9 2004/03/16 05:52:23 marka Exp $ */
#ifndef ISC_PLATFORM_H
#define ISC_PLATFORM_H 1
***/
#define ISC_PLATFORM_HAVEIPV6
+#define ISC_PLATFORM_HAVEIN6PKTINFO
#define ISC_PLATFORM_NEEDPORTT
#undef MSG_TRUNC
#define ISC_PLATFORM_NEEDNTOP
#define ISC_PLATFORM_QUADFORMAT "I64"
#define ISC_PLATFORM_NEEDSTRSEP
+#define ISC_PLATFORM_NEEDSTRLCPY
/*
* Used to control how extern data is linked; needed for Win32 platforms.
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: time.h,v 1.26 2004/03/05 05:12:06 marka Exp $ */
+/* $Id: time.h,v 1.27 2004/03/16 05:52:23 marka Exp $ */
#ifndef ISC_TIME_H
#define ISC_TIME_H 1
* 'buf' points to an array of at least len chars
*
*/
+isc_uint32_t
+isc_time_seconds(const isc_time_t *t);
ISC_LANG_ENDDECLS
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ipv6.c,v 1.5 2004/03/05 05:11:57 marka Exp $ */
-
-#define off_t _off_t
+/* $Id: ipv6.c,v 1.6 2004/03/16 05:52:22 marka Exp $ */
#include <isc/net.h>
#include <isc/platform.h>
-LIBISC_EXTERNAL_DATA const struct in6_addr in6addr_any =
+LIBISC_EXTERNAL_DATA const struct in6_addr isc_in6addr_any =
IN6ADDR_ANY_INIT;
-LIBISC_EXTERNAL_DATA const struct in6_addr in6addr_loopback =
+LIBISC_EXTERNAL_DATA const struct in6_addr isc_in6addr_loopback =
IN6ADDR_LOOPBACK_INIT;
isc_netaddr_any6
isc_netaddr_ismulticast
isc_netaddr_fromv4mapped
+isc_netaddr_setzone
+isc_netscope_pton
isc_ntpaths_init
isc_ntpaths_get
isc_ondestroy_init
isc_socket_ipv6only
isc_region_compare
isc_socket_filter
+isc_string_strlcpy
+isc_rwlock_tryupgrade
+isc_rwlock_downgrade
+isc_sockaddr_isexperimental
+isc_net_disableipv4
+isc_net_disableipv6
+isc_task_getcurrenttime
+isc_net_probe_ipv6only
; Exported Data
-# Microsoft Developer Studio Project File - Name="libisc" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=libisc - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "libisc.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "libisc.mak" CFG="libisc - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "libisc - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "libisc - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "libisc - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "include" /I "../include" /I "win32" /I "../../isccfg/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 user32.lib advapi32.lib ws2_32.lib /nologo /dll /machine:I386 /out:"../../../Build/Release/libisc.dll"
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "libisc - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "win32" /I "../../isccfg/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /FR /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 user32.lib advapi32.lib ws2_32.lib /nologo /dll /map /debug /machine:I386 /out:"../../../Build/Debug/libisc.dll" /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "libisc - Win32 Release"
-# Name "libisc - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\app.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\condition.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\dir.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\DLLMain.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\entropy.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\errno2result.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\file.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\fsaccess.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\interfaceiter.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ipv6.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\keyboard.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\net.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ntpaths.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\once.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\os.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\resource.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\socket.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdio.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdtime.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\strerror.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\syslog.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\thread.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\time.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\version.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\win32os.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\include\isc\app.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\assertions.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\base64.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\bind_registry.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\bindevt.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\bitstring.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\boolean.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\buffer.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\bufferlist.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\commandline.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\condition.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\config.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\dir.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\entropy.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\errno2result.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\error.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\event.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\eventclass.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\file.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\formatcheck.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\fsaccess.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\hash.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\heap.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\hex.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\hmacmd5.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\int.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\interfaceiter.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\ipv6.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\keyboard.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\lang.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\lex.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\lfsr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\lib.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\list.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\log.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\magic.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\md5.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\mem.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\msgcat.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\msioctl.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\mutex.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\mutexblock.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\net.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\netaddr.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\netdb.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\ntpaths.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\offset.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\once.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\ondestroy.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\os.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\parseint.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\platform.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\print.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\quota.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\random.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\ratelimiter.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\region.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\result.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\resultclass.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\rwlock.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\serial.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\sha1.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\sockaddr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\socket.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\stat.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\stdio.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\stdtime.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\strerror.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\string.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\symtab.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\syslog.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\syslog.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\task.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\taskpool.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\thread.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\time.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\timer.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\types.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\unistd.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\isc\util.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\versions.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\isc\win32os.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# Begin Group "Main Isc Lib"
-
-# PROP Default_Filter "c"
-# Begin Source File
-
-SOURCE=..\assertions.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\base64.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\bitstring.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\buffer.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\bufferlist.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\commandline.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\error.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\event.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\hash.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\heap.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\hex.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\hmacmd5.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\inet_aton.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\inet_ntop.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\inet_pton.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\lex.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\lfsr.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\lib.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\log.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\md5.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\mem.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\nls\msgcat.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\mutexblock.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\netaddr.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\ondestroy.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\parseint.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\quota.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\random.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\ratelimiter.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\region.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\result.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\rwlock.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\serial.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\sha1.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\sockaddr.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\string.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\symtab.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\task.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\taskpool.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\timer.c
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\libisc.def
-# End Source File
-# End Target
-# End Project
+# Microsoft Developer Studio Project File - Name="libisc" - Package Owner=<4>\r
+# Microsoft Developer Studio Generated Build File, Format Version 6.00\r
+# ** DO NOT EDIT **\r
+\r
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102\r
+\r
+CFG=libisc - Win32 Debug\r
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r
+!MESSAGE use the Export Makefile command and run\r
+!MESSAGE \r
+!MESSAGE NMAKE /f "libisc.mak".\r
+!MESSAGE \r
+!MESSAGE You can specify a configuration when running NMAKE\r
+!MESSAGE by defining the macro CFG on the command line. For example:\r
+!MESSAGE \r
+!MESSAGE NMAKE /f "libisc.mak" CFG="libisc - Win32 Debug"\r
+!MESSAGE \r
+!MESSAGE Possible choices for configuration are:\r
+!MESSAGE \r
+!MESSAGE "libisc - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")\r
+!MESSAGE "libisc - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")\r
+!MESSAGE \r
+\r
+# Begin Project\r
+# PROP AllowPerConfigDependencies 0\r
+# PROP Scc_ProjName ""\r
+# PROP Scc_LocalPath ""\r
+CPP=cl.exe\r
+MTL=midl.exe\r
+RSC=rc.exe\r
+\r
+!IF "$(CFG)" == "libisc - Win32 Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 0\r
+# PROP BASE Output_Dir "Release"\r
+# PROP BASE Intermediate_Dir "Release"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 0\r
+# PROP Output_Dir "Release"\r
+# PROP Intermediate_Dir "Release"\r
+# PROP Ignore_Export_Lib 0\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /YX /FD /c\r
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "include" /I "../include" /I "win32" /I "../../isccfg/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /YX /FD /c\r
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
+# ADD BASE RSC /l 0x409 /d "NDEBUG"\r
+# ADD RSC /l 0x409 /d "NDEBUG"\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386\r
+# ADD LINK32 user32.lib advapi32.lib ws2_32.lib /nologo /dll /machine:I386 /out:"../../../Build/Release/libisc.dll"\r
+# SUBTRACT LINK32 /pdb:none\r
+\r
+!ELSEIF "$(CFG)" == "libisc - Win32 Debug"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "Debug"\r
+# PROP BASE Intermediate_Dir "Debug"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "Debug"\r
+# PROP Intermediate_Dir "Debug"\r
+# PROP Ignore_Export_Lib 0\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /YX /FD /GZ /c\r
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "include" /I "../include" /I "win32" /I "../../isccfg/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "LIBISC_EXPORTS" /FR /YX /FD /GZ /c\r
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32\r
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32\r
+# ADD BASE RSC /l 0x409 /d "_DEBUG"\r
+# ADD RSC /l 0x409 /d "_DEBUG"\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept\r
+# ADD LINK32 user32.lib advapi32.lib ws2_32.lib /nologo /dll /map /debug /machine:I386 /out:"../../../Build/Debug/libisc.dll" /pdbtype:sept\r
+\r
+!ENDIF \r
+\r
+# Begin Target\r
+\r
+# Name "libisc - Win32 Release"\r
+# Name "libisc - Win32 Debug"\r
+# Begin Group "Source Files"\r
+\r
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
+# Begin Source File\r
+\r
+SOURCE=.\app.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\condition.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\dir.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\DLLMain.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\entropy.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\errno2result.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\file.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\fsaccess.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\interfaceiter.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\ipv6.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\keyboard.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\net.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\ntpaths.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\once.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\os.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\resource.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\socket.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\strerror.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\stdio.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\stdtime.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\syslog.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\thread.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\time.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\version.c\r
+# End Source File\r
+# End Group\r
+# Begin Group "Header Files"\r
+\r
+# PROP Default_Filter "h;hpp;hxx;hm;inl"\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\app.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\assertions.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\base64.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\bind_registry.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\bindevt.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\bitstring.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\boolean.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\buffer.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\bufferlist.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\commandline.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\condition.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\..\config.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\dir.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\entropy.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\errno2result.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\error.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\event.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\eventclass.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\file.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\formatcheck.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\fsaccess.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\hash.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\heap.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\hex.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\hmacmd5.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\int.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\interfaceiter.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\ipv6.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\keyboard.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\lang.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\lex.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\lfsr.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\lib.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\list.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\log.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\magic.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\md5.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\mem.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\msgcat.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\msioctl.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\mutex.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\mutexblock.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\net.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\netaddr.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\netscope.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\netdb.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\ntpaths.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\offset.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\once.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\ondestroy.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\parseint.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\os.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\platform.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\print.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\quota.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\random.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\ratelimiter.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\region.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\resource.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\result.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\resultclass.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\rwlock.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\serial.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\sha1.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\sockaddr.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\socket.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\stat.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\stdio.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\strerror.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\stdtime.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\string.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\symtab.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\syslog.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\syslog.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\task.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\taskpool.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\thread.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\time.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\timer.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\include\isc\win32os.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\types.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\unistd.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\include\isc\util.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\..\versions.h\r
+# End Source File\r
+# End Group\r
+# Begin Group "Resource Files"\r
+\r
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"\r
+# End Group\r
+# Begin Group "Main Isc Lib"\r
+\r
+# PROP Default_Filter "c"\r
+# Begin Source File\r
+\r
+SOURCE=..\assertions.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\base64.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\bitstring.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\buffer.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\bufferlist.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\commandline.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\error.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\event.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\hash.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\heap.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\hex.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\hmacmd5.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\inet_aton.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\inet_ntop.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\inet_pton.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\lex.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\lfsr.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\lib.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\log.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\md5.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\mem.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\nls\msgcat.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\mutexblock.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\netaddr.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\netscope.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\ondestroy.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\parseint.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\quota.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\random.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\ratelimiter.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\region.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\result.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\rwlock.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\serial.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\sha1.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\sockaddr.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\string.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\symtab.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\task.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\taskpool.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\timer.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\win32os.c\r
+# End Source File\r
+# End Group\r
+# Begin Source File\r
+\r
+SOURCE=.\libisc.def\r
+# End Source File\r
+# End Target\r
+# End Project\r
-@erase "$(INTDIR)\mutexblock.obj"
-@erase "$(INTDIR)\net.obj"
-@erase "$(INTDIR)\netaddr.obj"
+ -@erase "$(INTDIR)\netscope.obj"
-@erase "$(INTDIR)\ntpaths.obj"
-@erase "$(INTDIR)\once.obj"
-@erase "$(INTDIR)\ondestroy.obj"
"$(INTDIR)\msgcat.obj" \
"$(INTDIR)\mutexblock.obj" \
"$(INTDIR)\netaddr.obj" \
+ "$(INTDIR)\netscope.obj" \
"$(INTDIR)\ondestroy.obj" \
"$(INTDIR)\quota.obj" \
"$(INTDIR)\random.obj" \
-@erase "$(INTDIR)\net.sbr"
-@erase "$(INTDIR)\netaddr.obj"
-@erase "$(INTDIR)\netaddr.sbr"
+ -@erase "$(INTDIR)\netscope.obj"
+ -@erase "$(INTDIR)\netscope.sbr"
-@erase "$(INTDIR)\ntpaths.obj"
-@erase "$(INTDIR)\ntpaths.sbr"
-@erase "$(INTDIR)\once.obj"
"$(INTDIR)\msgcat.sbr" \
"$(INTDIR)\mutexblock.sbr" \
"$(INTDIR)\netaddr.sbr" \
+ "$(INTDIR)\netscope.sbr" \
"$(INTDIR)\ondestroy.sbr" \
"$(INTDIR)\quota.sbr" \
"$(INTDIR)\random.sbr" \
"$(INTDIR)\msgcat.obj" \
"$(INTDIR)\mutexblock.obj" \
"$(INTDIR)\netaddr.obj" \
+ "$(INTDIR)\netscope.obj" \
"$(INTDIR)\ondestroy.obj" \
"$(INTDIR)\quota.obj" \
"$(INTDIR)\random.obj" \
$(CPP) $(CPP_PROJ) $(SOURCE)
+!ENDIF
+
+SOURCE=..\netscope.c
+
+!IF "$(CFG)" == "libisc - Win32 Release"
+
+
+"$(INTDIR)\netscope.obj" : $(SOURCE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libisc - Win32 Debug"
+
+
+"$(INTDIR)\netscope.obj" "$(INTDIR)\netscope.sbr" : $(SOURCE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
!ENDIF
SOURCE=..\ondestroy.c
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: net.c,v 1.8 2004/03/05 05:11:57 marka Exp $ */
+/* $Id: net.c,v 1.9 2004/03/16 05:52:22 marka Exp $ */
#include <config.h>
return (ipv4_result);
}
-#ifdef ISC_PLATFORM_HAVEIPV6
-#ifdef WANT_IPV6
isc_result_t
isc_net_probeipv6(void) {
initialize();
return (ipv6_result);
}
+#ifdef ISC_PLATFORM_HAVEIPV6
+#ifdef WANT_IPV6
static void
try_ipv6only(void) {
#ifdef IPV6_V6ONLY
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: time.c,v 1.37 2004/03/05 05:11:59 marka Exp $ */
+/* $Id: time.c,v 1.38 2004/03/16 05:52:22 marka Exp $ */
#include <config.h>
return (i3);
}
+isc_uint32_t
+isc_time_seconds(const isc_time_t *t) {
+ SYSTEMTIME st;
+
+ /*
+ * Convert the time to a SYSTEMTIME structure and the grab the
+ * milliseconds
+ */
+ FileTimeToSystemTime(&t->absolute, &st);
+
+ return ((isc_uint32_t)(st.wMilliseconds / 1000));
+}
+
isc_uint32_t
isc_time_nanoseconds(const isc_time_t *t) {
SYSTEMTIME st;
echo off
rem
-rem Copyright (C) 2001-2 Internet Software Consortium.
-rem
-rem Permission to use, copy, modify, and distribute this software for any
-rem purpose with or without fee is hereby granted, provided that the above
-rem copyright notice and this permission notice appear in all copies.
+rem Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+rem Copyright (C) 2001-2002 Internet Software Consortium.
+rem
+rem Permission to use, copy, modify, and distribute this software for any
+rem purpose with or without fee is hereby granted, provided that the above
+rem copyright notice and this permission notice appear in all copies.
rem
-rem THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
-rem DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
-rem IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
-rem INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
-rem INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
-rem FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
-rem NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
-rem WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+rem THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+rem REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+rem AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+rem INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+rem LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+rem OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+rem PERFORMANCE OF THIS SOFTWARE.
rem BuildAll.bat
rem This script sets up the files necessary ready to build BIND 9
rem BIND 9. You must fetch the OpenSSL sources yourself from
rem http://www.OpenSSL.org/ and compile it yourself. The code must reside
rem at the same level as the bind 9.2.0 source tree and it's top-level
-rem directory be named openssl-0.9.6g. This restriction will be lifted in
+rem directory be named openssl-0.9.6k. This restriction will be lifted in
rem a future release of BIND 9 for Windows NT/2000/XP.
echo Setting up the BIND files required for the build
echo off
rem
-rem Copyright (C) 2000-2002 Internet Software Consortium.
+rem Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+rem Copyright (C) 2001-2002 Internet Software Consortium.
rem
-rem Permission to use, copy, modify, and distribute this software for any
-rem purpose with or without fee is hereby granted, provided that the above
-rem copyright notice and this permission notice appear in all copies.
+rem Permission to use, copy, modify, and distribute this software for any
+rem purpose with or without fee is hereby granted, provided that the above
+rem copyright notice and this permission notice appear in all copies.
rem
-rem THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
-rem DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
-rem IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
-rem INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
-rem INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
-rem FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
-rem NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
-rem WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+rem THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+rem REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+rem AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+rem INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+rem LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+rem OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+rem PERFORMANCE OF THIS SOFTWARE.
rem BuildSetup.bat
rem This script sets up the files necessary ready to build BIND 9.
call dnsheadergen.bat
echo Ensure that the OpenSSL sources are at the same level in
-echo the directory tree and is named openssl-0.9.6g or libdns
+echo the directory tree and is named openssl-0.9.6k or libdns
echo will not build.
rem Make sure that the Build directories are there.
echo Copying the OpenSSL DLL.
-copy ..\..\openssl-0.9.6g\out32dll\libeay32.dll ..\Build\Release\
+copy ..\..\openssl-0.9.6k\out32dll\libeay32.dll ..\Build\Release\
rem Done
echo off
rem
-rem Copyright (C) 2000, 2001 Internet Software Consortium.
+rem Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+rem Copyright (C) 2001-2002 Internet Software Consortium.
rem
-rem Permission to use, copy, modify, and distribute this software for any
-rem purpose with or without fee is hereby granted, provided that the above
-rem copyright notice and this permission notice appear in all copies.
+rem Permission to use, copy, modify, and distribute this software for any
+rem purpose with or without fee is hereby granted, provided that the above
+rem copyright notice and this permission notice appear in all copies.
rem
-rem THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
-rem DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
-rem IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
-rem INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
-rem INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
-rem FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
-rem NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
-rem WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+rem THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+rem REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+rem AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+rem INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+rem LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+rem OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+rem PERFORMANCE OF THIS SOFTWARE.
cd ..\lib\dns
cd win32
Copyright (C) 2001, 2003 Internet Software Consortium.
See COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
-$Id: readme1st.txt,v 1.11 2004/03/05 05:14:21 marka Exp $
+$Id: readme1st.txt,v 1.12 2004/03/16 05:52:24 marka Exp $
- Release of BIND 9.2.0 for Windows NT/2000
+ Release of BIND 9.4 for Window NT/2000
-Date: 10-Aug-2001.
-
- This is the first release of BIND 9.2.0 for Windows NT/2000. As such
-it should be fully tested on a test system before installing on a
-production system or anywhere that is considered critical for Internet
-access. The release has not been thoroughly tested. While IPv6
-addresses should work, there is no support yet for a BIND server using
-an IPv6 stack. Only IPv4 stacks are supported on the box running this
-version of BIND. IPv6 stacks will be supported in a future release.
+This is a feature release of BIND 9.4 for Window NT/2000. Only
+IPv4 stacks are supported on the box running this version of BIND.
+IPv6 stacks will be supported in a future release.
Kit Installation Information
automatically starts whenever the system is booted. Signals are
not supported and are in fact ignored.
+Note: Unlike most Windows applications, named does not, change its
+working directory when started as a service. If you wish to use
+relative files in named.conf you will need to specify a working
+directory.
+
Documentation
This kit includes Documentation in HTML format. The documentation is not
This will be fixed in a future release.
+Messages are logged to the Application log in the EventViewer.
+
Problems
Please report all problems to bind9-bugs@isc.org and not to me. All