From: Johannes Maximilian Kuehn Date: Tue, 8 Jul 2008 20:14:24 +0000 (+0900) Subject: ignore: X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dbd177d9745630e7d12ccec143bfd99300ab11ea;p=thirdparty%2Fntp.git ignore: added config.guess config.h config.h.in config.log config.status config.sub Makefile.in: BitKeeper file /geom_mobile/home/Amidamaru/projects/sntp/repo/gsoc_sntp/Makefile.in netutils.c: BitKeeper file /geom_mobile/home/Amidamaru/projects/sntp/repo/gsoc_sntp/netutils.c header.h: BitKeeper file /geom_mobile/home/Amidamaru/projects/sntp/repo/gsoc_sntp/header.h sntp-opts.def: BitKeeper file /geom_mobile/home/Amidamaru/projects/sntp/repo/gsoc_sntp/sntp-opts.def netutils.h: BitKeeper file /geom_mobile/home/Amidamaru/projects/sntp/repo/gsoc_sntp/netutils.h kod_management.h: BitKeeper file /geom_mobile/home/Amidamaru/projects/sntp/repo/gsoc_sntp/kod_management.h ignore: added aclocal.m4 kod_management.c: BitKeeper file /geom_mobile/home/Amidamaru/projects/sntp/repo/gsoc_sntp/kod_management.c Makefile: BitKeeper file /geom_mobile/home/Amidamaru/projects/sntp/repo/gsoc_sntp/Makefile ignore: added config.h main.c: BitKeeper file /geom_mobile/home/Amidamaru/projects/sntp/repo/gsoc_sntp/main.c ignore: added test.kod log.c: BitKeeper file /geom_mobile/home/Amidamaru/projects/sntp/repo/gsoc_sntp/log.c data_formats.h: BitKeeper file /geom_mobile/home/Amidamaru/projects/sntp/repo/gsoc_sntp/data_formats.h log.h: BitKeeper file /geom_mobile/home/Amidamaru/projects/sntp/repo/gsoc_sntp/log.h Makefile.am: BitKeeper file /geom_mobile/home/Amidamaru/projects/sntp/repo/gsoc_sntp/Makefile.am bk: 4873caa0Urp2lTX0OmWgU1VH1vpv2g --- diff --git a/gsoc_sntp/Makefile b/gsoc_sntp/Makefile new file mode 100644 index 0000000000..e442e6c551 --- /dev/null +++ b/gsoc_sntp/Makefile @@ -0,0 +1,694 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +# Makefile.am, by Harlan Stenn, from: +# Makefile for sntp +# N.M. Maclaren, October 2000. + +# we traditionally installed software in bindir, while it should have gone +# in sbindir. Now that we offer a choice, look in the "other" installation +# subdir to warn folks if there is another version there. + + +pkgdatadir = $(datadir)/msntp +pkglibdir = $(libdir)/msntp +pkgincludedir = $(includedir)/msntp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i386-unknown-freebsd7.0 +host_triplet = i386-unknown-freebsd7.0 +bin_PROGRAMS = sntp$(EXEEXT) +DIST_COMMON = $(am__configure_deps) $(srcdir)/../config.guess \ + $(srcdir)/../config.sub $(srcdir)/../depcomp \ + $(srcdir)/../install-sh $(srcdir)/../ltmain.sh \ + $(srcdir)/../missing $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/bincheck.mf \ + $(srcdir)/config.h.in $(top_srcdir)/configure config.guess \ + config.sub +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am__objects_1 = +am_sntp_OBJECTS = networking.$(OBJEXT) main.$(OBJEXT) $(am__objects_1) +sntp_OBJECTS = $(am_sntp_OBJECTS) +sntp_LDADD = $(LDADD) +sntp_DEPENDENCIES = +DEFAULT_INCLUDES = -I. +depcomp = $(SHELL) $(top_srcdir)/../depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(sntp_SOURCES) +DIST_SOURCES = $(sntp_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = ${SHELL} /home/Amidamaru/projects/sntp/dev/missing --run aclocal-1.10 +AMTAR = ${SHELL} /home/Amidamaru/projects/sntp/dev/missing --run tar +AR = ar +AUTOCONF = ${SHELL} /home/Amidamaru/projects/sntp/dev/missing --run autoconf +AUTOHEADER = ${SHELL} /home/Amidamaru/projects/sntp/dev/missing --run autoheader +AUTOMAKE = ${SHELL} /home/Amidamaru/projects/sntp/dev/missing --run automake-1.10 +AWK = gawk +BINSUBDIR = bin +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +ECHO = echo +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +EXEEXT = +F77 = f77 +FFLAGS = -g -O2 +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LDFLAGS = +LIBOBJS = +LIBS = -lm +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LN_S = ln -s +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/Amidamaru/projects/sntp/dev/missing --run makeinfo +MKDIR_P = ./../install-sh -c -d +NMEDIT = +OBJEXT = o +PACKAGE = msntp +PACKAGE_BUGREPORT = +PACKAGE_NAME = +PACKAGE_STRING = +PACKAGE_TARNAME = +PACKAGE_VERSION = +PATH_SEPARATOR = : +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /usr/local/bin/bash +STRIP = strip +VERSION = 1.6 +abs_builddir = /home/Amidamaru/projects/sntp/dev/sntp +abs_srcdir = /home/Amidamaru/projects/sntp/dev/sntp +abs_top_builddir = /home/Amidamaru/projects/sntp/dev/sntp +abs_top_srcdir = /home/Amidamaru/projects/sntp/dev/sntp +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_F77 = f77 +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/${BINSUBDIR} +build = i386-unknown-freebsd7.0 +build_alias = +build_cpu = i386 +build_os = freebsd7.0 +build_vendor = unknown +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i386-unknown-freebsd7.0 +host_alias = +host_cpu = i386 +host_os = freebsd7.0 +host_vendor = unknown +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /home/Amidamaru/projects/sntp/dev/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(top_builddir)/./../install-sh -c -d +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = +top_builddir = . +top_srcdir = . +AUTOMAKE_OPTIONS = foreign +#ACLOCAL_AMFLAGS= -I libopts/m4 +AM_CPPFLAGS = $(LIBOPTS_CFLAGS) -I../include/ +LDADD = $(LIBOPTS_LDADD) +NULL = +#run_ag= cd $(srcdir) && autogen -L $(top_srcdir)/include --writable +run_ag = cd $(srcdir) && autogen + +#SUBDIRS= +#if NEED_LIBOPTS +#SUBDIRS+= libopts +#endif +#SUBDIRS+= . +sntp_SOURCES = \ + networking.c \ + main.c \ + $(NULL) + +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/bincheck.mf $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +sntp$(EXEEXT): $(sntp_OBJECTS) $(sntp_DEPENDENCIES) + @rm -f sntp$(EXEEXT) + $(LINK) $(sntp_OBJECTS) $(sntp_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/main.Po +include ./$(DEPDIR)/networking.Po + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + test -d $(distdir) || mkdir $(distdir) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzma: distdir + tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lzma*) \ + unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) config.h +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: install-binPROGRAMS + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-exec-hook + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS + +.MAKE: install-am install-exec-am install-strip + +.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ + clean-binPROGRAMS clean-generic clean-libtool ctags dist \ + dist-all dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ \ + dist-zip distcheck distclean distclean-compile \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-binPROGRAMS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-exec-hook \ + install-html install-html-am install-info install-info-am \ + install-man 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-libtool pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-binPROGRAMS + + +#dist_man_MANS= sntp.1 + +#EXTRA_DIST= bincheck.mf \ +# COPYRIGHT \ +# sntp-opts.def sntp.1 sntp-opts.texi sntp-opts.menu \ +# autogen-version.def version.def +#BUILT_SOURCES= check-autogen-version.def check-version.def \ +# sntp-opts.c sntp-opts.h sntp.1 sntp-opts.texi sntp-opts.menu +#man_MANS= sntp.1 + +FRC: +check-autogen-version.def: FRC + @cd $(srcdir) \ + && test -r ../include/autogen-version.def \ + && ( if cmp -s ../include/autogen-version.def autogen-version.def; \ + then : ; \ + else cp ../include/autogen-version.def autogen-version.def; \ + echo "Installing new sntp/autogen-version.def file"; \ + fi ) + +check-version.def: FRC + @cd $(srcdir) \ + && test -r ../include/version.def \ + && ( if cmp -s ../include/version.def version.def; \ + then : ; \ + else cp ../include/version.def version.def; \ + echo "Installing new sntp/version.def file"; \ + fi ) + +$(srcdir)/sntp-opts.h: $(srcdir)/sntp-opts.c +$(srcdir)/sntp-opts.c: $(srcdir)/sntp-opts.def $(srcdir)/version.def + $(run_ag) sntp-opts.def + +$(srcdir)/sntp.1: $(srcdir)/sntp-opts.def $(srcdir)/version.def + $(run_ag) -Tagman1.tpl -bsntp sntp-opts.def + +$(srcdir)/sntp-opts.texi $(srcdir)/sntp-opts.menu: $(srcdir)/sntp-opts.def $(srcdir)/version.def + $(run_ag) -Taginfo.tpl -DLEVEL=section sntp-opts.def + +install-exec-hook: + @case ${BINSUBDIR} in \ + bin) ODIR=${exec_prefix}/sbin ;; \ + sbin) ODIR=${exec_prefix}/bin ;; \ + esac; \ + test -z "${bin_PROGRAMS}${bin_SCRIPTS}" \ + || for i in ${bin_PROGRAMS} ${bin_SCRIPTS} " "; do \ + test ! -f $$ODIR/$$i || echo "*** $$i is also in $$ODIR!"; \ + done + +# +# 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. +.NOEXPORT: diff --git a/gsoc_sntp/Makefile.am b/gsoc_sntp/Makefile.am new file mode 100644 index 0000000000..d4970af764 --- /dev/null +++ b/gsoc_sntp/Makefile.am @@ -0,0 +1,69 @@ +# Makefile.am, by Harlan Stenn, from: +# Makefile for sntp +# N.M. Maclaren, October 2000. + +AUTOMAKE_OPTIONS = foreign +#ACLOCAL_AMFLAGS= -I libopts/m4 + +AM_CPPFLAGS= $(LIBOPTS_CFLAGS) -I../include/ +LDADD= $(LIBOPTS_LDADD) + +NULL= + +bindir= ${exec_prefix}/${BINSUBDIR} +bin_PROGRAMS= sntp +#run_ag= cd $(srcdir) && autogen -L $(top_srcdir)/include --writable +run_ag= cd $(srcdir) && autogen + +#SUBDIRS= +#if NEED_LIBOPTS +#SUBDIRS+= libopts +#endif +#SUBDIRS+= . + +sntp_SOURCES = \ + networking.c \ + main.c \ + $(NULL) + +#dist_man_MANS= sntp.1 + +#EXTRA_DIST= bincheck.mf \ +# COPYRIGHT \ +# sntp-opts.def sntp.1 sntp-opts.texi sntp-opts.menu \ +# autogen-version.def version.def +#BUILT_SOURCES= check-autogen-version.def check-version.def \ + sntp-opts.c sntp-opts.h sntp.1 sntp-opts.texi sntp-opts.menu +#man_MANS= sntp.1 + + +FRC: +check-autogen-version.def: FRC + @cd $(srcdir) \ + && test -r ../include/autogen-version.def \ + && ( if cmp -s ../include/autogen-version.def autogen-version.def; \ + then : ; \ + else cp ../include/autogen-version.def autogen-version.def; \ + echo "Installing new sntp/autogen-version.def file"; \ + fi ) + +check-version.def: FRC + @cd $(srcdir) \ + && test -r ../include/version.def \ + && ( if cmp -s ../include/version.def version.def; \ + then : ; \ + else cp ../include/version.def version.def; \ + echo "Installing new sntp/version.def file"; \ + fi ) + +$(srcdir)/sntp-opts.h: $(srcdir)/sntp-opts.c +$(srcdir)/sntp-opts.c: $(srcdir)/sntp-opts.def $(srcdir)/version.def + $(run_ag) sntp-opts.def + +$(srcdir)/sntp.1: $(srcdir)/sntp-opts.def $(srcdir)/version.def + $(run_ag) -Tagman1.tpl -bsntp sntp-opts.def + +$(srcdir)/sntp-opts.texi $(srcdir)/sntp-opts.menu: $(srcdir)/sntp-opts.def $(srcdir)/version.def + $(run_ag) -Taginfo.tpl -DLEVEL=section sntp-opts.def + +include bincheck.mf diff --git a/gsoc_sntp/Makefile.in b/gsoc_sntp/Makefile.in new file mode 100644 index 0000000000..77a6afd09e --- /dev/null +++ b/gsoc_sntp/Makefile.in @@ -0,0 +1,694 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# Makefile.am, by Harlan Stenn, from: +# Makefile for sntp +# N.M. Maclaren, October 2000. + +# we traditionally installed software in bindir, while it should have gone +# in sbindir. Now that we offer a choice, look in the "other" installation +# subdir to warn folks if there is another version there. + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +bin_PROGRAMS = sntp$(EXEEXT) +DIST_COMMON = $(am__configure_deps) $(srcdir)/../config.guess \ + $(srcdir)/../config.sub $(srcdir)/../depcomp \ + $(srcdir)/../install-sh $(srcdir)/../ltmain.sh \ + $(srcdir)/../missing $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/bincheck.mf \ + $(srcdir)/config.h.in $(top_srcdir)/configure config.guess \ + config.sub +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am__objects_1 = +am_sntp_OBJECTS = networking.$(OBJEXT) main.$(OBJEXT) $(am__objects_1) +sntp_OBJECTS = $(am_sntp_OBJECTS) +sntp_LDADD = $(LDADD) +sntp_DEPENDENCIES = +DEFAULT_INCLUDES = -I.@am__isrc@ +depcomp = $(SHELL) $(top_srcdir)/../depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(sntp_SOURCES) +DIST_SOURCES = $(sntp_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BINSUBDIR = @BINSUBDIR@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = ${exec_prefix}/${BINSUBDIR} +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +AUTOMAKE_OPTIONS = foreign +#ACLOCAL_AMFLAGS= -I libopts/m4 +AM_CPPFLAGS = $(LIBOPTS_CFLAGS) -I../include/ +LDADD = $(LIBOPTS_LDADD) +NULL = +#run_ag= cd $(srcdir) && autogen -L $(top_srcdir)/include --writable +run_ag = cd $(srcdir) && autogen + +#SUBDIRS= +#if NEED_LIBOPTS +#SUBDIRS+= libopts +#endif +#SUBDIRS+= . +sntp_SOURCES = \ + networking.c \ + main.c \ + $(NULL) + +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/bincheck.mf $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +sntp$(EXEEXT): $(sntp_OBJECTS) $(sntp_DEPENDENCIES) + @rm -f sntp$(EXEEXT) + $(LINK) $(sntp_OBJECTS) $(sntp_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/networking.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + test -d $(distdir) || mkdir $(distdir) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzma: distdir + tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lzma*) \ + unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) config.h +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: install-binPROGRAMS + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-exec-hook + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS + +.MAKE: install-am install-exec-am install-strip + +.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ + clean-binPROGRAMS clean-generic clean-libtool ctags dist \ + dist-all dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ \ + dist-zip distcheck distclean distclean-compile \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-binPROGRAMS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-exec-hook \ + install-html install-html-am install-info install-info-am \ + install-man 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-libtool pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-binPROGRAMS + + +#dist_man_MANS= sntp.1 + +#EXTRA_DIST= bincheck.mf \ +# COPYRIGHT \ +# sntp-opts.def sntp.1 sntp-opts.texi sntp-opts.menu \ +# autogen-version.def version.def +#BUILT_SOURCES= check-autogen-version.def check-version.def \ +# sntp-opts.c sntp-opts.h sntp.1 sntp-opts.texi sntp-opts.menu +#man_MANS= sntp.1 + +FRC: +check-autogen-version.def: FRC + @cd $(srcdir) \ + && test -r ../include/autogen-version.def \ + && ( if cmp -s ../include/autogen-version.def autogen-version.def; \ + then : ; \ + else cp ../include/autogen-version.def autogen-version.def; \ + echo "Installing new sntp/autogen-version.def file"; \ + fi ) + +check-version.def: FRC + @cd $(srcdir) \ + && test -r ../include/version.def \ + && ( if cmp -s ../include/version.def version.def; \ + then : ; \ + else cp ../include/version.def version.def; \ + echo "Installing new sntp/version.def file"; \ + fi ) + +$(srcdir)/sntp-opts.h: $(srcdir)/sntp-opts.c +$(srcdir)/sntp-opts.c: $(srcdir)/sntp-opts.def $(srcdir)/version.def + $(run_ag) sntp-opts.def + +$(srcdir)/sntp.1: $(srcdir)/sntp-opts.def $(srcdir)/version.def + $(run_ag) -Tagman1.tpl -bsntp sntp-opts.def + +$(srcdir)/sntp-opts.texi $(srcdir)/sntp-opts.menu: $(srcdir)/sntp-opts.def $(srcdir)/version.def + $(run_ag) -Taginfo.tpl -DLEVEL=section sntp-opts.def + +install-exec-hook: + @case ${BINSUBDIR} in \ + bin) ODIR=${exec_prefix}/sbin ;; \ + sbin) ODIR=${exec_prefix}/bin ;; \ + esac; \ + test -z "${bin_PROGRAMS}${bin_SCRIPTS}" \ + || for i in ${bin_PROGRAMS} ${bin_SCRIPTS} " "; do \ + test ! -f $$ODIR/$$i || echo "*** $$i is also in $$ODIR!"; \ + done + +# +# 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. +.NOEXPORT: diff --git a/gsoc_sntp/data_formats.h b/gsoc_sntp/data_formats.h new file mode 100644 index 0000000000..022ce3eb52 --- /dev/null +++ b/gsoc_sntp/data_formats.h @@ -0,0 +1,10 @@ +#ifndef DATA_FORMATS_H +#define DATA_FORMATS_H + +#include +#include +#include +#include + + +#endif diff --git a/gsoc_sntp/header.h b/gsoc_sntp/header.h new file mode 100644 index 0000000000..c752d15545 --- /dev/null +++ b/gsoc_sntp/header.h @@ -0,0 +1,87 @@ +/* Copyright (C) 1996 N.M. Maclaren + Copyright (C) 1996 The University of Cambridge + +This includes all of the 'safe' headers and definitions used across modules. +No changes should be needed for any system that is even remotely like Unix. */ + + + +#include +#include +#include +#include +#include +#include + + + +#define VERSION "1.6" /* Just the version string */ +#define MAX_SOCKETS 10 /* Maximum number of addresses */ + +#ifndef LOCKNAME +# define LOCKNAME "/etc/sntp.pid" /* Stores the pid */ +#endif +#ifndef SAVENAME +# define SAVENAME "/etc/sntp.state" /* Stores the recovery state */ +#endif + + + +/* Defined in main.c */ + +#define op_client 1 /* Behave as a challenge client */ +#define op_listen 2 /* Behave as a listening client */ + +extern const char *argv0; + +extern int verbose, operation; + +extern const char *lockname; + +extern void fatal (int syserr, const char *message, const char *insert); + + + +/* Defined in unix.c */ + +extern void do_nothing (int seconds); + +extern int ftty (FILE *file); + +extern void set_lock (int lock); + +extern void log_message (const char *message); + + + +/* Defined in internet.c */ + +/* extern void find_address (struct in_addr *address, int *port, char *hostname, + int timespan); */ + +#define PREF_FAM_INET 1 +#define PREF_FAM_INET6 2 +extern void preferred_family(int); + + +/* Defined in socket.c */ + +extern void open_socket (int which, char *hostnames, int timespan); + +extern void write_socket (int which, void *packet, int length); + +extern int read_socket (int which, void *packet, int length, int waiting); + +extern int flush_socket (int which); + +extern void close_socket (int which); + + + +/* Defined in timing.c */ + +extern double current_time (double offset); + +extern time_t convert_time (double value, int *millisecs); + +extern void adjust_time (double difference, int immediate, double ignore); diff --git a/gsoc_sntp/kod_management.c b/gsoc_sntp/kod_management.c new file mode 100644 index 0000000000..da980c9564 --- /dev/null +++ b/gsoc_sntp/kod_management.c @@ -0,0 +1,258 @@ +/* TODO check for memory leaks */ +#include + +#include "kod_management.h" +#include "log.h" +#include "sntp-opts.h" + +int kod_init = 0, entryc = 0; +char *kod_db_file; +struct kod_entry *kod_db; +FILE *db_s; + + +int +search_entry ( + char *hostname, + struct kod_entry **dst + ) +{ + register int a, b, resc = 0; + struct kod_entry *sptr = kod_db; + + for(a=0; ahostname, hostname)) + resc++; + + sptr = sptr->next; + } + + dst = (struct kod_entry **) malloc(sizeof(struct kod_entry) * resc); + + b=0; + for(a=0; ahostname, hostname)) { + dst[b] = sptr; + b++; + } + } + + return resc; +} + + +void +add_entry ( + char *hostname, + char *type + ) +{ + if(kod_init) { + struct kod_entry *new_entry = (struct kod_entry *) malloc(sizeof(struct kod_entry)); + new_entry->hostname = hostname; + strlcpy(new_entry->type, type, 4); + new_entry->next = NULL; + + kod_db[entryc-1].next = new_entry; + entryc++; + } +} + +void +kod_atexit ( + ) +{ + if(kod_init) + write_kod_db(); +} + +void +delete_entry ( + char *hostname, + char *type + ) +{ + register int a; + + struct kod_entry *nptr = kod_db; + + for(a=0; ahostname, hostname) && !strncmp(nptr->type, type, 4)) { + struct kod_entry *cptr = nptr; + struct kod_entry *nnptr = nptr; + + nptr--; + nnptr++; + + nptr->next = nnptr; + free(cptr); + nptr = NULL; + } + else { + nptr = nptr->next; + } + } +} + + + + +void +write_kod_db ( + ) +{ + if(!kod_init) + return; + + register int a; + struct kod_entry *nptr = kod_db; + + if(fopen(kod_db_file, "w") == NULL) { + char msg[80]; + snprintf(msg, 80, "Can't open KOD db file %s for writing!", kod_db_file); + + if(debug) + debug_msg(msg); + + log_msg(msg, 2); + + return; + } + + for(a=0; ahostname, nptr->timestamp, nptr->type); + nptr = nptr->next; + } + + fflush(db_s); + fclose(db_s); +} + +void +kod_init_kod_db ( + char *db_file + ) +{ + if(kod_init) + return; + + register int a, b; + + char *fbuf = (char *) malloc(sizeof(char) * 80); + char *obuf = fbuf; + + db_s = fopen(db_file, "r"); + + if(db_file == NULL) { + char msg[80]; + + snprintf(msg, 80, "Cannot open KOD db file %s", db_file); + + if(debug) + debug(msg); + + log_msg(msg, 2); + } + + /* First let's see how many entries there are and check for right syntax */ + while(fread(&fbuf, 80, sizeof(char), db_s) != 0) { + int sepc = 0; + for(a=0; a 0) + kod_db[b-1].next = &kod_db[b]; + + } + + if(ferror(db_s)) { + char msg[80]; + snprintf(msg, 80, "ferror indicates an error after parsing KOD db file %s", db_file); + + if(debug) + debug(msg); + + log_msg(msg, 2); + + return; + } + + + kod_db[b].next = NULL; + + fclose(db_s); + + kod_db_file = db_file; + + kod_init = 1; + atexit(kod_atexit); +} diff --git a/gsoc_sntp/kod_management.h b/gsoc_sntp/kod_management.h new file mode 100644 index 0000000000..d2feeeeeea --- /dev/null +++ b/gsoc_sntp/kod_management.h @@ -0,0 +1,20 @@ +#ifndef KOD_MANAGEMENT_H +#define KOD_MANAGEMENT_H + +struct kod_entry { + char *hostname; + unsigned int timestamp; + char type[4]; + struct kod_entry *next; +}; + +int search_entry (char *hostname, struct kod_entry **dst); + +void add_entry (char *hostname, char *type); +void delete_entry (char *hostname, char *type); +void init_kod_db (char *db_file); +void write_kod_db (void); +void kod_atexit (void); + + +#endif diff --git a/gsoc_sntp/log.c b/gsoc_sntp/log.c new file mode 100644 index 0000000000..e77b068a64 --- /dev/null +++ b/gsoc_sntp/log.c @@ -0,0 +1,52 @@ +/* Check for isc/binds logging facility, probably interesting, probably worth adapting */ +#include "log.h" +#include "sntp-opt.h" + +void log_msg(char *message, int type) { + if(HAVE_OPT(FILELOG)) { + if(init) { + fprintf(log_file, message); + } + else { + fprintf(stderr, "Error: Log not initialized!\n"); + } + } + else { + switch(type) { + case 0: + type = LOG_DEBUG; + break; + + case 1: + type = LOG_WARNING; + break; + + case 2: + type = LOG_WARNING | LOG_CONS; + break; + } + + syslog(type, message); + } +} + +void debug(char *message) { + if(HAVE_OPT(FILELOG)) { + fprintf(stderr, message); + } + else { + syslog(LOG_DEBUG | LOG_PERROR, message); + } +} + +void init_log(char *logfile) { + log_file = fopen(logfile, "a"); + init = 1; + atexit(cleanup_log); +} + +void cleanup_log(void) { + init = 0; + fflush(log_file); + fclose(log_file); +} diff --git a/gsoc_sntp/log.h b/gsoc_sntp/log.h new file mode 100644 index 0000000000..2aaf89a6a5 --- /dev/null +++ b/gsoc_sntp/log.h @@ -0,0 +1,21 @@ +#ifndef LOG_H +#define LOG_H + +#include "config.h" + +#include +#include + +#include +#include + +void log_msg(char *message, char type); +void debug(char *message); + +char init = 0; +FILE *log_file; + +void init_log(char *logfile); +void cleanup_log(void); + +#endif diff --git a/gsoc_sntp/main.c b/gsoc_sntp/main.c new file mode 100644 index 0000000000..26d4502355 --- /dev/null +++ b/gsoc_sntp/main.c @@ -0,0 +1,86 @@ +#include "networking.h" +#include "header.h" + +#include +#include +#include +#include + +#include +#include + +#define NTP_PORT 123 + +int ai_fam_tmpl; + + +int +main ( + char **argv, + int argc + ) +{ + return sntp_main(argv, argc); +} + +int +sntp_main ( + char **argv, + int argc + ) +{ + register int c; + + if (isc_net_probeipv6() != ISC_R_SUCCESS) { + ai_fam_templ = AF_INET; + } + + int optct = optionProcess( &sntpOptions, argc, argv ); + argc -= optct; + argv += optct; + + /* Parse config file if declared TODO */ + + /* Initialize logging system */ + if(HAVE_OPT(FILELOG)) { + init_log(OPT_ARG(FILELOG)); + } + + /* Considering employing a variable that prevents functions of doing anything until + * everything is initialized properly + */ + struct addrinfo **resh; + + int resc = resolve_hosts(argv, argc, resh); + + if(resc < 0) { + /* Error! Network down? */ + } + + resc = filter_reachable(resh, resc); + + if(resc < 0) { + /* All hosts not reachable!? */ + } + + resc = filter_ntp(resh, resc); + + if(resc < 0) { + /* No valid ntp responses */ + } + + /* Select a certain ntp server according to simple criteria? For now + * let's just pay attention to previous KoDs. + */ + + for(c=0; cid & 0xff00) >> 8); + comph[1] = (unsigned char) (header->id & 0x00ff); + + /* 8 bits from qr to rd */ + unsigned char qr_rd = 0; + + if(header->qr) + qr_rd = ((char) 1) << 7; + + header->opcode &= 0x0f; + header->opcode <<= 3; + + qr_rd |= header->opcode; + + if(header->aa) + qr_rd |= ((char) 1) << 2; + + if(header->tc) + qr_rd |= ((char) 1) << 1; + + if(header->rd) + qr_rd |= 1; + + comph[2] = qr_rd; + + unsigned char ra_rcode = 0; + + if(header->ra) + ra_rcode = ((char) 1) << 7; + + if(header->z) + ra_rcode |= ((char) 1) << 6; + + if(header->ad) + ra_rcode |= ((char) 1) << 5; + + if(header->cd) + ra_rcode |= ((char) 1) << 4; + + header->rcode &= 0x0f; + + ra_rcode |= header->rcode; + + comph[3] = ra_rcde; + + comph[4] = (char) ((header->qdcount & 0xff00) >> 8); + comph[5] = (char) (header->qdcount & 0x00ff); + comph[6] = (char) ((header->ancount & 0xff00) >> 8); + comph[7] = (char) (header->ancount & 0x00ff); + comph[8] = (char) ((header->nscount & 0xff00) >> 8); + comph[9] = (char) (header->nscount & 0x00ff); + comph[10] = (char) ((header->arcount & 0xff00) >> 8); + comph[11] = (char) (header->arcount & 0x00ff); + + *dst = comph; + + return; +} + +/* Translate the query into the query format. It is of variable length so + * it'll return the queries size in bytes + */ + +size_t compile_query ( + dns_query_t *query, + char **dst + ) +{ + register int a; + + char **qname; + size_t dlength = domain_to_name(query->domain_name, qname); + size_t length = dlength; + + + char qtype_high = (char) ((query->qtype & 0xff00) >> 8); + char qtype_low = (char) (query->qtype & 0x00ff); + char qclass_high = (char) ((query->qclass & 0xff00) >> 8); + char qclass_low = (char) (query->qclass & 0x00ff); + + length += 4; + + char *res = (char *) malloc(sizeof(char) * length); + + for(a=0; aname, qname); + + size_t length = (dlength + 10 + rdlength); + + char *res = (char *) malloc(sizeof(char) * length); + + for(a=0; atype & 0xff00) >> 8); + res[a+2] = (char) (resc->type & 0x00ff); + res[a+3] = (char) ((resc->class & 0xff00) >> 8); + res[a+4] = (char) (resc->class & 0x00ff); + + res[a+5] = (char) ((resc->ttl & 0xff000000) >> 24); + res[a+6] = (char) ((resc->ttl & 0x00ff0000) >> 16); + res[a+7] = (char) ((resc->ttl & 0x0000ff00) >> 8); + res[a+8] = (char) (resc->ttl & 0x000000ff); + + res[a+9] = (char) ((resc->rdlength & 0xff00) >> 8); + res[a+10] = (char) (resc->rdlength & 0x00ff); + + a += 11; + + for(b=0; brd_length; b++, a++) { + res[a] = resc->rdata[b]; + } + + *dst = res; + + return length; +} + +size_t domain_to_qname ( + char *hostname, + char **dst + ) +{ + register int a, b, c, dotc; + + for(a=0, dotc=0; a 10) { + num /= 10; + length++; + } + + return length; +} + +int retrv_dnsadr ( + char *adr_ptr[] + ) +{} + diff --git a/gsoc_sntp/netutils.h b/gsoc_sntp/netutils.h new file mode 100644 index 0000000000..fdcabc5cb1 --- /dev/null +++ b/gsoc_sntp/netutils.h @@ -0,0 +1,10 @@ +#ifndef NETUTILS_H +#define NETUTILS_H + +#include +#include + +int async_resolve (int hnamec, char *hnamev[], char *adr_ptr[]); +int retrv_dnsadr (char *adr_ptr[]); + +#endif diff --git a/gsoc_sntp/sntp-opts.def b/gsoc_sntp/sntp-opts.def new file mode 100644 index 0000000000..40f07013e6 --- /dev/null +++ b/gsoc_sntp/sntp-opts.def @@ -0,0 +1,293 @@ +/* -*- Mode: Text -*- */ + +autogen definitions options; + +#include autogen-version.def + +copyright = { + date = "1970-2008"; + owner = "ntp.org"; + eaddr = "http://bugs.ntp.org, bugs@ntp.org"; + type = note; + text = `cat COPYRIGHT`; +}; + + +prog-name = "sntp"; +prog-title = "standard SNTP program"; +homerc = $HOME, "."; +long-opts; + +config-header = "config.h"; + +#ifndef __windows__ +rcfile = ".ntprc"; +#else +rcfile = "ntp.ini"; +#endif + +environrc; + +#include version.def + +test-main; + +flag = { + name = ipv4; + value = 4; + equivalence = ipv4; + descrip = "Force IPv4 DNS name resolution"; + doc = <<- _EndOfDoc_ + Force DNS resolution of following host names on the command line + to the IPv4 namespace. + _EndOfDoc_; +}; + +flag = { + name = ipv6; + value = 6; + equivalence = ipv4; + descrip = "Force IPv6 DNS name resolution"; + doc = <<- _EndOfDoc_ + Force DNS resolution of following host names on the command line + to the IPv6 namespace. + _EndOfDoc_; +}; + +flag = { + name = normalverbose; + value = v; + flags-cant = extraverbose, megaverbose; + descrip = "Slightly verbose"; + doc = <<- _EndOfDoc_ + Diagnostic messages for non-fatal errors and a limited amount of + tracing should be written to standard error. Fatal ones always + produce a diagnostic. This option should be set when there is a + suspected problem with the server, network or the source. + _EndOfDoc_; +}; + +flag = { + name = extraverbose; + value = V; + flags-cant = normalverbose, megaverbose; + descrip = "Extra verbose"; + doc = <<- _EndOfDoc_ + Produce more and less comprehensible output, mainly for investigating + problems with apparently inconsistent timestamps. This option should + be set when the program fails with a message indicating that is the + trouble. + _EndOfDoc_; +}; + +flag = { + name = debug; + value = d; + descrip = "Debugging output"; + doc = <<- _EndOfDoc_ + Very verbose debugging output that will interfere with the timing + when writing to the terminal (because of line buffered output from C). + Note that the times produced by this are the corrections needed, and + not the error in the local clock. This option should be set only when + debugging the source. + _EndOfDoc_; +}; + +flag = ( + name = kod; + value = k; + descrip = "Specify a file for the KOD packet storage"; + doc = <<- _EndOfDoc_ + Specifies the file to be used to store KOD packaet information. + _EndOfDoc_; + + + +flag = { + name = syslog; + value = s; + flags-cant = filelog; + descrip = "Logging with syslog"; + doc = <<- _EndOfDoc_ + When this option is set all logging will be done using syslog. + _EndOfDoc_; +}; + +flag = { + name = filelog; + value = l; + flags-cant = syslog; + descrip = "Logging to specified logfile"; + doc = <<- _EndOfDoc_ + This option causes the client to write log messages to the specified + logfile. + _EndOfDoc_; +}; + +flag = { + name = settimeofday; + value = r; + flags-cant = adjtime; + descrip = "Set (step) the time with settimeofday()"; + doc = <<- _EndOfDoc_ + _EndOfDoc_; +}; + +flag = { + name = adjtime; + value = a; + flags-cant = settimeofday; + descrip = "Set (slew) the time with adjtime()"; + doc = <<- _EndOfDoc_ + _EndOfDoc_; +}; + +detail = <<- _END_DETAIL +.I sntp +can be used as a SNTP client to query a NTP or SNTP server and either display +the time or set the local system's time (given suitable privilege). It can be +run as an interactive command or in a +.I cron +job. +NTP is the Network Time Protocol (RFC 1305) and SNTP is the +Simple Network Time Protocol (RFC 2030, which supersedes RFC 1769). + _END_DETAIL; + +prog-man-descrip = <<- _END_PROG_MAN_DESCRIP +.I sntp +can be used as a SNTP client to query a NTP or SNTP server and either display +the time or set the local system's time (given suitable privilege). It can be +run as an interactive command or in a +.I cron +job. +NTP is the Network Time Protocol (RFC 1305) and SNTP is the +Simple Network Time Protocol (RFC 2030, which supersedes RFC 1769). +.SS Options +.PP +.I sntp +recognizes the following options: +.TP +.B \-v +indicates that diagnostic messages for non-fatal errors and a limited amount of +tracing should be written to standard error. Fatal ones always produce a +diagnostic. This option should be set when there is a suspected problem with +the server, network or the source. +.TP +.B \-V +requests more and less comprehensible output, mainly for investigating problems +with apparently inconsistent timestamps. This option should be set when the +program fails with a message indicating that is the trouble. +.TP +.B \-W +requests very verbose debugging output, and will interfere with the timing +when writing to the terminal (because of line buffered output from C). Note +that the times produced by this are the corrections needed, and not the error +in the local clock. This option should be set only when debugging the source. +.TP +.B \-r +indicates that the system clock should be reset by +.IR settimeofday . +Naturally, this will work only if the user has enough privilege. +.TP +.B \-a +indicates that the system clock should be reset by +.IR adjtime . +Naturally, this will work only if the user has enough privilege. +.PP +The default is to write the estimated correct local date and time (i.e. not +UTC) to the standard output in a format like +.BR "'1996 Oct 15 20:17:25.123 + 4.567 +/- 0.089 secs'" , +where the +.B "'+ 4.567 +/- 0.089 secs'" +indicates the estimated error in the time on the local system. +.TP +.BI \-l " lockfile" +sets the name of the lock file to ensure that there is only +one copy of +.I sntp +running at once. The default is installation-dependent, but will usually be +.IR /etc/sntp.pid . +.TP +.BI \-c " count" +sets the maximum number of NTP packets required to +.IR count . +Acceptable values are from 1 to 25 if a NTP host is specified and from 5 to 25 +otherwise, and the default is 5. If the maximum isn't enough, the system needs +a better consistency algorithm than this program uses. +.TP +.B -4 +force IPv4 DNS resolution. +.TP +.B -6 +force IPv6 DNS resolution. +.PP +.B address(es) +are the DNS names or IP numbers of hosts to use for the challenge and response +protocol; if no names are given, the program waits for broadcasts. Polling a +server is vastly more reliable than listening to broadcasts. Note that a +single component numeric address is not allowed, to avoid ambiguities. If +more than one name is give, they will be used in a round-robin fashion. +.PP +Constraints: +.IP +.BR delay / count ")," +and +.B count +must be less than half of +.BR delay . +.IP +In update mode, +.B maxerr +must be less than +.SH USAGE +The simplest use of this program is as an unprivileged command to check the +current time and error in the local clock. For example: +.IP +.B sntp ntpserver.somewhere +.PP +With suitable privilege, it can be run as a command or in a +.I cron +job to reset the local clock from a reliable server, like the +.I ntpdate +and +.I rdate +commands. For example: +.IP +.B sntp -a ntpserver.somewhere +.PP +More information on how to use this utility is given in the +.I README +file in the distribution. In particular, this +.I man +page does not describe how to set it up as a server, which needs special care +to avoid propagating misinformation. +.SH RETURN VALUE +When used as a client in non-daemon mode, the program returns a zero exit +status for success, and a non-zero one otherwise. When used as a daemon +(either client or server), it does not return except after a serious error. +.SH BUGS +The program implements the SNTP protocol, and does not provide all NTP +facilities. In particular, it contains no checks against any form of spoofing. +If this is a serious concern, some network security mechanism (like a firewall +or even just +.IR tcpwrappers ) +should be installed. +.PP +There are some errors, ambiguities and inconsistencies in the RFCs, and this +code may not interwork with all other NTP implementations. Any unreasonable +restrictions should be reported as bugs to whoever is responsible. It may +be difficult to find out who that is. +.PP +The program will stop as soon as it feels that things have got out of control. +In client daemon mode, it will usually fail during an extended period of +network or server inaccessibility or excessively slow performance, or when the +local clock is reset by another process. It will then need restarting +manually. Experienced system administrators can write a shell script, a +.I cron +job or put it in +.IR inittab , +to do this automatically. +.PP +.SH AUTHOR +.I sntp + _END_PROG_MAN_DESCRIP;