aboutsummaryrefslogtreecommitdiff
path: root/libntp
diff options
context:
space:
mode:
Diffstat (limited to 'libntp')
-rw-r--r--libntp/Makefile.am131
-rw-r--r--libntp/Makefile.in1267
-rw-r--r--libntp/a_md5encrypt.c110
-rw-r--r--libntp/atolfp.c3
-rw-r--r--libntp/audio.c87
-rw-r--r--libntp/authkeys.c142
-rw-r--r--libntp/authreadkeys.c134
-rw-r--r--libntp/authusekey.c14
-rw-r--r--libntp/bsd_strerror.c (renamed from libntp/strerror.c)0
-rw-r--r--libntp/buftvtots.c18
-rw-r--r--libntp/caljulian.c213
-rw-r--r--libntp/caltontp.c113
-rw-r--r--libntp/calyearstart.c48
-rw-r--r--libntp/clocktypes.c8
-rw-r--r--libntp/decodenetnum.c72
-rw-r--r--libntp/emalloc.c90
-rw-r--r--libntp/findconfig.c6
-rw-r--r--libntp/hextoint.c26
-rw-r--r--libntp/humandate.c44
-rw-r--r--libntp/icom.c293
-rw-r--r--libntp/inttoa.c5
-rw-r--r--libntp/iosignal.c2
-rw-r--r--libntp/lib_strbuf.c9
-rw-r--r--libntp/lib_strbuf.h28
-rw-r--r--libntp/machines.c69
-rw-r--r--libntp/md5c.c354
-rw-r--r--libntp/mktime.c8
-rw-r--r--libntp/modetoa.c4
-rw-r--r--libntp/msyslog.c309
-rw-r--r--libntp/netof.c56
-rw-r--r--libntp/ntp_libopts.c54
-rw-r--r--libntp/ntp_lineedit.c247
-rw-r--r--libntp/ntp_random.c6
-rw-r--r--libntp/ntp_rfc2553.c18
-rw-r--r--libntp/numtoa.c15
-rw-r--r--libntp/numtohost.c6
-rw-r--r--libntp/prettydate.c214
-rw-r--r--libntp/recvbuff.c110
-rw-r--r--libntp/refnumtoa.c20
-rw-r--r--libntp/socktoa.c40
-rw-r--r--libntp/socktohost.c12
-rw-r--r--libntp/ssl_init.c171
-rw-r--r--libntp/statestr.c248
-rw-r--r--libntp/strdup.c30
-rw-r--r--libntp/syssignal.c2
-rw-r--r--libntp/systime.c278
-rw-r--r--libntp/tvtoa.c39
-rw-r--r--libntp/uglydate.c8
-rw-r--r--libntp/uinttoa.c2
-rw-r--r--libntp/utvtoa.c26
50 files changed, 2800 insertions, 2409 deletions
diff --git a/libntp/Makefile.am b/libntp/Makefile.am
index 932f87b10643..3e7373ae3f3c 100644
--- a/libntp/Makefile.am
+++ b/libntp/Makefile.am
@@ -1,38 +1,113 @@
+NULL=
#AUTOMAKE_OPTIONS = ../ansi2knr no-dependencies
-AUTOMAKE_OPTIONS = ../util/ansi2knr
+AUTOMAKE_OPTIONS =
+BUILT_SOURCES =
+CLEANFILES =
noinst_LIBRARIES = libntp.a @MAKE_LIBNTPSIM@
EXTRA_LIBRARIES = libntpsim.a
-libntp_a_SRCS = a_md5encrypt.c adjtime.c atoint.c atolfp.c atouint.c \
- audio.c authkeys.c authreadkeys.c authusekey.c buftvtots.c \
- caljulian.c caltontp.c calyearstart.c clocktime.c \
- clocktypes.c decodenetnum.c dofptoa.c dolfptoa.c emalloc.c \
- findconfig.c fptoa.c fptoms.c getopt.c hextoint.c \
- hextolfp.c humandate.c icom.c inttoa.c iosignal.c \
- lib_strbuf.c machines.c md5c.c memmove.c mfptoa.c \
- mfptoms.c mktime.c modetoa.c mstolfp.c msutotsf.c msyslog.c netof.c \
- ntp_rfc2553.c numtoa.c numtohost.c octtoint.c prettydate.c \
- ntp_random.c recvbuff.c refnumtoa.c snprintf.c socktoa.c socktohost.c \
- statestr.c strdup.c strerror.c strstr.c \
- syssignal.c tsftomsu.c tstotv.c tvtoa.c tvtots.c \
- uglydate.c uinttoa.c utvtoa.c ymd2yd.c \
- $(srcdir)/../libisc/assertions.c $(srcdir)/../libisc/error.c \
- $(srcdir)/../libisc/interfaceiter.c $(srcdir)/../libisc/lib.c \
- $(srcdir)/../libisc/mem.c $(srcdir)/../libisc/msgcat.c \
- $(srcdir)/../libisc/net.c $(srcdir)/../libisc/isc_strerror.c \
- $(srcdir)/../libisc/inet_ntop.c \
- $(srcdir)/../libisc/inet_pton.c \
- $(srcdir)/../libisc/netaddr.c $(srcdir)/../libisc/sockaddr.c \
- $(srcdir)/../libisc/netscope.c
+libntp_a_SRCS = \
+ a_md5encrypt.c \
+ adjtime.c \
+ atoint.c \
+ atolfp.c \
+ atouint.c \
+ audio.c \
+ authkeys.c \
+ authreadkeys.c \
+ authusekey.c \
+ bsd_strerror.c \
+ buftvtots.c \
+ caljulian.c \
+ caltontp.c \
+ calyearstart.c \
+ clocktime.c \
+ clocktypes.c \
+ decodenetnum.c \
+ dofptoa.c \
+ dolfptoa.c \
+ emalloc.c \
+ findconfig.c \
+ fptoa.c \
+ fptoms.c \
+ getopt.c \
+ hextoint.c \
+ hextolfp.c \
+ humandate.c \
+ icom.c \
+ inttoa.c \
+ iosignal.c \
+ lib_strbuf.c \
+ machines.c \
+ memmove.c \
+ mfptoa.c \
+ ntp_lineedit.c \
+ mfptoms.c \
+ mktime.c \
+ modetoa.c \
+ mstolfp.c \
+ msutotsf.c \
+ msyslog.c \
+ netof.c \
+ ntp_libopts.c \
+ ntp_rfc2553.c \
+ numtoa.c \
+ numtohost.c \
+ octtoint.c \
+ prettydate.c \
+ ntp_random.c \
+ recvbuff.c \
+ refnumtoa.c \
+ snprintf.c \
+ socktoa.c \
+ socktohost.c \
+ ssl_init.c \
+ statestr.c \
+ strdup.c \
+ strstr.c \
+ syssignal.c \
+ tsftomsu.c \
+ tstotv.c \
+ tvtots.c \
+ uglydate.c \
+ uinttoa.c \
+ ymd2yd.c \
+ $(srcdir)/../lib/isc/assertions.c \
+ $(srcdir)/../lib/isc/buffer.c \
+ $(srcdir)/../lib/isc/nothreads/condition.c \
+ $(srcdir)/../lib/isc/unix/dir.c \
+ $(srcdir)/../lib/isc/error.c \
+ $(srcdir)/../lib/isc/unix/errno2result.c \
+ $(srcdir)/../lib/isc/event.c \
+ $(srcdir)/../lib/isc/unix/file.c \
+ $(srcdir)/../lib/isc/inet_ntop.c \
+ $(srcdir)/../lib/isc/inet_pton.c \
+ $(srcdir)/../lib/isc/unix/interfaceiter.c \
+ $(srcdir)/../lib/isc/lib.c \
+ $(srcdir)/../lib/isc/log.c \
+ $(srcdir)/../lib/isc/md5.c \
+ $(srcdir)/../lib/isc/nls/msgcat.c \
+ $(srcdir)/../lib/isc/unix/net.c \
+ $(srcdir)/../lib/isc/netaddr.c \
+ $(srcdir)/../lib/isc/netscope.c \
+ $(srcdir)/../lib/isc/ondestroy.c \
+ $(srcdir)/../lib/isc/random.c \
+ $(srcdir)/../lib/isc/result.c \
+ $(srcdir)/../lib/isc/unix/stdio.c \
+ $(srcdir)/../lib/isc/unix/stdtime.c \
+ $(srcdir)/../lib/isc/unix/strerror.c \
+ $(srcdir)/../lib/isc/task.c \
+ $(srcdir)/../lib/isc/nothreads/thread.c \
+ $(srcdir)/../lib/isc/unix/time.c \
+ $(srcdir)/../lib/isc/sockaddr.c \
+ $(NULL)
libntp_a_SOURCES = systime.c $(libntp_a_SRCS)
libntpsim_a_SOURCES = systime_s.c $(libntp_a_SRCS)
EXTRA_libntp_a_SOURCES = adjtimex.c
-INCLUDES = -I$(top_srcdir)/include -I../include
ETAGS_ARGS = Makefile.am
-
-noinst_HEADERS = lib_strbuf.h
-
-../include/des.h:
- touch ../include/des.h
+INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/lib/isc/include \
+ -I$(top_srcdir)/lib/isc/nothreads/include \
+ -I$(top_srcdir)/lib/isc/unix/include $(LIBOPTS_CFLAGS)
EXTRA_DIST = README
+include $(top_srcdir)/depsver.mf
diff --git a/libntp/Makefile.in b/libntp/Makefile.in
index e91e0a3fb3b2..62d53f905352 100644
--- a/libntp/Makefile.in
+++ b/libntp/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,7 +15,6 @@
@SET_MAKE@
-
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
@@ -35,14 +34,19 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-ANSI2KNR = ../util/ansi2knr
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/depsver.mf
subdir = libntp
-DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/libopts/m4/libopts.m4 \
- $(top_srcdir)/m4/define_dir.m4 \
- $(top_srcdir)/m4/hs_ulong_const.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/sntp/libopts/m4/libopts.m4 \
+ $(top_srcdir)/m4/define_dir.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/ntp_cacheversion.m4 \
+ $(top_srcdir)/m4/ntp_dir_sep.m4 \
+ $(top_srcdir)/m4/ntp_lineeditlibs.m4 \
+ $(top_srcdir)/m4/ntp_openssl.m4 \
+ $(top_srcdir)/m4/ntp_vpathhack.m4 \
$(top_srcdir)/m4/os_cflags.m4 $(top_srcdir)/version.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -55,42 +59,44 @@ LIBRARIES = $(noinst_LIBRARIES)
ARFLAGS = cru
libntp_a_AR = $(AR) $(ARFLAGS)
libntp_a_LIBADD =
-am__objects_1 = a_md5encrypt$U.$(OBJEXT) adjtime$U.$(OBJEXT) \
- atoint$U.$(OBJEXT) atolfp$U.$(OBJEXT) atouint$U.$(OBJEXT) \
- audio$U.$(OBJEXT) authkeys$U.$(OBJEXT) \
- authreadkeys$U.$(OBJEXT) authusekey$U.$(OBJEXT) \
- buftvtots$U.$(OBJEXT) caljulian$U.$(OBJEXT) \
- caltontp$U.$(OBJEXT) calyearstart$U.$(OBJEXT) \
- clocktime$U.$(OBJEXT) clocktypes$U.$(OBJEXT) \
- decodenetnum$U.$(OBJEXT) dofptoa$U.$(OBJEXT) \
- dolfptoa$U.$(OBJEXT) emalloc$U.$(OBJEXT) \
- findconfig$U.$(OBJEXT) fptoa$U.$(OBJEXT) fptoms$U.$(OBJEXT) \
- getopt$U.$(OBJEXT) hextoint$U.$(OBJEXT) hextolfp$U.$(OBJEXT) \
- humandate$U.$(OBJEXT) icom$U.$(OBJEXT) inttoa$U.$(OBJEXT) \
- iosignal$U.$(OBJEXT) lib_strbuf$U.$(OBJEXT) \
- machines$U.$(OBJEXT) md5c$U.$(OBJEXT) memmove$U.$(OBJEXT) \
- mfptoa$U.$(OBJEXT) mfptoms$U.$(OBJEXT) mktime$U.$(OBJEXT) \
- modetoa$U.$(OBJEXT) mstolfp$U.$(OBJEXT) msutotsf$U.$(OBJEXT) \
- msyslog$U.$(OBJEXT) netof$U.$(OBJEXT) ntp_rfc2553$U.$(OBJEXT) \
- numtoa$U.$(OBJEXT) numtohost$U.$(OBJEXT) octtoint$U.$(OBJEXT) \
- prettydate$U.$(OBJEXT) ntp_random$U.$(OBJEXT) \
- recvbuff$U.$(OBJEXT) refnumtoa$U.$(OBJEXT) \
- snprintf$U.$(OBJEXT) socktoa$U.$(OBJEXT) \
- socktohost$U.$(OBJEXT) statestr$U.$(OBJEXT) strdup$U.$(OBJEXT) \
- strerror$U.$(OBJEXT) strstr$U.$(OBJEXT) syssignal$U.$(OBJEXT) \
- tsftomsu$U.$(OBJEXT) tstotv$U.$(OBJEXT) tvtoa$U.$(OBJEXT) \
- tvtots$U.$(OBJEXT) uglydate$U.$(OBJEXT) uinttoa$U.$(OBJEXT) \
- utvtoa$U.$(OBJEXT) ymd2yd$U.$(OBJEXT) assertions$U.$(OBJEXT) \
- error$U.$(OBJEXT) interfaceiter$U.$(OBJEXT) lib$U.$(OBJEXT) \
- mem$U.$(OBJEXT) msgcat$U.$(OBJEXT) net$U.$(OBJEXT) \
- isc_strerror$U.$(OBJEXT) inet_ntop$U.$(OBJEXT) \
- inet_pton$U.$(OBJEXT) netaddr$U.$(OBJEXT) sockaddr$U.$(OBJEXT) \
- netscope$U.$(OBJEXT)
-am_libntp_a_OBJECTS = systime$U.$(OBJEXT) $(am__objects_1)
+am__objects_1 =
+am__objects_2 = a_md5encrypt.$(OBJEXT) adjtime.$(OBJEXT) \
+ atoint.$(OBJEXT) atolfp.$(OBJEXT) atouint.$(OBJEXT) \
+ audio.$(OBJEXT) authkeys.$(OBJEXT) authreadkeys.$(OBJEXT) \
+ authusekey.$(OBJEXT) bsd_strerror.$(OBJEXT) \
+ buftvtots.$(OBJEXT) caljulian.$(OBJEXT) caltontp.$(OBJEXT) \
+ calyearstart.$(OBJEXT) clocktime.$(OBJEXT) \
+ clocktypes.$(OBJEXT) decodenetnum.$(OBJEXT) dofptoa.$(OBJEXT) \
+ dolfptoa.$(OBJEXT) emalloc.$(OBJEXT) findconfig.$(OBJEXT) \
+ fptoa.$(OBJEXT) fptoms.$(OBJEXT) getopt.$(OBJEXT) \
+ hextoint.$(OBJEXT) hextolfp.$(OBJEXT) humandate.$(OBJEXT) \
+ icom.$(OBJEXT) inttoa.$(OBJEXT) iosignal.$(OBJEXT) \
+ lib_strbuf.$(OBJEXT) machines.$(OBJEXT) memmove.$(OBJEXT) \
+ mfptoa.$(OBJEXT) ntp_lineedit.$(OBJEXT) mfptoms.$(OBJEXT) \
+ mktime.$(OBJEXT) modetoa.$(OBJEXT) mstolfp.$(OBJEXT) \
+ msutotsf.$(OBJEXT) msyslog.$(OBJEXT) netof.$(OBJEXT) \
+ ntp_libopts.$(OBJEXT) ntp_rfc2553.$(OBJEXT) numtoa.$(OBJEXT) \
+ numtohost.$(OBJEXT) octtoint.$(OBJEXT) prettydate.$(OBJEXT) \
+ ntp_random.$(OBJEXT) recvbuff.$(OBJEXT) refnumtoa.$(OBJEXT) \
+ snprintf.$(OBJEXT) socktoa.$(OBJEXT) socktohost.$(OBJEXT) \
+ ssl_init.$(OBJEXT) statestr.$(OBJEXT) strdup.$(OBJEXT) \
+ strstr.$(OBJEXT) syssignal.$(OBJEXT) tsftomsu.$(OBJEXT) \
+ tstotv.$(OBJEXT) tvtots.$(OBJEXT) uglydate.$(OBJEXT) \
+ uinttoa.$(OBJEXT) ymd2yd.$(OBJEXT) assertions.$(OBJEXT) \
+ buffer.$(OBJEXT) condition.$(OBJEXT) dir.$(OBJEXT) \
+ error.$(OBJEXT) errno2result.$(OBJEXT) event.$(OBJEXT) \
+ file.$(OBJEXT) inet_ntop.$(OBJEXT) inet_pton.$(OBJEXT) \
+ interfaceiter.$(OBJEXT) lib.$(OBJEXT) log.$(OBJEXT) \
+ md5.$(OBJEXT) msgcat.$(OBJEXT) net.$(OBJEXT) netaddr.$(OBJEXT) \
+ netscope.$(OBJEXT) ondestroy.$(OBJEXT) random.$(OBJEXT) \
+ result.$(OBJEXT) stdio.$(OBJEXT) stdtime.$(OBJEXT) \
+ strerror.$(OBJEXT) task.$(OBJEXT) thread.$(OBJEXT) \
+ time.$(OBJEXT) sockaddr.$(OBJEXT) $(am__objects_1)
+am_libntp_a_OBJECTS = systime.$(OBJEXT) $(am__objects_2)
libntp_a_OBJECTS = $(am_libntp_a_OBJECTS)
libntpsim_a_AR = $(AR) $(ARFLAGS)
libntpsim_a_LIBADD =
-am_libntpsim_a_OBJECTS = systime_s$U.$(OBJEXT) $(am__objects_1)
+am_libntpsim_a_OBJECTS = systime_s.$(OBJEXT) $(am__objects_2)
libntpsim_a_OBJECTS = $(am_libntpsim_a_OBJECTS)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
@@ -109,14 +115,12 @@ SOURCES = $(libntp_a_SOURCES) $(EXTRA_libntp_a_SOURCES) \
$(libntpsim_a_SOURCES)
DIST_SOURCES = $(libntp_a_SOURCES) $(EXTRA_libntp_a_SOURCES) \
$(libntpsim_a_SOURCES)
-HEADERS = $(noinst_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
-ARLIB_DIR = @ARLIB_DIR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -133,14 +137,18 @@ CYGPATH_W = @CYGPATH_W@
DCFD = @DCFD@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-ECHO = @ECHO@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
+EDITLINE_LIBS = @EDITLINE_LIBS@
EF_LIBS = @EF_LIBS@
EF_PROGS = @EF_PROGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
+FGREP = @FGREP@
GREP = @GREP@
HAVE_INLINE = @HAVE_INLINE@
INSTALL = @INSTALL@
@@ -149,6 +157,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LCRYPTO = @LCRYPTO@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBOPTS_CFLAGS = @LIBOPTS_CFLAGS@
@@ -157,6 +166,7 @@ LIBOPTS_LDADD = @LIBOPTS_LDADD@
LIBPARSE = @LIBPARSE@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
LN_S = @LN_S@
LSCF = @LSCF@
LTLIBOBJS = @LTLIBOBJS@
@@ -168,15 +178,22 @@ MAKE_LIBNTPSIM = @MAKE_LIBNTPSIM@
MAKE_LIBPARSE = @MAKE_LIBPARSE@
MAKE_LIBPARSE_KERNEL = @MAKE_LIBPARSE_KERNEL@
MAKE_NTPDSIM = @MAKE_NTPDSIM@
+MAKE_NTPSNMPD = @MAKE_NTPSNMPD@
MAKE_NTPTIME = @MAKE_NTPTIME@
MAKE_PARSEKMODULE = @MAKE_PARSEKMODULE@
MAKE_TICKADJ = @MAKE_TICKADJ@
MAKE_TIMETRIM = @MAKE_TIMETRIM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OPENSSL = @OPENSSL@
OPENSSL_INC = @OPENSSL_INC@
OPENSSL_LIB = @OPENSSL_LIB@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -184,23 +201,32 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_NET_SNMP_CONFIG = @PATH_NET_SNMP_CONFIG@
PATH_PERL = @PATH_PERL@
PATH_SEPARATOR = @PATH_SEPARATOR@
PATH_SH = @PATH_SH@
+PATH_TEST = @PATH_TEST@
+POSIX_SHELL = @POSIX_SHELL@
PROPDELAY = @PROPDELAY@
RANLIB = @RANLIB@
-READLINE_LIBS = @READLINE_LIBS@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
+SNMP_CFLAGS = @SNMP_CFLAGS@
+SNMP_CPPFLAGS = @SNMP_CPPFLAGS@
+SNMP_LIBS = @SNMP_LIBS@
STRIP = @STRIP@
TESTDCF = @TESTDCF@
-U = @U@
VERSION = @VERSION@
+YACC = @YACC@
+YFLAGS = @YFLAGS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -247,45 +273,124 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-
+NULL =
#AUTOMAKE_OPTIONS = ../ansi2knr no-dependencies
-AUTOMAKE_OPTIONS = ../util/ansi2knr
+AUTOMAKE_OPTIONS =
+BUILT_SOURCES = .deps-ver
+CLEANFILES = .deps-ver
noinst_LIBRARIES = libntp.a @MAKE_LIBNTPSIM@
EXTRA_LIBRARIES = libntpsim.a
-libntp_a_SRCS = a_md5encrypt.c adjtime.c atoint.c atolfp.c atouint.c \
- audio.c authkeys.c authreadkeys.c authusekey.c buftvtots.c \
- caljulian.c caltontp.c calyearstart.c clocktime.c \
- clocktypes.c decodenetnum.c dofptoa.c dolfptoa.c emalloc.c \
- findconfig.c fptoa.c fptoms.c getopt.c hextoint.c \
- hextolfp.c humandate.c icom.c inttoa.c iosignal.c \
- lib_strbuf.c machines.c md5c.c memmove.c mfptoa.c \
- mfptoms.c mktime.c modetoa.c mstolfp.c msutotsf.c msyslog.c netof.c \
- ntp_rfc2553.c numtoa.c numtohost.c octtoint.c prettydate.c \
- ntp_random.c recvbuff.c refnumtoa.c snprintf.c socktoa.c socktohost.c \
- statestr.c strdup.c strerror.c strstr.c \
- syssignal.c tsftomsu.c tstotv.c tvtoa.c tvtots.c \
- uglydate.c uinttoa.c utvtoa.c ymd2yd.c \
- $(srcdir)/../libisc/assertions.c $(srcdir)/../libisc/error.c \
- $(srcdir)/../libisc/interfaceiter.c $(srcdir)/../libisc/lib.c \
- $(srcdir)/../libisc/mem.c $(srcdir)/../libisc/msgcat.c \
- $(srcdir)/../libisc/net.c $(srcdir)/../libisc/isc_strerror.c \
- $(srcdir)/../libisc/inet_ntop.c \
- $(srcdir)/../libisc/inet_pton.c \
- $(srcdir)/../libisc/netaddr.c $(srcdir)/../libisc/sockaddr.c \
- $(srcdir)/../libisc/netscope.c
+libntp_a_SRCS = \
+ a_md5encrypt.c \
+ adjtime.c \
+ atoint.c \
+ atolfp.c \
+ atouint.c \
+ audio.c \
+ authkeys.c \
+ authreadkeys.c \
+ authusekey.c \
+ bsd_strerror.c \
+ buftvtots.c \
+ caljulian.c \
+ caltontp.c \
+ calyearstart.c \
+ clocktime.c \
+ clocktypes.c \
+ decodenetnum.c \
+ dofptoa.c \
+ dolfptoa.c \
+ emalloc.c \
+ findconfig.c \
+ fptoa.c \
+ fptoms.c \
+ getopt.c \
+ hextoint.c \
+ hextolfp.c \
+ humandate.c \
+ icom.c \
+ inttoa.c \
+ iosignal.c \
+ lib_strbuf.c \
+ machines.c \
+ memmove.c \
+ mfptoa.c \
+ ntp_lineedit.c \
+ mfptoms.c \
+ mktime.c \
+ modetoa.c \
+ mstolfp.c \
+ msutotsf.c \
+ msyslog.c \
+ netof.c \
+ ntp_libopts.c \
+ ntp_rfc2553.c \
+ numtoa.c \
+ numtohost.c \
+ octtoint.c \
+ prettydate.c \
+ ntp_random.c \
+ recvbuff.c \
+ refnumtoa.c \
+ snprintf.c \
+ socktoa.c \
+ socktohost.c \
+ ssl_init.c \
+ statestr.c \
+ strdup.c \
+ strstr.c \
+ syssignal.c \
+ tsftomsu.c \
+ tstotv.c \
+ tvtots.c \
+ uglydate.c \
+ uinttoa.c \
+ ymd2yd.c \
+ $(srcdir)/../lib/isc/assertions.c \
+ $(srcdir)/../lib/isc/buffer.c \
+ $(srcdir)/../lib/isc/nothreads/condition.c \
+ $(srcdir)/../lib/isc/unix/dir.c \
+ $(srcdir)/../lib/isc/error.c \
+ $(srcdir)/../lib/isc/unix/errno2result.c \
+ $(srcdir)/../lib/isc/event.c \
+ $(srcdir)/../lib/isc/unix/file.c \
+ $(srcdir)/../lib/isc/inet_ntop.c \
+ $(srcdir)/../lib/isc/inet_pton.c \
+ $(srcdir)/../lib/isc/unix/interfaceiter.c \
+ $(srcdir)/../lib/isc/lib.c \
+ $(srcdir)/../lib/isc/log.c \
+ $(srcdir)/../lib/isc/md5.c \
+ $(srcdir)/../lib/isc/nls/msgcat.c \
+ $(srcdir)/../lib/isc/unix/net.c \
+ $(srcdir)/../lib/isc/netaddr.c \
+ $(srcdir)/../lib/isc/netscope.c \
+ $(srcdir)/../lib/isc/ondestroy.c \
+ $(srcdir)/../lib/isc/random.c \
+ $(srcdir)/../lib/isc/result.c \
+ $(srcdir)/../lib/isc/unix/stdio.c \
+ $(srcdir)/../lib/isc/unix/stdtime.c \
+ $(srcdir)/../lib/isc/unix/strerror.c \
+ $(srcdir)/../lib/isc/task.c \
+ $(srcdir)/../lib/isc/nothreads/thread.c \
+ $(srcdir)/../lib/isc/unix/time.c \
+ $(srcdir)/../lib/isc/sockaddr.c \
+ $(NULL)
libntp_a_SOURCES = systime.c $(libntp_a_SRCS)
libntpsim_a_SOURCES = systime_s.c $(libntp_a_SRCS)
EXTRA_libntp_a_SOURCES = adjtimex.c
-INCLUDES = -I$(top_srcdir)/include -I../include
ETAGS_ARGS = Makefile.am
-noinst_HEADERS = lib_strbuf.h
+INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/lib/isc/include \
+ -I$(top_srcdir)/lib/isc/nothreads/include \
+ -I$(top_srcdir)/lib/isc/unix/include $(LIBOPTS_CFLAGS)
+
EXTRA_DIST = README
-all: all-am
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/depsver.mf $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -332,93 +437,103 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-../util/ansi2knr:
- $(am__cd) ../util && $(MAKE) $(AM_MAKEFLAGS) ./ansi2knr
-
-mostlyclean-kr:
- -test "$U" = "" || rm -f *_.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/a_md5encrypt$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adjtime$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adjtimex$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assertions$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atoint$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atolfp$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atouint$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audio$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/authkeys$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/authreadkeys$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/authusekey$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buftvtots$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/caljulian$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/caltontp$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/calyearstart$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clocktime$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clocktypes$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decodenetnum$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dofptoa$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dolfptoa$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emalloc$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/findconfig$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fptoa$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fptoms$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hextoint$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hextolfp$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/humandate$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icom$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet_ntop$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet_pton$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/interfaceiter$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inttoa$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iosignal$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isc_strerror$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib_strbuf$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/machines$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5c$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mem$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memmove$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfptoa$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfptoms$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mktime$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/modetoa$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msgcat$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mstolfp$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msutotsf$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msyslog$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netaddr$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netof$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netscope$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ntp_random$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ntp_rfc2553$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/numtoa$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/numtohost$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/octtoint$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prettydate$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recvbuff$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/refnumtoa$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snprintf$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sockaddr$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/socktoa$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/socktohost$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/statestr$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strstr$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syssignal$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/systime$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/systime_s$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsftomsu$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tstotv$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvtoa$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvtots$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uglydate$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uinttoa$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utvtoa$U.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ymd2yd$U.Po@am__quote@
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/a_md5encrypt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adjtime.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adjtimex.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assertions.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atoint.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atolfp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atouint.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audio.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/authkeys.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/authreadkeys.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/authusekey.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd_strerror.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buffer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buftvtots.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/caljulian.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/caltontp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/calyearstart.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clocktime.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clocktypes.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/condition.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decodenetnum.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dir.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dofptoa.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dolfptoa.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emalloc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/errno2result.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/event.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/findconfig.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fptoa.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fptoms.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hextoint.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hextolfp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/humandate.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icom.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet_ntop.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet_pton.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/interfaceiter.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inttoa.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iosignal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib_strbuf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/machines.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memmove.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfptoa.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfptoms.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mktime.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/modetoa.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msgcat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mstolfp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msutotsf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msyslog.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netaddr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netof.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netscope.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ntp_libopts.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ntp_lineedit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ntp_random.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ntp_rfc2553.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/numtoa.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/numtohost.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/octtoint.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ondestroy.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prettydate.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recvbuff.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/refnumtoa.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/result.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snprintf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sockaddr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/socktoa.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/socktohost.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssl_init.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/statestr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stdio.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stdtime.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strstr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syssignal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/systime.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/systime_s.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/task.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thread.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsftomsu.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tstotv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvtots.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uglydate.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uinttoa.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ymd2yd.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -441,573 +556,397 @@ mostlyclean-kr:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-assertions_.o: assertions_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT assertions_.o -MD -MP -MF $(DEPDIR)/assertions_.Tpo -c -o assertions_.o `test -f 'assertions_.c' || echo '$(srcdir)/'`assertions_.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/assertions_.Tpo $(DEPDIR)/assertions_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='assertions_.c' object='assertions_.o' libtool=no @AMDEPBACKSLASH@
+assertions.o: $(srcdir)/../lib/isc/assertions.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT assertions.o -MD -MP -MF $(DEPDIR)/assertions.Tpo -c -o assertions.o `test -f '$(srcdir)/../lib/isc/assertions.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/assertions.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/assertions.Tpo $(DEPDIR)/assertions.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/assertions.c' object='assertions.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o assertions_.o `test -f 'assertions_.c' || echo '$(srcdir)/'`assertions_.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o assertions.o `test -f '$(srcdir)/../lib/isc/assertions.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/assertions.c
-assertions_.obj: assertions_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT assertions_.obj -MD -MP -MF $(DEPDIR)/assertions_.Tpo -c -o assertions_.obj `if test -f 'assertions_.c'; then $(CYGPATH_W) 'assertions_.c'; else $(CYGPATH_W) '$(srcdir)/assertions_.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/assertions_.Tpo $(DEPDIR)/assertions_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='assertions_.c' object='assertions_.obj' libtool=no @AMDEPBACKSLASH@
+assertions.obj: $(srcdir)/../lib/isc/assertions.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT assertions.obj -MD -MP -MF $(DEPDIR)/assertions.Tpo -c -o assertions.obj `if test -f '$(srcdir)/../lib/isc/assertions.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/assertions.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/assertions.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/assertions.Tpo $(DEPDIR)/assertions.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/assertions.c' object='assertions.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o assertions_.obj `if test -f 'assertions_.c'; then $(CYGPATH_W) 'assertions_.c'; else $(CYGPATH_W) '$(srcdir)/assertions_.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o assertions.obj `if test -f '$(srcdir)/../lib/isc/assertions.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/assertions.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/assertions.c'; fi`
-assertions.o: $(srcdir)/../libisc/assertions.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT assertions.o -MD -MP -MF $(DEPDIR)/assertions.Tpo -c -o assertions.o `test -f '$(srcdir)/../libisc/assertions.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/assertions.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/assertions.Tpo $(DEPDIR)/assertions.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/assertions.c' object='assertions.o' libtool=no @AMDEPBACKSLASH@
+buffer.o: $(srcdir)/../lib/isc/buffer.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT buffer.o -MD -MP -MF $(DEPDIR)/buffer.Tpo -c -o buffer.o `test -f '$(srcdir)/../lib/isc/buffer.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/buffer.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/buffer.Tpo $(DEPDIR)/buffer.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/buffer.c' object='buffer.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o assertions.o `test -f '$(srcdir)/../libisc/assertions.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/assertions.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o buffer.o `test -f '$(srcdir)/../lib/isc/buffer.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/buffer.c
-assertions.obj: $(srcdir)/../libisc/assertions.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT assertions.obj -MD -MP -MF $(DEPDIR)/assertions.Tpo -c -o assertions.obj `if test -f '$(srcdir)/../libisc/assertions.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/assertions.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/assertions.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/assertions.Tpo $(DEPDIR)/assertions.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/assertions.c' object='assertions.obj' libtool=no @AMDEPBACKSLASH@
+buffer.obj: $(srcdir)/../lib/isc/buffer.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT buffer.obj -MD -MP -MF $(DEPDIR)/buffer.Tpo -c -o buffer.obj `if test -f '$(srcdir)/../lib/isc/buffer.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/buffer.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/buffer.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/buffer.Tpo $(DEPDIR)/buffer.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/buffer.c' object='buffer.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o buffer.obj `if test -f '$(srcdir)/../lib/isc/buffer.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/buffer.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/buffer.c'; fi`
+
+condition.o: $(srcdir)/../lib/isc/nothreads/condition.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT condition.o -MD -MP -MF $(DEPDIR)/condition.Tpo -c -o condition.o `test -f '$(srcdir)/../lib/isc/nothreads/condition.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/nothreads/condition.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/condition.Tpo $(DEPDIR)/condition.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/nothreads/condition.c' object='condition.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o assertions.obj `if test -f '$(srcdir)/../libisc/assertions.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/assertions.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/assertions.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o condition.o `test -f '$(srcdir)/../lib/isc/nothreads/condition.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/nothreads/condition.c
-error_.o: error_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT error_.o -MD -MP -MF $(DEPDIR)/error_.Tpo -c -o error_.o `test -f 'error_.c' || echo '$(srcdir)/'`error_.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/error_.Tpo $(DEPDIR)/error_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='error_.c' object='error_.o' libtool=no @AMDEPBACKSLASH@
+condition.obj: $(srcdir)/../lib/isc/nothreads/condition.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT condition.obj -MD -MP -MF $(DEPDIR)/condition.Tpo -c -o condition.obj `if test -f '$(srcdir)/../lib/isc/nothreads/condition.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/nothreads/condition.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/nothreads/condition.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/condition.Tpo $(DEPDIR)/condition.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/nothreads/condition.c' object='condition.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o error_.o `test -f 'error_.c' || echo '$(srcdir)/'`error_.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o condition.obj `if test -f '$(srcdir)/../lib/isc/nothreads/condition.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/nothreads/condition.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/nothreads/condition.c'; fi`
-error_.obj: error_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT error_.obj -MD -MP -MF $(DEPDIR)/error_.Tpo -c -o error_.obj `if test -f 'error_.c'; then $(CYGPATH_W) 'error_.c'; else $(CYGPATH_W) '$(srcdir)/error_.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/error_.Tpo $(DEPDIR)/error_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='error_.c' object='error_.obj' libtool=no @AMDEPBACKSLASH@
+dir.o: $(srcdir)/../lib/isc/unix/dir.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dir.o -MD -MP -MF $(DEPDIR)/dir.Tpo -c -o dir.o `test -f '$(srcdir)/../lib/isc/unix/dir.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/dir.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dir.Tpo $(DEPDIR)/dir.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/dir.c' object='dir.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o error_.obj `if test -f 'error_.c'; then $(CYGPATH_W) 'error_.c'; else $(CYGPATH_W) '$(srcdir)/error_.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dir.o `test -f '$(srcdir)/../lib/isc/unix/dir.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/dir.c
-error.o: $(srcdir)/../libisc/error.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT error.o -MD -MP -MF $(DEPDIR)/error.Tpo -c -o error.o `test -f '$(srcdir)/../libisc/error.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/error.c
+dir.obj: $(srcdir)/../lib/isc/unix/dir.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dir.obj -MD -MP -MF $(DEPDIR)/dir.Tpo -c -o dir.obj `if test -f '$(srcdir)/../lib/isc/unix/dir.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/dir.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/dir.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dir.Tpo $(DEPDIR)/dir.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/dir.c' object='dir.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dir.obj `if test -f '$(srcdir)/../lib/isc/unix/dir.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/dir.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/dir.c'; fi`
+
+error.o: $(srcdir)/../lib/isc/error.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT error.o -MD -MP -MF $(DEPDIR)/error.Tpo -c -o error.o `test -f '$(srcdir)/../lib/isc/error.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/error.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/error.Tpo $(DEPDIR)/error.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/error.c' object='error.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/error.c' object='error.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o error.o `test -f '$(srcdir)/../libisc/error.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/error.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o error.o `test -f '$(srcdir)/../lib/isc/error.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/error.c
-error.obj: $(srcdir)/../libisc/error.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT error.obj -MD -MP -MF $(DEPDIR)/error.Tpo -c -o error.obj `if test -f '$(srcdir)/../libisc/error.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/error.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/error.c'; fi`
+error.obj: $(srcdir)/../lib/isc/error.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT error.obj -MD -MP -MF $(DEPDIR)/error.Tpo -c -o error.obj `if test -f '$(srcdir)/../lib/isc/error.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/error.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/error.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/error.Tpo $(DEPDIR)/error.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/error.c' object='error.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/error.c' object='error.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o error.obj `if test -f '$(srcdir)/../libisc/error.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/error.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/error.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o error.obj `if test -f '$(srcdir)/../lib/isc/error.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/error.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/error.c'; fi`
-interfaceiter_.o: interfaceiter_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT interfaceiter_.o -MD -MP -MF $(DEPDIR)/interfaceiter_.Tpo -c -o interfaceiter_.o `test -f 'interfaceiter_.c' || echo '$(srcdir)/'`interfaceiter_.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/interfaceiter_.Tpo $(DEPDIR)/interfaceiter_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='interfaceiter_.c' object='interfaceiter_.o' libtool=no @AMDEPBACKSLASH@
+errno2result.o: $(srcdir)/../lib/isc/unix/errno2result.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT errno2result.o -MD -MP -MF $(DEPDIR)/errno2result.Tpo -c -o errno2result.o `test -f '$(srcdir)/../lib/isc/unix/errno2result.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/errno2result.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/errno2result.Tpo $(DEPDIR)/errno2result.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/errno2result.c' object='errno2result.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o interfaceiter_.o `test -f 'interfaceiter_.c' || echo '$(srcdir)/'`interfaceiter_.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o errno2result.o `test -f '$(srcdir)/../lib/isc/unix/errno2result.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/errno2result.c
-interfaceiter_.obj: interfaceiter_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT interfaceiter_.obj -MD -MP -MF $(DEPDIR)/interfaceiter_.Tpo -c -o interfaceiter_.obj `if test -f 'interfaceiter_.c'; then $(CYGPATH_W) 'interfaceiter_.c'; else $(CYGPATH_W) '$(srcdir)/interfaceiter_.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/interfaceiter_.Tpo $(DEPDIR)/interfaceiter_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='interfaceiter_.c' object='interfaceiter_.obj' libtool=no @AMDEPBACKSLASH@
+errno2result.obj: $(srcdir)/../lib/isc/unix/errno2result.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT errno2result.obj -MD -MP -MF $(DEPDIR)/errno2result.Tpo -c -o errno2result.obj `if test -f '$(srcdir)/../lib/isc/unix/errno2result.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/errno2result.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/errno2result.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/errno2result.Tpo $(DEPDIR)/errno2result.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/errno2result.c' object='errno2result.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o interfaceiter_.obj `if test -f 'interfaceiter_.c'; then $(CYGPATH_W) 'interfaceiter_.c'; else $(CYGPATH_W) '$(srcdir)/interfaceiter_.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o errno2result.obj `if test -f '$(srcdir)/../lib/isc/unix/errno2result.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/errno2result.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/errno2result.c'; fi`
-interfaceiter.o: $(srcdir)/../libisc/interfaceiter.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT interfaceiter.o -MD -MP -MF $(DEPDIR)/interfaceiter.Tpo -c -o interfaceiter.o `test -f '$(srcdir)/../libisc/interfaceiter.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/interfaceiter.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/interfaceiter.Tpo $(DEPDIR)/interfaceiter.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/interfaceiter.c' object='interfaceiter.o' libtool=no @AMDEPBACKSLASH@
+event.o: $(srcdir)/../lib/isc/event.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT event.o -MD -MP -MF $(DEPDIR)/event.Tpo -c -o event.o `test -f '$(srcdir)/../lib/isc/event.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/event.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/event.Tpo $(DEPDIR)/event.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/event.c' object='event.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o interfaceiter.o `test -f '$(srcdir)/../libisc/interfaceiter.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/interfaceiter.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o event.o `test -f '$(srcdir)/../lib/isc/event.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/event.c
-interfaceiter.obj: $(srcdir)/../libisc/interfaceiter.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT interfaceiter.obj -MD -MP -MF $(DEPDIR)/interfaceiter.Tpo -c -o interfaceiter.obj `if test -f '$(srcdir)/../libisc/interfaceiter.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/interfaceiter.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/interfaceiter.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/interfaceiter.Tpo $(DEPDIR)/interfaceiter.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/interfaceiter.c' object='interfaceiter.obj' libtool=no @AMDEPBACKSLASH@
+event.obj: $(srcdir)/../lib/isc/event.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT event.obj -MD -MP -MF $(DEPDIR)/event.Tpo -c -o event.obj `if test -f '$(srcdir)/../lib/isc/event.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/event.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/event.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/event.Tpo $(DEPDIR)/event.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/event.c' object='event.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o interfaceiter.obj `if test -f '$(srcdir)/../libisc/interfaceiter.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/interfaceiter.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/interfaceiter.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o event.obj `if test -f '$(srcdir)/../lib/isc/event.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/event.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/event.c'; fi`
-lib_.o: lib_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib_.o -MD -MP -MF $(DEPDIR)/lib_.Tpo -c -o lib_.o `test -f 'lib_.c' || echo '$(srcdir)/'`lib_.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lib_.Tpo $(DEPDIR)/lib_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib_.c' object='lib_.o' libtool=no @AMDEPBACKSLASH@
+file.o: $(srcdir)/../lib/isc/unix/file.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT file.o -MD -MP -MF $(DEPDIR)/file.Tpo -c -o file.o `test -f '$(srcdir)/../lib/isc/unix/file.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/file.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/file.Tpo $(DEPDIR)/file.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/file.c' object='file.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib_.o `test -f 'lib_.c' || echo '$(srcdir)/'`lib_.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o file.o `test -f '$(srcdir)/../lib/isc/unix/file.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/file.c
-lib_.obj: lib_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib_.obj -MD -MP -MF $(DEPDIR)/lib_.Tpo -c -o lib_.obj `if test -f 'lib_.c'; then $(CYGPATH_W) 'lib_.c'; else $(CYGPATH_W) '$(srcdir)/lib_.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lib_.Tpo $(DEPDIR)/lib_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib_.c' object='lib_.obj' libtool=no @AMDEPBACKSLASH@
+file.obj: $(srcdir)/../lib/isc/unix/file.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT file.obj -MD -MP -MF $(DEPDIR)/file.Tpo -c -o file.obj `if test -f '$(srcdir)/../lib/isc/unix/file.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/file.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/file.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/file.Tpo $(DEPDIR)/file.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/file.c' object='file.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib_.obj `if test -f 'lib_.c'; then $(CYGPATH_W) 'lib_.c'; else $(CYGPATH_W) '$(srcdir)/lib_.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o file.obj `if test -f '$(srcdir)/../lib/isc/unix/file.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/file.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/file.c'; fi`
-lib.o: $(srcdir)/../libisc/lib.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib.o -MD -MP -MF $(DEPDIR)/lib.Tpo -c -o lib.o `test -f '$(srcdir)/../libisc/lib.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/lib.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lib.Tpo $(DEPDIR)/lib.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/lib.c' object='lib.o' libtool=no @AMDEPBACKSLASH@
+inet_ntop.o: $(srcdir)/../lib/isc/inet_ntop.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT inet_ntop.o -MD -MP -MF $(DEPDIR)/inet_ntop.Tpo -c -o inet_ntop.o `test -f '$(srcdir)/../lib/isc/inet_ntop.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/inet_ntop.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/inet_ntop.Tpo $(DEPDIR)/inet_ntop.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/inet_ntop.c' object='inet_ntop.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib.o `test -f '$(srcdir)/../libisc/lib.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/lib.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o inet_ntop.o `test -f '$(srcdir)/../lib/isc/inet_ntop.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/inet_ntop.c
-lib.obj: $(srcdir)/../libisc/lib.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib.obj -MD -MP -MF $(DEPDIR)/lib.Tpo -c -o lib.obj `if test -f '$(srcdir)/../libisc/lib.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/lib.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/lib.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lib.Tpo $(DEPDIR)/lib.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/lib.c' object='lib.obj' libtool=no @AMDEPBACKSLASH@
+inet_ntop.obj: $(srcdir)/../lib/isc/inet_ntop.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT inet_ntop.obj -MD -MP -MF $(DEPDIR)/inet_ntop.Tpo -c -o inet_ntop.obj `if test -f '$(srcdir)/../lib/isc/inet_ntop.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/inet_ntop.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/inet_ntop.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/inet_ntop.Tpo $(DEPDIR)/inet_ntop.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/inet_ntop.c' object='inet_ntop.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib.obj `if test -f '$(srcdir)/../libisc/lib.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/lib.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/lib.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o inet_ntop.obj `if test -f '$(srcdir)/../lib/isc/inet_ntop.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/inet_ntop.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/inet_ntop.c'; fi`
-mem_.o: mem_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mem_.o -MD -MP -MF $(DEPDIR)/mem_.Tpo -c -o mem_.o `test -f 'mem_.c' || echo '$(srcdir)/'`mem_.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mem_.Tpo $(DEPDIR)/mem_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mem_.c' object='mem_.o' libtool=no @AMDEPBACKSLASH@
+inet_pton.o: $(srcdir)/../lib/isc/inet_pton.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT inet_pton.o -MD -MP -MF $(DEPDIR)/inet_pton.Tpo -c -o inet_pton.o `test -f '$(srcdir)/../lib/isc/inet_pton.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/inet_pton.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/inet_pton.Tpo $(DEPDIR)/inet_pton.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/inet_pton.c' object='inet_pton.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mem_.o `test -f 'mem_.c' || echo '$(srcdir)/'`mem_.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o inet_pton.o `test -f '$(srcdir)/../lib/isc/inet_pton.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/inet_pton.c
-mem_.obj: mem_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mem_.obj -MD -MP -MF $(DEPDIR)/mem_.Tpo -c -o mem_.obj `if test -f 'mem_.c'; then $(CYGPATH_W) 'mem_.c'; else $(CYGPATH_W) '$(srcdir)/mem_.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mem_.Tpo $(DEPDIR)/mem_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mem_.c' object='mem_.obj' libtool=no @AMDEPBACKSLASH@
+inet_pton.obj: $(srcdir)/../lib/isc/inet_pton.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT inet_pton.obj -MD -MP -MF $(DEPDIR)/inet_pton.Tpo -c -o inet_pton.obj `if test -f '$(srcdir)/../lib/isc/inet_pton.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/inet_pton.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/inet_pton.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/inet_pton.Tpo $(DEPDIR)/inet_pton.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/inet_pton.c' object='inet_pton.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mem_.obj `if test -f 'mem_.c'; then $(CYGPATH_W) 'mem_.c'; else $(CYGPATH_W) '$(srcdir)/mem_.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o inet_pton.obj `if test -f '$(srcdir)/../lib/isc/inet_pton.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/inet_pton.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/inet_pton.c'; fi`
-mem.o: $(srcdir)/../libisc/mem.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mem.o -MD -MP -MF $(DEPDIR)/mem.Tpo -c -o mem.o `test -f '$(srcdir)/../libisc/mem.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/mem.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mem.Tpo $(DEPDIR)/mem.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/mem.c' object='mem.o' libtool=no @AMDEPBACKSLASH@
+interfaceiter.o: $(srcdir)/../lib/isc/unix/interfaceiter.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT interfaceiter.o -MD -MP -MF $(DEPDIR)/interfaceiter.Tpo -c -o interfaceiter.o `test -f '$(srcdir)/../lib/isc/unix/interfaceiter.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/interfaceiter.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/interfaceiter.Tpo $(DEPDIR)/interfaceiter.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/interfaceiter.c' object='interfaceiter.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mem.o `test -f '$(srcdir)/../libisc/mem.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/mem.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o interfaceiter.o `test -f '$(srcdir)/../lib/isc/unix/interfaceiter.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/interfaceiter.c
-mem.obj: $(srcdir)/../libisc/mem.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mem.obj -MD -MP -MF $(DEPDIR)/mem.Tpo -c -o mem.obj `if test -f '$(srcdir)/../libisc/mem.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/mem.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/mem.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mem.Tpo $(DEPDIR)/mem.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/mem.c' object='mem.obj' libtool=no @AMDEPBACKSLASH@
+interfaceiter.obj: $(srcdir)/../lib/isc/unix/interfaceiter.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT interfaceiter.obj -MD -MP -MF $(DEPDIR)/interfaceiter.Tpo -c -o interfaceiter.obj `if test -f '$(srcdir)/../lib/isc/unix/interfaceiter.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/interfaceiter.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/interfaceiter.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/interfaceiter.Tpo $(DEPDIR)/interfaceiter.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/interfaceiter.c' object='interfaceiter.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mem.obj `if test -f '$(srcdir)/../libisc/mem.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/mem.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/mem.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o interfaceiter.obj `if test -f '$(srcdir)/../lib/isc/unix/interfaceiter.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/interfaceiter.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/interfaceiter.c'; fi`
-msgcat_.o: msgcat_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT msgcat_.o -MD -MP -MF $(DEPDIR)/msgcat_.Tpo -c -o msgcat_.o `test -f 'msgcat_.c' || echo '$(srcdir)/'`msgcat_.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/msgcat_.Tpo $(DEPDIR)/msgcat_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='msgcat_.c' object='msgcat_.o' libtool=no @AMDEPBACKSLASH@
+lib.o: $(srcdir)/../lib/isc/lib.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib.o -MD -MP -MF $(DEPDIR)/lib.Tpo -c -o lib.o `test -f '$(srcdir)/../lib/isc/lib.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/lib.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lib.Tpo $(DEPDIR)/lib.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/lib.c' object='lib.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o msgcat_.o `test -f 'msgcat_.c' || echo '$(srcdir)/'`msgcat_.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib.o `test -f '$(srcdir)/../lib/isc/lib.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/lib.c
-msgcat_.obj: msgcat_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT msgcat_.obj -MD -MP -MF $(DEPDIR)/msgcat_.Tpo -c -o msgcat_.obj `if test -f 'msgcat_.c'; then $(CYGPATH_W) 'msgcat_.c'; else $(CYGPATH_W) '$(srcdir)/msgcat_.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/msgcat_.Tpo $(DEPDIR)/msgcat_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='msgcat_.c' object='msgcat_.obj' libtool=no @AMDEPBACKSLASH@
+lib.obj: $(srcdir)/../lib/isc/lib.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib.obj -MD -MP -MF $(DEPDIR)/lib.Tpo -c -o lib.obj `if test -f '$(srcdir)/../lib/isc/lib.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/lib.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/lib.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/lib.Tpo $(DEPDIR)/lib.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/lib.c' object='lib.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o msgcat_.obj `if test -f 'msgcat_.c'; then $(CYGPATH_W) 'msgcat_.c'; else $(CYGPATH_W) '$(srcdir)/msgcat_.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib.obj `if test -f '$(srcdir)/../lib/isc/lib.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/lib.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/lib.c'; fi`
-msgcat.o: $(srcdir)/../libisc/msgcat.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT msgcat.o -MD -MP -MF $(DEPDIR)/msgcat.Tpo -c -o msgcat.o `test -f '$(srcdir)/../libisc/msgcat.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/msgcat.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/msgcat.Tpo $(DEPDIR)/msgcat.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/msgcat.c' object='msgcat.o' libtool=no @AMDEPBACKSLASH@
+log.o: $(srcdir)/../lib/isc/log.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT log.o -MD -MP -MF $(DEPDIR)/log.Tpo -c -o log.o `test -f '$(srcdir)/../lib/isc/log.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/log.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/log.Tpo $(DEPDIR)/log.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/log.c' object='log.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o msgcat.o `test -f '$(srcdir)/../libisc/msgcat.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/msgcat.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o log.o `test -f '$(srcdir)/../lib/isc/log.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/log.c
-msgcat.obj: $(srcdir)/../libisc/msgcat.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT msgcat.obj -MD -MP -MF $(DEPDIR)/msgcat.Tpo -c -o msgcat.obj `if test -f '$(srcdir)/../libisc/msgcat.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/msgcat.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/msgcat.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/msgcat.Tpo $(DEPDIR)/msgcat.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/msgcat.c' object='msgcat.obj' libtool=no @AMDEPBACKSLASH@
+log.obj: $(srcdir)/../lib/isc/log.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT log.obj -MD -MP -MF $(DEPDIR)/log.Tpo -c -o log.obj `if test -f '$(srcdir)/../lib/isc/log.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/log.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/log.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/log.Tpo $(DEPDIR)/log.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/log.c' object='log.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o log.obj `if test -f '$(srcdir)/../lib/isc/log.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/log.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/log.c'; fi`
+
+md5.o: $(srcdir)/../lib/isc/md5.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT md5.o -MD -MP -MF $(DEPDIR)/md5.Tpo -c -o md5.o `test -f '$(srcdir)/../lib/isc/md5.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/md5.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/md5.c' object='md5.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o msgcat.obj `if test -f '$(srcdir)/../libisc/msgcat.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/msgcat.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/msgcat.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o md5.o `test -f '$(srcdir)/../lib/isc/md5.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/md5.c
-net_.o: net_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT net_.o -MD -MP -MF $(DEPDIR)/net_.Tpo -c -o net_.o `test -f 'net_.c' || echo '$(srcdir)/'`net_.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/net_.Tpo $(DEPDIR)/net_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='net_.c' object='net_.o' libtool=no @AMDEPBACKSLASH@
+md5.obj: $(srcdir)/../lib/isc/md5.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT md5.obj -MD -MP -MF $(DEPDIR)/md5.Tpo -c -o md5.obj `if test -f '$(srcdir)/../lib/isc/md5.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/md5.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/md5.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/md5.c' object='md5.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o net_.o `test -f 'net_.c' || echo '$(srcdir)/'`net_.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o md5.obj `if test -f '$(srcdir)/../lib/isc/md5.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/md5.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/md5.c'; fi`
-net_.obj: net_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT net_.obj -MD -MP -MF $(DEPDIR)/net_.Tpo -c -o net_.obj `if test -f 'net_.c'; then $(CYGPATH_W) 'net_.c'; else $(CYGPATH_W) '$(srcdir)/net_.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/net_.Tpo $(DEPDIR)/net_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='net_.c' object='net_.obj' libtool=no @AMDEPBACKSLASH@
+msgcat.o: $(srcdir)/../lib/isc/nls/msgcat.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT msgcat.o -MD -MP -MF $(DEPDIR)/msgcat.Tpo -c -o msgcat.o `test -f '$(srcdir)/../lib/isc/nls/msgcat.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/nls/msgcat.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/msgcat.Tpo $(DEPDIR)/msgcat.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/nls/msgcat.c' object='msgcat.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o msgcat.o `test -f '$(srcdir)/../lib/isc/nls/msgcat.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/nls/msgcat.c
+
+msgcat.obj: $(srcdir)/../lib/isc/nls/msgcat.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT msgcat.obj -MD -MP -MF $(DEPDIR)/msgcat.Tpo -c -o msgcat.obj `if test -f '$(srcdir)/../lib/isc/nls/msgcat.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/nls/msgcat.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/nls/msgcat.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/msgcat.Tpo $(DEPDIR)/msgcat.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/nls/msgcat.c' object='msgcat.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o net_.obj `if test -f 'net_.c'; then $(CYGPATH_W) 'net_.c'; else $(CYGPATH_W) '$(srcdir)/net_.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o msgcat.obj `if test -f '$(srcdir)/../lib/isc/nls/msgcat.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/nls/msgcat.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/nls/msgcat.c'; fi`
-net.o: $(srcdir)/../libisc/net.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT net.o -MD -MP -MF $(DEPDIR)/net.Tpo -c -o net.o `test -f '$(srcdir)/../libisc/net.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/net.c
+net.o: $(srcdir)/../lib/isc/unix/net.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT net.o -MD -MP -MF $(DEPDIR)/net.Tpo -c -o net.o `test -f '$(srcdir)/../lib/isc/unix/net.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/net.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/net.Tpo $(DEPDIR)/net.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/net.c' object='net.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/net.c' object='net.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o net.o `test -f '$(srcdir)/../libisc/net.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/net.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o net.o `test -f '$(srcdir)/../lib/isc/unix/net.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/net.c
-net.obj: $(srcdir)/../libisc/net.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT net.obj -MD -MP -MF $(DEPDIR)/net.Tpo -c -o net.obj `if test -f '$(srcdir)/../libisc/net.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/net.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/net.c'; fi`
+net.obj: $(srcdir)/../lib/isc/unix/net.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT net.obj -MD -MP -MF $(DEPDIR)/net.Tpo -c -o net.obj `if test -f '$(srcdir)/../lib/isc/unix/net.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/net.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/net.c'; fi`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/net.Tpo $(DEPDIR)/net.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/net.c' object='net.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/net.c' object='net.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o net.obj `if test -f '$(srcdir)/../libisc/net.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/net.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/net.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o net.obj `if test -f '$(srcdir)/../lib/isc/unix/net.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/net.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/net.c'; fi`
-isc_strerror_.o: isc_strerror_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT isc_strerror_.o -MD -MP -MF $(DEPDIR)/isc_strerror_.Tpo -c -o isc_strerror_.o `test -f 'isc_strerror_.c' || echo '$(srcdir)/'`isc_strerror_.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/isc_strerror_.Tpo $(DEPDIR)/isc_strerror_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='isc_strerror_.c' object='isc_strerror_.o' libtool=no @AMDEPBACKSLASH@
+netaddr.o: $(srcdir)/../lib/isc/netaddr.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT netaddr.o -MD -MP -MF $(DEPDIR)/netaddr.Tpo -c -o netaddr.o `test -f '$(srcdir)/../lib/isc/netaddr.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/netaddr.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/netaddr.Tpo $(DEPDIR)/netaddr.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/netaddr.c' object='netaddr.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o isc_strerror_.o `test -f 'isc_strerror_.c' || echo '$(srcdir)/'`isc_strerror_.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o netaddr.o `test -f '$(srcdir)/../lib/isc/netaddr.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/netaddr.c
-isc_strerror_.obj: isc_strerror_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT isc_strerror_.obj -MD -MP -MF $(DEPDIR)/isc_strerror_.Tpo -c -o isc_strerror_.obj `if test -f 'isc_strerror_.c'; then $(CYGPATH_W) 'isc_strerror_.c'; else $(CYGPATH_W) '$(srcdir)/isc_strerror_.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/isc_strerror_.Tpo $(DEPDIR)/isc_strerror_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='isc_strerror_.c' object='isc_strerror_.obj' libtool=no @AMDEPBACKSLASH@
+netaddr.obj: $(srcdir)/../lib/isc/netaddr.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT netaddr.obj -MD -MP -MF $(DEPDIR)/netaddr.Tpo -c -o netaddr.obj `if test -f '$(srcdir)/../lib/isc/netaddr.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/netaddr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/netaddr.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/netaddr.Tpo $(DEPDIR)/netaddr.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/netaddr.c' object='netaddr.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o isc_strerror_.obj `if test -f 'isc_strerror_.c'; then $(CYGPATH_W) 'isc_strerror_.c'; else $(CYGPATH_W) '$(srcdir)/isc_strerror_.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o netaddr.obj `if test -f '$(srcdir)/../lib/isc/netaddr.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/netaddr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/netaddr.c'; fi`
-isc_strerror.o: $(srcdir)/../libisc/isc_strerror.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT isc_strerror.o -MD -MP -MF $(DEPDIR)/isc_strerror.Tpo -c -o isc_strerror.o `test -f '$(srcdir)/../libisc/isc_strerror.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/isc_strerror.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/isc_strerror.Tpo $(DEPDIR)/isc_strerror.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/isc_strerror.c' object='isc_strerror.o' libtool=no @AMDEPBACKSLASH@
+netscope.o: $(srcdir)/../lib/isc/netscope.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT netscope.o -MD -MP -MF $(DEPDIR)/netscope.Tpo -c -o netscope.o `test -f '$(srcdir)/../lib/isc/netscope.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/netscope.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/netscope.Tpo $(DEPDIR)/netscope.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/netscope.c' object='netscope.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o isc_strerror.o `test -f '$(srcdir)/../libisc/isc_strerror.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/isc_strerror.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o netscope.o `test -f '$(srcdir)/../lib/isc/netscope.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/netscope.c
-isc_strerror.obj: $(srcdir)/../libisc/isc_strerror.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT isc_strerror.obj -MD -MP -MF $(DEPDIR)/isc_strerror.Tpo -c -o isc_strerror.obj `if test -f '$(srcdir)/../libisc/isc_strerror.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/isc_strerror.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/isc_strerror.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/isc_strerror.Tpo $(DEPDIR)/isc_strerror.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/isc_strerror.c' object='isc_strerror.obj' libtool=no @AMDEPBACKSLASH@
+netscope.obj: $(srcdir)/../lib/isc/netscope.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT netscope.obj -MD -MP -MF $(DEPDIR)/netscope.Tpo -c -o netscope.obj `if test -f '$(srcdir)/../lib/isc/netscope.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/netscope.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/netscope.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/netscope.Tpo $(DEPDIR)/netscope.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/netscope.c' object='netscope.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o isc_strerror.obj `if test -f '$(srcdir)/../libisc/isc_strerror.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/isc_strerror.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/isc_strerror.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o netscope.obj `if test -f '$(srcdir)/../lib/isc/netscope.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/netscope.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/netscope.c'; fi`
-inet_ntop_.o: inet_ntop_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT inet_ntop_.o -MD -MP -MF $(DEPDIR)/inet_ntop_.Tpo -c -o inet_ntop_.o `test -f 'inet_ntop_.c' || echo '$(srcdir)/'`inet_ntop_.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/inet_ntop_.Tpo $(DEPDIR)/inet_ntop_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='inet_ntop_.c' object='inet_ntop_.o' libtool=no @AMDEPBACKSLASH@
+ondestroy.o: $(srcdir)/../lib/isc/ondestroy.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ondestroy.o -MD -MP -MF $(DEPDIR)/ondestroy.Tpo -c -o ondestroy.o `test -f '$(srcdir)/../lib/isc/ondestroy.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/ondestroy.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ondestroy.Tpo $(DEPDIR)/ondestroy.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/ondestroy.c' object='ondestroy.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o inet_ntop_.o `test -f 'inet_ntop_.c' || echo '$(srcdir)/'`inet_ntop_.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ondestroy.o `test -f '$(srcdir)/../lib/isc/ondestroy.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/ondestroy.c
-inet_ntop_.obj: inet_ntop_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT inet_ntop_.obj -MD -MP -MF $(DEPDIR)/inet_ntop_.Tpo -c -o inet_ntop_.obj `if test -f 'inet_ntop_.c'; then $(CYGPATH_W) 'inet_ntop_.c'; else $(CYGPATH_W) '$(srcdir)/inet_ntop_.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/inet_ntop_.Tpo $(DEPDIR)/inet_ntop_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='inet_ntop_.c' object='inet_ntop_.obj' libtool=no @AMDEPBACKSLASH@
+ondestroy.obj: $(srcdir)/../lib/isc/ondestroy.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ondestroy.obj -MD -MP -MF $(DEPDIR)/ondestroy.Tpo -c -o ondestroy.obj `if test -f '$(srcdir)/../lib/isc/ondestroy.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/ondestroy.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/ondestroy.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ondestroy.Tpo $(DEPDIR)/ondestroy.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/ondestroy.c' object='ondestroy.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o inet_ntop_.obj `if test -f 'inet_ntop_.c'; then $(CYGPATH_W) 'inet_ntop_.c'; else $(CYGPATH_W) '$(srcdir)/inet_ntop_.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ondestroy.obj `if test -f '$(srcdir)/../lib/isc/ondestroy.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/ondestroy.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/ondestroy.c'; fi`
-inet_ntop.o: $(srcdir)/../libisc/inet_ntop.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT inet_ntop.o -MD -MP -MF $(DEPDIR)/inet_ntop.Tpo -c -o inet_ntop.o `test -f '$(srcdir)/../libisc/inet_ntop.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/inet_ntop.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/inet_ntop.Tpo $(DEPDIR)/inet_ntop.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/inet_ntop.c' object='inet_ntop.o' libtool=no @AMDEPBACKSLASH@
+random.o: $(srcdir)/../lib/isc/random.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT random.o -MD -MP -MF $(DEPDIR)/random.Tpo -c -o random.o `test -f '$(srcdir)/../lib/isc/random.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/random.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/random.Tpo $(DEPDIR)/random.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/random.c' object='random.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o inet_ntop.o `test -f '$(srcdir)/../libisc/inet_ntop.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/inet_ntop.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o random.o `test -f '$(srcdir)/../lib/isc/random.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/random.c
-inet_ntop.obj: $(srcdir)/../libisc/inet_ntop.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT inet_ntop.obj -MD -MP -MF $(DEPDIR)/inet_ntop.Tpo -c -o inet_ntop.obj `if test -f '$(srcdir)/../libisc/inet_ntop.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/inet_ntop.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/inet_ntop.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/inet_ntop.Tpo $(DEPDIR)/inet_ntop.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/inet_ntop.c' object='inet_ntop.obj' libtool=no @AMDEPBACKSLASH@
+random.obj: $(srcdir)/../lib/isc/random.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT random.obj -MD -MP -MF $(DEPDIR)/random.Tpo -c -o random.obj `if test -f '$(srcdir)/../lib/isc/random.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/random.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/random.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/random.Tpo $(DEPDIR)/random.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/random.c' object='random.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o inet_ntop.obj `if test -f '$(srcdir)/../libisc/inet_ntop.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/inet_ntop.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/inet_ntop.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o random.obj `if test -f '$(srcdir)/../lib/isc/random.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/random.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/random.c'; fi`
-inet_pton_.o: inet_pton_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT inet_pton_.o -MD -MP -MF $(DEPDIR)/inet_pton_.Tpo -c -o inet_pton_.o `test -f 'inet_pton_.c' || echo '$(srcdir)/'`inet_pton_.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/inet_pton_.Tpo $(DEPDIR)/inet_pton_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='inet_pton_.c' object='inet_pton_.o' libtool=no @AMDEPBACKSLASH@
+result.o: $(srcdir)/../lib/isc/result.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT result.o -MD -MP -MF $(DEPDIR)/result.Tpo -c -o result.o `test -f '$(srcdir)/../lib/isc/result.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/result.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/result.Tpo $(DEPDIR)/result.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/result.c' object='result.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o inet_pton_.o `test -f 'inet_pton_.c' || echo '$(srcdir)/'`inet_pton_.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o result.o `test -f '$(srcdir)/../lib/isc/result.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/result.c
-inet_pton_.obj: inet_pton_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT inet_pton_.obj -MD -MP -MF $(DEPDIR)/inet_pton_.Tpo -c -o inet_pton_.obj `if test -f 'inet_pton_.c'; then $(CYGPATH_W) 'inet_pton_.c'; else $(CYGPATH_W) '$(srcdir)/inet_pton_.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/inet_pton_.Tpo $(DEPDIR)/inet_pton_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='inet_pton_.c' object='inet_pton_.obj' libtool=no @AMDEPBACKSLASH@
+result.obj: $(srcdir)/../lib/isc/result.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT result.obj -MD -MP -MF $(DEPDIR)/result.Tpo -c -o result.obj `if test -f '$(srcdir)/../lib/isc/result.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/result.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/result.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/result.Tpo $(DEPDIR)/result.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/result.c' object='result.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o inet_pton_.obj `if test -f 'inet_pton_.c'; then $(CYGPATH_W) 'inet_pton_.c'; else $(CYGPATH_W) '$(srcdir)/inet_pton_.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o result.obj `if test -f '$(srcdir)/../lib/isc/result.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/result.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/result.c'; fi`
-inet_pton.o: $(srcdir)/../libisc/inet_pton.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT inet_pton.o -MD -MP -MF $(DEPDIR)/inet_pton.Tpo -c -o inet_pton.o `test -f '$(srcdir)/../libisc/inet_pton.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/inet_pton.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/inet_pton.Tpo $(DEPDIR)/inet_pton.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/inet_pton.c' object='inet_pton.o' libtool=no @AMDEPBACKSLASH@
+stdio.o: $(srcdir)/../lib/isc/unix/stdio.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio.o -MD -MP -MF $(DEPDIR)/stdio.Tpo -c -o stdio.o `test -f '$(srcdir)/../lib/isc/unix/stdio.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/stdio.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/stdio.Tpo $(DEPDIR)/stdio.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/stdio.c' object='stdio.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o inet_pton.o `test -f '$(srcdir)/../libisc/inet_pton.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/inet_pton.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdio.o `test -f '$(srcdir)/../lib/isc/unix/stdio.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/stdio.c
-inet_pton.obj: $(srcdir)/../libisc/inet_pton.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT inet_pton.obj -MD -MP -MF $(DEPDIR)/inet_pton.Tpo -c -o inet_pton.obj `if test -f '$(srcdir)/../libisc/inet_pton.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/inet_pton.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/inet_pton.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/inet_pton.Tpo $(DEPDIR)/inet_pton.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/inet_pton.c' object='inet_pton.obj' libtool=no @AMDEPBACKSLASH@
+stdio.obj: $(srcdir)/../lib/isc/unix/stdio.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio.obj -MD -MP -MF $(DEPDIR)/stdio.Tpo -c -o stdio.obj `if test -f '$(srcdir)/../lib/isc/unix/stdio.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/stdio.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/stdio.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/stdio.Tpo $(DEPDIR)/stdio.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/stdio.c' object='stdio.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o inet_pton.obj `if test -f '$(srcdir)/../libisc/inet_pton.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/inet_pton.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/inet_pton.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdio.obj `if test -f '$(srcdir)/../lib/isc/unix/stdio.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/stdio.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/stdio.c'; fi`
-netaddr_.o: netaddr_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT netaddr_.o -MD -MP -MF $(DEPDIR)/netaddr_.Tpo -c -o netaddr_.o `test -f 'netaddr_.c' || echo '$(srcdir)/'`netaddr_.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/netaddr_.Tpo $(DEPDIR)/netaddr_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='netaddr_.c' object='netaddr_.o' libtool=no @AMDEPBACKSLASH@
+stdtime.o: $(srcdir)/../lib/isc/unix/stdtime.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdtime.o -MD -MP -MF $(DEPDIR)/stdtime.Tpo -c -o stdtime.o `test -f '$(srcdir)/../lib/isc/unix/stdtime.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/stdtime.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/stdtime.Tpo $(DEPDIR)/stdtime.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/stdtime.c' object='stdtime.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o netaddr_.o `test -f 'netaddr_.c' || echo '$(srcdir)/'`netaddr_.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdtime.o `test -f '$(srcdir)/../lib/isc/unix/stdtime.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/stdtime.c
-netaddr_.obj: netaddr_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT netaddr_.obj -MD -MP -MF $(DEPDIR)/netaddr_.Tpo -c -o netaddr_.obj `if test -f 'netaddr_.c'; then $(CYGPATH_W) 'netaddr_.c'; else $(CYGPATH_W) '$(srcdir)/netaddr_.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/netaddr_.Tpo $(DEPDIR)/netaddr_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='netaddr_.c' object='netaddr_.obj' libtool=no @AMDEPBACKSLASH@
+stdtime.obj: $(srcdir)/../lib/isc/unix/stdtime.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdtime.obj -MD -MP -MF $(DEPDIR)/stdtime.Tpo -c -o stdtime.obj `if test -f '$(srcdir)/../lib/isc/unix/stdtime.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/stdtime.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/stdtime.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/stdtime.Tpo $(DEPDIR)/stdtime.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/stdtime.c' object='stdtime.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o netaddr_.obj `if test -f 'netaddr_.c'; then $(CYGPATH_W) 'netaddr_.c'; else $(CYGPATH_W) '$(srcdir)/netaddr_.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdtime.obj `if test -f '$(srcdir)/../lib/isc/unix/stdtime.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/stdtime.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/stdtime.c'; fi`
-netaddr.o: $(srcdir)/../libisc/netaddr.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT netaddr.o -MD -MP -MF $(DEPDIR)/netaddr.Tpo -c -o netaddr.o `test -f '$(srcdir)/../libisc/netaddr.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/netaddr.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/netaddr.Tpo $(DEPDIR)/netaddr.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/netaddr.c' object='netaddr.o' libtool=no @AMDEPBACKSLASH@
+strerror.o: $(srcdir)/../lib/isc/unix/strerror.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strerror.o -MD -MP -MF $(DEPDIR)/strerror.Tpo -c -o strerror.o `test -f '$(srcdir)/../lib/isc/unix/strerror.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/strerror.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/strerror.Tpo $(DEPDIR)/strerror.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/strerror.c' object='strerror.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o netaddr.o `test -f '$(srcdir)/../libisc/netaddr.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/netaddr.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strerror.o `test -f '$(srcdir)/../lib/isc/unix/strerror.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/strerror.c
-netaddr.obj: $(srcdir)/../libisc/netaddr.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT netaddr.obj -MD -MP -MF $(DEPDIR)/netaddr.Tpo -c -o netaddr.obj `if test -f '$(srcdir)/../libisc/netaddr.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/netaddr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/netaddr.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/netaddr.Tpo $(DEPDIR)/netaddr.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/netaddr.c' object='netaddr.obj' libtool=no @AMDEPBACKSLASH@
+strerror.obj: $(srcdir)/../lib/isc/unix/strerror.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strerror.obj -MD -MP -MF $(DEPDIR)/strerror.Tpo -c -o strerror.obj `if test -f '$(srcdir)/../lib/isc/unix/strerror.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/strerror.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/strerror.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/strerror.Tpo $(DEPDIR)/strerror.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/strerror.c' object='strerror.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o netaddr.obj `if test -f '$(srcdir)/../libisc/netaddr.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/netaddr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/netaddr.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strerror.obj `if test -f '$(srcdir)/../lib/isc/unix/strerror.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/strerror.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/strerror.c'; fi`
-sockaddr_.o: sockaddr_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sockaddr_.o -MD -MP -MF $(DEPDIR)/sockaddr_.Tpo -c -o sockaddr_.o `test -f 'sockaddr_.c' || echo '$(srcdir)/'`sockaddr_.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sockaddr_.Tpo $(DEPDIR)/sockaddr_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sockaddr_.c' object='sockaddr_.o' libtool=no @AMDEPBACKSLASH@
+task.o: $(srcdir)/../lib/isc/task.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT task.o -MD -MP -MF $(DEPDIR)/task.Tpo -c -o task.o `test -f '$(srcdir)/../lib/isc/task.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/task.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/task.Tpo $(DEPDIR)/task.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/task.c' object='task.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sockaddr_.o `test -f 'sockaddr_.c' || echo '$(srcdir)/'`sockaddr_.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o task.o `test -f '$(srcdir)/../lib/isc/task.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/task.c
-sockaddr_.obj: sockaddr_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sockaddr_.obj -MD -MP -MF $(DEPDIR)/sockaddr_.Tpo -c -o sockaddr_.obj `if test -f 'sockaddr_.c'; then $(CYGPATH_W) 'sockaddr_.c'; else $(CYGPATH_W) '$(srcdir)/sockaddr_.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sockaddr_.Tpo $(DEPDIR)/sockaddr_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sockaddr_.c' object='sockaddr_.obj' libtool=no @AMDEPBACKSLASH@
+task.obj: $(srcdir)/../lib/isc/task.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT task.obj -MD -MP -MF $(DEPDIR)/task.Tpo -c -o task.obj `if test -f '$(srcdir)/../lib/isc/task.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/task.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/task.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/task.Tpo $(DEPDIR)/task.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/task.c' object='task.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sockaddr_.obj `if test -f 'sockaddr_.c'; then $(CYGPATH_W) 'sockaddr_.c'; else $(CYGPATH_W) '$(srcdir)/sockaddr_.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o task.obj `if test -f '$(srcdir)/../lib/isc/task.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/task.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/task.c'; fi`
-sockaddr.o: $(srcdir)/../libisc/sockaddr.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sockaddr.o -MD -MP -MF $(DEPDIR)/sockaddr.Tpo -c -o sockaddr.o `test -f '$(srcdir)/../libisc/sockaddr.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/sockaddr.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sockaddr.Tpo $(DEPDIR)/sockaddr.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/sockaddr.c' object='sockaddr.o' libtool=no @AMDEPBACKSLASH@
+thread.o: $(srcdir)/../lib/isc/nothreads/thread.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT thread.o -MD -MP -MF $(DEPDIR)/thread.Tpo -c -o thread.o `test -f '$(srcdir)/../lib/isc/nothreads/thread.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/nothreads/thread.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/thread.Tpo $(DEPDIR)/thread.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/nothreads/thread.c' object='thread.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sockaddr.o `test -f '$(srcdir)/../libisc/sockaddr.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/sockaddr.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o thread.o `test -f '$(srcdir)/../lib/isc/nothreads/thread.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/nothreads/thread.c
-sockaddr.obj: $(srcdir)/../libisc/sockaddr.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sockaddr.obj -MD -MP -MF $(DEPDIR)/sockaddr.Tpo -c -o sockaddr.obj `if test -f '$(srcdir)/../libisc/sockaddr.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/sockaddr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/sockaddr.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sockaddr.Tpo $(DEPDIR)/sockaddr.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/sockaddr.c' object='sockaddr.obj' libtool=no @AMDEPBACKSLASH@
+thread.obj: $(srcdir)/../lib/isc/nothreads/thread.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT thread.obj -MD -MP -MF $(DEPDIR)/thread.Tpo -c -o thread.obj `if test -f '$(srcdir)/../lib/isc/nothreads/thread.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/nothreads/thread.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/nothreads/thread.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/thread.Tpo $(DEPDIR)/thread.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/nothreads/thread.c' object='thread.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sockaddr.obj `if test -f '$(srcdir)/../libisc/sockaddr.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/sockaddr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/sockaddr.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o thread.obj `if test -f '$(srcdir)/../lib/isc/nothreads/thread.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/nothreads/thread.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/nothreads/thread.c'; fi`
-netscope_.o: netscope_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT netscope_.o -MD -MP -MF $(DEPDIR)/netscope_.Tpo -c -o netscope_.o `test -f 'netscope_.c' || echo '$(srcdir)/'`netscope_.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/netscope_.Tpo $(DEPDIR)/netscope_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='netscope_.c' object='netscope_.o' libtool=no @AMDEPBACKSLASH@
+time.o: $(srcdir)/../lib/isc/unix/time.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT time.o -MD -MP -MF $(DEPDIR)/time.Tpo -c -o time.o `test -f '$(srcdir)/../lib/isc/unix/time.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/time.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/time.Tpo $(DEPDIR)/time.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/time.c' object='time.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o netscope_.o `test -f 'netscope_.c' || echo '$(srcdir)/'`netscope_.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o time.o `test -f '$(srcdir)/../lib/isc/unix/time.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/unix/time.c
-netscope_.obj: netscope_.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT netscope_.obj -MD -MP -MF $(DEPDIR)/netscope_.Tpo -c -o netscope_.obj `if test -f 'netscope_.c'; then $(CYGPATH_W) 'netscope_.c'; else $(CYGPATH_W) '$(srcdir)/netscope_.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/netscope_.Tpo $(DEPDIR)/netscope_.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='netscope_.c' object='netscope_.obj' libtool=no @AMDEPBACKSLASH@
+time.obj: $(srcdir)/../lib/isc/unix/time.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT time.obj -MD -MP -MF $(DEPDIR)/time.Tpo -c -o time.obj `if test -f '$(srcdir)/../lib/isc/unix/time.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/time.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/time.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/time.Tpo $(DEPDIR)/time.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/unix/time.c' object='time.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o netscope_.obj `if test -f 'netscope_.c'; then $(CYGPATH_W) 'netscope_.c'; else $(CYGPATH_W) '$(srcdir)/netscope_.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o time.obj `if test -f '$(srcdir)/../lib/isc/unix/time.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/unix/time.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/unix/time.c'; fi`
-netscope.o: $(srcdir)/../libisc/netscope.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT netscope.o -MD -MP -MF $(DEPDIR)/netscope.Tpo -c -o netscope.o `test -f '$(srcdir)/../libisc/netscope.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/netscope.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/netscope.Tpo $(DEPDIR)/netscope.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/netscope.c' object='netscope.o' libtool=no @AMDEPBACKSLASH@
+sockaddr.o: $(srcdir)/../lib/isc/sockaddr.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sockaddr.o -MD -MP -MF $(DEPDIR)/sockaddr.Tpo -c -o sockaddr.o `test -f '$(srcdir)/../lib/isc/sockaddr.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/sockaddr.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sockaddr.Tpo $(DEPDIR)/sockaddr.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/sockaddr.c' object='sockaddr.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o netscope.o `test -f '$(srcdir)/../libisc/netscope.c' || echo '$(srcdir)/'`$(srcdir)/../libisc/netscope.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sockaddr.o `test -f '$(srcdir)/../lib/isc/sockaddr.c' || echo '$(srcdir)/'`$(srcdir)/../lib/isc/sockaddr.c
-netscope.obj: $(srcdir)/../libisc/netscope.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT netscope.obj -MD -MP -MF $(DEPDIR)/netscope.Tpo -c -o netscope.obj `if test -f '$(srcdir)/../libisc/netscope.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/netscope.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/netscope.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/netscope.Tpo $(DEPDIR)/netscope.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../libisc/netscope.c' object='netscope.obj' libtool=no @AMDEPBACKSLASH@
+sockaddr.obj: $(srcdir)/../lib/isc/sockaddr.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sockaddr.obj -MD -MP -MF $(DEPDIR)/sockaddr.Tpo -c -o sockaddr.obj `if test -f '$(srcdir)/../lib/isc/sockaddr.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/sockaddr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/sockaddr.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sockaddr.Tpo $(DEPDIR)/sockaddr.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../lib/isc/sockaddr.c' object='sockaddr.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o netscope.obj `if test -f '$(srcdir)/../libisc/netscope.c'; then $(CYGPATH_W) '$(srcdir)/../libisc/netscope.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../libisc/netscope.c'; fi`
-a_md5encrypt_.c: a_md5encrypt.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/a_md5encrypt.c; then echo $(srcdir)/a_md5encrypt.c; else echo a_md5encrypt.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-adjtime_.c: adjtime.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/adjtime.c; then echo $(srcdir)/adjtime.c; else echo adjtime.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-adjtimex_.c: adjtimex.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/adjtimex.c; then echo $(srcdir)/adjtimex.c; else echo adjtimex.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-assertions_.c: $(srcdir)/../libisc/assertions.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/$(srcdir)/../libisc/assertions.c; then echo $(srcdir)/$(srcdir)/../libisc/assertions.c; else echo $(srcdir)/../libisc/assertions.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-atoint_.c: atoint.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/atoint.c; then echo $(srcdir)/atoint.c; else echo atoint.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-atolfp_.c: atolfp.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/atolfp.c; then echo $(srcdir)/atolfp.c; else echo atolfp.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-atouint_.c: atouint.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/atouint.c; then echo $(srcdir)/atouint.c; else echo atouint.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-audio_.c: audio.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/audio.c; then echo $(srcdir)/audio.c; else echo audio.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-authkeys_.c: authkeys.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/authkeys.c; then echo $(srcdir)/authkeys.c; else echo authkeys.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-authreadkeys_.c: authreadkeys.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/authreadkeys.c; then echo $(srcdir)/authreadkeys.c; else echo authreadkeys.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-authusekey_.c: authusekey.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/authusekey.c; then echo $(srcdir)/authusekey.c; else echo authusekey.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-buftvtots_.c: buftvtots.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/buftvtots.c; then echo $(srcdir)/buftvtots.c; else echo buftvtots.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-caljulian_.c: caljulian.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/caljulian.c; then echo $(srcdir)/caljulian.c; else echo caljulian.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-caltontp_.c: caltontp.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/caltontp.c; then echo $(srcdir)/caltontp.c; else echo caltontp.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-calyearstart_.c: calyearstart.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/calyearstart.c; then echo $(srcdir)/calyearstart.c; else echo calyearstart.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-clocktime_.c: clocktime.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/clocktime.c; then echo $(srcdir)/clocktime.c; else echo clocktime.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-clocktypes_.c: clocktypes.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/clocktypes.c; then echo $(srcdir)/clocktypes.c; else echo clocktypes.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-decodenetnum_.c: decodenetnum.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/decodenetnum.c; then echo $(srcdir)/decodenetnum.c; else echo decodenetnum.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-dofptoa_.c: dofptoa.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/dofptoa.c; then echo $(srcdir)/dofptoa.c; else echo dofptoa.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-dolfptoa_.c: dolfptoa.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/dolfptoa.c; then echo $(srcdir)/dolfptoa.c; else echo dolfptoa.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-emalloc_.c: emalloc.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/emalloc.c; then echo $(srcdir)/emalloc.c; else echo emalloc.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-error_.c: $(srcdir)/../libisc/error.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/$(srcdir)/../libisc/error.c; then echo $(srcdir)/$(srcdir)/../libisc/error.c; else echo $(srcdir)/../libisc/error.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-findconfig_.c: findconfig.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/findconfig.c; then echo $(srcdir)/findconfig.c; else echo findconfig.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-fptoa_.c: fptoa.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/fptoa.c; then echo $(srcdir)/fptoa.c; else echo fptoa.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-fptoms_.c: fptoms.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/fptoms.c; then echo $(srcdir)/fptoms.c; else echo fptoms.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-getopt_.c: getopt.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/getopt.c; then echo $(srcdir)/getopt.c; else echo getopt.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-hextoint_.c: hextoint.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/hextoint.c; then echo $(srcdir)/hextoint.c; else echo hextoint.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-hextolfp_.c: hextolfp.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/hextolfp.c; then echo $(srcdir)/hextolfp.c; else echo hextolfp.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-humandate_.c: humandate.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/humandate.c; then echo $(srcdir)/humandate.c; else echo humandate.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-icom_.c: icom.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/icom.c; then echo $(srcdir)/icom.c; else echo icom.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-inet_ntop_.c: $(srcdir)/../libisc/inet_ntop.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/$(srcdir)/../libisc/inet_ntop.c; then echo $(srcdir)/$(srcdir)/../libisc/inet_ntop.c; else echo $(srcdir)/../libisc/inet_ntop.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-inet_pton_.c: $(srcdir)/../libisc/inet_pton.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/$(srcdir)/../libisc/inet_pton.c; then echo $(srcdir)/$(srcdir)/../libisc/inet_pton.c; else echo $(srcdir)/../libisc/inet_pton.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-interfaceiter_.c: $(srcdir)/../libisc/interfaceiter.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/$(srcdir)/../libisc/interfaceiter.c; then echo $(srcdir)/$(srcdir)/../libisc/interfaceiter.c; else echo $(srcdir)/../libisc/interfaceiter.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-inttoa_.c: inttoa.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/inttoa.c; then echo $(srcdir)/inttoa.c; else echo inttoa.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-iosignal_.c: iosignal.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/iosignal.c; then echo $(srcdir)/iosignal.c; else echo iosignal.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-isc_strerror_.c: $(srcdir)/../libisc/isc_strerror.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/$(srcdir)/../libisc/isc_strerror.c; then echo $(srcdir)/$(srcdir)/../libisc/isc_strerror.c; else echo $(srcdir)/../libisc/isc_strerror.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-lib_.c: $(srcdir)/../libisc/lib.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/$(srcdir)/../libisc/lib.c; then echo $(srcdir)/$(srcdir)/../libisc/lib.c; else echo $(srcdir)/../libisc/lib.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-lib_strbuf_.c: lib_strbuf.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/lib_strbuf.c; then echo $(srcdir)/lib_strbuf.c; else echo lib_strbuf.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-machines_.c: machines.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/machines.c; then echo $(srcdir)/machines.c; else echo machines.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-md5c_.c: md5c.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/md5c.c; then echo $(srcdir)/md5c.c; else echo md5c.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-mem_.c: $(srcdir)/../libisc/mem.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/$(srcdir)/../libisc/mem.c; then echo $(srcdir)/$(srcdir)/../libisc/mem.c; else echo $(srcdir)/../libisc/mem.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-memmove_.c: memmove.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/memmove.c; then echo $(srcdir)/memmove.c; else echo memmove.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-mfptoa_.c: mfptoa.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/mfptoa.c; then echo $(srcdir)/mfptoa.c; else echo mfptoa.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-mfptoms_.c: mfptoms.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/mfptoms.c; then echo $(srcdir)/mfptoms.c; else echo mfptoms.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-mktime_.c: mktime.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/mktime.c; then echo $(srcdir)/mktime.c; else echo mktime.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-modetoa_.c: modetoa.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/modetoa.c; then echo $(srcdir)/modetoa.c; else echo modetoa.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-msgcat_.c: $(srcdir)/../libisc/msgcat.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/$(srcdir)/../libisc/msgcat.c; then echo $(srcdir)/$(srcdir)/../libisc/msgcat.c; else echo $(srcdir)/../libisc/msgcat.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-mstolfp_.c: mstolfp.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/mstolfp.c; then echo $(srcdir)/mstolfp.c; else echo mstolfp.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-msutotsf_.c: msutotsf.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/msutotsf.c; then echo $(srcdir)/msutotsf.c; else echo msutotsf.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-msyslog_.c: msyslog.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/msyslog.c; then echo $(srcdir)/msyslog.c; else echo msyslog.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-net_.c: $(srcdir)/../libisc/net.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/$(srcdir)/../libisc/net.c; then echo $(srcdir)/$(srcdir)/../libisc/net.c; else echo $(srcdir)/../libisc/net.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-netaddr_.c: $(srcdir)/../libisc/netaddr.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/$(srcdir)/../libisc/netaddr.c; then echo $(srcdir)/$(srcdir)/../libisc/netaddr.c; else echo $(srcdir)/../libisc/netaddr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-netof_.c: netof.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/netof.c; then echo $(srcdir)/netof.c; else echo netof.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-netscope_.c: $(srcdir)/../libisc/netscope.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/$(srcdir)/../libisc/netscope.c; then echo $(srcdir)/$(srcdir)/../libisc/netscope.c; else echo $(srcdir)/../libisc/netscope.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-ntp_random_.c: ntp_random.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/ntp_random.c; then echo $(srcdir)/ntp_random.c; else echo ntp_random.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-ntp_rfc2553_.c: ntp_rfc2553.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/ntp_rfc2553.c; then echo $(srcdir)/ntp_rfc2553.c; else echo ntp_rfc2553.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-numtoa_.c: numtoa.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/numtoa.c; then echo $(srcdir)/numtoa.c; else echo numtoa.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-numtohost_.c: numtohost.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/numtohost.c; then echo $(srcdir)/numtohost.c; else echo numtohost.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-octtoint_.c: octtoint.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/octtoint.c; then echo $(srcdir)/octtoint.c; else echo octtoint.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-prettydate_.c: prettydate.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/prettydate.c; then echo $(srcdir)/prettydate.c; else echo prettydate.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-recvbuff_.c: recvbuff.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/recvbuff.c; then echo $(srcdir)/recvbuff.c; else echo recvbuff.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-refnumtoa_.c: refnumtoa.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/refnumtoa.c; then echo $(srcdir)/refnumtoa.c; else echo refnumtoa.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-snprintf_.c: snprintf.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/snprintf.c; then echo $(srcdir)/snprintf.c; else echo snprintf.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-sockaddr_.c: $(srcdir)/../libisc/sockaddr.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/$(srcdir)/../libisc/sockaddr.c; then echo $(srcdir)/$(srcdir)/../libisc/sockaddr.c; else echo $(srcdir)/../libisc/sockaddr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-socktoa_.c: socktoa.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/socktoa.c; then echo $(srcdir)/socktoa.c; else echo socktoa.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-socktohost_.c: socktohost.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/socktohost.c; then echo $(srcdir)/socktohost.c; else echo socktohost.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-statestr_.c: statestr.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/statestr.c; then echo $(srcdir)/statestr.c; else echo statestr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-strdup_.c: strdup.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strdup.c; then echo $(srcdir)/strdup.c; else echo strdup.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-strerror_.c: strerror.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strerror.c; then echo $(srcdir)/strerror.c; else echo strerror.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-strstr_.c: strstr.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strstr.c; then echo $(srcdir)/strstr.c; else echo strstr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-syssignal_.c: syssignal.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/syssignal.c; then echo $(srcdir)/syssignal.c; else echo syssignal.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-systime_.c: systime.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/systime.c; then echo $(srcdir)/systime.c; else echo systime.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-systime_s_.c: systime_s.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/systime_s.c; then echo $(srcdir)/systime_s.c; else echo systime_s.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-tsftomsu_.c: tsftomsu.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/tsftomsu.c; then echo $(srcdir)/tsftomsu.c; else echo tsftomsu.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-tstotv_.c: tstotv.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/tstotv.c; then echo $(srcdir)/tstotv.c; else echo tstotv.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-tvtoa_.c: tvtoa.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/tvtoa.c; then echo $(srcdir)/tvtoa.c; else echo tvtoa.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-tvtots_.c: tvtots.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/tvtots.c; then echo $(srcdir)/tvtots.c; else echo tvtots.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-uglydate_.c: uglydate.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/uglydate.c; then echo $(srcdir)/uglydate.c; else echo uglydate.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-uinttoa_.c: uinttoa.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/uinttoa.c; then echo $(srcdir)/uinttoa.c; else echo uinttoa.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-utvtoa_.c: utvtoa.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/utvtoa.c; then echo $(srcdir)/utvtoa.c; else echo utvtoa.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-ymd2yd_.c: ymd2yd.c $(ANSI2KNR)
- $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/ymd2yd.c; then echo $(srcdir)/ymd2yd.c; else echo ymd2yd.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
-a_md5encrypt_.$(OBJEXT) a_md5encrypt_.lo adjtime_.$(OBJEXT) \
-adjtime_.lo adjtimex_.$(OBJEXT) adjtimex_.lo assertions_.$(OBJEXT) \
-assertions_.lo atoint_.$(OBJEXT) atoint_.lo atolfp_.$(OBJEXT) \
-atolfp_.lo atouint_.$(OBJEXT) atouint_.lo audio_.$(OBJEXT) audio_.lo \
-authkeys_.$(OBJEXT) authkeys_.lo authreadkeys_.$(OBJEXT) \
-authreadkeys_.lo authusekey_.$(OBJEXT) authusekey_.lo \
-buftvtots_.$(OBJEXT) buftvtots_.lo caljulian_.$(OBJEXT) caljulian_.lo \
-caltontp_.$(OBJEXT) caltontp_.lo calyearstart_.$(OBJEXT) \
-calyearstart_.lo clocktime_.$(OBJEXT) clocktime_.lo \
-clocktypes_.$(OBJEXT) clocktypes_.lo decodenetnum_.$(OBJEXT) \
-decodenetnum_.lo dofptoa_.$(OBJEXT) dofptoa_.lo dolfptoa_.$(OBJEXT) \
-dolfptoa_.lo emalloc_.$(OBJEXT) emalloc_.lo error_.$(OBJEXT) error_.lo \
-findconfig_.$(OBJEXT) findconfig_.lo fptoa_.$(OBJEXT) fptoa_.lo \
-fptoms_.$(OBJEXT) fptoms_.lo getopt_.$(OBJEXT) getopt_.lo \
-hextoint_.$(OBJEXT) hextoint_.lo hextolfp_.$(OBJEXT) hextolfp_.lo \
-humandate_.$(OBJEXT) humandate_.lo icom_.$(OBJEXT) icom_.lo \
-inet_ntop_.$(OBJEXT) inet_ntop_.lo inet_pton_.$(OBJEXT) inet_pton_.lo \
-interfaceiter_.$(OBJEXT) interfaceiter_.lo inttoa_.$(OBJEXT) \
-inttoa_.lo iosignal_.$(OBJEXT) iosignal_.lo isc_strerror_.$(OBJEXT) \
-isc_strerror_.lo lib_.$(OBJEXT) lib_.lo lib_strbuf_.$(OBJEXT) \
-lib_strbuf_.lo machines_.$(OBJEXT) machines_.lo md5c_.$(OBJEXT) \
-md5c_.lo mem_.$(OBJEXT) mem_.lo memmove_.$(OBJEXT) memmove_.lo \
-mfptoa_.$(OBJEXT) mfptoa_.lo mfptoms_.$(OBJEXT) mfptoms_.lo \
-mktime_.$(OBJEXT) mktime_.lo modetoa_.$(OBJEXT) modetoa_.lo \
-msgcat_.$(OBJEXT) msgcat_.lo mstolfp_.$(OBJEXT) mstolfp_.lo \
-msutotsf_.$(OBJEXT) msutotsf_.lo msyslog_.$(OBJEXT) msyslog_.lo \
-net_.$(OBJEXT) net_.lo netaddr_.$(OBJEXT) netaddr_.lo netof_.$(OBJEXT) \
-netof_.lo netscope_.$(OBJEXT) netscope_.lo ntp_random_.$(OBJEXT) \
-ntp_random_.lo ntp_rfc2553_.$(OBJEXT) ntp_rfc2553_.lo \
-numtoa_.$(OBJEXT) numtoa_.lo numtohost_.$(OBJEXT) numtohost_.lo \
-octtoint_.$(OBJEXT) octtoint_.lo prettydate_.$(OBJEXT) prettydate_.lo \
-recvbuff_.$(OBJEXT) recvbuff_.lo refnumtoa_.$(OBJEXT) refnumtoa_.lo \
-snprintf_.$(OBJEXT) snprintf_.lo sockaddr_.$(OBJEXT) sockaddr_.lo \
-socktoa_.$(OBJEXT) socktoa_.lo socktohost_.$(OBJEXT) socktohost_.lo \
-statestr_.$(OBJEXT) statestr_.lo strdup_.$(OBJEXT) strdup_.lo \
-strerror_.$(OBJEXT) strerror_.lo strstr_.$(OBJEXT) strstr_.lo \
-syssignal_.$(OBJEXT) syssignal_.lo systime_.$(OBJEXT) systime_.lo \
-systime_s_.$(OBJEXT) systime_s_.lo tsftomsu_.$(OBJEXT) tsftomsu_.lo \
-tstotv_.$(OBJEXT) tstotv_.lo tvtoa_.$(OBJEXT) tvtoa_.lo \
-tvtots_.$(OBJEXT) tvtots_.lo uglydate_.$(OBJEXT) uglydate_.lo \
-uinttoa_.$(OBJEXT) uinttoa_.lo utvtoa_.$(OBJEXT) utvtoa_.lo \
-ymd2yd_.$(OBJEXT) ymd2yd_.lo : $(ANSI2KNR)
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sockaddr.obj `if test -f '$(srcdir)/../lib/isc/sockaddr.c'; then $(CYGPATH_W) '$(srcdir)/../lib/isc/sockaddr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../lib/isc/sockaddr.c'; fi`
mostlyclean-libtool:
-rm -f *.lo
@@ -1098,10 +1037,12 @@ distdir: $(DISTFILES)
fi; \
done
check-am: all-am
-check: check-am
-all-am: Makefile $(LIBRARIES) $(HEADERS)
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(LIBRARIES)
installdirs:
-install: install-am
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
@@ -1118,6 +1059,7 @@ install-strip:
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
@@ -1126,6 +1068,7 @@ distclean-generic:
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
clean: clean-am
clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
@@ -1184,7 +1127,7 @@ maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
-mostlyclean-am: mostlyclean-compile mostlyclean-generic mostlyclean-kr \
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
@@ -1197,7 +1140,7 @@ ps-am:
uninstall-am:
-.MAKE: ../util/ansi2knr install-am install-strip
+.MAKE: all check install install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libtool clean-noinstLIBRARIES ctags distclean \
@@ -1209,13 +1152,73 @@ uninstall-am:
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-kr \
- mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
- uninstall-am
-
-
-../include/des.h:
- touch ../include/des.h
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+$(DEPDIR)/deps-ver: $(top_srcdir)/deps-ver
+ @[ -f $@ ] || \
+ cp $(top_srcdir)/deps-ver $@
+ @[ -w $@ ] || \
+ chmod ug+w $@
+ @cmp $(top_srcdir)/deps-ver $@ > /dev/null || ( \
+ $(MAKE) clean && \
+ echo -n "Prior $(subdir)/$(DEPDIR) version " && \
+ cat $@ && \
+ rm -rf $(DEPDIR) && \
+ mkdir $(DEPDIR) && \
+ case "$(top_builddir)" in \
+ .) \
+ ./config.status Makefile depfiles \
+ ;; \
+ ..) \
+ cd .. && \
+ ./config.status $(subdir)/Makefile depfiles && \
+ cd $(subdir) \
+ ;; \
+ *) \
+ echo 'Fatal: depsver.mf Automake fragment limited' \
+ 'to immediate subdirectories.' && \
+ echo "top_builddir: $(top_builddir)" && \
+ echo "subdir: $(subdir)" && \
+ exit 1 \
+ ;; \
+ esac && \
+ echo -n "Cleaned $(subdir)/$(DEPDIR) version " && \
+ cat $(top_srcdir)/deps-ver \
+ )
+ cp $(top_srcdir)/deps-ver $@
+
+.deps-ver: $(top_srcdir)/deps-ver
+ @[ ! -d $(DEPDIR) ] || $(MAKE) $(DEPDIR)/deps-ver
+ @touch $@
+
+#
+# depsver.mf included in Makefile.am for directories with .deps
+#
+# When building in the same directory with sources that change over
+# time, such as when tracking using bk, the .deps files can become
+# stale with respect to moved, deleted, or superceded headers. Most
+# commonly, this would exhibit as make reporting a failure to make a
+# header file which is no longer in the location given. To address
+# this issue, we use a deps-ver file which is updated with each change
+# that breaks old .deps files. A copy of deps-ver is made into
+# $(DEPDIR) if not already present. If $(DEPDIR)/deps-ver is present
+# with different contents than deps-ver, we make clean to ensure all
+# .o files built before the incompatible change are rebuilt along with
+# their updated .deps files, then remove $(DEPDIR) and recreate it as
+# empty stubs.
+#
+# It is normal when configured with --disable-dependency-tracking for
+# the DEPDIR to not have been created. For this reason, we use the
+# intermediate target .deps-ver, which invokes make recursively if
+# DEPDIR exists.
+#
+# If you modify depsver.mf, please make the changes to the master
+# copy, the one in sntp is copied by the bootstrap script from it.
+#
+# This comment block follows rather than leads the related code so that
+# it stays with it in the generated Makefile.in and Makefile.
+#
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/libntp/a_md5encrypt.c b/libntp/a_md5encrypt.c
index e1ea37c16d7f..fe5dbb0d464a 100644
--- a/libntp/a_md5encrypt.c
+++ b/libntp/a_md5encrypt.c
@@ -1,13 +1,6 @@
/*
- * MD5 interface for rsaref2.0
- *
- * These routines implement an interface for the RSA Laboratories
- * implementation of the Message Digest 5 (MD5) algorithm. This
- * algorithm is included in the rsaref2.0 package available from RSA in
- * the US and foreign countries. Further information is available at
- * www.rsa.com.
+ * digest support for NTP, MD5 and with OpenSSL more
*/
-
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
@@ -15,90 +8,103 @@
#include "ntp_fp.h"
#include "ntp_string.h"
#include "ntp_stdlib.h"
-
-/* Disable the openssl md5 includes, because they'd clash with ours. */
-/* #define NO_MD5 */
-/* #define OPENSSL_NO_MD5 */
-#undef OPENSSL
-
#include "ntp.h"
-#include "global.h"
-#include "ntp_md5.h"
+#ifdef OPENSSL
+# include "openssl/evp.h"
+#else
+# include "ntp_md5.h" /* provides clone of OpenSSL MD5 API */
+#endif
/*
- * MD5authencrypt - generate MD5 message authenticator
+ * MD5authencrypt - generate message digest
*
- * Returns length of authenticator field.
+ * Returns length of MAC including key ID and digest.
*/
int
MD5authencrypt(
- u_char *key, /* key pointer */
+ int type, /* hash algorithm */
+ u_char *key, /* key pointer */
u_int32 *pkt, /* packet pointer */
- int length /* packet length */
+ int length /* packet length */
)
{
- MD5_CTX md5;
- u_char digest[16];
+ u_char digest[EVP_MAX_MD_SIZE];
+ u_int len;
+ EVP_MD_CTX ctx;
/*
- * MD5 with key identifier concatenated with packet.
+ * Compute digest of key concatenated with packet. Note: the
+ * key type and digest type have been verified when the key
+ * was creaded.
*/
- MD5Init(&md5);
- MD5Update(&md5, key, (u_int)cache_keylen);
- MD5Update(&md5, (u_char *)pkt, (u_int)length);
- MD5Final(digest, &md5);
- memmove((u_char *)pkt + length + 4, digest, 16);
- return (16 + 4);
+ INIT_SSL();
+ EVP_DigestInit(&ctx, EVP_get_digestbynid(type));
+ EVP_DigestUpdate(&ctx, key, (u_int)cache_keylen);
+ EVP_DigestUpdate(&ctx, (u_char *)pkt, (u_int)length);
+ EVP_DigestFinal(&ctx, digest, &len);
+ memmove((u_char *)pkt + length + 4, digest, len);
+ return (len + 4);
}
/*
* MD5authdecrypt - verify MD5 message authenticator
*
- * Returns one if authenticator valid, zero if invalid.
+ * Returns one if digest valid, zero if invalid.
*/
int
MD5authdecrypt(
- u_char *key, /* key pointer */
- u_int32 *pkt, /* packet pointer */
- int length, /* packet length */
- int size /* MAC size */
+ int type, /* hash algorithm */
+ u_char *key, /* key pointer */
+ u_int32 *pkt, /* packet pointer */
+ int length, /* packet length */
+ int size /* MAC size */
)
{
- MD5_CTX md5;
- u_char digest[16];
+ u_char digest[EVP_MAX_MD_SIZE];
+ u_int len;
+ EVP_MD_CTX ctx;
/*
- * MD5 with key identifier concatenated with packet.
+ * Compute digest of key concatenated with packet. Note: the
+ * key type and digest type have been verified when the key
+ * was created.
*/
- MD5Init(&md5);
- MD5Update(&md5, key, (u_int)cache_keylen);
- MD5Update(&md5, (u_char *)pkt, (u_int)length);
- MD5Final(digest, &md5);
- if (size != 16 + 4)
+ INIT_SSL();
+ EVP_DigestInit(&ctx, EVP_get_digestbynid(type));
+ EVP_DigestUpdate(&ctx, key, (u_int)cache_keylen);
+ EVP_DigestUpdate(&ctx, (u_char *)pkt, (u_int)length);
+ EVP_DigestFinal(&ctx, digest, &len);
+ if ((u_int)size != len + 4) {
+ msyslog(LOG_ERR,
+ "MAC decrypt: MAC length error");
return (0);
- return (!memcmp(digest, (char *)pkt + length + 4, 16));
+ }
+ return (!memcmp(digest, (char *)pkt + length + 4, len));
}
/*
* Calculate the reference id from the address. If it is an IPv4
* address, use it as is. If it is an IPv6 address, do a md5 on
* it and use the bottom 4 bytes.
+ * The result is in network byte order.
*/
u_int32
-addr2refid(struct sockaddr_storage *addr)
+addr2refid(sockaddr_u *addr)
{
- MD5_CTX md5;
- u_char digest[16];
- u_int32 addr_refid;
+ u_char digest[20];
+ u_int32 addr_refid;
+ EVP_MD_CTX ctx;
+ u_int len;
- if (addr->ss_family == AF_INET)
- return (GET_INADDR(*addr));
+ if (IS_IPV4(addr))
+ return (NSRCADR(addr));
- MD5Init(&md5);
- MD5Update(&md5, (u_char *)&GET_INADDR6(*addr),
+ INIT_SSL();
+ EVP_DigestInit(&ctx, EVP_get_digestbynid(NID_md5));
+ EVP_DigestUpdate(&ctx, (u_char *)PSOCK_ADDR6(addr),
sizeof(struct in6_addr));
- MD5Final(digest, &md5);
+ EVP_DigestFinal(&ctx, digest, &len);
memcpy(&addr_refid, digest, 4);
return (addr_refid);
}
diff --git a/libntp/atolfp.c b/libntp/atolfp.c
index ff50947f0c47..adb67936fe44 100644
--- a/libntp/atolfp.c
+++ b/libntp/atolfp.c
@@ -6,6 +6,7 @@
#include "ntp_fp.h"
#include "ntp_string.h"
+#include "ntp_assert.h"
/*
* Powers of 10
@@ -38,6 +39,8 @@ atolfp(
int isneg;
static const char *digits = "0123456789";
+ NTP_REQUIRE(str != NULL);
+
isneg = 0;
dec_i = dec_f = 0;
ndec = 0;
diff --git a/libntp/audio.c b/libntp/audio.c
index 8d2f7c2ca9dd..d9af6b51f3bc 100644
--- a/libntp/audio.c
+++ b/libntp/audio.c
@@ -67,8 +67,8 @@ static struct audio_info info; /* audio device info */
static int ctl_fd; /* audio control file descriptor */
#ifdef PCM_STYLE_SOUND
-static void audio_config_read P((int, char **, char **));
-static int mixer_name P((const char *, int));
+static void audio_config_read (int, char **, char **);
+static int mixer_name (const char *, int);
int
@@ -121,15 +121,18 @@ audio_config_read(
FILE *fd;
char device[20], line[100], ab[100];
- sprintf(device, "%s%d", INIT_FILE, unit);
+ snprintf(device, sizeof(device), "%s%d", INIT_FILE, unit);
if ((fd = fopen(device, "r")) == NULL) {
printf("audio_config_read: <%s> NO\n", device);
- sprintf(device, "%s.%d", INIT_FILE, unit);
+ snprintf(device, sizeof(device), "%s.%d", INIT_FILE,
+ unit);
if ((fd = fopen(device, "r")) == NULL) {
printf("audio_config_read: <%s> NO\n", device);
- sprintf(device, "%s.%d", INIT_FILE, unit);
+ snprintf(device, sizeof(device), "%s",
+ INIT_FILE);
if ((fd = fopen(device, "r")) == NULL) {
- printf("audio_config_read: <%s> NO\n", device);
+ printf("audio_config_read: <%s> NO\n",
+ device);
return;
}
}
@@ -171,21 +174,21 @@ audio_config_read(
for (; *ca && isascii((int)*ca) && (isspace((int)*ca) || (*ca == '=')); ca++)
continue;
- if (!strncmp(cc, "IDEV", (size_t) 4)) {
- sscanf(ca, "%s", ab);
- strcpy(cf_i_dev, ab);
+ if (!strncmp(cc, "IDEV", 4) &&
+ 1 == sscanf(ca, "%99s", ab)) {
+ strncpy(cf_i_dev, ab, sizeof(cf_i_dev));
printf("idev <%s>\n", ab);
- } else if (!strncmp(cc, "CDEV", (size_t) 4)) {
- sscanf(ca, "%s", ab);
- strcpy(cf_c_dev, ab);
+ } else if (!strncmp(cc, "CDEV", 4) &&
+ 1 == sscanf(ca, "%99s", ab)) {
+ strncpy(cf_c_dev, ab, sizeof(cf_c_dev));
printf("cdev <%s>\n", ab);
- } else if (!strncmp(cc, "AGC", (size_t) 3)) {
- sscanf(ca, "%s", ab);
- strcpy(cf_agc, ab);
+ } else if (!strncmp(cc, "AGC", 3) &&
+ 1 == sscanf(ca, "%99s", ab)) {
+ strncpy(cf_agc, ab, sizeof(cf_agc));
printf("agc <%s> %d\n", ab, i);
- } else if (!strncmp(cc, "MONITOR", (size_t) 7)) {
- sscanf(ca, "%s", ab);
- strcpy(cf_monitor, ab);
+ } else if (!strncmp(cc, "MONITOR", 7) &&
+ 1 == sscanf(ca, "%99s", ab)) {
+ strncpy(cf_monitor, ab, sizeof(cf_monitor));
printf("monitor <%s> %d\n", ab, mixer_name(ab, -1));
}
}
@@ -233,7 +236,7 @@ audio_init(
;
#ifdef PCM_STYLE_SOUND
- (void)sprintf(actl_dev, ACTL_DEV, unit);
+ snprintf(actl_dev, sizeof(actl_dev), ACTL_DEV, unit);
audio_config_read(unit, &actl, &dname);
/* If we have values for cf_c_dev or cf_i_dev, use them. */
@@ -244,18 +247,21 @@ audio_init(
#endif
/*
- * Open audio device. Do not complain if not there.
+ * Open audio device
*/
fd = open(dname, O_RDWR | O_NONBLOCK, 0777);
- if (fd < 0)
+ if (fd < 0) {
+ msyslog(LOG_ERR, "audio_init: %s %m\n", dname);
return (fd);
+ }
/*
* Open audio control device.
*/
ctl_fd = open(actl, O_RDWR);
if (ctl_fd < 0) {
- msyslog(LOG_ERR, "audio_init: invalid control device <%s>\n", actl);
+ msyslog(LOG_ERR, "audio_init: invalid control device <%s>\n",
+ actl);
close(fd);
return(ctl_fd);
}
@@ -310,7 +316,7 @@ audio_init(
printf("SOUND_MIXER_READ_RECMASK: %s\n", strerror(errno));
/* validate and set any specified config file stuff */
- if (*cf_agc) {
+ if (cf_agc[0] != '\0') {
int i;
i = mixer_name(cf_agc, devmask);
@@ -321,7 +327,7 @@ audio_init(
cf_agc, recmask);
}
- if (*cf_monitor) {
+ if (cf_monitor[0] != '\0') {
int i;
/* devmask */
@@ -377,21 +383,21 @@ audio_gain(
if (debug > 1)
printf("audio_gain: gain %d/%d\n", gain, l);
# endif
+#if 0 /* not a good idea to do this; connector wiring dependency */
/* figure out what channel(s) to use. just nuke right for now. */
r = 0 ; /* setting to zero nicely mutes the channel */
-
+#endif
l |= r << 8;
- if ( cf_agc )
- rval = ioctl(ctl_fd, agc, &l);
- else
- if (port == 2) {
- rval = ioctl(ctl_fd, SOUND_MIXER_WRITE_LINE, &l);
- } else {
- rval = ioctl(ctl_fd, SOUND_MIXER_WRITE_MIC, &l);
- }
- if (rval == -1) {
+ if (cf_agc[0] != '\0')
+ rval = ioctl(ctl_fd, agc, &l);
+ else
+ if (2 == port)
+ rval = ioctl(ctl_fd, SOUND_MIXER_WRITE_LINE, &l);
+ else
+ rval = ioctl(ctl_fd, SOUND_MIXER_WRITE_MIC, &l);
+ if (-1 == rval) {
printf("audio_gain: agc write: %s\n", strerror(errno));
- return (rval);
+ return rval;
}
if (o_mongain != mongain) {
@@ -401,11 +407,12 @@ audio_gain(
printf("audio_gain: mongain %d/%d\n", mongain, l);
# endif
l |= r << 8;
- if ( cf_monitor )
- rval = ioctl(ctl_fd, monitor, &l );
- else
- rval = ioctl(ctl_fd, SOUND_MIXER_WRITE_VOLUME, &l);
- if (rval == -1) {
+ if (cf_monitor[0] != '\0')
+ rval = ioctl(ctl_fd, monitor, &l );
+ else
+ rval = ioctl(ctl_fd, SOUND_MIXER_WRITE_VOLUME,
+ &l);
+ if (-1 == rval) {
printf("audio_gain: mongain write: %s\n",
strerror(errno));
return (rval);
diff --git a/libntp/authkeys.c b/libntp/authkeys.c
index 1c954446802e..b9b76d9e6bcf 100644
--- a/libntp/authkeys.c
+++ b/libntp/authkeys.c
@@ -1,7 +1,6 @@
/*
* authkeys.c - routines to manage the storage of authentication keys
*/
-
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -22,17 +21,16 @@
struct savekey {
struct savekey *next;
union {
- long bogon; /* Make sure nonempty */
- u_char MD5_key[32]; /* MD5 key */
+ u_char MD5_key[64]; /* for keys up to to 512 bits */
} k;
keyid_t keyid; /* key identifier */
+ int type; /* key type */
u_short flags; /* flags that wave */
u_long lifetime; /* remaining lifetime */
int keylen; /* key length */
};
#define KEY_TRUSTED 0x001 /* this key is trusted */
-#define KEY_MD5 0x200 /* this is a MD5 type key */
/*
* The hash table. This is indexed by the low order bits of the
@@ -68,6 +66,7 @@ int authnumfreekeys;
keyid_t cache_keyid; /* key identifier */
u_char *cache_key; /* key pointer */
u_int cache_keylen; /* key length */
+int cache_type; /* key type */
u_short cache_flags; /* flags that wave */
@@ -143,28 +142,47 @@ authhavekey(
if (keyno == 0 || keyno == cache_keyid)
return (1);
+ /*
+ * Seach the bin for the key. If found and the key type
+ * is zero, somebody marked it trusted without specifying
+ * a key or key type. In this case consider the key missing.
+ */
authkeyuncached++;
sk = key_hash[KEYHASH(keyno)];
- while (sk != 0) {
- if (keyno == sk->keyid)
- break;
+ while (sk != NULL) {
+ if (keyno == sk->keyid) {
+ if (sk->type == 0) {
+ authkeynotfound++;
+ return (0);
+ }
+ break;
+ }
sk = sk->next;
}
- if (sk == 0) {
+
+ /*
+ * If the key is not found, or if it is found but not trusted,
+ * the key is not considered found.
+ */
+ if (sk == NULL) {
authkeynotfound++;
return (0);
- } else if (!(sk->flags & KEY_TRUSTED)) {
+
+ }
+ if (!(sk->flags & KEY_TRUSTED)) {
authnokey++;
return (0);
}
+
+ /*
+ * The key is found and trusted. Initialize the key cache.
+ */
cache_keyid = sk->keyid;
+ cache_type = sk->type;
cache_flags = sk->flags;
- if (sk->flags & KEY_MD5) {
- cache_key = sk->k.MD5_key;
- cache_keylen = sk->keylen;
- return (1);
- }
- return (0);
+ cache_key = sk->k.MD5_key;
+ cache_keylen = sk->keylen;
+ return (1);
}
@@ -201,26 +219,36 @@ authtrust(
{
struct savekey *sk;
-#ifdef DEBUG
- if (debug > 2)
- printf("authtrust: keyid %08x life %lu\n", keyno, trust);
-#endif
+ /*
+ * Search bin for key; if it does not exist and is untrusted,
+ * forget it.
+ */
sk = key_hash[KEYHASH(keyno)];
while (sk != 0) {
if (keyno == sk->keyid)
break;
+
sk = sk->next;
}
-
if (sk == 0 && !trust)
return;
-
+
+ /*
+ * There are two conditions remaining. Either it does not
+ * exist and is to be trusted or it does exist and is or is
+ * not to be trusted.
+ */
if (sk != 0) {
if (cache_keyid == keyno) {
cache_flags = 0;
cache_keyid = 0;
}
+ /*
+ * Key exists. If it is to be trusted, say so and
+ * update its lifetime. If not, return it to the
+ * free list.
+ */
if (trust > 0) {
sk->flags |= KEY_TRUSTED;
if (trust > 1)
@@ -229,7 +257,6 @@ authtrust(
sk->lifetime = 0;
return;
}
-
sk->flags &= ~KEY_TRUSTED; {
struct savekey *skp;
@@ -250,6 +277,11 @@ authtrust(
return;
}
+ /*
+ * Here there is not key, but the key is to be trusted. There
+ * seems to be a disconnect here. Here we allocate a new key,
+ * but do not specify a key type, key or key length.
+ */
if (authnumfreekeys == 0)
if (auth_moremem() == 0)
return;
@@ -257,8 +289,9 @@ authtrust(
sk = authfreekeys;
authfreekeys = sk->next;
authnumfreekeys--;
-
sk->keyid = keyno;
+ sk->type = 0;
+ sk->keylen = 0;
sk->flags = KEY_TRUSTED;
sk->next = key_hash[KEYHASH(keyno)];
key_hash[KEYHASH(keyno)] = sk;
@@ -290,6 +323,7 @@ authistrusted(
if (sk == 0) {
authkeynotfound++;
return (0);
+
} else if (!(sk->flags & KEY_TRUSTED)) {
authkeynotfound++;
return (0);
@@ -301,6 +335,7 @@ authistrusted(
void
MD5auth_setkey(
keyid_t keyno,
+ int keytype,
const u_char *key,
const int len
)
@@ -312,14 +347,16 @@ MD5auth_setkey(
* new value.
*/
sk = key_hash[KEYHASH(keyno)];
- while (sk != 0) {
+ while (sk != NULL) {
if (keyno == sk->keyid) {
+ sk->type = keytype;
+ sk->keylen = min(len, sizeof(sk->k.MD5_key));
+#ifndef DISABLE_BUG1243_FIX
+ memcpy(sk->k.MD5_key, key, sk->keylen);
+#else
strncpy((char *)sk->k.MD5_key, (const char *)key,
sizeof(sk->k.MD5_key));
- if ((sk->keylen = len) > sizeof(sk->k.MD5_key))
- sk->keylen = sizeof(sk->k.MD5_key);
-
- sk->flags |= KEY_MD5;
+#endif
if (cache_keyid == keyno) {
cache_flags = 0;
cache_keyid = 0;
@@ -332,29 +369,43 @@ MD5auth_setkey(
/*
* Need to allocate new structure. Do it.
*/
- if (authnumfreekeys == 0) {
- if (auth_moremem() == 0)
- return;
- }
+ if (0 == authnumfreekeys && !auth_moremem())
+ return;
sk = authfreekeys;
authfreekeys = sk->next;
authnumfreekeys--;
- strncpy((char *)sk->k.MD5_key, (const char *)key,
- sizeof(sk->k.MD5_key));
- if ((sk->keylen = len) > sizeof(sk->k.MD5_key))
- sk->keylen = sizeof(sk->k.MD5_key);
-
sk->keyid = keyno;
- sk->flags = KEY_MD5;
+ sk->type = keytype;
+ sk->flags = 0;
sk->lifetime = 0;
+ sk->keylen = min(len, sizeof(sk->k.MD5_key));
+#ifndef DISABLE_BUG1243_FIX
+ memcpy(sk->k.MD5_key, key, sk->keylen);
+#else
+ strncpy((char *)sk->k.MD5_key, (const char *)key,
+ sizeof(sk->k.MD5_key));
+#endif
sk->next = key_hash[KEYHASH(keyno)];
key_hash[KEYHASH(keyno)] = sk;
+#ifdef DEBUG
+ if (debug > 1) {
+ char hex[] = "0123456789abcdef";
+ int j;
+
+ printf("auth_setkey: key %d type %d len %d ", sk->keyid,
+ sk->type, sk->keylen);
+ for (j = 0; j < sk->keylen; j++)
+ printf("%c%c", hex[key[j] >> 4],
+ hex[key[j] & 0xf]);
+ printf("\n");
+ }
+#endif
authnumkeys++;
- return;
}
-
+
+
/*
* auth_delkeys - delete all known keys, in preparation for rereading
* the keys file (presumably)
@@ -449,10 +500,7 @@ authencrypt(
if (!authhavekey(keyno))
return (0);
- if (cache_flags & KEY_MD5)
- return (MD5authencrypt(cache_key, pkt, length));
-
- return (0);
+ return (MD5authencrypt(cache_type, cache_key, pkt, length));
}
/*
@@ -481,8 +529,6 @@ authdecrypt(
if (!authhavekey(keyno) || size < 4)
return (0);
- if (cache_flags & KEY_MD5)
- return (MD5authdecrypt(cache_key, pkt, length, size));
-
- return (0);
+ return (MD5authdecrypt(cache_type, cache_key, pkt, length,
+ size));
}
diff --git a/libntp/authreadkeys.c b/libntp/authreadkeys.c
index 22020f3f853a..063515ee02c7 100644
--- a/libntp/authreadkeys.c
+++ b/libntp/authreadkeys.c
@@ -1,6 +1,7 @@
/*
* authreadkeys.c - routines to support the reading of the key file
*/
+#include <config.h>
#include <stdio.h>
#include <ctype.h>
@@ -9,20 +10,19 @@
#include "ntp_syslog.h"
#include "ntp_stdlib.h"
-/*
- * Arbitrary long string of ASCII characters.
- */
-#define KEY_TYPE_MD5 4
+#ifdef OPENSSL
+#include "openssl/objects.h"
+#endif /* OPENSSL */
/* Forwards */
-static char *nexttok P((char **));
+static char *nexttok (char **);
/*
* nexttok - basic internal tokenizing routine
*/
static char *
nexttok(
- char **str
+ char **str
)
{
register char *cp;
@@ -49,7 +49,7 @@ nexttok(
* token to zero and return start.
*/
if (starttok == cp)
- return 0;
+ return (NULL);
if (*cp == ' ' || *cp == '\t')
*cp++ = '\0';
@@ -69,21 +69,26 @@ authreadkeys(
const char *file
)
{
- FILE *fp;
- char *line;
- char *token;
- u_long keyno;
- int keytype;
- char buf[512]; /* lots of room for line */
+ FILE *fp;
+ char *line;
+ char *token;
+ keyid_t keyno;
+ int keytype;
+ char buf[512]; /* lots of room for line */
+ u_char keystr[20];
+ int len;
+ int j;
/*
* Open file. Complain and return if it can't be opened.
*/
fp = fopen(file, "r");
if (fp == NULL) {
- msyslog(LOG_ERR, "can't open key file %s: %m", file);
- return 0;
+ msyslog(LOG_ERR, "authreadkeys: file %s: %m",
+ file);
+ return (0);
}
+ INIT_SSL();
/*
* Remove all existing keys
@@ -95,8 +100,8 @@ authreadkeys(
*/
while ((line = fgets(buf, sizeof buf, fp)) != NULL) {
token = nexttok(&line);
- if (token == 0)
- continue;
+ if (token == NULL)
+ continue;
/*
* First is key number. See if it is okay.
@@ -104,59 +109,96 @@ authreadkeys(
keyno = atoi(token);
if (keyno == 0) {
msyslog(LOG_ERR,
- "cannot change keyid 0, key entry `%s' ignored",
- token);
+ "authreadkeys: cannot change key %s", token);
continue;
}
if (keyno > NTP_MAXKEY) {
msyslog(LOG_ERR,
- "keyid's > %d reserved for autokey, key entry `%s' ignored",
- NTP_MAXKEY, token);
+ "authreadkeys: key %s > %d reserved for Autokey",
+ token, NTP_MAXKEY);
continue;
}
/*
- * Next is keytype. See if that is all right.
+ * Next is keytype. See if that is all right.
*/
token = nexttok(&line);
- if (token == 0) {
+ if (token == NULL) {
msyslog(LOG_ERR,
- "no key type for key number %ld, entry ignored",
- keyno);
+ "authreadkeys: no key type for key %d", keyno);
continue;
}
- switch (*token) {
- case 'M':
- case 'm':
- keytype = KEY_TYPE_MD5; break;
- default:
+#ifdef OPENSSL
+ /*
+ * The key type is the NID used by the message digest
+ * algorithm. There are a number of inconsistencies in
+ * the OpenSSL database. We attempt to discover them
+ * here and prevent use of inconsistent data later.
+ */
+ keytype = keytype_from_text(token, NULL);
+ if (keytype == 0) {
msyslog(LOG_ERR,
- "invalid key type for key number %ld, entry ignored",
- keyno);
+ "authreadkeys: invalid type for key %d", keyno);
continue;
}
+ if (EVP_get_digestbynid(keytype) == NULL) {
+ msyslog(LOG_ERR,
+ "authreadkeys: no algorithm for key %d", keyno);
+ continue;
+ }
+#else /* OPENSSL */
/*
- * Finally, get key and insert it
+ * The key type is unused, but is required to be 'M' or
+ * 'm' for compatibility.
+ */
+ if (!(*token == 'M' || *token == 'm')) {
+ msyslog(LOG_ERR,
+ "authreadkeys: invalid type for key %d", keyno);
+ continue;
+ }
+ keytype = KEY_TYPE_MD5;
+#endif /* OPENSSL */
+
+ /*
+ * Finally, get key and insert it. If it is longer than 20
+ * characters, it is a binary string encoded in hex;
+ * otherwise, it is a text string of printable ASCII
+ * characters.
*/
token = nexttok(&line);
- if (token == 0) {
+ if (token == NULL) {
msyslog(LOG_ERR,
- "no key for number %ld entry, entry ignored",
- keyno);
+ "authreadkeys: no key for key %d", keyno);
+ continue;
+ }
+ len = strlen(token);
+ if (len <= 20) {
+ MD5auth_setkey(keyno, keytype, (u_char *)token, len);
} else {
- switch(keytype) {
- case KEY_TYPE_MD5:
- if (!authusekey(keyno, keytype,
- (u_char *)token))
- msyslog(LOG_ERR,
- "format/parity error for MD5 key %ld, not used",
- keyno);
- break;
+ char hex[] = "0123456789abcdef";
+ u_char temp;
+ char *ptr;
+ int jlim;
+
+ jlim = min(len, 2 * sizeof(keystr));
+ for (j = 0; j < jlim; j++) {
+ ptr = strchr(hex, tolower(token[j]));
+ if (ptr == NULL) {
+ msyslog(LOG_ERR,
+ "authreadkeys: invalid hex digit for key %d", keyno);
+ continue;
+ }
+ temp = (u_char)(ptr - hex);
+ if (j & 1)
+ keystr[j / 2] |= temp;
+ else
+ keystr[j / 2] = temp << 4;
}
+ MD5auth_setkey(keyno, keytype, keystr, jlim / 2);
}
}
- (void) fclose(fp);
- return 1;
+ fclose(fp);
+ return (1);
}
diff --git a/libntp/authusekey.c b/libntp/authusekey.c
index 40dd3737ddf2..bef7b8473248 100644
--- a/libntp/authusekey.c
+++ b/libntp/authusekey.c
@@ -15,9 +15,6 @@
* high order bit of each byte a parity bit. "Ascii" means a 1-to-8
* character string whose ascii representation is used as the key.
*/
-
-#define KEY_TYPE_MD5 4
-
int
authusekey(
keyid_t keyno,
@@ -31,17 +28,8 @@ authusekey(
cp = str;
len = strlen((const char *)cp);
if (len == 0)
- return 0;
-
- switch(keytype) {
- case KEY_TYPE_MD5:
- MD5auth_setkey(keyno, str, (int)strlen((const char *)str));
- break;
-
- default:
- /* Oh, well */
return 0;
- }
+ MD5auth_setkey(keyno, keytype, str, (int)strlen((const char *)str));
return 1;
}
diff --git a/libntp/strerror.c b/libntp/bsd_strerror.c
index 9d8ae8e4f483..9d8ae8e4f483 100644
--- a/libntp/strerror.c
+++ b/libntp/bsd_strerror.c
diff --git a/libntp/buftvtots.c b/libntp/buftvtots.c
index bfceb35da219..d6d9300f1241 100644
--- a/libntp/buftvtots.c
+++ b/libntp/buftvtots.c
@@ -11,6 +11,7 @@
#include "ntp_string.h"
#include "ntp_unixtime.h"
+#ifndef SYS_WINNT
int
buftvtots(
const char *bufp,
@@ -33,3 +34,20 @@ buftvtots(
TVUTOTSF(tv.tv_usec, ts->l_uf);
return 1;
}
+#else /* SYS_WINNT */
+/*
+ * Windows doesn't have the tty_clock line discipline, so
+ * don't look for a timestamp where there is none.
+ */
+int
+buftvtots(
+ const char *bufp,
+ l_fp *ts
+ )
+{
+ UNUSED_ARG(bufp);
+ UNUSED_ARG(ts);
+
+ return 0;
+}
+#endif /* SYS_WINNT */
diff --git a/libntp/caljulian.c b/libntp/caljulian.c
index 71123dfe20d3..7673061b57ce 100644
--- a/libntp/caljulian.c
+++ b/libntp/caljulian.c
@@ -7,24 +7,25 @@
#include "ntp_calendar.h"
#include "ntp_stdlib.h"
#include "ntp_fp.h"
+#include "ntp_unixtime.h"
-#if 0
-/*
- * calmonthtab - days-in-the-month table
+#if !(defined(ISC_CHECK_ALL) || defined(ISC_CHECK_NONE) || \
+ defined(ISC_CHECK_ENSURE) || defined(ISC_CHECK_INSIST) || \
+ defined(ISC_CHECK_INVARIANT))
+# define ISC_CHECK_ALL
+#endif
+
+#include "ntp_assert.h"
+
+#if 1
+
+/* Updated 2008-11-10 Juergen Perlinger <juergen.perlinger@t-online.de>
+ *
+ * Make the conversion 2038-proof with proper NTP epoch unfolding and extended
+ * precision calculations. Though we should really get a 'time_t' with more
+ * than 32 bits at least until 2037, because the unfolding cannot work after
+ * the wrap of the 32-bit 'time_t'.
*/
-static u_short calmonthtab[11] = {
- JAN,
- FEB,
- MAR,
- APR,
- MAY,
- JUN,
- JUL,
- AUG,
- SEP,
- OCT,
- NOV
-};
void
caljulian(
@@ -32,89 +33,137 @@ caljulian(
register struct calendar *jt
)
{
- u_long ntp_day;
- u_long minutes;
+ u_long saved_time = ntptime;
+ u_long ntp_day; /* days (since christian era or in year) */
+ u_long n400; /* # of Gregorian cycles */
+ u_long n100; /* # of normal centuries */
+ u_long n4; /* # of 4-year cycles */
+ u_long n1; /* # of years into a leap year cycle */
+ u_long sclday; /* scaled days for month conversion */
+ int leaps; /* # of leaps days in year */
+ time_t now; /* current system time */
+ u_int32 tmplo; /* double precision tmp value / lo part */
+ int32 tmphi; /* double precision tmp value / hi part */
+
+ NTP_INSIST(NULL != jt);
+
/*
- * Absolute, zero-adjusted Christian era day, starting from the
- * mythical day 12/1/1 BC
+ * First we have to unfold the ntp time stamp around the current time
+ * to make sure we are in the right epoch. Also we we do *NOT* fold
+ * before the begin of the first NTP epoch, so we WILL have a
+ * non-negative time stamp afterwards. Though at the time of this
+ * writing (2008 A.D.) it would be really strange to have systems
+ * running with clock set to he 1960's or before...
+ *
+ * But's important to use a 32 bit max signed value -- LONG_MAX is 64
+ * bit on a 64-bit system, and it will give wrong results.
*/
- u_long acez_day;
-
- u_long d400; /* Days into a Gregorian cycle */
- u_long d100; /* Days into a normal century */
- u_long d4; /* Days into a 4-year cycle */
- u_long n400; /* # of Gregorian cycles */
- u_long n100; /* # of normal centuries */
- u_long n4; /* # of 4-year cycles */
- u_long n1; /* # of years into a leap year */
- /* cycle */
+ now = time(NULL);
+ tmplo = (u_int32)now;
+#if ( SIZEOF_TIME_T > 4 )
+ tmphi = (int32)(now >> 16 >> 16);
+#else
+ /*
+ * Get the correct sign extension in the high part.
+ * (now >> 32) may not work correctly on every 32 bit
+ * system, e.g. it yields garbage under Win32/VC6.
+ */
+ tmphi = (int32)(now >> 31);
+#endif
+
+ M_ADD(tmphi, tmplo, 0, ((1UL << 31)-1)); /* 32-bit max signed */
+ M_ADD(tmphi, tmplo, 0, JAN_1970);
+ if ((ntptime > tmplo) && (tmphi > 0))
+ --tmphi;
+ tmplo = ntptime;
+
+ /*
+ * Now split into days and seconds-of-day, using the fact that
+ * SECSPERDAY (86400) == 675 * 128; we can get roughly 17000 years of
+ * time scale, using only 32-bit calculations. Some magic numbers here,
+ * sorry for that. (This could be streamlined for 64 bit machines, but
+ * is worth the trouble?)
+ */
+ ntptime = tmplo & 127; /* save remainder bits */
+ tmplo = (tmplo >> 7) | (tmphi << 25);
+ ntp_day = (u_int32)tmplo / 675;
+ ntptime += ((u_int32)tmplo % 675) << 7;
+
+ /* some checks for the algorithm
+ * There's some 64-bit trouble out there: the original NTP time stamp
+ * had only 32 bits, so our calculation invariant only holds in 32 bits!
+ */
+ NTP_ENSURE(ntptime < SECSPERDAY);
+ NTP_INVARIANT((u_int32)(ntptime + ntp_day * SECSPERDAY) == (u_int32)saved_time);
/*
* Do the easy stuff first: take care of hh:mm:ss, ignoring leap
* seconds
*/
jt->second = (u_char)(ntptime % SECSPERMIN);
- minutes = ntptime / SECSPERMIN;
- jt->minute = (u_char)(minutes % MINSPERHR);
- jt->hour = (u_char)((minutes / MINSPERHR) % HRSPERDAY);
+ ntptime /= SECSPERMIN;
+ jt->minute = (u_char)(ntptime % MINSPERHR);
+ ntptime /= MINSPERHR;
+ jt->hour = (u_char)(ntptime);
- /*
- * Find the day past 1900/01/01 00:00 UTC
- */
- ntp_day = ntptime / SECSPERDAY;
- acez_day = DAY_NTP_STARTS + ntp_day - 1;
- n400 = acez_day/GREGORIAN_CYCLE_DAYS;
- d400 = acez_day%GREGORIAN_CYCLE_DAYS;
- n100 = d400 / GREGORIAN_NORMAL_CENTURY_DAYS;
- d100 = d400 % GREGORIAN_NORMAL_CENTURY_DAYS;
- n4 = d100 / GREGORIAN_NORMAL_LEAP_CYCLE_DAYS;
- d4 = d100 % GREGORIAN_NORMAL_LEAP_CYCLE_DAYS;
- n1 = d4 / DAYSPERYEAR;
+ /* check time invariants */
+ NTP_ENSURE(jt->second < SECSPERMIN);
+ NTP_ENSURE(jt->minute < MINSPERHR);
+ NTP_ENSURE(jt->hour < HRSPERDAY);
/*
- * Calculate the year and year-of-day
+ * Find the day past 1900/01/01 00:00 UTC
*/
- jt->yearday = (u_short)(1 + d4%DAYSPERYEAR);
- jt->year = (u_short)(400*n400 + 100*n100 + n4*4 + n1);
+ ntp_day += DAY_NTP_STARTS - 1; /* convert to days in CE */
+ n400 = ntp_day / GREGORIAN_CYCLE_DAYS; /* split off cycles */
+ ntp_day %= GREGORIAN_CYCLE_DAYS;
+ n100 = ntp_day / GREGORIAN_NORMAL_CENTURY_DAYS;
+ ntp_day %= GREGORIAN_NORMAL_CENTURY_DAYS;
+ n4 = ntp_day / GREGORIAN_NORMAL_LEAP_CYCLE_DAYS;
+ ntp_day %= GREGORIAN_NORMAL_LEAP_CYCLE_DAYS;
+ n1 = ntp_day / DAYSPERYEAR;
+ ntp_day %= DAYSPERYEAR; /* now zero-based day-of-year */
+
+ NTP_ENSURE(ntp_day < 366);
- if (n100 == 4 || n1 == 4)
- {
/*
- * If the cycle year ever comes out to 4, it must be December 31st
- * of a leap year.
+ * Calculate the year and day-of-year
*/
- jt->month = 12;
- jt->monthday = 31;
- jt->yearday = 366;
+ jt->year = (u_short)(400*n400 + 100*n100 + 4*n4 + n1);
+
+ if ((n100 | n1) > 3) {
+ /*
+ * If the cycle year ever comes out to 4, it must be December
+ * 31st of a leap year.
+ */
+ jt->month = 12;
+ jt->monthday = 31;
+ jt->yearday = 366;
+ } else {
+ /*
+ * The following code is according to the excellent book
+ * 'Calendrical Calculations' by Nachum Dershowitz and Edward
+ * Reingold. It converts the day-of-year into month and
+ * day-of-month, using a linear transformation with integer
+ * truncation. Magic numbers again, but they will not be used
+ * anywhere else.
+ */
+ sclday = ntp_day * 7 + 217;
+ leaps = ((n1 == 3) && ((n4 != 24) || (n100 == 3))) ? 1 : 0;
+ if (ntp_day >= (u_long)(JAN + FEB + leaps))
+ sclday += (2 - leaps) * 7;
+ ++jt->year;
+ jt->month = (u_char)(sclday / 214);
+ jt->monthday = (u_char)((sclday % 214) / 7 + 1);
+ jt->yearday = (u_short)(1 + ntp_day);
}
- else
- {
- /*
- * Else, search forwards through the months to get the right month
- * and date.
- */
- int monthday;
- jt->year++;
- monthday = jt->yearday;
-
- for (jt->month=0;jt->month<11; jt->month++)
- {
- int t;
-
- t = monthday - calmonthtab[jt->month];
- if (jt->month == 1 && is_leapyear(jt->year))
- t--;
-
- if (t > 0)
- monthday = t;
- else
- break;
- }
- jt->month++;
- jt->monthday = (u_char) monthday;
- }
+ /* check date invariants */
+ NTP_ENSURE(1 <= jt->month && jt->month <= 12);
+ NTP_ENSURE(1 <= jt->monthday && jt->monthday <= 31);
+ NTP_ENSURE(1 <= jt->yearday && jt->yearday <= 366);
}
+
#else
/* Updated 2003-12-30 TMa
@@ -132,8 +181,10 @@ caljulian(
)
{
struct tm *tm;
+ NTP_REQUIRE(jt != NULL);
tm = ntp2unix_tm(ntptime, 0);
+ NTP_INSIST(tm != NULL);
jt->hour = (u_char) tm->tm_hour;
jt->minute = (u_char) tm->tm_min;
diff --git a/libntp/caltontp.c b/libntp/caltontp.c
index 9ec106416dd0..9c4136842d9d 100644
--- a/libntp/caltontp.c
+++ b/libntp/caltontp.c
@@ -6,37 +6,100 @@
#include "ntp_types.h"
#include "ntp_calendar.h"
#include "ntp_stdlib.h"
+#include "ntp_assert.h"
+/*
+ * Juergen Perlinger, 2008-11-12
+ * Add support for full calendar calculatios. If the day-of-year is provided
+ * (that is, not zero) it will be used instead of month and day-of-month;
+ * otherwise a full turn through the calendar calculations will be taken.
+ *
+ * I know that Harlan Stenn likes to see assertions in production code, and I
+ * agree there, but it would be a tricky thing here. The algorithm is quite
+ * capable of producing sensible answers even to seemingly weird inputs: the
+ * date <any year here>-03-00, the 0.th March of the year, will be automtically
+ * treated as the last day of February, no matter whether the year is a leap
+ * year or not. So adding constraints is merely for the benefit of the callers,
+ * because the only thing we can check for consistency is our input, produced
+ * by somebody else.
+ *
+ * BTW: A total roundtrip using 'caljulian' would be a quite shaky thing:
+ * Because of the truncation of the NTP time stamp to 32 bits and the epoch
+ * unfolding around the current time done by 'caljulian' the roundtrip does
+ * *not* necessarily reproduce the input, especially if the time spec is more
+ * than 68 years off from the current time...
+ */
u_long
caltontp(
- register const struct calendar *jt
+ const struct calendar *jt
)
{
- u_long ace_days; /* absolute Christian Era days */
- u_long ntp_days;
- int prior_years;
- u_long ntp_time;
-
- /*
- * First convert today's date to absolute days past 12/1/1 BC
- */
- prior_years = jt->year-1;
- ace_days = jt->yearday /* days this year */
- +(DAYSPERYEAR*prior_years) /* plus days in previous years */
- +(prior_years/4) /* plus prior years's leap days */
- -(prior_years/100) /* minus leapless century years */
- +(prior_years/400); /* plus leapful Gregorian yrs */
+ ntp_u_int32_t days; /* full days in NTP epoch */
+ ntp_u_int32_t years; /* complete ACE years before date */
+ ntp_u_int32_t month; /* adjusted month for calendar */
+
+ NTP_INSIST(jt != NULL);
- /*
- * Subtract out 1/1/1900, the beginning of the NTP epoch
- */
- ntp_days = ace_days - DAY_NTP_STARTS;
+ NTP_REQUIRE(jt->month <= 13); /* permit month 0..13! */
+ NTP_REQUIRE(jt->monthday <= 32);
+ NTP_REQUIRE(jt->yearday <= 366);
+ NTP_REQUIRE(jt->hour <= 24);
+ NTP_REQUIRE(jt->minute <= MINSPERHR);
+ NTP_REQUIRE(jt->second <= SECSPERMIN);
- /*
- * Do the obvious:
- */
- ntp_time =
- ntp_days*SECSPERDAY+SECSPERMIN*(MINSPERHR*jt->hour + jt->minute);
+ /*
+ * First convert the date to fully elapsed days since NTP epoch. The
+ * expressions used here give us initially days since 0001-01-01, the
+ * beginning of the christian era in the proleptic gregorian calendar;
+ * they are rebased on-the-fly into days since beginning of the NTP
+ * epoch, 1900-01-01.
+ */
+ if (jt->yearday) {
+ /*
+ * Assume that the day-of-year contains a useable value and
+ * avoid all calculations involving month and day-of-month.
+ */
+ years = jt->year - 1;
+ days = years * DAYSPERYEAR /* days in previous years */
+ + years / 4 /* plus prior years's leap days */
+ - years / 100 /* minus leapless century years */
+ + years / 400 /* plus leapful Gregorian yrs */
+ + jt->yearday /* days this year */
+ - DAY_NTP_STARTS; /* rebase to NTP epoch */
+ } else {
+ /*
+ * The following code is according to the excellent book
+ * 'Calendrical Calculations' by Nachum Dershowitz and Edward
+ * Reingold. It does a full calendar evaluation, using one of
+ * the alternate algorithms: Shift to a hypothetical year
+ * starting on the previous march,1st; merge years, month and
+ * days; undo the the 9 month shift (which is 306 days). The
+ * advantage is that we do NOT need to now whether a year is a
+ * leap year or not, because the leap day is the LAST day of
+ * the year.
+ */
+ month = (ntp_u_int32_t)jt->month + 9;
+ years = jt->year - 1 + month / 12;
+ month %= 12;
+ days = years * DAYSPERYEAR /* days in previous years */
+ + years / 4 /* plus prior years's leap days */
+ - years / 100 /* minus leapless century years */
+ + years / 400 /* plus leapful Gregorian yrs */
+ + (month * 153 + 2) / 5 /* plus days before month */
+ + jt->monthday /* plus day-of-month */
+ - 306 /* minus 9 months */
+ - DAY_NTP_STARTS; /* rebase to NTP epoch */
+ }
- return ntp_time;
+ /*
+ * Do the obvious: Merge everything together, making sure integer
+ * promotion doesn't play dirty tricks on us; there is probably some
+ * redundancy in the casts, but this drives it home with force. All
+ * arithmetic is done modulo 2**32, because the result is truncated
+ * anyway.
+ */
+ return days * SECSPERDAY
+ + (ntp_u_int32_t)jt->hour * MINSPERHR*SECSPERMIN
+ + (ntp_u_int32_t)jt->minute * SECSPERMIN
+ + (ntp_u_int32_t)jt->second;
}
diff --git a/libntp/calyearstart.c b/libntp/calyearstart.c
index 0f7ca4f9d065..c5a63f729b39 100644
--- a/libntp/calyearstart.c
+++ b/libntp/calyearstart.c
@@ -7,16 +7,50 @@
#include "ntp_types.h"
#include "ntp_calendar.h"
#include "ntp_stdlib.h"
+#include "ntp_assert.h"
+/*
+ * Juergen Perlinger, 2008-11-12
+ * Use the result of 'caljulian' to get the delta from the time stamp to the
+ * beginning of the year. Do not make a second trip through 'caltontp' after
+ * fixing the date, apart for invariant tests.
+ */
u_long
calyearstart(u_long ntp_time)
{
- struct calendar jt;
+ struct calendar jt;
+ ntp_u_int32_t delta;
+
+ caljulian(ntp_time,&jt);
+
+ /*
+ * Now we have days since yearstart (unity-based) and the time in that
+ * day. Simply merge these together to seconds and subtract that from
+ * input time. That's faster than going through the calendar stuff
+ * again...
+ */
+ delta = (ntp_u_int32_t)jt.yearday * SECSPERDAY
+ + (ntp_u_int32_t)jt.hour * MINSPERHR * SECSPERMIN
+ + (ntp_u_int32_t)jt.minute * SECSPERMIN
+ + (ntp_u_int32_t)jt.second
+ - SECSPERDAY; /* yearday is unity-based... */
+
+# if ISC_CHECK_INVARIANT
+ /*
+ * check that this computes properly: do a roundtrip! That's the only
+ * sensible test here, but it's a rather expensive invariant...
+ */
+ jt.yearday = 0;
+ jt.month = 1;
+ jt.monthday = 1;
+ jt.hour = 0;
+ jt.minute = 0;
+ jt.second = 0;
+ NTP_INVARIANT((ntp_u_int32_t)(caltontp(&jt) + delta) == (ntp_u_int32_t)ntp_time);
+# endif
- caljulian(ntp_time,&jt);
- jt.yearday = 1;
- jt.monthday = 1;
- jt.month = 1;
- jt.hour = jt.minute = jt.second = 0;
- return caltontp(&jt);
+ /* The NTP time stamps (l_fp) count seconds unsigned mod 2**32, so we
+ * have to calculate this in the proper way!
+ */
+ return (ntp_u_int32_t)(ntp_time - delta);
}
diff --git a/libntp/clocktypes.c b/libntp/clocktypes.c
index d7dc4ee09b2b..4459830ed19d 100644
--- a/libntp/clocktypes.c
+++ b/libntp/clocktypes.c
@@ -68,8 +68,8 @@ struct clktype clktypes[] = {
"MSF_ARCRON" },
{ REFCLK_SHM, "Clock attached thru shared Memory (28)",
"SHM" },
- { REFCLK_PALISADE, "Trimble Navigation Palisade GPS (29)",
- "GPS_PALISADE" },
+ { REFCLK_PALISADE, "Trimble Navigation Palisade GPS (29)",
+ "GPS_PALISADE" },
{ REFCLK_ONCORE, "Motorola UT Oncore GPS (30)",
"GPS_ONCORE" },
{ REFCLK_GPS_JUPITER, "Rockwell Jupiter GPS (31)",
@@ -78,7 +78,7 @@ struct clktype clktypes[] = {
"CHRONOLOG" },
{ REFCLK_DUMBCLOCK, "Dumb generic hh:mm:ss local clock (33)",
"DUMBCLOCK" },
- { REFCLK_ULINK, "Ultralink M320 WWVB receiver (34)",
+ { REFCLK_ULINK, "Ultralink M320 WWVB receiver (34)",
"ULINK_M320"},
{ REFCLK_PCF, "Conrad parallel port radio clock (35)",
"PCF"},
@@ -112,7 +112,7 @@ clockname(
for (clk = clktypes; clk->code != -1; clk++) {
if (num == clk->code)
- return (clk->abbrev);
+ return (clk->abbrev);
}
return (NULL);
}
diff --git a/libntp/decodenetnum.c b/libntp/decodenetnum.c
index 746c855d8bd1..f265daebf9c6 100644
--- a/libntp/decodenetnum.c
+++ b/libntp/decodenetnum.c
@@ -1,39 +1,83 @@
/*
* decodenetnum - return a net number (this is crude, but careful)
*/
+#include <config.h>
#include <sys/types.h>
#include <ctype.h>
+#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
+#endif
+#include "ntp.h"
#include "ntp_stdlib.h"
+#include "ntp_assert.h"
+/*
+ * decodenetnum convert text IP address and port to sockaddr_u
+ *
+ * Returns 0 for failure, 1 for success.
+ */
int
decodenetnum(
const char *num,
- struct sockaddr_storage *netnum
+ sockaddr_u *netnum
)
{
struct addrinfo hints, *ai = NULL;
- register int err, i;
- register const char *cp;
+ int err;
+ u_short port;
+ const char *cp;
+ const char *port_str;
+ char *pp;
+ char *np;
char name[80];
- cp = num;
+ NTP_REQUIRE(num != NULL);
+ NTP_REQUIRE(strlen(num) < sizeof(name));
- if (*cp == '[') {
- cp++;
- for (i = 0; *cp != ']'; cp++, i++)
- name[i] = *cp;
- name[i] = '\0';
- num = name;
+ port_str = NULL;
+ if ('[' != num[0]) {
+ /*
+ * to distinguish IPv6 embedded colons from a port
+ * specification on an IPv4 address, assume all
+ * legal IPv6 addresses have at least two colons.
+ */
+ pp = strchr(num, ':');
+ if (NULL == pp)
+ cp = num; /* no colons */
+ else if (NULL != strchr(pp + 1, ':'))
+ cp = num; /* two or more colons */
+ else { /* one colon */
+ strncpy(name, num, sizeof(name));
+ name[sizeof(name) - 1] = '\0';
+ cp = name;
+ pp = strchr(cp, ':');
+ *pp = '\0';
+ port_str = pp + 1;
+ }
+ } else {
+ cp = num + 1;
+ np = name;
+ while (*cp && ']' != *cp)
+ *np++ = *cp++;
+ *np = 0;
+ if (']' == cp[0] && ':' == cp[1] && '\0' != cp[2])
+ port_str = &cp[2];
+ cp = name;
}
- memset(&hints, 0, sizeof(struct addrinfo));
- hints.ai_flags = AI_NUMERICHOST;
- err = getaddrinfo(num, NULL, &hints, &ai);
+ ZERO(hints);
+ hints.ai_flags = Z_AI_NUMERICHOST;
+ err = getaddrinfo(cp, "ntp", &hints, &ai);
if (err != 0)
return 0;
- memcpy(netnum, (struct sockaddr_storage *)ai->ai_addr, ai->ai_addrlen);
+ NTP_INSIST(ai->ai_addrlen <= sizeof(*netnum));
+ memcpy(netnum, ai->ai_addr, ai->ai_addrlen);
freeaddrinfo(ai);
+ if (NULL == port_str || 1 != sscanf(port_str, "%hu", &port))
+ port = NTP_PORT;
+ SET_PORT(netnum, port);
return 1;
}
diff --git a/libntp/emalloc.c b/libntp/emalloc.c
index 2fe4c386217e..c49c5c1e1781 100644
--- a/libntp/emalloc.c
+++ b/libntp/emalloc.c
@@ -1,48 +1,96 @@
/*
* emalloc - return new memory obtained from the system. Belch if none.
*/
+#include <config.h>
#include "ntp_types.h"
#include "ntp_malloc.h"
#include "ntp_syslog.h"
#include "ntp_stdlib.h"
-#if defined SYS_WINNT && defined DEBUG
-#include <crtdbg.h>
-#endif
-#if defined SYS_WINNT && defined DEBUG
+/*
+ * When using the debug MS CRT allocator, each allocation stores the
+ * callsite __FILE__ and __LINE__, which is then displayed at process
+ * termination, to track down leaks. We don't want all of our
+ * allocations to show up as coming from emalloc.c, so we preserve the
+ * original callsite's source file and line using macros which pass
+ * __FILE__ and __LINE__ as parameters to these routines.
+ * Other debug malloc implementations can be used by defining
+ * EREALLOC_IMPL() as ports/winnt/include/config.h does.
+ */
void *
-debug_emalloc(
- u_int size,
- char *filename,
- int line
+ereallocz(
+ void * ptr,
+ size_t newsz,
+ size_t priorsz,
+ int zero_init
+#ifdef EREALLOC_CALLSITE /* ntp_malloc.h */
+ ,
+ const char * file,
+ int line
+#endif
)
{
- char *mem;
+ char * mem;
+ size_t allocsz;
+
+ if (0 == newsz)
+ allocsz = 1;
+ else
+ allocsz = newsz;
- if ((mem = (char *)_malloc_dbg(size, _NORMAL_BLOCK, filename, line)) == 0) {
- msyslog(LOG_ERR, "Exiting: No more memory!");
+ mem = EREALLOC_IMPL(ptr, allocsz, file, line);
+ if (NULL == mem) {
+ msyslog_term = TRUE;
+#ifndef EREALLOC_CALLSITE
+ msyslog(LOG_ERR, "fatal out of memory (%lu bytes)",
+ (u_long)newsz);
+#else
+ msyslog(LOG_ERR,
+ "fatal out of memory %s line %d (%lu bytes)",
+ file, line, (u_long)newsz);
+#endif
exit(1);
}
+
+ if (zero_init && newsz > priorsz)
+ zero_mem(mem + priorsz, newsz - priorsz);
+
return mem;
}
-#else
-void *
-emalloc(
- u_int size
+char *
+estrdup_impl(
+ const char * str
+#ifdef EREALLOC_CALLSITE
+ ,
+ const char * file,
+ int line
+#endif
)
{
- char *mem;
+ char * copy;
+ size_t bytes;
- if ((mem = (char *)malloc(size)) == 0) {
- msyslog(LOG_ERR, "Exiting: No more memory!");
- exit(1);
- }
- return mem;
+ bytes = strlen(str) + 1;
+ copy = ereallocz(NULL, bytes, 0, FALSE
+#ifdef EREALLOC_CALLSITE
+ , file, line
+#endif
+ );
+ memcpy(copy, str, bytes);
+
+ return copy;
}
+#ifndef EREALLOC_CALLSITE
+void *
+emalloc(size_t newsz)
+{
+ return ereallocz(NULL, newsz, 0, FALSE);
+}
#endif
+
diff --git a/libntp/findconfig.c b/libntp/findconfig.c
index ecf6a4bc204c..562c01764c3c 100644
--- a/libntp/findconfig.c
+++ b/libntp/findconfig.c
@@ -28,7 +28,7 @@ FindConfig(
/* First choice is my hostname */
if (gethostname(hostname, BUFSIZ) >= 0) {
- (void) sprintf(result, "%s/%s", base, hostname);
+ snprintf(result, sizeof(result), "%s/%s", base, hostname);
if (stat(result, &sbuf) == 0) {
goto outahere;
} else {
@@ -39,13 +39,13 @@ FindConfig(
cp = unamebuf.machine + 5;
else
cp = unamebuf.machine;
- (void) sprintf(result, "%s/default.%s", base, cp);
+ snprintf(result, sizeof(result), "%s/default.%s", base, cp);
if (stat(result, &sbuf) == 0) {
goto outahere;
} else {
/* Last choice is just default */
- (void) sprintf(result, "%s/default", base);
+ snprintf(result, sizeof(result), "%s/default", base);
if (stat(result, &sbuf) == 0) {
goto outahere;
} else {
diff --git a/libntp/hextoint.c b/libntp/hextoint.c
index 0d774eb4ee3f..a2e8c043fb35 100644
--- a/libntp/hextoint.c
+++ b/libntp/hextoint.c
@@ -9,7 +9,7 @@
int
hextoint(
const char *str,
- u_long *ival
+ u_long *pu
)
{
register u_long u;
@@ -18,22 +18,24 @@ hextoint(
cp = str;
if (*cp == '\0')
- return 0;
+ return 0;
u = 0;
while (*cp != '\0') {
- if (!isxdigit((int)*cp))
- return 0;
- if (u >= 0x10000000)
- return 0; /* overflow */
+ if (!isxdigit(*cp))
+ return 0;
+ if (u & 0xF0000000)
+ return 0; /* overflow */
u <<= 4;
- if (*cp <= '9') /* very ascii dependent */
- u += *cp++ - '0';
- else if (*cp >= 'a')
- u += *cp++ - 'a' + 10;
+ if ('0' <= *cp && *cp <= '9')
+ u += *cp++ - '0';
+ else if ('a' <= *cp && *cp <= 'f')
+ u += *cp++ - 'a' + 10;
+ else if ('A' <= *cp && *cp <= 'F')
+ u += *cp++ - 'A' + 10;
else
- u += *cp++ - 'A' + 10;
+ return 0;
}
- *ival = u;
+ *pu = u;
return 1;
}
diff --git a/libntp/humandate.c b/libntp/humandate.c
index 630c8713347e..36510c529380 100644
--- a/libntp/humandate.c
+++ b/libntp/humandate.c
@@ -7,36 +7,7 @@
#include "lib_strbuf.h"
#include "ntp_stdlib.h"
-static const char *months[] = {
- "Jan", "Feb", "Mar", "Apr", "May", "Jun",
- "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
-};
-static const char *days[] = {
- "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
-};
-
-char *
-humandate(
- u_long ntptime
- )
-{
- char *bp;
- struct tm *tm;
-
- tm = ntp2unix_tm(ntptime, 1);
-
- if (!tm)
- return "--- --- -- ---- --:--:--";
-
- LIB_GETBUF(bp);
-
- (void) sprintf(bp, "%s, %s %2d %4d %2d:%02d:%02d",
- days[tm->tm_wday], months[tm->tm_mon], tm->tm_mday,
- 1900+tm->tm_year, tm->tm_hour, tm->tm_min, tm->tm_sec);
-
- return bp;
-}
-
+extern const char *months[]; /* prettydate.c */
/* This is used in msyslog.c; we don't want to clutter up the log with
the year and day of the week, etc.; just the minimal date and time. */
@@ -44,19 +15,20 @@ humandate(
char *
humanlogtime(void)
{
- char *bp;
- time_t cursec = time((time_t *) 0);
- struct tm *tm;
+ char * bp;
+ time_t cursec;
+ struct tm * tm;
+ cursec = time(NULL);
tm = localtime(&cursec);
if (!tm)
return "-- --- --:--:--";
LIB_GETBUF(bp);
- (void) sprintf(bp, "%2d %s %02d:%02d:%02d",
- tm->tm_mday, months[tm->tm_mon],
- tm->tm_hour, tm->tm_min, tm->tm_sec);
+ snprintf(bp, LIB_BUFLENGTH, "%2d %s %02d:%02d:%02d",
+ tm->tm_mday, months[tm->tm_mon],
+ tm->tm_hour, tm->tm_min, tm->tm_sec);
return bp;
}
diff --git a/libntp/icom.c b/libntp/icom.c
index 280667eb4538..c981d8548418 100644
--- a/libntp/icom.c
+++ b/libntp/icom.c
@@ -5,6 +5,7 @@
* distribution. The only function provided is to load the radio
* frequency. All other parameters must be manually set before use.
*/
+#include <config.h>
#include "icom.h"
#include <unistd.h>
#include <stdio.h>
@@ -14,34 +15,47 @@
#include "ntp_tty.h"
#include "l_stdlib.h"
-/*
- * Scraps
- */
-#define BMAX 50 /* max command length */
-#define DICOM /dev/icom/ /* ICOM port link */
+#ifdef SYS_WINNT
+#undef write /* ports/winnt/include/config.h: #define write _write */
+extern int async_write(int, const void *, unsigned int);
+#define write(fd, data, octets) async_write(fd, data, octets)
+#endif
/*
- * FSA definitions
+ * Packet routines
+ *
+ * These routines send a packet and receive the response. If an error
+ * (collision) occurs on transmit, the packet is resent. If an error
+ * occurs on receive (timeout), all input to the terminating FI is
+ * discarded and the packet is resent. If the maximum number of retries
+ * is not exceeded, the program returns the number of octets in the user
+ * buffer; otherwise, it returns zero.
+ *
+ * ICOM frame format
+ *
+ * Frames begin with a two-octet preamble PR-PR followyd by the
+ * transceiver address RE, controller address TX, control code CN, zero
+ * or more data octets DA (depending on command), and terminator FI.
+ * Since the bus is bidirectional, every octet output is echoed on
+ * input. Every valid frame sent is answered with a frame in the same
+ * format, but with the RE and TX fields interchanged. The CN field is
+ * set to NAK if an error has occurred. Otherwise, the data are returned
+ * in this and following DA octets. If no data are returned, the CN
+ * octet is set to ACK.
+ *
+ * +------+------+------+------+------+--//--+------+
+ * | PR | PR | RE | TX | CN | DA | FI |
+ * +------+------+------+------+------+--//--+------+
*/
-#define S_IDLE 0 /* idle */
-#define S_HDR 1 /* header */
-#define S_TX 2 /* address */
-#define S_DATA 3 /* data */
-#define S_ERROR 4 /* error */
-
/*
- * Local function prototypes
+ * Scraps
*/
-static void doublefreq P((double, u_char *, int));
-static int sndpkt P((int, int, u_char *, u_char *));
-static int sndoctet P((int, int));
-static int rcvoctet P((int));
+#define DICOM /dev/icom/ /* ICOM port link */
/*
- * Local variables
+ * Local function prototypes
*/
-static int flags; /* trace flags */
-static int state; /* fsa state */
+static void doublefreq (double, u_char *, int);
/*
@@ -54,17 +68,18 @@ icom_freq( /* returns 0 (ok), EIO (error) */
double freq /* frequency (MHz) */
)
{
- u_char cmd[BMAX], rsp[BMAX];
+ u_char cmd[] = {PAD, PR, PR, 0, TX, V_SFREQ, 0, 0, 0, 0, FI,
+ FI};
int temp;
- cmd[0] = V_SFREQ;
+
+ cmd[3] = (char)ident;
if (ident == IC735)
temp = 4;
else
temp = 5;
- doublefreq(freq * 1e6, &cmd[1], temp);
- temp = sndpkt(fd, ident, cmd, rsp);
- if (temp < 1 || rsp[0] != ACK)
- return (EIO);
+ doublefreq(freq * 1e6, &cmd[6], temp);
+ temp = write(fd, cmd, temp + 7);
+
return (0);
}
@@ -80,10 +95,10 @@ doublefreq( /* returns void */
)
{
int i;
- char s1[11];
+ char s1[16];
char *y;
- sprintf(s1, " %10.0f", freq);
+ snprintf(s1, sizeof(s1), " %10.0f", freq);
y = s1 + 10;
i = 0;
while (*y != ' ') {
@@ -91,40 +106,13 @@ doublefreq( /* returns void */
x[i] = x[i] | ((*y-- & 0x0f) << 4);
i++;
}
- for (; i < len; i++)
+ for ( ; i < len; i++)
x[i] = 0;
x[i] = FI;
}
-
-/*
- * Packet routines
- *
- * These routines send a packet and receive the response. If an error
- * (collision) occurs on transmit, the packet is resent. If an error
- * occurs on receive (timeout), all input to the terminating FI is
- * discarded and the packet is resent. If the maximum number of retries
- * is not exceeded, the program returns the number of octets in the user
- * buffer; otherwise, it returns zero.
- *
- * ICOM frame format
- *
- * Frames begin with a two-octet preamble PR-PR followyd by the
- * transceiver address RE, controller address TX, control code CN, zero
- * or more data octets DA (depending on command), and terminator FI.
- * Since the bus is bidirectional, every octet output is echoed on
- * input. Every valid frame sent is answered with a frame in the same
- * format, but with the RE and TX fields interchanged. The CN field is
- * set to NAK if an error has occurred. Otherwise, the data are returned
- * in this and following DA octets. If no data are returned, the CN
- * octet is set to ACK.
- *
- * +------+------+------+------+------+--//--+------+
- * | PR | PR | RE | TX | CN | DA | FI |
- * +------+------+------+------+------+--//--+------+
- */
/*
- * icom_open() - open and initialize serial interface
+ * icom_init() - open and initialize serial interface
*
* This routine opens the serial interface for raw transmission; that
* is, character-at-a-time, no stripping, checking or monkeying with the
@@ -139,187 +127,38 @@ icom_init(
{
TTY ttyb;
int fd;
+ int flags;
+ int rc;
+ int saved_errno;
flags = trace;
- fd = open(device, O_RDWR, 0777);
+ fd = tty_open(device, O_RDWR, 0777);
if (fd < 0)
- return (fd);
-
- tcgetattr(fd, &ttyb);
+ return -1;
+
+ rc = tcgetattr(fd, &ttyb);
+ if (rc < 0) {
+ saved_errno = errno;
+ close(fd);
+ errno = saved_errno;
+ return -1;
+ }
ttyb.c_iflag = 0; /* input modes */
ttyb.c_oflag = 0; /* output modes */
- ttyb.c_cflag = IBAUD|CS8|CREAD|CLOCAL; /* control modes */
+ ttyb.c_cflag = IBAUD|CS8|CLOCAL; /* control modes (no read) */
ttyb.c_lflag = 0; /* local modes */
ttyb.c_cc[VMIN] = 0; /* min chars */
ttyb.c_cc[VTIME] = 5; /* receive timeout */
cfsetispeed(&ttyb, (u_int)speed);
cfsetospeed(&ttyb, (u_int)speed);
- tcsetattr(fd, TCSANOW, &ttyb);
- return (fd);
-}
-
-
-/*
- * sndpkt(r, x, y) - send packet and receive response
- *
- * This routine sends a command frame, which consists of all except the
- * preamble octets PR-PR. It then listens for the response frame and
- * returns the payload to the caller. The routine checks for correct
- * response header format; that is, the length of the response vector
- * returned to the caller must be at least 2 and the RE and TX octets
- * must be interchanged; otherwise, the operation is retried up to
- * the number of times specified in a global variable.
- *
- * The trace function, which is enabled by the P_TRACE bit of the global
- * flags variable, prints all characters received or echoed on the bus
- * preceded by a T (transmit) or R (receive). The P_ERMSG bit of the
- * flags variable enables printing of bus error messages.
- *
- * Note that the first octet sent is a PAD in order to allow time for
- * the radio to flush its receive buffer after sending the previous
- * response. Even with this precaution, some of the older radios
- * occasionally fail to receive a command and it has to be sent again.
- */
-static int
-sndpkt( /* returns octet count */
- int fd, /* file descriptor */
- int r, /* radio address */
- u_char *cmd, /* command vector */
- u_char *rsp /* response vector */
- )
-{
- int i, j, temp;
-
- (void)tcflush(fd, TCIOFLUSH);
- for (i = 0; i < RETRY; i++) {
- state = S_IDLE;
-
- /*
- * Transmit packet.
- */
- if (flags & P_TRACE)
- printf("icom T:");
- sndoctet(fd, PAD); /* send header */
- sndoctet(fd, PR);
- sndoctet(fd, PR);
- sndoctet(fd, r);
- sndoctet(fd, TX);
- for (j = 0; j < BMAX; j++) { /* send body */
- if (sndoctet(fd, cmd[j]) == FI)
- break;
- }
- while (rcvoctet(fd) != FI); /* purge echos */
- if (cmd[0] == V_FREQT || cmd[0] == V_MODET)
- return (0); /* shortcut for broadcast */
-
- /*
- * Receive packet. First, delete all characters
- * preceeding a PR, then discard all PRs. Check that the
- * RE and TX fields are correctly interchanged, then
- * copy the remaining data and FI to the user buffer.
- */
- if (flags & P_TRACE)
- printf("\nicom R:");
- j = 0;
- while ((temp = rcvoctet(fd)) != FI) {
- switch (state) {
-
- case S_IDLE:
- if (temp != PR)
- continue;
- state = S_HDR;
- break;
-
- case S_HDR:
- if (temp == PR) {
- continue;
- } else if (temp != TX) {
- if (flags & P_ERMSG)
- printf(
- "icom: TX error\n");
- state = S_ERROR;
- }
- state = S_TX;
- break;
-
- case S_TX:
- if (temp != r) {
- if (flags & P_ERMSG)
- printf(
- "icom: RE error\n");
- state = S_ERROR;
- }
- state = S_DATA;
- break;
-
- case S_DATA:
- if (j >= BMAX ) {
- if (flags & P_ERMSG)
- printf(
- "icom: buffer overrun\n");
- state = S_ERROR;
- j = 0;
- }
- rsp[j++] = (u_char)temp;
- break;
-
- case S_ERROR:
- break;
- }
- }
- if (flags & P_TRACE)
- printf("\n");
- if (j > 0) {
- rsp[j++] = FI;
- return (j);
- }
+ rc = tcsetattr(fd, TCSANOW, &ttyb);
+ if (rc < 0) {
+ saved_errno = errno;
+ close(fd);
+ errno = saved_errno;
+ return -1;
}
- if (flags & P_ERMSG)
- printf("icom: retries exceeded\n");
- return (0);
-}
-
-
-/*
- * Interface routines
- *
- * These routines read and write octets on the bus. In case of receive
- * timeout a FI code is returned. In case of output collision (echo
- * does not match octet sent), the remainder of the collision frame
- * (including the trailing FI) is discarded.
- */
-/*
- * sndoctet(fd, x) - send octet
- */
-static int
-sndoctet( /* returns octet */
- int fd, /* file descriptor */
- int x /* octet */
- )
-{
- u_char y;
-
- y = (u_char)x;
- write(fd, &y, 1);
- return (x);
-}
-
-
-/*
- * rcvoctet(fd) - receive octet
- */
-static int
-rcvoctet( /* returns octet */
- int fd /* file descriptor */
- )
-{
- u_char y;
-
- if (read(fd, &y, 1) < 1)
- y = FI; /* come here if timeout */
- if (flags & P_TRACE && y != PAD)
- printf(" %02x", y);
- return (y);
+ return (fd);
}
/* end program */
diff --git a/libntp/inttoa.c b/libntp/inttoa.c
index f27073339809..f34710e1c808 100644
--- a/libntp/inttoa.c
+++ b/libntp/inttoa.c
@@ -1,6 +1,7 @@
/*
* inttoa - return an asciized signed integer
*/
+#include <config.h>
#include <stdio.h>
#include "lib_strbuf.h"
@@ -8,13 +9,13 @@
char *
inttoa(
- long ival
+ long val
)
{
register char *buf;
LIB_GETBUF(buf);
+ snprintf(buf, LIB_BUFLENGTH, "%ld", val);
- (void) sprintf(buf, "%ld", (long)ival);
return buf;
}
diff --git a/libntp/iosignal.c b/libntp/iosignal.c
index 19a6e96b7401..5859e40e0e78 100644
--- a/libntp/iosignal.c
+++ b/libntp/iosignal.c
@@ -59,7 +59,7 @@ static int sigio_block_count = 0;
*/
static int sigio_handler_active = 0;
# endif
-extern void input_handler P((l_fp *));
+extern void input_handler (l_fp *);
/*
* SIGPOLL and SIGIO ROUTINES.
diff --git a/libntp/lib_strbuf.c b/libntp/lib_strbuf.c
index 315070f3a943..e0becbcbc405 100644
--- a/libntp/lib_strbuf.c
+++ b/libntp/lib_strbuf.c
@@ -1,7 +1,12 @@
/*
* lib_strbuf - library string storage
*/
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include <isc/net.h>
+#include <isc/result.h>
#include "ntp_stdlib.h"
#include "lib_strbuf.h"
@@ -10,6 +15,8 @@
*/
char lib_stringbuf[LIB_NUMBUFS][LIB_BUFLENGTH];
int lib_nextbuf;
+int ipv4_works;
+int ipv6_works;
int lib_inited = 0;
/*
@@ -19,5 +26,7 @@ void
init_lib(void)
{
lib_nextbuf = 0;
+ ipv4_works = (ISC_R_SUCCESS == isc_net_probeipv4());
+ ipv6_works = (ISC_R_SUCCESS == isc_net_probeipv6());
lib_inited = 1;
}
diff --git a/libntp/lib_strbuf.h b/libntp/lib_strbuf.h
deleted file mode 100644
index 5aa0eb0a6d72..000000000000
--- a/libntp/lib_strbuf.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * lib_strbuf.h - definitions for routines which use the common string buffers
- */
-
-#include <ntp_types.h>
-
-/*
- * Sizes of things
- */
-#define LIB_NUMBUFS 200
-#define LIB_BUFLENGTH 80
-
-/*
- * Macro to get a pointer to the next buffer
- */
-#define LIB_GETBUF(buf) \
- do { \
- if (!lib_inited) \
- init_lib(); \
- buf = &lib_stringbuf[lib_nextbuf][0]; \
- if (++lib_nextbuf >= LIB_NUMBUFS) \
- lib_nextbuf = 0; \
- memset(buf, 0, LIB_BUFLENGTH); \
- } while (0)
-
-extern char lib_stringbuf[LIB_NUMBUFS][LIB_BUFLENGTH];
-extern int lib_nextbuf;
-extern int lib_inited;
diff --git a/libntp/machines.c b/libntp/machines.c
index c8e4e07c9c0e..7b3201d4203e 100644
--- a/libntp/machines.c
+++ b/libntp/machines.c
@@ -8,10 +8,12 @@
#include "config.h"
#endif
+#include "ntp.h"
#include "ntp_machine.h"
#include "ntp_syslog.h"
#include "ntp_stdlib.h"
#include "ntp_unixtime.h"
+#include "lib_strbuf.h"
#ifdef HAVE_UNISTD_H
#include <unistd.h>
@@ -409,7 +411,20 @@ return 0;
}
#endif /* MPE */
-const char *set_tod_using = "UNKNOWN";
+#define SET_TOD_UNDETERMINED 0
+#define SET_TOD_CLOCK_SETTIME 1
+#define SET_TOD_SETTIMEOFDAY 2
+#define SET_TOD_STIME 3
+
+const char * const set_tod_used[] = {
+ "undetermined",
+ "clock_settime",
+ "settimeofday",
+ "stime"
+};
+
+pset_tod_using set_tod_using = NULL;
+
int
ntp_set_tod(
@@ -417,7 +432,9 @@ ntp_set_tod(
void *tzp
)
{
+ static int tod;
int rc = -1;
+ int saved_errno = 0;
#ifdef DEBUG
if (debug)
@@ -425,29 +442,31 @@ ntp_set_tod(
#endif
#ifdef HAVE_CLOCK_SETTIME
- if (rc) {
+ if (rc && (SET_TOD_CLOCK_SETTIME == tod || !tod)) {
struct timespec ts;
- set_tod_using = "clock_settime";
/* Convert timeval to timespec */
ts.tv_sec = tvp->tv_sec;
ts.tv_nsec = 1000 * tvp->tv_usec;
errno = 0;
rc = clock_settime(CLOCK_REALTIME, &ts);
+ saved_errno = errno;
#ifdef DEBUG
if (debug) {
- printf("ntp_set_tod: %s: %d: %s\n",
- set_tod_using, rc, strerror(errno));
+ printf("ntp_set_tod: clock_settime: %d: %s\n",
+ rc, strerror(saved_errno));
}
#endif
+ if (!tod && !rc)
+ tod = SET_TOD_CLOCK_SETTIME;
+
}
#endif /* HAVE_CLOCK_SETTIME */
#ifdef HAVE_SETTIMEOFDAY
- if (rc) {
+ if (rc && (SET_TOD_SETTIMEOFDAY == tod || !tod)) {
struct timeval adjtv;
- set_tod_using = "settimeofday";
/*
* Some broken systems don't reset adjtime() when the
* clock is stepped.
@@ -456,37 +475,52 @@ ntp_set_tod(
adjtime(&adjtv, NULL);
errno = 0;
rc = SETTIMEOFDAY(tvp, tzp);
+ saved_errno = errno;
#ifdef DEBUG
if (debug) {
- printf("ntp_set_tod: %s: %d: %s\n",
- set_tod_using, rc, strerror(errno));
+ printf("ntp_set_tod: settimeofday: %d: %s\n",
+ rc, strerror(saved_errno));
}
#endif
+ if (!tod && !rc)
+ tod = SET_TOD_SETTIMEOFDAY;
}
#endif /* HAVE_SETTIMEOFDAY */
#ifdef HAVE_STIME
- if (rc) {
+ if (rc && (SET_TOD_STIME == tod || !tod)) {
long tp = tvp->tv_sec;
- set_tod_using = "stime";
errno = 0;
rc = stime(&tp); /* lie as bad as SysVR4 */
+ saved_errno = errno;
#ifdef DEBUG
if (debug) {
- printf("ntp_set_tod: %s: %d: %s\n",
- set_tod_using, rc, strerror(errno));
+ printf("ntp_set_tod: stime: %d: %s\n",
+ rc, strerror(saved_errno));
}
#endif
+ if (!tod && !rc)
+ tod = SET_TOD_STIME;
}
#endif /* HAVE_STIME */
- if (rc)
- set_tod_using = "Failed!";
+
#ifdef DEBUG
if (debug) {
printf("ntp_set_tod: Final result: %s: %d: %s\n",
- set_tod_using, rc, strerror(errno));
+ set_tod_used[tod], rc, strerror(saved_errno));
}
#endif
+ /*
+ * Say how we're setting the time of day
+ */
+ if (!rc && NULL != set_tod_using) {
+ (*set_tod_using)(set_tod_used[tod]);
+ set_tod_using = NULL;
+ }
+
+ if (rc)
+ errno = saved_errno;
+
return rc;
}
@@ -509,6 +543,9 @@ getpass(const char * prompt)
}
password[i] = '\0';
+ fputc('\n', stderr);
+ fflush(stderr);
+
return password;
}
#endif /* SYS_WINNT */
diff --git a/libntp/md5c.c b/libntp/md5c.c
deleted file mode 100644
index 07eec6c2f748..000000000000
--- a/libntp/md5c.c
+++ /dev/null
@@ -1,354 +0,0 @@
-/* MD5C.C - RSA Data Security, Inc., MD5 message-digest algorithm
- */
-
-/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
- rights reserved.
-
- License to copy and use this software is granted provided that it
- is identified as the "RSA Data Security, Inc. MD5 Message-Digest
- Algorithm" in all material mentioning or referencing this software
- or this function.
-
- License is also granted to make and use derivative works provided
- that such works are identified as "derived from the RSA Data
- Security, Inc. MD5 Message-Digest Algorithm" in all material
- mentioning or referencing the derived work.
-
- RSA Data Security, Inc. makes no representations concerning either
- the merchantability of this software or the suitability of this
- software for any particular purpose. It is provided "as is"
- without express or implied warranty of any kind.
-
- These notices must be retained in any copies of any part of this
- documentation and/or software.
- */
-
-#include "global.h"
-#ifndef HAVE_MD5INIT
-#include "ntp_md5.h"
-
-/* Constants for MD5Transform routine.
- */
-#define S11 7
-#define S12 12
-#define S13 17
-#define S14 22
-#define S21 5
-#define S22 9
-#define S23 14
-#define S24 20
-#define S31 4
-#define S32 11
-#define S33 16
-#define S34 23
-#define S41 6
-#define S42 10
-#define S43 15
-#define S44 21
-
-static void MD5Transform PROTO_LIST ((UINT4 [4], unsigned char [64]));
-static void Encode PROTO_LIST
- ((unsigned char *, UINT4 *, unsigned int));
-static void Decode PROTO_LIST
- ((UINT4 *, unsigned char *, unsigned int));
-static void MD5_memcpy PROTO_LIST ((POINTER, POINTER, unsigned int));
-static void MD5_memset PROTO_LIST ((POINTER, int, unsigned int));
-
-static unsigned char PADDING[64] = {
- 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-/* F, G, H and I are basic MD5 functions.
- */
-#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
-#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))
-#define H(x, y, z) ((x) ^ (y) ^ (z))
-#define I(x, y, z) ((y) ^ ((x) | (~z)))
-
-/* ROTATE_LEFT rotates x left n bits.
- */
-#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
-
-/* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4.
- Rotation is separate from addition to prevent recomputation.
- */
-#define FF(a, b, c, d, x, s, ac) { \
- (a) += F ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define GG(a, b, c, d, x, s, ac) { \
- (a) += G ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define HH(a, b, c, d, x, s, ac) { \
- (a) += H ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define II(a, b, c, d, x, s, ac) { \
- (a) += I ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-
-/* MD5 initialization. Begins an MD5 operation, writing a new context.
- */
-void
-MD5Init(
- MD5_CTX *context /* context */
- )
-{
- context->count[0] = context->count[1] = 0;
-
- /* Load magic initialization constants.
- */
- context->state[0] = 0x67452301;
- context->state[1] = 0xefcdab89;
- context->state[2] = 0x98badcfe;
- context->state[3] = 0x10325476;
-}
-
-/* MD5 block update operation. Continues an MD5 message-digest
- operation, processing another message block, and updating the
- context.
- */
-void
-MD5Update (
- MD5_CTX *context, /* context */
- unsigned char *input, /* input block */
- unsigned int inputLen /* length of input block */
- )
-{
- unsigned int i, idx, partLen;
-
- /* Compute number of bytes mod 64 */
- idx = (unsigned int)((context->count[0] >> 3) & 0x3F);
-
- /* Update number of bits */
- if ((context->count[0] += ((UINT4)inputLen << 3))
- < ((UINT4)inputLen << 3))
- context->count[1]++;
- context->count[1] += ((UINT4)inputLen >> 29);
-
- partLen = 64 - idx;
-
- /* Transform as many times as possible.
- */
- if (inputLen >= partLen) {
- MD5_memcpy
- ((POINTER)&context->buffer[idx], (POINTER)input, partLen);
- MD5Transform (context->state, context->buffer);
-
- for (i = partLen; i + 63 < inputLen; i += 64)
- MD5Transform (context->state, &input[i]);
-
- idx = 0;
- }
- else
- i = 0;
-
- /* Buffer remaining input */
- MD5_memcpy
- ((POINTER)&context->buffer[idx], (POINTER)&input[i],
- inputLen-i);
-}
-
-/* MD5 finalization. Ends an MD5 message-digest operation, writing the
- the message digest and zeroizing the context.
- */
-void
-MD5Final (
- unsigned char digest[16], /* message digest */
- MD5_CTX *context /* context */
- )
-{
- unsigned char bits[8];
- unsigned int idx, padLen;
-
- /* Save number of bits */
- Encode (bits, context->count, 8);
-
- /* Pad out to 56 mod 64.
- */
- idx = (unsigned int)((context->count[0] >> 3) & 0x3f);
- padLen = (idx < 56) ? (56 - idx) : (120 - idx);
- MD5Update (context, PADDING, padLen);
-
- /* Append length (before padding) */
- MD5Update (context, bits, 8);
-
- /* Store state in digest */
- Encode (digest, context->state, 16);
-
- /* Zeroize sensitive information.
- */
- MD5_memset ((POINTER)context, 0, sizeof (*context));
-}
-
-/* MD5 basic transformation. Transforms state based on block.
- */
-static void
-MD5Transform (
- UINT4 state[4],
- unsigned char block[64]
- )
-{
- UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];
-
- Decode (x, block, 64);
-
- /* Round 1 */
- FF (a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */
- FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */
- FF (c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */
- FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */
- FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */
- FF (d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */
- FF (c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */
- FF (b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */
- FF (a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */
- FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */
- FF (c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */
- FF (b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */
- FF (a, b, c, d, x[12], S11, 0x6b901122); /* 13 */
- FF (d, a, b, c, x[13], S12, 0xfd987193); /* 14 */
- FF (c, d, a, b, x[14], S13, 0xa679438e); /* 15 */
- FF (b, c, d, a, x[15], S14, 0x49b40821); /* 16 */
-
- /* Round 2 */
- GG (a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */
- GG (d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */
- GG (c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */
- GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */
- GG (a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */
- GG (d, a, b, c, x[10], S22, 0x2441453); /* 22 */
- GG (c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */
- GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */
- GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */
- GG (d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */
- GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */
- GG (b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */
- GG (a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */
- GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */
- GG (c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */
- GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */
-
- /* Round 3 */
- HH (a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */
- HH (d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */
- HH (c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */
- HH (b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */
- HH (a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */
- HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */
- HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */
- HH (b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */
- HH (a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */
- HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */
- HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */
- HH (b, c, d, a, x[ 6], S34, 0x4881d05); /* 44 */
- HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */
- HH (d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */
- HH (c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */
- HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */
-
- /* Round 4 */
- II (a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */
- II (d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */
- II (c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */
- II (b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */
- II (a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */
- II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */
- II (c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */
- II (b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */
- II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */
- II (d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */
- II (c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */
- II (b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */
- II (a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */
- II (d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */
- II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */
- II (b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */
-
- state[0] += a;
- state[1] += b;
- state[2] += c;
- state[3] += d;
-
- /* Zeroize sensitive information.
- */
- MD5_memset ((POINTER)x, 0, sizeof (x));
-}
-
-/* Encodes input (UINT4) into output (unsigned char). Assumes len is
- a multiple of 4.
- */
-static void
-Encode (
- unsigned char *output,
- UINT4 *input,
- unsigned int len
- )
-{
- unsigned int i, j;
-
- for (i = 0, j = 0; j < len; i++, j += 4) {
- output[j] = (unsigned char)(input[i] & 0xff);
- output[j+1] = (unsigned char)((input[i] >> 8) & 0xff);
- output[j+2] = (unsigned char)((input[i] >> 16) & 0xff);
- output[j+3] = (unsigned char)((input[i] >> 24) & 0xff);
- }
-}
-
-/* Decodes input (unsigned char) into output (UINT4). Assumes len is
- a multiple of 4.
- */
-static void
-Decode (
- UINT4 *output,
- unsigned char *input,
- unsigned int len
- )
-{
- unsigned int i, j;
-
- for (i = 0, j = 0; j < len; i++, j += 4)
- output[i] = ((UINT4)input[j]) | (((UINT4)input[j+1]) << 8) |
- (((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24);
-}
-
-/* Note: Replace "for loop" with standard memcpy if possible.
- */
-static void
-MD5_memcpy (
- POINTER output,
- POINTER input,
- unsigned int len
- )
-{
- unsigned int i;
-
- for (i = 0; i < len; i++)
- output[i] = input[i];
-}
-
-/* Note: Replace "for loop" with standard memset if possible.
- */
-static void
-MD5_memset (
- POINTER output,
- int value,
- unsigned int len
- )
-{
- unsigned int i;
-
- for (i = 0; i < len; i++)
- ((char *)output)[i] = (char)value;
-}
-#else
-int md5_bs;
-#endif
diff --git a/libntp/mktime.c b/libntp/mktime.c
index 91be60015b00..f5590d1c0d61 100644
--- a/libntp/mktime.c
+++ b/libntp/mktime.c
@@ -63,6 +63,10 @@
#if !defined(HAVE_MKTIME) || !defined(HAVE_TIMEGM)
+#if SIZEOF_TIME_T >= 8
+#error libntp supplied mktime()/timegm() do not support 64-bit time_t
+#endif
+
#ifndef DSTMINUTES
#define DSTMINUTES 60
#endif
@@ -226,9 +230,9 @@ time2(
t = (t < 0) ? 0 : ((time_t) 1 << bits);
for ( ; ; ) {
if (usezn)
- mytm = *localtime(&t);
+ mytm = *localtime(&t);
else
- mytm = *gmtime(&t);
+ mytm = *gmtime(&t);
dir = tmcomp(&mytm, &yourtm);
if (dir != 0) {
if (bits-- < 0)
diff --git a/libntp/modetoa.c b/libntp/modetoa.c
index 405aef8550c1..9daf1bb1239f 100644
--- a/libntp/modetoa.c
+++ b/libntp/modetoa.c
@@ -24,9 +24,9 @@ modetoa(
"bclient",
};
- if (mode < 0 || mode >= (sizeof modestrings)/sizeof(char *)) {
+ if (mode < 0 || mode >= COUNTOF(modestrings)) {
LIB_GETBUF(bp);
- (void)sprintf(bp, "mode#%d", mode);
+ snprintf(bp, LIB_BUFLENGTH, "mode#%d", mode);
return bp;
}
diff --git a/libntp/msyslog.c b/libntp/msyslog.c
index fe4d979e1267..60f8a1309e86 100644
--- a/libntp/msyslog.c
+++ b/libntp/msyslog.c
@@ -9,198 +9,281 @@
# include <config.h>
#endif
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
+#include <sys/types.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
-
#include <stdio.h>
-#include "ntp_types.h"
+#include "ntp.h"
#include "ntp_string.h"
#include "ntp_syslog.h"
-#include "ntp_stdlib.h"
#ifdef SYS_WINNT
# include <stdarg.h>
# include "..\ports\winnt\libntp\messages.h"
#endif
-int syslogit = 1;
-FILE *syslog_file = NULL;
+int syslogit = 1;
+int msyslog_term = FALSE; /* duplicate to stdout/err */
+FILE * syslog_file;
-u_long ntp_syslogmask = ~ (u_long) 0;
+u_int32 ntp_syslogmask = ~(u_int32)0; /* libntp default is all lit */
-#ifdef SYS_WINNT
-static char separator = '\\';
-#else
-static char separator = '/';
-#endif /* SYS_WINNT */
-extern char *progname;
+extern char * progname;
/* Declare the local functions */
-void addto_syslog P((int, char *));
-void format_errmsg P((char *, int, const char *, int));
+void addto_syslog (int, const char *);
+void format_errmsg (char *, size_t, const char *, int);
/*
- * This routine adds the contents of a buffer to the log
+ * This routine adds the contents of a buffer to the syslog or an
+ * application-specific logfile.
*/
void
-addto_syslog(int level, char * buf)
+addto_syslog(
+ int level,
+ const char * msg
+ )
{
- char *prog;
- FILE *out_file = syslog_file;
+ static char * prevcall_progname;
+ static char * prog;
+ const char nl[] = "\n";
+ const char empty[] = "";
+ FILE * term_file;
+ int log_to_term;
+ int log_to_file;
+ const char * nl_or_empty;
+ const char * human_time;
-#if !defined(VMS) && !defined (SYS_VXWORKS)
+ /* setup program basename static var prog if needed */
+ if (progname != prevcall_progname) {
+ prevcall_progname = progname;
+ prog = strrchr(progname, DIR_SEP);
+ if (prog != NULL)
+ prog++;
+ else
+ prog = progname;
+ }
+
+ log_to_term = msyslog_term;
+ log_to_file = FALSE;
+#if !defined(VMS) && !defined(SYS_VXWORKS)
if (syslogit)
- syslog(level, "%s", buf);
+ syslog(level, "%s", msg);
else
-#endif /* VMS && SYS_VXWORKS*/
- {
- out_file = syslog_file ? syslog_file: level <= LOG_ERR ? stderr : stdout;
- /* syslog() provides the timestamp, so if we're not using
- syslog, we must provide it. */
- prog = strrchr(progname, separator);
- if (prog == NULL)
- prog = progname;
+#endif
+ if (syslog_file != NULL)
+ log_to_file = TRUE;
else
- prog++;
- (void) fprintf(out_file, "%s ", humanlogtime ());
- (void) fprintf(out_file, "%s[%d]: %s", prog, (int)getpid(), buf);
- fflush (out_file);
- }
+ log_to_term = TRUE;
#if DEBUG
- if (debug && out_file != stdout && out_file != stderr)
- printf("addto_syslog: %s\n", buf);
+ if (debug > 0)
+ log_to_term = TRUE;
#endif
+ if (!(log_to_file || log_to_term))
+ return;
+
+ /* syslog() adds the timestamp, name, and pid */
+ human_time = humanlogtime();
+
+ /* syslog() adds trailing \n if not present */
+ if ('\n' != msg[strlen(msg) - 1])
+ nl_or_empty = nl;
+ else
+ nl_or_empty = empty;
+
+ if (log_to_term) {
+ term_file = (level <= LOG_ERR)
+ ? stderr
+ : stdout;
+ fprintf(term_file, "%s %s[%d]: %s%s", human_time, prog,
+ (int)getpid(), msg, nl_or_empty);
+ fflush(term_file);
+ }
+
+ if (log_to_file) {
+ fprintf(syslog_file, "%s %s[%d]: %s%s", human_time,
+ prog, (int)getpid(), msg, nl_or_empty);
+ fflush(syslog_file);
+ }
}
+
+
void
-format_errmsg(char *nfmt, int lennfmt, const char *fmt, int errval)
+format_errmsg(
+ char * nfmt,
+ size_t lennfmt,
+ const char * fmt,
+ int errval
+ )
{
- register char c;
- register char *n;
- register const char *f;
-
+ char c;
+ char *n;
+ const char *f;
+ size_t len;
char *err;
n = nfmt;
f = fmt;
- while ((c = *f++) != '\0' && n < (nfmt+lennfmt - 2)) {
+ while ((c = *f++) != '\0' && n < (nfmt + lennfmt - 1)) {
if (c != '%') {
*n++ = c;
continue;
}
if ((c = *f++) != 'm') {
*n++ = '%';
+ if ('\0' == c)
+ break;
*n++ = c;
continue;
}
- err = 0;
err = strerror(errval);
+ len = strlen(err);
+
/* Make sure we have enough space for the error message */
- if ((n + strlen(err)) < (nfmt + lennfmt -2)) {
- strcpy(n, err);
- n += strlen(err);
+ if ((n + len) < (nfmt + lennfmt - 1)) {
+ memcpy(n, err, len);
+ n += len;
}
}
-#if !defined(VMS)
- if (!syslogit)
-#endif /* VMS */
- *n++ = '\n';
*n = '\0';
}
-/*
- * The externally called functions are defined here
- * but share the internal function above to fetch
- * any error message strings, This is done so that we can
- * have two different functions to perform the logging
- * since Windows gets it's error information from different
- * places depending on whether or not it's network I/O.
- * msyslog() is for general use while netsyslog() is for
- * network I/O functions. They are virtually identical
- * in implementation.
- */
-#if defined(__STDC__) || defined(HAVE_STDARG_H)
-void msyslog(int level, const char *fmt, ...)
-#else /* defined(__STDC__) || defined(HAVE_STDARG_H) */
- /*VARARGS*/
- void msyslog(va_alist)
- va_dcl
-#endif /* defined(__STDC__) || defined(HAVE_STDARG_H) */
+int
+mvsnprintf(
+ char * buf,
+ size_t bufsiz,
+ const char * fmt,
+ va_list ap
+ )
{
-#if defined(__STDC__) || defined(HAVE_STDARG_H)
+#ifndef VSNPRINTF_PERCENT_M
+ char nfmt[256];
#else
- int level;
- const char *fmt;
+ const char * nfmt = fmt;
#endif
- va_list ap;
- char buf[1025], nfmt[256];
+ int errval;
/*
* Save the error value as soon as possible
*/
#ifdef SYS_WINNT
- int errval = GetLastError();
-#else
- int errval = errno;
-#endif
+ errval = GetLastError();
+ if (NO_ERROR == errval)
+#endif /* SYS_WINNT */
+ errval = errno;
-#if defined(__STDC__) || defined(HAVE_STDARG_H)
- va_start(ap, fmt);
+#ifndef VSNPRINTF_PERCENT_M
+ format_errmsg(nfmt, sizeof(nfmt), fmt, errval);
#else
- va_start(ap);
-
- level = va_arg(ap, int);
- fmt = va_arg(ap, char *);
+ errno = errval;
#endif
- format_errmsg(nfmt, sizeof(nfmt), fmt, errval);
-
- vsnprintf(buf, sizeof(buf), nfmt, ap);
- addto_syslog(level, buf);
- va_end(ap);
+ return vsnprintf(buf, bufsiz, nfmt, ap);
}
-#if defined(__STDC__) || defined(HAVE_STDARG_H)
-void netsyslog(int level, const char *fmt, ...)
-#else /* defined(__STDC__) || defined(HAVE_STDARG_H) */
- /*VARARGS*/
- void netsyslog(va_alist)
- va_dcl
-#endif /* defined(__STDC__) || defined(HAVE_STDARG_H) */
+
+
+int
+mvfprintf(
+ FILE * fp,
+ const char * fmt,
+ va_list ap
+ )
{
-#if defined(__STDC__) || defined(HAVE_STDARG_H)
+#ifndef VSNPRINTF_PERCENT_M
+ char nfmt[256];
#else
- int level;
- const char *fmt;
+ const char * nfmt = fmt;
#endif
- va_list ap;
- char buf[1025], nfmt[256];
+ int errval;
/*
* Save the error value as soon as possible
*/
#ifdef SYS_WINNT
- int errval = WSAGetLastError();
+ errval = GetLastError();
+ if (NO_ERROR == errval)
+#endif /* SYS_WINNT */
+ errval = errno;
+
+#ifndef VSNPRINTF_PERCENT_M
+ format_errmsg(nfmt, sizeof(nfmt), fmt, errval);
#else
- int errval = errno;
+ errno = errval;
#endif
+ return vfprintf(fp, nfmt, ap);
+}
+
+
+int
+mfprintf(
+ FILE * fp,
+ const char * fmt,
+ ...
+ )
+{
+ va_list ap;
+ int rc;
-#if defined(__STDC__) || defined(HAVE_STDARG_H)
va_start(ap, fmt);
-#else
- va_start(ap);
+ rc = mvfprintf(fp, fmt, ap);
+ va_end(ap);
- level = va_arg(ap, int);
- fmt = va_arg(ap, char *);
-#endif
- format_errmsg(nfmt, sizeof(nfmt), fmt, errval);
+ return rc;
+}
- vsnprintf(buf, sizeof(buf), nfmt, ap);
- addto_syslog(level, buf);
+
+int
+mprintf(
+ const char * fmt,
+ ...
+ )
+{
+ va_list ap;
+ int rc;
+
+ va_start(ap, fmt);
+ rc = mvfprintf(stdout, fmt, ap);
va_end(ap);
+
+ return rc;
+}
+
+
+int
+msnprintf(
+ char * buf,
+ size_t bufsiz,
+ const char * fmt,
+ ...
+ )
+{
+ va_list ap;
+ size_t rc;
+
+ va_start(ap, fmt);
+ rc = mvsnprintf(buf, bufsiz, fmt, ap);
+ va_end(ap);
+
+ return rc;
+}
+
+
+void
+msyslog(
+ int level,
+ const char * fmt,
+ ...
+ )
+{
+ char buf[1024];
+ va_list ap;
+
+ va_start(ap, fmt);
+ mvsnprintf(buf, sizeof(buf), fmt, ap);
+ va_end(ap);
+ addto_syslog(level, buf);
}
diff --git a/libntp/netof.c b/libntp/netof.c
index fd57568d3130..55a4092befe1 100644
--- a/libntp/netof.c
+++ b/libntp/netof.c
@@ -3,46 +3,52 @@
* (zero out host part)
*/
#include <stdio.h>
+#include <syslog.h>
#include "ntp_fp.h"
+#include "ntp_net.h"
#include "ntp_stdlib.h"
#include "ntp.h"
-#define NUM_NETOF_BUFS 10
-static struct sockaddr_storage ssbuf[NUM_NETOF_BUFS];
-static int next_ssbuf = 0;
-
-struct sockaddr_storage*
+sockaddr_u *
netof(
- struct sockaddr_storage* hostaddr
+ sockaddr_u *hostaddr
)
{
- register u_int32 netnum;
- struct sockaddr_storage *netaddr;
+ static sockaddr_u netofbuf[8];
+ static int next_netofbuf;
+ u_int32 netnum;
+ sockaddr_u * netaddr;
+
+ netaddr = &netofbuf[next_netofbuf];
+ next_netofbuf = (next_netofbuf + 1) % COUNTOF(netofbuf);
- netaddr = &ssbuf[next_ssbuf++];
- if (next_ssbuf == NUM_NETOF_BUFS)
- next_ssbuf = 0;
- memcpy(netaddr, hostaddr, sizeof(struct sockaddr_storage));
+ memcpy(netaddr, hostaddr, sizeof(*netaddr));
- if(netaddr->ss_family == AF_INET) {
- netnum = ((struct sockaddr_in*)netaddr)->sin_addr.s_addr;
+ if (IS_IPV4(netaddr)) {
+ netnum = SRCADR(netaddr);
/*
* We live in a modern CIDR world where the basement nets, which
* used to be class A, are now probably associated with each
* host address. So, for class-A nets, all bits are significant.
*/
- if(IN_CLASSC(netnum))
- netnum &= IN_CLASSC_NET;
+ if (IN_CLASSC(netnum))
+ netnum &= IN_CLASSC_NET;
else if (IN_CLASSB(netnum))
- netnum &= IN_CLASSB_NET;
- ((struct sockaddr_in*)netaddr)->sin_addr.s_addr = netnum;
- }
- else if(netaddr->ss_family == AF_INET6) {
- /* Here we put 0 at the local link address so we get net address */
- memset(&((struct sockaddr_in6*)netaddr)->sin6_addr.s6_addr[8], 0, 8*sizeof(u_char));
- }
-
- return netaddr;
+ netnum &= IN_CLASSB_NET;
+
+ SET_ADDR4(netaddr, netnum);
+
+ } else if (IS_IPV6(netaddr))
+ /* assume the typical /64 subnet size */
+ memset(&NSRCADR6(netaddr)[8], 0, 8);
+#ifdef DEBUG
+ else {
+ msyslog(LOG_ERR, "netof unknown AF %d", AF(netaddr));
+ exit(1);
+ }
+#endif
+
+ return netaddr;
}
diff --git a/libntp/ntp_libopts.c b/libntp/ntp_libopts.c
new file mode 100644
index 000000000000..f15597001994
--- /dev/null
+++ b/libntp/ntp_libopts.c
@@ -0,0 +1,54 @@
+/*
+ * ntp_libopts.c
+ *
+ * Common code interfacing with Autogen's libopts command-line option
+ * processing.
+ */
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <stddef.h>
+#include "ntp_libopts.h"
+#include "ntp_stdlib.h"
+
+extern const char *Version; /* version.c for each program */
+
+
+/*
+ * ntpOptionProcess() is a clone of libopts' optionProcess which
+ * overrides the --version output, appending detail from version.c
+ * which was not available at Autogen time.
+ */
+int
+ntpOptionProcess(
+ tOptions * pOpts,
+ int argc,
+ char ** argv
+ )
+{
+ char * pchOpts;
+ char ** ppzFullVersion;
+ char * pzNewFV;
+ char * pzAutogenFV;
+ size_t octets;
+ int rc;
+
+ pchOpts = (void *)pOpts;
+ ppzFullVersion = (char **)(pchOpts + offsetof(tOptions,
+ pzFullVersion));
+ pzAutogenFV = *ppzFullVersion;
+ octets = strlen(pzAutogenFV) +
+ 1 + /* '\n' */
+ strlen(Version) +
+ 1; /* '\0' */
+ pzNewFV = emalloc(octets);
+ snprintf(pzNewFV, octets, "%s\n%s", pzAutogenFV, Version);
+ *ppzFullVersion = pzNewFV;
+ rc = optionProcess(pOpts, argc, argv);
+ *ppzFullVersion = pzAutogenFV;
+ free(pzNewFV);
+
+ return rc;
+}
diff --git a/libntp/ntp_lineedit.c b/libntp/ntp_lineedit.c
new file mode 100644
index 000000000000..55fdf0430ee8
--- /dev/null
+++ b/libntp/ntp_lineedit.c
@@ -0,0 +1,247 @@
+/*
+ * ntp_lineedit.c - generic interface to various line editing libs
+ */
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <errno.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#if defined(HAVE_READLINE_HISTORY) && \
+ (!defined(HAVE_READLINE_HISTORY_H) || \
+ !defined(HAVE_READLINE_READLINE_H))
+# undef HAVE_READLINE_HISTORY
+#endif
+#if defined(HAVE_READLINE_HISTORY)
+# include <readline/readline.h>
+# include <readline/history.h>
+# define LE_READLINE
+#elif defined(HAVE_HISTEDIT_H)
+# include <histedit.h>
+# define LE_EDITLINE
+#else
+# define LE_NONE
+#endif
+
+#include "ntp.h"
+#include "ntp_stdlib.h"
+#include "ntp_lineedit.h"
+
+#define MAXEDITLINE 512
+
+/*
+ * external references
+ */
+
+extern char * progname;
+
+/*
+ * globals, private prototypes
+ */
+
+static int ntp_readline_initted;
+static char * lineedit_prompt;
+
+
+#ifdef LE_EDITLINE
+# ifndef H_SETSIZE
+# define H_SETSIZE H_EVENT
+# endif
+static EditLine * ntp_el;
+static History * ntp_hist;
+static HistEvent hev;
+
+char * ntp_prompt_callback(EditLine *);
+#endif /* LE_EDITLINE */
+
+
+/*
+ * ntp_readline_init - setup, set or reset prompt string
+ */
+int
+ntp_readline_init(
+ const char * prompt
+ )
+{
+ int success;
+
+ success = 1;
+
+ if (prompt) {
+ if (lineedit_prompt)
+ free(lineedit_prompt);
+ lineedit_prompt = estrdup(prompt);
+ }
+
+#ifdef LE_EDITLINE
+ if (NULL == ntp_el) {
+
+# if 4 == EL_INIT_ARGS
+ ntp_el = el_init(progname, stdin, stdout, stderr);
+# else
+ ntp_el = el_init(progname, stdin, stdout);
+# endif
+ if (ntp_el) {
+
+ el_set(ntp_el, EL_PROMPT, ntp_prompt_callback);
+ el_set(ntp_el, EL_EDITOR, "emacs");
+
+ ntp_hist = history_init();
+
+ if (NULL == ntp_hist) {
+
+ fprintf(stderr, "history_init(): %s\n",
+ strerror(errno));
+ fflush(stderr);
+
+ el_end(ntp_el);
+ ntp_el = NULL;
+
+ success = 0;
+
+ } else {
+ memset(&hev, 0, sizeof(hev));
+#ifdef H_SETSIZE
+ history(ntp_hist, &hev, H_SETSIZE, 128);
+#endif
+ el_set(ntp_el, EL_HIST, history,
+ ntp_hist);
+ /* use any .editrc */
+ el_source(ntp_el, NULL);
+ }
+ } else
+ success = 0;
+ }
+#endif /* LE_EDITLINE */
+
+ ntp_readline_initted = success;
+
+ return success;
+}
+
+
+/*
+ * ntp_readline_uninit - release resources
+ */
+void
+ntp_readline_uninit(
+ void
+ )
+{
+#ifdef LE_EDITLINE
+ if (ntp_el) {
+ el_end(ntp_el);
+ ntp_el = NULL;
+
+ history_end(ntp_hist);
+ ntp_hist = NULL;
+ }
+#endif /* LE_EDITLINE */
+
+ if (lineedit_prompt) {
+ free(lineedit_prompt);
+ lineedit_prompt = NULL;
+ }
+
+ ntp_readline_initted = 0;
+}
+
+
+/*
+ * ntp_readline - read a line with the line editor available
+ *
+ * The string returned must be released with free()
+ */
+
+char *
+ntp_readline(
+ int * pcount
+ )
+{
+ char * line;
+#ifdef LE_NONE
+ char line_buf[MAXEDITLINE];
+#endif
+#ifdef LE_EDITLINE
+ const char * cline;
+#endif
+
+ if (!ntp_readline_initted)
+ return NULL;
+
+ *pcount = 0;
+
+#ifdef LE_READLINE
+ line = readline(lineedit_prompt ? lineedit_prompt : "");
+ if (NULL != line) {
+ if (*line) {
+ add_history(line);
+ *pcount = strlen(line);
+ } else {
+ free(line);
+ line = NULL;
+ }
+ }
+#endif /* LE_READLINE */
+
+#ifdef LE_EDITLINE
+ cline = el_gets(ntp_el, pcount);
+
+ if (NULL != cline && *cline) {
+ history(ntp_hist, &hev, H_ENTER, cline);
+ *pcount = strlen(cline);
+ line = estrdup(cline);
+ } else
+ line = NULL;
+#endif /* LE_EDITLINE */
+
+#ifdef LE_NONE
+ /* stone hammers */
+ if (lineedit_prompt) {
+# ifdef VMS
+ /*
+ * work around problem mixing
+ * stdout & stderr
+ */
+ fputs("", stdout);
+# endif /* VMS */
+
+ fputs(lineedit_prompt, stderr);
+ fflush(stderr);
+ }
+
+ line = fgets(line_buf, sizeof(line_buf), stdin);
+ if (NULL != line && *line) {
+ *pcount = strlen(line);
+ line = estrdup(line);
+ } else
+ line = NULL;
+
+#endif /* LE_NONE */
+
+
+ if (!line) /* EOF */
+ fputs("\n", stderr);
+
+ return line;
+}
+
+
+#ifdef LE_EDITLINE
+/*
+ * ntp_prompt_callback - return prompt string to el_gets()
+ */
+char *
+ntp_prompt_callback(
+ EditLine *el
+ )
+{
+ UNUSED_ARG(el);
+
+ return lineedit_prompt;
+}
+#endif /* LE_EDITLINE */
+
diff --git a/libntp/ntp_random.c b/libntp/ntp_random.c
index 700b4ee65101..c982a0d0ac1a 100644
--- a/libntp/ntp_random.c
+++ b/libntp/ntp_random.c
@@ -39,9 +39,7 @@ static char sccsid[] = "@(#)random.c 8.2 (Berkeley) 5/19/95";
#endif /* LIBC_SCCS and not lint */
#include "config.h"
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
+#include <sys/types.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
@@ -219,7 +217,7 @@ static long rand_deg = DEG_3;
static long rand_sep = SEP_3;
static long *end_ptr = &randtbl[DEG_3 + 1];
-static inline long good_rand P((long));
+static inline long good_rand (long);
static inline long
good_rand (
diff --git a/libntp/ntp_rfc2553.c b/libntp/ntp_rfc2553.c
index 017ef832b953..03af593cf71e 100644
--- a/libntp/ntp_rfc2553.c
+++ b/libntp/ntp_rfc2553.c
@@ -69,7 +69,9 @@
#include <sys/types.h>
#include <ctype.h>
+#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
+#endif
#include <isc/net.h>
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
@@ -127,8 +129,8 @@ DNSlookup_name(
}
#endif
-static int do_nodename P((const char *nodename, struct addrinfo *ai,
- const struct addrinfo *hints));
+static int do_nodename (const char *nodename, struct addrinfo *ai,
+ const struct addrinfo *hints);
int
getaddrinfo (const char *nodename, const char *servname,
@@ -362,7 +364,7 @@ do_nodename(
sockin6->sin6_addr = in6addr_any;
*/
}
-#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR
+#ifdef ISC_PLATFORM_HAVESALEN
ai->ai_addr->sa_len = SOCKLEN(ai->ai_addr);
#endif
@@ -428,15 +430,11 @@ do_nodename(
sockin = (struct sockaddr_in *)ai->ai_addr;
memcpy(&sockin->sin_addr, hp->h_addr, hp->h_length);
ai->ai_addr->sa_family = hp->h_addrtype;
-#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR
+#ifdef ISC_PLATFORM_HAVESALEN
ai->ai_addr->sa_len = sizeof(struct sockaddr);
#endif
- if (hints != NULL && hints->ai_flags & AI_CANONNAME) {
- ai->ai_canonname = malloc(strlen(hp->h_name) + 1);
- if (ai->ai_canonname == NULL)
- return (EAI_MEMORY);
- strcpy(ai->ai_canonname, hp->h_name);
- }
+ if (hints != NULL && hints->ai_flags & AI_CANONNAME)
+ ai->ai_canonname = estrdup(hp->h_name);
return (0);
}
diff --git a/libntp/numtoa.c b/libntp/numtoa.c
index de95118afe04..36a7c5819a4c 100644
--- a/libntp/numtoa.c
+++ b/libntp/numtoa.c
@@ -1,6 +1,13 @@
/*
* numtoa - return asciized network numbers store in local array space
*/
+#include <config.h>
+
+#include <sys/types.h>
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h> /* ntohl */
+#endif
+
#include <stdio.h>
#include "ntp_fp.h"
@@ -17,8 +24,10 @@ numtoa(
netnum = ntohl(num);
LIB_GETBUF(buf);
- (void) sprintf(buf, "%lu.%lu.%lu.%lu", ((u_long)netnum >> 24) & 0xff,
- ((u_long)netnum >> 16) & 0xff, ((u_long)netnum >> 8) & 0xff,
- (u_long)netnum & 0xff);
+ snprintf(buf, LIB_BUFLENGTH, "%lu.%lu.%lu.%lu",
+ ((u_long)netnum >> 24) & 0xff,
+ ((u_long)netnum >> 16) & 0xff,
+ ((u_long)netnum >> 8) & 0xff,
+ (u_long)netnum & 0xff);
return buf;
}
diff --git a/libntp/numtohost.c b/libntp/numtohost.c
index dd51c5d01313..b3d458ee0613 100644
--- a/libntp/numtohost.c
+++ b/libntp/numtohost.c
@@ -1,6 +1,12 @@
/*
* numtohost - convert network number to host name.
*/
+#include <config.h>
+
+#include <sys/types.h>
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h> /* ntohl */
+#endif
#include "ntp_fp.h"
#include "ntp_stdlib.h"
diff --git a/libntp/prettydate.c b/libntp/prettydate.c
index 55adf64aeeb2..1503a2ce87e3 100644
--- a/libntp/prettydate.c
+++ b/libntp/prettydate.c
@@ -7,8 +7,11 @@
#include "ntp_unixtime.h" /* includes <sys/time.h> */
#include "lib_strbuf.h"
#include "ntp_stdlib.h"
+#include "ntp_assert.h"
-static const char *months[] = {
+static char *common_prettydate(l_fp *, int);
+
+const char *months[] = {
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
};
@@ -19,66 +22,146 @@ static const char *days[] = {
/* Helper function to handle possible wraparound of the ntp epoch.
- Works by assuming that the localtime/gmtime library functions
- have been updated so that they work
+ Works by periodic extension of the ntp time stamp in the NTP epoch. If the
+ 'time_t' is 32 bit, use solar cycle warping to get the value in a suitable
+ range. Also uses solar cycle warping to work around really buggy
+ implementations of 'gmtime()' / 'localtime()' that cannot work with a
+ negative time value, that is, times before 1970-01-01. (MSVCRT...)
+
+ Apart from that we're assuming that the localtime/gmtime library functions
+ have been updated so that they work...
*/
-#define MAX_EPOCH_NR 1000
+
+/* solar cycle in secs, unsigned secs and years. And the cycle limits.
+**
+** And an explanation. The julian calendar repeats ever 28 years, because it's
+** the LCM of 7 and 4, the week and leap year cycles. This is called a 'solar
+** cycle'. The gregorian calendar does the same as long as no centennial year
+** (divisible by 100, but not 400) goes in the way. So between 1901 and 2099
+** (inclusive) we can warp time stamps by 28 years to make them suitable for
+** localtime() and gmtime() if we have trouble. Of course this will play
+** hubbubb with the DST zone switches, so we should do it only if necessary;
+** but as we NEED a proper conversion to dates via gmtime() we should try to
+** cope with as many idiosyncrasies as possible.
+*/
+#define SOLAR_CYCLE_SECS 0x34AADC80UL /* 7*1461*86400*/
+#define SOLAR_CYCLE_YEARS 28
+#define MINFOLD -3
+#define MAXFOLD 3
struct tm *
ntp2unix_tm(
u_long ntp, int local
)
{
- time_t t, curr;
struct tm *tm;
- int curr_year, epoch_nr;
-
- /* First get the current year: */
- curr = time(NULL);
- tm = local ? localtime(&curr) : gmtime(&curr);
- if (!tm) return NULL;
-
- curr_year = 1900 + tm->tm_year;
+ int32 folds = 0;
+ time_t t = time(NULL);
+ u_int32 dwlo = (int32)t; /* might expand for SIZEOF_TIME_T < 4 */
+#if ( SIZEOF_TIME_T > 4 )
+ int32 dwhi = (int32)(t >> 16 >> 16);/* double shift: avoid warnings */
+#else
+ /*
+ * Get the correct sign extension in the high part.
+ * (now >> 32) may not work correctly on every 32 bit
+ * system, e.g. it yields garbage under Win32/VC6.
+ */
+ int32 dwhi = (int32)(t >> 31);
+#endif
+
+ /* Shift NTP to UN*X epoch, then unfold around currrent time. It's
+ * important to use a 32 bit max signed value -- LONG_MAX is 64 bit on
+ * a 64-bit system, and it will give wrong results.
+ */
+ M_ADD(dwhi, dwlo, 0, ((1UL << 31)-1)); /* 32-bit max signed */
+ if ((ntp -= JAN_1970) > dwlo)
+ --dwhi;
+ dwlo = ntp;
+
+# if SIZEOF_TIME_T < 4
+# error sizeof(time_t) < 4 -- this will not work!
+# elif SIZEOF_TIME_T == 4
+
+ /*
+ ** If the result will not fit into a 'time_t' we have to warp solar
+ ** cycles. That's implemented by looped addition / subtraction with
+ ** M_ADD and M_SUB to avoid implicit 64 bit operations, especially
+ ** division. As he number of warps is rather limited there's no big
+ ** performance loss here.
+ **
+ ** note: unless the high word doesn't match the sign-extended low word,
+ ** the combination will not fit into time_t. That's what we use for
+ ** loop control here...
+ */
+ while (dwhi != ((int32)dwlo >> 31)) {
+ if (dwhi < 0 && --folds >= MINFOLD)
+ M_ADD(dwhi, dwlo, 0, SOLAR_CYCLE_SECS);
+ else if (dwhi >= 0 && ++folds <= MAXFOLD)
+ M_SUB(dwhi, dwlo, 0, SOLAR_CYCLE_SECS);
+ else
+ return NULL;
+ }
- /* Convert the ntp timestamp to a unix utc seconds count: */
- t = (time_t) ntp - JAN_1970;
+# else
- /* Check that the ntp timestamp is not before a 136 year window centered
- around the current year:
+ /* everything fine -- no reduction needed for the next thousand years */
- Failsafe in case of an infinite loop:
- Allow up to 1000 epochs of 136 years each!
- */
- for (epoch_nr = 0; epoch_nr < MAX_EPOCH_NR; epoch_nr++) {
- tm = local ? localtime(&t) : gmtime(&t);
+# endif
-#if SIZEOF_TIME_T < 4
-# include "Bletch: sizeof(time_t) < 4!"
-#endif
+ /* combine hi/lo to make time stamp */
+ t = ((time_t)dwhi << 16 << 16) | dwlo; /* double shift: avoid warnings */
-#if SIZEOF_TIME_T == 4
- /* If 32 bits, then year is 1970-2038, so no sense looking */
- epoch_nr = MAX_EPOCH_NR;
-#else /* SIZEOF_TIME_T > 4 */
- /* Check that the resulting year is in the correct epoch: */
- if (1900 + tm->tm_year > curr_year - 68) break;
+# ifdef _MSC_VER /* make this an autoconf option? */
- /* Epoch wraparound: Add 2^32 seconds! */
- t += (time_t) 65536 << 16;
-#endif /* SIZEOF_TIME_T > 4 */
+ /*
+ ** The MSDN says that the (Microsoft) Windoze versions of 'gmtime()'
+ ** and 'localtime()' will bark on time stamps < 0. Better to fix it
+ ** immediately.
+ */
+ while (t < 0) {
+ if (--folds < MINFOLD)
+ return NULL;
+ t += SOLAR_CYCLE_SECS;
+ }
+
+# endif /* Microsoft specific */
+
+ /* 't' should be a suitable value by now. Just go ahead. */
+ while ( (tm = (*(local ? localtime : gmtime))(&t)) == 0)
+ /* seems there are some other pathological implementations of
+ ** 'gmtime()' and 'localtime()' somewhere out there. No matter
+ ** if we have 32-bit or 64-bit 'time_t', try to fix this by
+ ** solar cycle warping again...
+ */
+ if (t < 0) {
+ if (--folds < MINFOLD)
+ return NULL;
+ t += SOLAR_CYCLE_SECS;
+ } else {
+ if ((++folds > MAXFOLD) || ((t -= SOLAR_CYCLE_SECS) < 0))
+ return NULL; /* That's truely pathological! */
+ }
+ /* 'tm' surely not NULL here... */
+ NTP_INSIST(tm != NULL);
+ if (folds != 0) {
+ tm->tm_year += folds * SOLAR_CYCLE_YEARS;
+ if (tm->tm_year <= 0 || tm->tm_year >= 200)
+ return NULL; /* left warp range... can't help here! */
}
return tm;
}
-char *
-prettydate(
- l_fp *ts
+
+static char *
+common_prettydate(
+ l_fp *ts,
+ int local
)
{
char *bp;
struct tm *tm;
- time_t sec;
+ u_long sec;
u_long msec;
LIB_GETBUF(bp);
@@ -86,47 +169,36 @@ prettydate(
sec = ts->l_ui;
msec = ts->l_uf / 4294967; /* fract / (2 ** 32 / 1000) */
- tm = ntp2unix_tm(sec, 1);
- if (!tm) {
- (void) sprintf(bp, "%08lx.%08lx --- --- -- ---- --:--:--",
- (u_long)ts->l_ui, (u_long)ts->l_uf);
- }
- else {
- (void) sprintf(bp, "%08lx.%08lx %s, %s %2d %4d %2d:%02d:%02d.%03lu",
- (u_long)ts->l_ui, (u_long)ts->l_uf, days[tm->tm_wday],
- months[tm->tm_mon], tm->tm_mday, 1900 + tm->tm_year,
- tm->tm_hour,tm->tm_min, tm->tm_sec, msec);
- }
+ tm = ntp2unix_tm(sec, local);
+ if (!tm)
+ snprintf(bp, LIB_BUFLENGTH,
+ "%08lx.%08lx --- --- -- ---- --:--:--",
+ (u_long)ts->l_ui, (u_long)ts->l_uf);
+ else
+ snprintf(bp, LIB_BUFLENGTH,
+ "%08lx.%08lx %s, %s %2d %4d %2d:%02d:%02d.%03lu",
+ (u_long)ts->l_ui, (u_long)ts->l_uf,
+ days[tm->tm_wday], months[tm->tm_mon],
+ tm->tm_mday, 1900 + tm->tm_year, tm->tm_hour,
+ tm->tm_min, tm->tm_sec, msec);
return bp;
}
+
char *
-gmprettydate(
+prettydate(
l_fp *ts
)
{
- char *bp;
- struct tm *tm;
- time_t sec;
- u_long msec;
-
- LIB_GETBUF(bp);
-
- sec = ts->l_ui;
- msec = ts->l_uf / 4294967; /* fract / (2 ** 32 / 1000) */
+ return common_prettydate(ts, 1);
+}
- tm = ntp2unix_tm(sec, 0);
- if (!tm) {
- (void) sprintf(bp, "%08lx.%08lx --- --- -- ---- --:--:--",
- (u_long)ts->l_ui, (u_long)ts->l_uf);
- }
- else {
- (void) sprintf(bp, "%08lx.%08lx %s, %s %2d %4d %2d:%02d:%02d.%03lu",
- (u_long)ts->l_ui, (u_long)ts->l_uf, days[tm->tm_wday],
- months[tm->tm_mon], tm->tm_mday, 1900 + tm->tm_year,
- tm->tm_hour,tm->tm_min, tm->tm_sec, msec);
- }
- return bp;
+char *
+gmprettydate(
+ l_fp *ts
+ )
+{
+ return common_prettydate(ts, 0);
}
diff --git a/libntp/recvbuff.c b/libntp/recvbuff.c
index 6665686fe068..9a7d6caf4333 100644
--- a/libntp/recvbuff.c
+++ b/libntp/recvbuff.c
@@ -4,14 +4,21 @@
#include <stdio.h>
#include "ntp_machine.h"
+#include "ntp_assert.h"
#include "ntp_fp.h"
#include "ntp_syslog.h"
#include "ntp_stdlib.h"
#include "ntp_io.h"
+#include "ntp_lists.h"
#include "recvbuff.h"
#include "iosignal.h"
-#include <isc/list.h>
+
+
+#ifdef DEBUG
+static void uninit_recvbuff(void);
+#endif
+
/*
* Memory allocation
*/
@@ -20,10 +27,10 @@ static u_long volatile free_recvbufs; /* number of recvbufs on freelist */
static u_long volatile total_recvbufs; /* total recvbufs currently in use */
static u_long volatile lowater_adds; /* number of times we have added memory */
static u_long volatile buffer_shortfall;/* number of missed free receive buffers
- between replenishments */
+ between replenishments */
static ISC_LIST(recvbuf_t) full_recv_list; /* Currently used recv buffers */
-static ISC_LIST(recvbuf_t) free_recv_list; /* Currently unused buffers */
+static recvbuf_t * free_recv_list; /* Currently unused buffers */
#if defined(SYS_WINNT)
@@ -64,15 +71,10 @@ lowater_additions(void)
return lowater_adds;
}
-static void
+static inline void
initialise_buffer(recvbuf_t *buff)
{
- memset((char *) buff, 0, sizeof(recvbuf_t));
-
-#if defined SYS_WINNT
- buff->wsabuff.len = RX_BUFF_SIZE;
- buff->wsabuff.buf = (char *) buff->recv_buffer;
-#endif
+ memset(buff, 0, sizeof(*buff));
}
static void
@@ -84,12 +86,21 @@ create_buffers(int nbufs)
abuf = nbufs + buffer_shortfall;
buffer_shortfall = 0;
- bufp = (recvbuf_t *) emalloc(abuf*sizeof(recvbuf_t));
+#ifndef DEBUG
+ bufp = emalloc(abuf * sizeof(*bufp));
+#endif
- for (i = 0; i < abuf; i++)
- {
- memset((char *) bufp, 0, sizeof(recvbuf_t));
- ISC_LIST_APPEND(free_recv_list, bufp, link);
+ for (i = 0; i < abuf; i++) {
+#ifdef DEBUG
+ /*
+ * Allocate each buffer individually so they can be
+ * free()d during ntpd shutdown on DEBUG builds to
+ * keep them out of heap leak reports.
+ */
+ bufp = emalloc(sizeof(*bufp));
+#endif
+ memset(bufp, 0, sizeof(*bufp));
+ LINK_SLIST(free_recv_list, bufp, link.next);
bufp++;
free_recvbufs++;
total_recvbufs++;
@@ -105,7 +116,6 @@ init_recvbuff(int nbufs)
* Init buffer free list and stat counters
*/
ISC_LIST_INIT(full_recv_list);
- ISC_LIST_INIT(free_recv_list);
free_recvbufs = total_recvbufs = 0;
full_recvbufs = lowater_adds = 0;
@@ -115,8 +125,32 @@ init_recvbuff(int nbufs)
InitializeCriticalSection(&RecvLock);
#endif
+#ifdef DEBUG
+ atexit(&uninit_recvbuff);
+#endif
}
+
+#ifdef DEBUG
+static void
+uninit_recvbuff(void)
+{
+ recvbuf_t *rbunlinked;
+
+ while ((rbunlinked = ISC_LIST_HEAD(full_recv_list)) != NULL) {
+ ISC_LIST_DEQUEUE_TYPE(full_recv_list, rbunlinked, link, recvbuf_t);
+ free(rbunlinked);
+ }
+
+ do {
+ UNLINK_HEAD_SLIST(rbunlinked, free_recv_list, link.next);
+ if (rbunlinked != NULL)
+ free(rbunlinked);
+ } while (rbunlinked != NULL);
+}
+#endif /* DEBUG */
+
+
/*
* freerecvbuf - make a single recvbuf available for reuse
*/
@@ -132,11 +166,7 @@ freerecvbuf(recvbuf_t *rb)
(rb->used)--;
if (rb->used != 0)
msyslog(LOG_ERR, "******** freerecvbuff non-zero usage: %d *******", rb->used);
- ISC_LIST_APPEND(free_recv_list, rb, link);
-#if defined SYS_WINNT
- rb->wsabuff.len = RX_BUFF_SIZE;
- rb->wsabuff.buf = (char *) rb->recv_buffer;
-#endif
+ LINK_SLIST(free_recv_list, rb, link.next);
free_recvbufs++;
UNLOCK();
}
@@ -150,6 +180,7 @@ add_full_recv_buffer(recvbuf_t *rb)
return;
}
LOCK();
+ ISC_LINK_INIT(rb, link);
ISC_LIST_APPEND(full_recv_list, rb, link);
full_recvbufs++;
UNLOCK();
@@ -158,20 +189,16 @@ add_full_recv_buffer(recvbuf_t *rb)
recvbuf_t *
get_free_recv_buffer(void)
{
- recvbuf_t * buffer = NULL;
+ recvbuf_t *buffer;
+
LOCK();
- buffer = ISC_LIST_HEAD(free_recv_list);
- if (buffer != NULL)
- {
- ISC_LIST_DEQUEUE(free_recv_list, buffer, link);
+ UNLINK_HEAD_SLIST(buffer, free_recv_list, link.next);
+ if (buffer != NULL) {
free_recvbufs--;
initialise_buffer(buffer);
(buffer->used)++;
- }
- else
- {
+ } else
buffer_shortfall++;
- }
UNLOCK();
return (buffer);
}
@@ -180,12 +207,14 @@ get_free_recv_buffer(void)
recvbuf_t *
get_free_recv_buffer_alloc(void)
{
- recvbuf_t * buffer = get_free_recv_buffer();
- if (buffer == NULL)
- {
+ recvbuf_t *buffer;
+
+ buffer = get_free_recv_buffer();
+ if (NULL == buffer) {
create_buffers(RECV_INC);
buffer = get_free_recv_buffer();
}
+ NTP_ENSURE(buffer != NULL);
return (buffer);
}
#endif
@@ -199,14 +228,13 @@ get_full_recv_buffer(void)
#ifdef HAVE_SIGNALED_IO
/*
* make sure there are free buffers when we
- * wander off to do lengthy paket processing with
+ * wander off to do lengthy packet processing with
* any buffer we grab from the full list.
*
* fixes malloc() interrupted by SIGIO risk
* (Bug 889)
*/
- rbuf = ISC_LIST_HEAD(free_recv_list);
- if (rbuf == NULL || buffer_shortfall > 0) {
+ if (NULL == free_recv_list || buffer_shortfall > 0) {
/*
* try to get us some more buffers
*/
@@ -218,18 +246,14 @@ get_full_recv_buffer(void)
* try to grab a full buffer
*/
rbuf = ISC_LIST_HEAD(full_recv_list);
- if (rbuf != NULL)
- {
- ISC_LIST_DEQUEUE(full_recv_list, rbuf, link);
+ if (rbuf != NULL) {
+ ISC_LIST_DEQUEUE_TYPE(full_recv_list, rbuf, link, recvbuf_t);
--full_recvbufs;
- }
- else
- {
+ } else
/*
* Make sure we reset the full count to 0
*/
full_recvbufs = 0;
- }
UNLOCK();
return (rbuf);
}
diff --git a/libntp/refnumtoa.c b/libntp/refnumtoa.c
index 7c5d96e1e222..c52bc28b6389 100644
--- a/libntp/refnumtoa.c
+++ b/libntp/refnumtoa.c
@@ -3,13 +3,13 @@
*/
#include <stdio.h>
-#include "ntp_fp.h"
+#include "ntp_net.h"
#include "lib_strbuf.h"
#include "ntp_stdlib.h"
char *
refnumtoa(
- struct sockaddr_storage* num
+ sockaddr_u *num
)
{
register u_int32 netnum;
@@ -18,19 +18,19 @@ refnumtoa(
LIB_GETBUF(buf);
- if(num->ss_family == AF_INET) {
- netnum = ntohl(((struct sockaddr_in*)num)->sin_addr.s_addr);
+ if (ISREFCLOCKADR(num)) {
+ netnum = SRCADR(num);
rclock = clockname((int)((u_long)netnum >> 8) & 0xff);
if (rclock != NULL)
- (void)sprintf(buf, "%s(%lu)", rclock, (u_long)netnum & 0xff);
+ snprintf(buf, LIB_BUFLENGTH, "%s(%lu)",
+ rclock, (u_long)netnum & 0xff);
else
- (void)sprintf(buf, "REFCLK(%lu,%lu)",
- ((u_long)netnum >> 8) & 0xff, (u_long)netnum & 0xff);
+ snprintf(buf, LIB_BUFLENGTH, "REFCLK(%lu,%lu)",
+ ((u_long)netnum >> 8) & 0xff,
+ (u_long)netnum & 0xff);
}
- else {
- (void)sprintf(buf, "refclock address type not implemented yet, use IPv4 refclock address.");
- }
+
return buf;
}
diff --git a/libntp/socktoa.c b/libntp/socktoa.c
index fb41b22a0c3f..62e4537266f0 100644
--- a/libntp/socktoa.c
+++ b/libntp/socktoa.c
@@ -2,11 +2,17 @@
* socktoa - return a numeric host name from a sockaddr_storage structure
*/
+#ifdef HAVE_CONFIG_H
#include <config.h>
+#endif
#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
+#endif
#include <arpa/inet.h>
@@ -23,34 +29,34 @@
char *
socktoa(
- struct sockaddr_storage* sock
+ const sockaddr_u *sock
)
{
register char *buffer;
LIB_GETBUF(buffer);
- if (sock == NULL)
- strcpy(buffer, "null");
- else
- {
+ if (NULL == sock)
+ strncpy(buffer, "(null)", LIB_BUFLENGTH);
+ else {
+ switch(AF(sock)) {
- switch(sock->ss_family) {
+ case AF_INET:
+ case AF_UNSPEC:
+ inet_ntop(AF_INET, PSOCK_ADDR4(sock), buffer,
+ LIB_BUFLENGTH);
+ break;
- default:
- case AF_INET :
- inet_ntop(AF_INET, &GET_INADDR(*sock), buffer,
- LIB_BUFLENGTH);
+ case AF_INET6:
+ inet_ntop(AF_INET6, PSOCK_ADDR6(sock), buffer,
+ LIB_BUFLENGTH);
break;
- case AF_INET6 :
- inet_ntop(AF_INET6, &GET_INADDR6(*sock), buffer,
- LIB_BUFLENGTH);
-#if 0
default:
- strcpy(buffer, "unknown");
-#endif
+ snprintf(buffer, LIB_BUFLENGTH,
+ "(socktoa unknown family %d)",
+ AF(sock));
}
}
- return buffer;
+ return buffer;
}
diff --git a/libntp/socktohost.c b/libntp/socktohost.c
index 7aafdc710dbd..05bbdd64344c 100644
--- a/libntp/socktohost.c
+++ b/libntp/socktohost.c
@@ -2,8 +2,12 @@
* socktoa - return a numeric host name from a sockaddr_storage structure
*/
#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
+#endif
#include <arpa/inet.h>
@@ -17,15 +21,15 @@
char *
socktohost(
- struct sockaddr_storage* sock
+ const sockaddr_u *sock
)
{
register char *buffer;
LIB_GETBUF(buffer);
- if (getnameinfo((struct sockaddr *)sock, SOCKLEN(sock), buffer,
- LIB_BUFLENGTH /* NI_MAXHOST*/, NULL, 0, 0))
+ if (getnameinfo(&sock->sa, SOCKLEN(sock), buffer,
+ LIB_BUFLENGTH, NULL, 0, 0))
return stoa(sock);
- return buffer;
+ return buffer;
}
diff --git a/libntp/ssl_init.c b/libntp/ssl_init.c
new file mode 100644
index 000000000000..9e11e5f2cc61
--- /dev/null
+++ b/libntp/ssl_init.c
@@ -0,0 +1,171 @@
+/*
+ * ssl_init.c Common OpenSSL initialization code for the various
+ * programs which use it.
+ *
+ * Moved from ntpd/ntp_crypto.c crypto_setup()
+ */
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include <ctype.h>
+#include <ntp.h>
+#include <ntp_debug.h>
+#include <lib_strbuf.h>
+
+#ifdef OPENSSL
+#include "openssl/err.h"
+#include "openssl/evp.h"
+
+
+int ssl_init_done;
+
+void
+ssl_init(void)
+{
+ if (ssl_init_done)
+ return;
+
+ ERR_load_crypto_strings();
+ OpenSSL_add_all_algorithms();
+
+ ssl_init_done = 1;
+}
+
+
+void
+ssl_check_version(void)
+{
+ if ((SSLeay() ^ OPENSSL_VERSION_NUMBER) & ~0xff0L) {
+ msyslog(LOG_WARNING,
+ "OpenSSL version mismatch. Built against %lx, you have %lx",
+ OPENSSL_VERSION_NUMBER, SSLeay());
+ fprintf(stderr,
+ "OpenSSL version mismatch. Built against %lx, you have %lx\n",
+ OPENSSL_VERSION_NUMBER, SSLeay());
+ }
+
+ INIT_SSL();
+}
+#endif /* OPENSSL */
+
+
+/*
+ * keytype_from_text returns OpenSSL NID for digest by name, and
+ * optionally the associated digest length.
+ *
+ * Used by ntpd authreadkeys(), ntpq and ntpdc keytype()
+ */
+int
+keytype_from_text(
+ const char *text,
+ size_t *pdigest_len
+ )
+{
+ const u_long max_digest_len = MAX_MAC_LEN - sizeof(keyid_t);
+ int key_type;
+ u_int digest_len;
+#ifdef OPENSSL
+ u_char digest[EVP_MAX_MD_SIZE];
+ char * upcased;
+ char * pch;
+ EVP_MD_CTX ctx;
+
+ /*
+ * OpenSSL digest short names are capitalized, so uppercase the
+ * digest name before passing to OBJ_sn2nid(). If it is not
+ * recognized but begins with 'M' use NID_md5 to be consistent
+ * with past behavior.
+ */
+ INIT_SSL();
+ LIB_GETBUF(upcased);
+ strncpy(upcased, text, LIB_BUFLENGTH);
+ for (pch = upcased; '\0' != *pch; pch++)
+ *pch = (char)toupper(*pch);
+ key_type = OBJ_sn2nid(upcased);
+#else
+ key_type = 0;
+#endif
+
+ if (!key_type && 'm' == tolower(text[0]))
+ key_type = NID_md5;
+
+ if (!key_type)
+ return 0;
+
+ if (NULL != pdigest_len) {
+#ifdef OPENSSL
+ EVP_DigestInit(&ctx, EVP_get_digestbynid(key_type));
+ EVP_DigestFinal(&ctx, digest, &digest_len);
+ if (digest_len + sizeof(keyid_t) > MAX_MAC_LEN) {
+ fprintf(stderr,
+ "key type %s %u octet digests are too big, max %lu\n",
+ keytype_name(key_type), digest_len,
+ max_digest_len);
+ msyslog(LOG_ERR,
+ "key type %s %u octet digests are too big, max %lu\n",
+ keytype_name(key_type), digest_len,
+ max_digest_len);
+ return 0;
+ }
+#else
+ digest_len = 16;
+#endif
+ *pdigest_len = digest_len;
+ }
+
+ return key_type;
+}
+
+
+/*
+ * keytype_name returns OpenSSL short name for digest by NID.
+ *
+ * Used by ntpq and ntpdc keytype()
+ */
+const char *
+keytype_name(
+ int nid
+ )
+{
+ static const char unknown_type[] = "(unknown key type)";
+ const char *name;
+
+#ifdef OPENSSL
+ INIT_SSL();
+ name = OBJ_nid2sn(nid);
+ if (NULL == name)
+ name = unknown_type;
+#else /* !OPENSSL follows */
+ if (NID_md5 == nid)
+ name = "MD5";
+ else
+ name = unknown_type;
+#endif
+ return name;
+}
+
+
+/*
+ * Use getpassphrase() if configure.ac detected it, as Suns that
+ * have it truncate the password in getpass() to 8 characters.
+ */
+#ifdef HAVE_GETPASSPHRASE
+# define getpass(str) getpassphrase(str)
+#endif
+
+/*
+ * getpass_keytype() -- shared between ntpq and ntpdc, only vaguely
+ * related to the rest of ssl_init.c.
+ */
+char *
+getpass_keytype(
+ int keytype
+ )
+{
+ char pass_prompt[64 + 11 + 1]; /* 11 for " Password: " */
+
+ snprintf(pass_prompt, sizeof(pass_prompt),
+ "%.64s Password: ", keytype_name(keytype));
+
+ return getpass(pass_prompt);
+}
diff --git a/libntp/statestr.c b/libntp/statestr.c
index 85552b3ab0d6..a143fcd3fc9c 100644
--- a/libntp/statestr.c
+++ b/libntp/statestr.c
@@ -22,105 +22,143 @@ struct codestring {
};
/*
- * Leap values
+ * Leap status (leap)
*/
static
struct codestring leap_codes[] = {
{ LEAP_NOWARNING, "leap_none" },
{ LEAP_ADDSECOND, "leap_add_sec" },
{ LEAP_DELSECOND, "leap_del_sec" },
- { LEAP_NOTINSYNC, "sync_alarm" },
- { -1, "leap" }
+ { LEAP_NOTINSYNC, "leap_alarm" },
+ { -1, "leap" }
};
/*
- * Clock source
+ * Clock source status (sync)
*/
static
struct codestring sync_codes[] = {
{ CTL_SST_TS_UNSPEC, "sync_unspec" },
- { CTL_SST_TS_ATOM, "sync_atomic" },
- { CTL_SST_TS_LF, "sync_lf_clock" },
- { CTL_SST_TS_HF, "sync_hf_clock" },
- { CTL_SST_TS_UHF, "sync_uhf_clock" },
- { CTL_SST_TS_LOCAL, "sync_local_proto" },
+ { CTL_SST_TS_ATOM, "sync_pps" },
+ { CTL_SST_TS_LF, "sync_lf_radio" },
+ { CTL_SST_TS_HF, "sync_hf_radio" },
+ { CTL_SST_TS_UHF, "sync_uhf_radio" },
+ { CTL_SST_TS_LOCAL, "sync_local" },
{ CTL_SST_TS_NTP, "sync_ntp" },
- { CTL_SST_TS_UDPTIME, "sync_udp/time" },
+ { CTL_SST_TS_UDPTIME, "sync_other" },
{ CTL_SST_TS_WRSTWTCH, "sync_wristwatch" },
{ CTL_SST_TS_TELEPHONE, "sync_telephone" },
{ -1, "sync" }
};
-
/*
- * Peer selection
+ * Peer selection status (sel)
*/
static
struct codestring select_codes[] = {
- { CTL_PST_SEL_REJECT, "selreject" },
+ { CTL_PST_SEL_REJECT, "sel_reject" },
{ CTL_PST_SEL_SANE, "sel_falsetick" },
{ CTL_PST_SEL_CORRECT, "sel_excess" },
{ CTL_PST_SEL_SELCAND, "sel_outlyer" },
- { CTL_PST_SEL_SYNCCAND, "sel_candidat" },
- { CTL_PST_SEL_DISTSYSPEER, "sel_selected" },
+ { CTL_PST_SEL_SYNCCAND, "sel_candidate" },
+ { CTL_PST_SEL_EXCESS, "sel_backup" },
{ CTL_PST_SEL_SYSPEER, "sel_sys.peer" },
{ CTL_PST_SEL_PPS, "sel_pps.peer" },
{ -1, "sel" }
};
-
/*
- * Clock status
+ * Clock status (clk)
*/
static
struct codestring clock_codes[] = {
- { CTL_CLK_OKAY, "clk_okay" },
- { CTL_CLK_NOREPLY, "clk_noreply" },
- { CTL_CLK_BADFORMAT, "clk_badformat" },
+ { CTL_CLK_OKAY, "clk_unspec" },
+ { CTL_CLK_NOREPLY, "clk_no_reply" },
+ { CTL_CLK_BADFORMAT, "clk_bad_format" },
{ CTL_CLK_FAULT, "clk_fault" },
- { CTL_CLK_PROPAGATION, "clk_badsignal" },
- { CTL_CLK_BADDATE, "clk_baddate" },
- { CTL_CLK_BADTIME, "clk_badtime" },
+ { CTL_CLK_PROPAGATION, "clk_bad_signal" },
+ { CTL_CLK_BADDATE, "clk_bad_date" },
+ { CTL_CLK_BADTIME, "clk_bad_time" },
{ -1, "clk" }
};
+#ifdef FLASH_CODES_UNUSED
+/*
+ * Flash bits -- see ntpq.c tstflags & tstflagnames
+ */
+static
+struct codestring flash_codes[] = {
+ { TEST1, "pkt_dup" },
+ { TEST2, "pkt_bogus" },
+ { TEST3, "pkt_unsync" },
+ { TEST4, "pkt_denied" },
+ { TEST5, "pkt_auth" },
+ { TEST6, "pkt_stratum" },
+ { TEST7, "pkt_header" },
+ { TEST8, "pkt_autokey" },
+ { TEST9, "pkt_crypto" },
+ { TEST10, "peer_stratum" },
+ { TEST11, "peer_dist" },
+ { TEST12, "peer_loop" },
+ { TEST13, "peer_unreach" },
+ { -1, "flash" }
+};
+#endif
+
+
/*
- * System Events
+ * System events (sys)
*/
static
struct codestring sys_codes[] = {
- { EVNT_UNSPEC, "event_unspec" },
- { EVNT_SYSRESTART, "event_restart" },
- { EVNT_SYSFAULT, "event_fault" },
- { EVNT_SYNCCHG, "event_sync_chg" },
- { EVNT_PEERSTCHG, "event_peer/strat_chg" },
- { EVNT_CLOCKRESET, "event_clock_reset" },
- { EVNT_BADDATETIM, "event_bad_date" },
- { EVNT_CLOCKEXCPT, "event_clock_excptn" },
- { -1, "event" }
+ { EVNT_UNSPEC, "unspecified" },
+ { EVNT_NSET, "freq_not_set" },
+ { EVNT_FSET, "freq_set" },
+ { EVNT_SPIK, "spike_detect" },
+ { EVNT_FREQ, "freq_mode" },
+ { EVNT_SYNC, "clock_sync" },
+ { EVNT_SYSRESTART, "restart" },
+ { EVNT_SYSFAULT, "panic_stop" },
+ { EVNT_NOPEER, "no_sys_peer" },
+ { EVNT_ARMED, "leap_armed" },
+ { EVNT_DISARMED, "leap_disarmed" },
+ { EVNT_LEAP, "leap_event" },
+ { EVNT_CLOCKRESET, "clock_step" },
+ { EVNT_KERN, "kern" },
+ { EVNT_TAI, "TAI" },
+ { EVNT_LEAPVAL, "stale_leapsecond_values" },
+ { EVNT_CLKHOP, "clockhop" },
+ { -1, "" }
};
/*
- * Peer events
+ * Peer events (peer)
*/
static
struct codestring peer_codes[] = {
- { EVNT_UNSPEC, "event_unspec" },
- { EVNT_PEERIPERR & ~PEER_EVENT, "event_ip_err" },
- { EVNT_PEERAUTH & ~PEER_EVENT, "event_authen" },
- { EVNT_UNREACH & ~PEER_EVENT, "event_unreach" },
- { EVNT_REACH & ~PEER_EVENT, "event_reach" },
- { EVNT_PEERCLOCK & ~PEER_EVENT, "event_peer_clock" },
-#if 0
- { EVNT_PEERSTRAT & ~PEER_EVENT, "event_stratum_chg" },
-#endif
- { -1, "event" }
+ { PEVNT_MOBIL & ~PEER_EVENT, "mobilize" },
+ { PEVNT_DEMOBIL & ~PEER_EVENT, "demobilize" },
+ { PEVNT_UNREACH & ~PEER_EVENT, "unreachable" },
+ { PEVNT_REACH & ~PEER_EVENT, "reachable" },
+ { PEVNT_RESTART & ~PEER_EVENT, "restart" },
+ { PEVNT_REPLY & ~PEER_EVENT, "no_reply" },
+ { PEVNT_RATE & ~PEER_EVENT, "rate_exceeded" },
+ { PEVNT_DENY & ~PEER_EVENT, "access_denied" },
+ { PEVNT_ARMED & ~PEER_EVENT, "leap_armed" },
+ { PEVNT_NEWPEER & ~PEER_EVENT, "sys_peer" },
+ { PEVNT_CLOCK & ~PEER_EVENT, "clock_event" },
+ { PEVNT_AUTH & ~PEER_EVENT, "bad_auth" },
+ { PEVNT_POPCORN & ~PEER_EVENT, "popcorn" },
+ { PEVNT_XLEAVE & ~PEER_EVENT, "interleave_mode" },
+ { PEVNT_XERR & ~PEER_EVENT, "interleave_error" },
+ { PEVNT_TAI & ~PEER_EVENT, "TAI" },
+ { -1, "" }
};
#ifdef OPENSSL
/*
- * Crypto events
+ * Crypto events (cryp)
*/
static
struct codestring crypto_codes[] = {
@@ -134,20 +172,19 @@ struct codestring crypto_codes[] = {
{ XEVNT_SGL & ~CRPT_EVENT, "bad_signature_length" },
{ XEVNT_SIG & ~CRPT_EVENT, "signature_not_verified" },
{ XEVNT_VFY & ~CRPT_EVENT, "certificate_not_verified" },
- { XEVNT_PER & ~CRPT_EVENT, "host certificate_expired" },
+ { XEVNT_PER & ~CRPT_EVENT, "host_certificate_expired" },
{ XEVNT_CKY & ~CRPT_EVENT, "bad_or_missing_cookie" },
- { XEVNT_DAT & ~CRPT_EVENT, "bad_or_missing_leapsecond_table" },
+ { XEVNT_DAT & ~CRPT_EVENT, "bad_or_missing_leapseconds" },
{ XEVNT_CRT & ~CRPT_EVENT, "bad_or_missing_certificate" },
- { XEVNT_ID & ~CRPT_EVENT, "bad_or_missing_group_key" },
+ { XEVNT_ID & ~CRPT_EVENT, "bad_or_missing_group key" },
{ XEVNT_ERR & ~CRPT_EVENT, "protocol_error" },
- { XEVNT_SRV & ~CRPT_EVENT, "server certificate expired" },
- { -1, "crypto" }
+ { -1, "" }
};
#endif /* OPENSSL */
/* Forwards */
-static const char *getcode P((int, struct codestring *));
-static const char *getevents P((int));
+static const char *getcode (int, struct codestring *);
+static const char *getevents (int);
/*
* getcode - return string corresponding to code
@@ -162,10 +199,10 @@ getcode(
while (codetab->code != -1) {
if (codetab->code == code)
- return codetab->string;
+ return codetab->string;
codetab++;
}
- (void) sprintf(buf, "%s_%d", codetab->string, code);
+ snprintf(buf, sizeof(buf), "%s_%d", codetab->string, code);
return buf;
}
@@ -180,8 +217,9 @@ getevents(
static char buf[20];
if (cnt == 0)
- return "no events";
- (void) sprintf(buf, "%d event%s", cnt, (cnt==1) ? "" : "s");
+ return "no events";
+ snprintf(buf, sizeof(buf), "%d event%s", cnt, (cnt==1) ? "" :
+ "s");
return buf;
}
@@ -201,57 +239,69 @@ statustoa(
switch (type) {
case TYPE_SYS:
- (void)strcpy(cb, getcode(CTL_SYS_LI(st), leap_codes));
- (void)strcat(cb, ", ");
- (void)strcat(cb, getcode(CTL_SYS_SOURCE(st) & ~CTL_SST_TS_PPS, sync_codes));
- if (CTL_SYS_SOURCE(st) & CTL_SST_TS_PPS)
- (void)strcat(cb, "/PPS");
- (void)strcat(cb, ", ");
- (void)strcat(cb, getevents(CTL_SYS_NEVNT(st)));
- (void)strcat(cb, ", ");
- (void)strcat(cb, getcode(CTL_SYS_EVENT(st), sys_codes));
+ strcpy(cb, getcode(CTL_SYS_LI(st), leap_codes));
+ strcat(cb, ", ");
+ strcat(cb, getcode(CTL_SYS_SOURCE(st), sync_codes));
+ strcat(cb, ", ");
+ strcat(cb, getevents(CTL_SYS_NEVNT(st)));
+ strcat(cb, ", ");
+ strcat(cb, getcode(CTL_SYS_EVENT(st), sys_codes));
break;
case TYPE_PEER:
+
/*
* Handcraft the bits
*/
pst = (u_char) CTL_PEER_STATVAL(st);
- if (!(pst & CTL_PST_REACH)) {
- (void)strcpy(cb, "unreach");
- } else {
- (void)strcpy(cb, "reach");
-
- }
if (pst & CTL_PST_CONFIG)
- (void)strcat(cb, ", conf");
+ strcpy(cb, "conf");
if (pst & CTL_PST_AUTHENABLE) {
- if (!(pst & CTL_PST_REACH) || (pst & CTL_PST_AUTHENTIC))
- (void)strcat(cb, ", auth");
+ if (pst & CTL_PST_CONFIG)
+ strcat(cb, ", authenb");
else
- (void)strcat(cb, ", unauth");
+ strcat(cb, "authenb");
+ }
+ if (pst & CTL_PST_AUTHENTIC) {
+ if (pst & (CTL_PST_CONFIG | CTL_PST_AUTHENABLE))
+ strcat(cb, ", auth");
+ else
+ strcat(cb, "auth");
+ }
+ if (pst & CTL_PST_REACH) {
+ if (pst & (CTL_PST_CONFIG | CTL_PST_AUTHENABLE |
+ CTL_PST_AUTHENTIC))
+ strcat(cb, ", reach");
+ else
+ strcat(cb, "reach");
+ }
+ if (pst & CTL_PST_BCAST) {
+ if (pst & (CTL_PST_CONFIG | CTL_PST_AUTHENABLE |
+ CTL_PST_AUTHENTIC | CTL_PST_REACH))
+ strcat(cb, ", bcst");
+ else
+ strcat(cb, "bcst");
}
/*
* Now the codes
*/
- if ((pst & 0x7) != CTL_PST_SEL_REJECT) {
- (void)strcat(cb, ", ");
- (void)strcat(cb, getcode(pst & 0x7, select_codes));
- }
- (void)strcat(cb, ", ");
- (void)strcat(cb, getevents(CTL_PEER_NEVNT(st)));
+ strcat(cb, ", ");
+ strcat(cb, getcode(pst & 0x7, select_codes));
+ strcat(cb, ", ");
+ strcat(cb, getevents(CTL_PEER_NEVNT(st)));
if (CTL_PEER_EVENT(st) != EVNT_UNSPEC) {
- (void)strcat(cb, ", ");
- (void)strcat(cb, getcode(CTL_PEER_EVENT(st),
- peer_codes));
+ strcat(cb, ", ");
+ strcat(cb, getcode(CTL_PEER_EVENT(st),
+ peer_codes));
}
break;
case TYPE_CLOCK:
- (void)strcpy(cb, getcode(((st)>>8) & 0xff, clock_codes));
- (void)strcat(cb, ", last_");
- (void)strcat(cb, getcode((st) & 0xff, clock_codes));
+ strcat(cb, ", ");
+ strcat(cb, getevents(CTL_SYS_NEVNT(st)));
+ strcat(cb, ", ");
+ strcat(cb, getcode((st) & 0xf, clock_codes));
break;
}
return cb;
@@ -279,27 +329,3 @@ ceventstr(
{
return getcode(num, clock_codes);
}
-
-const char *
-sysstatstr(
- int status
- )
-{
- return statustoa(TYPE_SYS, status);
-}
-
-const char *
-peerstatstr(
- int status
- )
-{
- return statustoa(TYPE_PEER, status);
-}
-
-const char *
-clockstatstr(
- int status
- )
-{
- return statustoa(TYPE_CLOCK, status);
-}
diff --git a/libntp/strdup.c b/libntp/strdup.c
index 2e26ba7a51e4..f7565a2fb8f7 100644
--- a/libntp/strdup.c
+++ b/libntp/strdup.c
@@ -1,8 +1,9 @@
-#include "ntp_malloc.h"
+#include <config.h>
-#if !HAVE_STRDUP
+#include <string.h>
+#include "ntp_malloc.h"
-#define NULL 0
+#ifndef HAVE_STRDUP
char *strdup(const char *s);
@@ -11,18 +12,19 @@ strdup(
const char *s
)
{
- char *cp;
+ size_t octets;
+ char * cp;
+
+ if (s) {
+ octets = 1 + strlen(s);
+ cp = malloc(octets);
+ if (NULL != cp)
+ memcpy(cp, s, octets);
+ else
+ cp = NULL;
- if (s) {
- cp = (char *) malloc((unsigned) (strlen(s)+1));
- if (cp) {
- (void) strcpy(cp, s);
- }
- } else {
- cp = (char *) NULL;
- }
- return(cp);
+ return(cp);
}
#else
-int strdup_bs;
+int strdup_c_nonempty_compilation_unit;
#endif
diff --git a/libntp/syssignal.c b/libntp/syssignal.c
index 6ec4c4c16c54..68099f5fb3f2 100644
--- a/libntp/syssignal.c
+++ b/libntp/syssignal.c
@@ -23,7 +23,7 @@ signal_no_reset(
#if defined(__STDC__) || defined(HAVE_STDARG_H)
#else
int sig;
- void (*func) P((int));
+ void (*func) (int);
#endif
{
int n;
diff --git a/libntp/systime.c b/libntp/systime.c
index 4539b5fec3ce..0dbf38968c72 100644
--- a/libntp/systime.c
+++ b/libntp/systime.c
@@ -12,10 +12,6 @@
#include "ntp_random.h"
#include "ntpd.h" /* for sys_precision */
-#ifdef SIM
-# include "ntpsim.h"
-#endif /*SIM */
-
#ifdef HAVE_SYS_PARAM_H
# include <sys/param.h>
#endif
@@ -26,24 +22,33 @@
# include <utmpx.h>
#endif /* HAVE_UTMPX_H */
+
+#define FUZZ 500e-6 /* fuzz pivot */
+
/*
* These routines (get_systime, step_systime, adj_systime) implement an
* interface between the system independent NTP clock and the Unix
- * system clock in various architectures and operating systems.
+ * system clock in various architectures and operating systems. Time is
+ * a precious quantity in these routines and every effort is made to
+ * minimize errors by unbiased rounding and amortizing adjustment
+ * residues.
+ *
+ * In order to improve the apparent resolution, provide unbiased
+ * rounding and insure that the readings cannot be predicted, the low-
+ * order unused portion of the time below the resolution limit is filled
+ * with an unbiased random fuzz.
*
- * Time is a precious quantity in these routines and every effort is
- * made to minimize errors by always rounding toward zero and amortizing
- * adjustment residues. By default the adjustment quantum is 1 us for
- * the usual Unix tickadj() system call, but this can be increased if
- * necessary by the tick configuration command. For instance, when the
- * adjtime() quantum is a clock tick for a 100-Hz clock, the quantum
- * should be 10 ms.
+ * The sys_tick variable secifies the system clock tick interval in
+ * seconds. For systems that can interpolate between timer interrupts,
+ * the resolution is presumed much less than the time to read the system
+ * clock, which is the value of sys_tick after the precision has been
+ * determined. For those systems that cannot interpolate between timer
+ * interrupts, sys_tick will be much larger in the order of 10 ms, so the
+ * fuzz should be that value. For Sunses the tick is not interpolated, but
+ * the system clock is derived from a 2-MHz oscillator, so the resolution
+ * is 500 ns and sys_tick is 500 ns.
*/
-#if defined RELIANTUNIX_CLOCK || defined SCO5_CLOCK
-double sys_tick = 10e-3; /* 10 ms tickadj() */
-#else
-double sys_tick = 1e-6; /* 1 us tickadj() */
-#endif
+double sys_tick = 0; /* precision (time to read the clock) */
double sys_residual = 0; /* adjustment residue (s) */
#ifndef SIM
@@ -56,59 +61,61 @@ get_systime(
l_fp *now /* system time */
)
{
- double dtemp;
+ double dtemp;
#if defined(HAVE_CLOCK_GETTIME) || defined(HAVE_GETCLOCK)
struct timespec ts; /* seconds and nanoseconds */
/*
- * Convert Unix clock from seconds and nanoseconds to seconds.
- * The bottom is only two bits down, so no need for fuzz.
- * Some systems don't have that level of precision, however...
+ * Convert Unix timespec from seconds and nanoseconds to NTP
+ * seconds and fraction.
*/
# ifdef HAVE_CLOCK_GETTIME
clock_gettime(CLOCK_REALTIME, &ts);
# else
getclock(TIMEOFDAY, &ts);
# endif
- now->l_i = ts.tv_sec + JAN_1970;
- dtemp = ts.tv_nsec / 1e9;
+ now->l_i = (int32)ts.tv_sec + JAN_1970;
+ dtemp = 0;
+ if (sys_tick > FUZZ)
+ dtemp = ntp_random() * 2. / FRAC * sys_tick * 1e9;
+ else if (sys_tick > 0)
+ dtemp = ntp_random() * 2. / FRAC;
+ dtemp = (ts.tv_nsec + dtemp) * 1e-9;
+ if (dtemp >= 1.) {
+ dtemp -= 1.;
+ now->l_i++;
+ } else if (dtemp < 0) {
+ dtemp += 1.;
+ now->l_i--;
+ }
+ now->l_uf = (u_int32)(dtemp * FRAC);
#else /* HAVE_CLOCK_GETTIME || HAVE_GETCLOCK */
struct timeval tv; /* seconds and microseconds */
/*
- * Convert Unix clock from seconds and microseconds to seconds.
- * Add in unbiased random fuzz beneath the microsecond.
+ * Convert Unix timeval from seconds and microseconds to NTP
+ * seconds and fraction.
*/
GETTIMEOFDAY(&tv, NULL);
now->l_i = tv.tv_sec + JAN_1970;
- dtemp = tv.tv_usec / 1e6;
-
-#endif /* HAVE_CLOCK_GETTIME || HAVE_GETCLOCK */
-
- /*
- * ntp_random() produces 31 bits (always nonnegative).
- * This bit is done only after the precision has been
- * determined.
- */
- if (sys_precision != 0)
- dtemp += (ntp_random() / FRAC - .5) / (1 <<
- -sys_precision);
-
- /*
- * Renormalize to seconds past 1900 and fraction.
- */
- dtemp += sys_residual;
- if (dtemp >= 1) {
- dtemp -= 1;
+ dtemp = 0;
+ if (sys_tick > FUZZ)
+ dtemp = ntp_random() * 2. / FRAC * sys_tick * 1e6;
+ else if (sys_tick > 0)
+ dtemp = ntp_random() * 2. / FRAC;
+ dtemp = (tv.tv_usec + dtemp) * 1e-6;
+ if (dtemp >= 1.) {
+ dtemp -= 1.;
now->l_i++;
} else if (dtemp < 0) {
- dtemp += 1;
+ dtemp += 1.;
now->l_i--;
}
- dtemp *= FRAC;
- now->l_uf = (u_int32)dtemp;
+ now->l_uf = (u_int32)(dtemp * FRAC);
+
+#endif /* HAVE_CLOCK_GETTIME || HAVE_GETCLOCK */
}
@@ -363,180 +370,11 @@ step_systime(
/*
* Clock routines for the simulator - Harish Nair, with help
*/
-/*
- * get_systime - return the system time in NTP timestamp format
- */
-void
-get_systime(
- l_fp *now /* current system time in l_fp */ )
-{
- /*
- * To fool the code that determines the local clock precision,
- * we advance the clock a minimum of 200 nanoseconds on every
- * clock read. This is appropriate for a typical modern machine
- * with nanosecond clocks. Note we make no attempt here to
- * simulate reading error, since the error is so small. This may
- * change when the need comes to implement picosecond clocks.
- */
- if (ntp_node.ntp_time == ntp_node.last_time)
- ntp_node.ntp_time += 200e-9;
- ntp_node.last_time = ntp_node.ntp_time;
- DTOLFP(ntp_node.ntp_time, now);
-}
-
-
-/*
- * adj_systime - advance or retard the system clock exactly like the
- * real thng.
- */
-int /* always succeeds */
-adj_systime(
- double now /* time adjustment (s) */
- )
-{
- struct timeval adjtv; /* new adjustment */
- double dtemp;
- long ticks;
- int isneg = 0;
-
- /*
- * Most Unix adjtime() implementations adjust the system clock
- * in microsecond quanta, but some adjust in 10-ms quanta. We
- * carefully round the adjustment to the nearest quantum, then
- * adjust in quanta and keep the residue for later.
- */
- dtemp = now + sys_residual;
- if (dtemp < 0) {
- isneg = 1;
- dtemp = -dtemp;
- }
- adjtv.tv_sec = (long)dtemp;
- dtemp -= adjtv.tv_sec;
- ticks = (long)(dtemp / sys_tick + .5);
- adjtv.tv_usec = (long)(ticks * sys_tick * 1e6);
- dtemp -= adjtv.tv_usec / 1e6;
- sys_residual = dtemp;
-
- /*
- * Convert to signed seconds and microseconds for the Unix
- * adjtime() system call. Note we purposely lose the adjtime()
- * leftover.
- */
- if (isneg) {
- adjtv.tv_sec = -adjtv.tv_sec;
- adjtv.tv_usec = -adjtv.tv_usec;
- sys_residual = -sys_residual;
- }
- ntp_node.adj = now;
- return (1);
-}
-
-
-/*
- * step_systime - step the system clock. We are religious here.
- */
-int /* always succeeds */
-step_systime(
- double now /* step adjustment (s) */
- )
-{
-#ifdef DEBUG
- if (debug)
- printf("step_systime: time %.6f adj %.6f\n",
- ntp_node.ntp_time, now);
-#endif
- ntp_node.ntp_time += now;
- return (1);
-}
-
-/*
- * node_clock - update the clocks
- */
-int /* always succeeds */
-node_clock(
- Node *n, /* global node pointer */
- double t /* node time */
- )
-{
- double dtemp;
-
- /*
- * Advance client clock (ntp_time). Advance server clock
- * (clk_time) adjusted for systematic and random frequency
- * errors. The random error is a random walk computed as the
- * integral of samples from a Gaussian distribution.
- */
- dtemp = t - n->ntp_time;
- n->time = t;
- n->ntp_time += dtemp;
- n->ferr += gauss(0, dtemp * n->fnse);
- n->clk_time += dtemp * (1 + n->ferr);
-
- /*
- * Perform the adjtime() function. If the adjustment completed
- * in the previous interval, amortize the entire amount; if not,
- * carry the leftover to the next interval.
- */
- dtemp *= n->slew;
- if (dtemp < fabs(n->adj)) {
- if (n->adj < 0) {
- n->adj += dtemp;
- n->ntp_time -= dtemp;
- } else {
- n->adj -= dtemp;
- n->ntp_time += dtemp;
- }
- } else {
- n->ntp_time += n->adj;
- n->adj = 0;
- }
- return (0);
-}
-
-
-/*
- * gauss() - returns samples from a gaussion distribution
- */
-double /* Gaussian sample */
-gauss(
- double m, /* sample mean */
- double s /* sample standard deviation (sigma) */
- )
-{
- double q1, q2;
- /*
- * Roll a sample from a Gaussian distribution with mean m and
- * standard deviation s. For m = 0, s = 1, mean(y) = 0,
- * std(y) = 1.
- */
- if (s == 0)
- return (m);
- while ((q1 = drand48()) == 0);
- q2 = drand48();
- return (m + s * sqrt(-2. * log(q1)) * cos(2. * PI * q2));
-}
-
-/*
- * poisson() - returns samples from a network delay distribution
+/* SK:
+ * The code that used to be here has been moved to ntpsim.c,
+ * where, IMHO, it rightfully belonged.
*/
-double /* delay sample (s) */
-poisson(
- double m, /* fixed propagation delay (s) */
- double s /* exponential parameter (mu) */
- )
-{
- double q1;
- /*
- * Roll a sample from a composite distribution with propagation
- * delay m and exponential distribution time with parameter s.
- * For m = 0, s = 1, mean(y) = std(y) = 1.
- */
- if (s == 0)
- return (m);
- while ((q1 = drand48()) == 0);
- return (m - s * log(q1 * s));
-}
-#endif /* SIM */
+#endif
diff --git a/libntp/tvtoa.c b/libntp/tvtoa.c
deleted file mode 100644
index 19d4a94ed1d5..000000000000
--- a/libntp/tvtoa.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * tvtoa - return an asciized representation of a struct timeval
- */
-
-#include "lib_strbuf.h"
-
-#if defined(VMS)
-# include "ntp_fp.h"
-#endif /* VMS */
-#include "ntp_stdlib.h"
-#include "ntp_unixtime.h"
-
-#include <stdio.h>
-
-char *
-tvtoa(
- const struct timeval *tv
- )
-{
- register char *buf;
- register u_long sec;
- register u_long usec;
- register int isneg;
-
- if (tv->tv_sec < 0 || tv->tv_usec < 0) {
- sec = -tv->tv_sec;
- usec = -tv->tv_usec;
- isneg = 1;
- } else {
- sec = tv->tv_sec;
- usec = tv->tv_usec;
- isneg = 0;
- }
-
- LIB_GETBUF(buf);
-
- (void) sprintf(buf, "%s%lu.%06lu", (isneg?"-":""), sec, usec);
- return buf;
-}
diff --git a/libntp/uglydate.c b/libntp/uglydate.c
index 676a5fdde786..b2da9c0a6c39 100644
--- a/libntp/uglydate.c
+++ b/libntp/uglydate.c
@@ -41,8 +41,10 @@ uglydate(
while (year >= 100)
year -= 100;
}
- (void) sprintf(bp, "%17s %02d:%03d:%02d:%02d:%02d.%03ld",
- timep, year, tm->tm_yday, tm->tm_hour, tm->tm_min,
- tm->tm_sec, msec);
+ snprintf(bp, LIB_BUFLENGTH,
+ "%17s %02d:%03d:%02d:%02d:%02d.%03ld", timep, year,
+ tm->tm_yday, tm->tm_hour, tm->tm_min, tm->tm_sec,
+ msec);
+
return bp;
}
diff --git a/libntp/uinttoa.c b/libntp/uinttoa.c
index be48ea5146a6..ab63926cdc79 100644
--- a/libntp/uinttoa.c
+++ b/libntp/uinttoa.c
@@ -14,7 +14,7 @@ uinttoa(
register char *buf;
LIB_GETBUF(buf);
+ snprintf(buf, LIB_BUFLENGTH, "%lu", uval);
- (void) sprintf(buf, "%lu", (u_long)uval);
return buf;
}
diff --git a/libntp/utvtoa.c b/libntp/utvtoa.c
deleted file mode 100644
index a441c4910ffb..000000000000
--- a/libntp/utvtoa.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * utvtoa - return an asciized representation of an unsigned struct timeval
- */
-#include <stdio.h>
-
-#include "lib_strbuf.h"
-
-#if defined(VMS)
-# include "ntp_fp.h"
-#endif
-#include "ntp_stdlib.h"
-#include "ntp_unixtime.h"
-
-char *
-utvtoa(
- const struct timeval *tv
- )
-{
- register char *buf;
-
- LIB_GETBUF(buf);
-
- (void) sprintf(buf, "%lu.%06lu", (u_long)tv->tv_sec,
- (u_long)tv->tv_usec);
- return buf;
-}